...

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

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

     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.4"
    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.4"
    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.4"
    80  const apiName = "dfareporting"
    81  const apiVersion = "v3.4"
    82  const basePath = "https://dfareporting.googleapis.com/dfareporting/v3.4/"
    83  const mtlsBasePath = "https://dfareporting.mtls.googleapis.com/dfareporting/v3.4/"
    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.CustomEvents = NewCustomEventsService(s)
   157  	s.DimensionValues = NewDimensionValuesService(s)
   158  	s.DirectorySites = NewDirectorySitesService(s)
   159  	s.DynamicTargetingKeys = NewDynamicTargetingKeysService(s)
   160  	s.EventTags = NewEventTagsService(s)
   161  	s.Files = NewFilesService(s)
   162  	s.FloodlightActivities = NewFloodlightActivitiesService(s)
   163  	s.FloodlightActivityGroups = NewFloodlightActivityGroupsService(s)
   164  	s.FloodlightConfigurations = NewFloodlightConfigurationsService(s)
   165  	s.InventoryItems = NewInventoryItemsService(s)
   166  	s.Languages = NewLanguagesService(s)
   167  	s.Metros = NewMetrosService(s)
   168  	s.MobileApps = NewMobileAppsService(s)
   169  	s.MobileCarriers = NewMobileCarriersService(s)
   170  	s.OperatingSystemVersions = NewOperatingSystemVersionsService(s)
   171  	s.OperatingSystems = NewOperatingSystemsService(s)
   172  	s.OrderDocuments = NewOrderDocumentsService(s)
   173  	s.Orders = NewOrdersService(s)
   174  	s.PlacementGroups = NewPlacementGroupsService(s)
   175  	s.PlacementStrategies = NewPlacementStrategiesService(s)
   176  	s.Placements = NewPlacementsService(s)
   177  	s.PlatformTypes = NewPlatformTypesService(s)
   178  	s.PostalCodes = NewPostalCodesService(s)
   179  	s.Projects = NewProjectsService(s)
   180  	s.Regions = NewRegionsService(s)
   181  	s.RemarketingListShares = NewRemarketingListSharesService(s)
   182  	s.RemarketingLists = NewRemarketingListsService(s)
   183  	s.Reports = NewReportsService(s)
   184  	s.Sites = NewSitesService(s)
   185  	s.Sizes = NewSizesService(s)
   186  	s.Subaccounts = NewSubaccountsService(s)
   187  	s.TargetableRemarketingLists = NewTargetableRemarketingListsService(s)
   188  	s.TargetingTemplates = NewTargetingTemplatesService(s)
   189  	s.UserProfiles = NewUserProfilesService(s)
   190  	s.UserRolePermissionGroups = NewUserRolePermissionGroupsService(s)
   191  	s.UserRolePermissions = NewUserRolePermissionsService(s)
   192  	s.UserRoles = NewUserRolesService(s)
   193  	s.VideoFormats = NewVideoFormatsService(s)
   194  	return s, nil
   195  }
   196  
   197  type Service struct {
   198  	client    *http.Client
   199  	BasePath  string // API endpoint base URL
   200  	UserAgent string // optional additional User-Agent fragment
   201  
   202  	AccountActiveAdSummaries *AccountActiveAdSummariesService
   203  
   204  	AccountPermissionGroups *AccountPermissionGroupsService
   205  
   206  	AccountPermissions *AccountPermissionsService
   207  
   208  	AccountUserProfiles *AccountUserProfilesService
   209  
   210  	Accounts *AccountsService
   211  
   212  	Ads *AdsService
   213  
   214  	AdvertiserGroups *AdvertiserGroupsService
   215  
   216  	AdvertiserLandingPages *AdvertiserLandingPagesService
   217  
   218  	Advertisers *AdvertisersService
   219  
   220  	Browsers *BrowsersService
   221  
   222  	CampaignCreativeAssociations *CampaignCreativeAssociationsService
   223  
   224  	Campaigns *CampaignsService
   225  
   226  	ChangeLogs *ChangeLogsService
   227  
   228  	Cities *CitiesService
   229  
   230  	ConnectionTypes *ConnectionTypesService
   231  
   232  	ContentCategories *ContentCategoriesService
   233  
   234  	Conversions *ConversionsService
   235  
   236  	Countries *CountriesService
   237  
   238  	CreativeAssets *CreativeAssetsService
   239  
   240  	CreativeFieldValues *CreativeFieldValuesService
   241  
   242  	CreativeFields *CreativeFieldsService
   243  
   244  	CreativeGroups *CreativeGroupsService
   245  
   246  	Creatives *CreativesService
   247  
   248  	CustomEvents *CustomEventsService
   249  
   250  	DimensionValues *DimensionValuesService
   251  
   252  	DirectorySites *DirectorySitesService
   253  
   254  	DynamicTargetingKeys *DynamicTargetingKeysService
   255  
   256  	EventTags *EventTagsService
   257  
   258  	Files *FilesService
   259  
   260  	FloodlightActivities *FloodlightActivitiesService
   261  
   262  	FloodlightActivityGroups *FloodlightActivityGroupsService
   263  
   264  	FloodlightConfigurations *FloodlightConfigurationsService
   265  
   266  	InventoryItems *InventoryItemsService
   267  
   268  	Languages *LanguagesService
   269  
   270  	Metros *MetrosService
   271  
   272  	MobileApps *MobileAppsService
   273  
   274  	MobileCarriers *MobileCarriersService
   275  
   276  	OperatingSystemVersions *OperatingSystemVersionsService
   277  
   278  	OperatingSystems *OperatingSystemsService
   279  
   280  	OrderDocuments *OrderDocumentsService
   281  
   282  	Orders *OrdersService
   283  
   284  	PlacementGroups *PlacementGroupsService
   285  
   286  	PlacementStrategies *PlacementStrategiesService
   287  
   288  	Placements *PlacementsService
   289  
   290  	PlatformTypes *PlatformTypesService
   291  
   292  	PostalCodes *PostalCodesService
   293  
   294  	Projects *ProjectsService
   295  
   296  	Regions *RegionsService
   297  
   298  	RemarketingListShares *RemarketingListSharesService
   299  
   300  	RemarketingLists *RemarketingListsService
   301  
   302  	Reports *ReportsService
   303  
   304  	Sites *SitesService
   305  
   306  	Sizes *SizesService
   307  
   308  	Subaccounts *SubaccountsService
   309  
   310  	TargetableRemarketingLists *TargetableRemarketingListsService
   311  
   312  	TargetingTemplates *TargetingTemplatesService
   313  
   314  	UserProfiles *UserProfilesService
   315  
   316  	UserRolePermissionGroups *UserRolePermissionGroupsService
   317  
   318  	UserRolePermissions *UserRolePermissionsService
   319  
   320  	UserRoles *UserRolesService
   321  
   322  	VideoFormats *VideoFormatsService
   323  }
   324  
   325  func (s *Service) userAgent() string {
   326  	if s.UserAgent == "" {
   327  		return googleapi.UserAgent
   328  	}
   329  	return googleapi.UserAgent + " " + s.UserAgent
   330  }
   331  
   332  func NewAccountActiveAdSummariesService(s *Service) *AccountActiveAdSummariesService {
   333  	rs := &AccountActiveAdSummariesService{s: s}
   334  	return rs
   335  }
   336  
   337  type AccountActiveAdSummariesService struct {
   338  	s *Service
   339  }
   340  
   341  func NewAccountPermissionGroupsService(s *Service) *AccountPermissionGroupsService {
   342  	rs := &AccountPermissionGroupsService{s: s}
   343  	return rs
   344  }
   345  
   346  type AccountPermissionGroupsService struct {
   347  	s *Service
   348  }
   349  
   350  func NewAccountPermissionsService(s *Service) *AccountPermissionsService {
   351  	rs := &AccountPermissionsService{s: s}
   352  	return rs
   353  }
   354  
   355  type AccountPermissionsService struct {
   356  	s *Service
   357  }
   358  
   359  func NewAccountUserProfilesService(s *Service) *AccountUserProfilesService {
   360  	rs := &AccountUserProfilesService{s: s}
   361  	return rs
   362  }
   363  
   364  type AccountUserProfilesService struct {
   365  	s *Service
   366  }
   367  
   368  func NewAccountsService(s *Service) *AccountsService {
   369  	rs := &AccountsService{s: s}
   370  	return rs
   371  }
   372  
   373  type AccountsService struct {
   374  	s *Service
   375  }
   376  
   377  func NewAdsService(s *Service) *AdsService {
   378  	rs := &AdsService{s: s}
   379  	return rs
   380  }
   381  
   382  type AdsService struct {
   383  	s *Service
   384  }
   385  
   386  func NewAdvertiserGroupsService(s *Service) *AdvertiserGroupsService {
   387  	rs := &AdvertiserGroupsService{s: s}
   388  	return rs
   389  }
   390  
   391  type AdvertiserGroupsService struct {
   392  	s *Service
   393  }
   394  
   395  func NewAdvertiserLandingPagesService(s *Service) *AdvertiserLandingPagesService {
   396  	rs := &AdvertiserLandingPagesService{s: s}
   397  	return rs
   398  }
   399  
   400  type AdvertiserLandingPagesService struct {
   401  	s *Service
   402  }
   403  
   404  func NewAdvertisersService(s *Service) *AdvertisersService {
   405  	rs := &AdvertisersService{s: s}
   406  	return rs
   407  }
   408  
   409  type AdvertisersService struct {
   410  	s *Service
   411  }
   412  
   413  func NewBrowsersService(s *Service) *BrowsersService {
   414  	rs := &BrowsersService{s: s}
   415  	return rs
   416  }
   417  
   418  type BrowsersService struct {
   419  	s *Service
   420  }
   421  
   422  func NewCampaignCreativeAssociationsService(s *Service) *CampaignCreativeAssociationsService {
   423  	rs := &CampaignCreativeAssociationsService{s: s}
   424  	return rs
   425  }
   426  
   427  type CampaignCreativeAssociationsService struct {
   428  	s *Service
   429  }
   430  
   431  func NewCampaignsService(s *Service) *CampaignsService {
   432  	rs := &CampaignsService{s: s}
   433  	return rs
   434  }
   435  
   436  type CampaignsService struct {
   437  	s *Service
   438  }
   439  
   440  func NewChangeLogsService(s *Service) *ChangeLogsService {
   441  	rs := &ChangeLogsService{s: s}
   442  	return rs
   443  }
   444  
   445  type ChangeLogsService struct {
   446  	s *Service
   447  }
   448  
   449  func NewCitiesService(s *Service) *CitiesService {
   450  	rs := &CitiesService{s: s}
   451  	return rs
   452  }
   453  
   454  type CitiesService struct {
   455  	s *Service
   456  }
   457  
   458  func NewConnectionTypesService(s *Service) *ConnectionTypesService {
   459  	rs := &ConnectionTypesService{s: s}
   460  	return rs
   461  }
   462  
   463  type ConnectionTypesService struct {
   464  	s *Service
   465  }
   466  
   467  func NewContentCategoriesService(s *Service) *ContentCategoriesService {
   468  	rs := &ContentCategoriesService{s: s}
   469  	return rs
   470  }
   471  
   472  type ContentCategoriesService struct {
   473  	s *Service
   474  }
   475  
   476  func NewConversionsService(s *Service) *ConversionsService {
   477  	rs := &ConversionsService{s: s}
   478  	return rs
   479  }
   480  
   481  type ConversionsService struct {
   482  	s *Service
   483  }
   484  
   485  func NewCountriesService(s *Service) *CountriesService {
   486  	rs := &CountriesService{s: s}
   487  	return rs
   488  }
   489  
   490  type CountriesService struct {
   491  	s *Service
   492  }
   493  
   494  func NewCreativeAssetsService(s *Service) *CreativeAssetsService {
   495  	rs := &CreativeAssetsService{s: s}
   496  	return rs
   497  }
   498  
   499  type CreativeAssetsService struct {
   500  	s *Service
   501  }
   502  
   503  func NewCreativeFieldValuesService(s *Service) *CreativeFieldValuesService {
   504  	rs := &CreativeFieldValuesService{s: s}
   505  	return rs
   506  }
   507  
   508  type CreativeFieldValuesService struct {
   509  	s *Service
   510  }
   511  
   512  func NewCreativeFieldsService(s *Service) *CreativeFieldsService {
   513  	rs := &CreativeFieldsService{s: s}
   514  	return rs
   515  }
   516  
   517  type CreativeFieldsService struct {
   518  	s *Service
   519  }
   520  
   521  func NewCreativeGroupsService(s *Service) *CreativeGroupsService {
   522  	rs := &CreativeGroupsService{s: s}
   523  	return rs
   524  }
   525  
   526  type CreativeGroupsService struct {
   527  	s *Service
   528  }
   529  
   530  func NewCreativesService(s *Service) *CreativesService {
   531  	rs := &CreativesService{s: s}
   532  	return rs
   533  }
   534  
   535  type CreativesService struct {
   536  	s *Service
   537  }
   538  
   539  func NewCustomEventsService(s *Service) *CustomEventsService {
   540  	rs := &CustomEventsService{s: s}
   541  	return rs
   542  }
   543  
   544  type CustomEventsService struct {
   545  	s *Service
   546  }
   547  
   548  func NewDimensionValuesService(s *Service) *DimensionValuesService {
   549  	rs := &DimensionValuesService{s: s}
   550  	return rs
   551  }
   552  
   553  type DimensionValuesService struct {
   554  	s *Service
   555  }
   556  
   557  func NewDirectorySitesService(s *Service) *DirectorySitesService {
   558  	rs := &DirectorySitesService{s: s}
   559  	return rs
   560  }
   561  
   562  type DirectorySitesService struct {
   563  	s *Service
   564  }
   565  
   566  func NewDynamicTargetingKeysService(s *Service) *DynamicTargetingKeysService {
   567  	rs := &DynamicTargetingKeysService{s: s}
   568  	return rs
   569  }
   570  
   571  type DynamicTargetingKeysService struct {
   572  	s *Service
   573  }
   574  
   575  func NewEventTagsService(s *Service) *EventTagsService {
   576  	rs := &EventTagsService{s: s}
   577  	return rs
   578  }
   579  
   580  type EventTagsService struct {
   581  	s *Service
   582  }
   583  
   584  func NewFilesService(s *Service) *FilesService {
   585  	rs := &FilesService{s: s}
   586  	return rs
   587  }
   588  
   589  type FilesService struct {
   590  	s *Service
   591  }
   592  
   593  func NewFloodlightActivitiesService(s *Service) *FloodlightActivitiesService {
   594  	rs := &FloodlightActivitiesService{s: s}
   595  	return rs
   596  }
   597  
   598  type FloodlightActivitiesService struct {
   599  	s *Service
   600  }
   601  
   602  func NewFloodlightActivityGroupsService(s *Service) *FloodlightActivityGroupsService {
   603  	rs := &FloodlightActivityGroupsService{s: s}
   604  	return rs
   605  }
   606  
   607  type FloodlightActivityGroupsService struct {
   608  	s *Service
   609  }
   610  
   611  func NewFloodlightConfigurationsService(s *Service) *FloodlightConfigurationsService {
   612  	rs := &FloodlightConfigurationsService{s: s}
   613  	return rs
   614  }
   615  
   616  type FloodlightConfigurationsService struct {
   617  	s *Service
   618  }
   619  
   620  func NewInventoryItemsService(s *Service) *InventoryItemsService {
   621  	rs := &InventoryItemsService{s: s}
   622  	return rs
   623  }
   624  
   625  type InventoryItemsService struct {
   626  	s *Service
   627  }
   628  
   629  func NewLanguagesService(s *Service) *LanguagesService {
   630  	rs := &LanguagesService{s: s}
   631  	return rs
   632  }
   633  
   634  type LanguagesService struct {
   635  	s *Service
   636  }
   637  
   638  func NewMetrosService(s *Service) *MetrosService {
   639  	rs := &MetrosService{s: s}
   640  	return rs
   641  }
   642  
   643  type MetrosService struct {
   644  	s *Service
   645  }
   646  
   647  func NewMobileAppsService(s *Service) *MobileAppsService {
   648  	rs := &MobileAppsService{s: s}
   649  	return rs
   650  }
   651  
   652  type MobileAppsService struct {
   653  	s *Service
   654  }
   655  
   656  func NewMobileCarriersService(s *Service) *MobileCarriersService {
   657  	rs := &MobileCarriersService{s: s}
   658  	return rs
   659  }
   660  
   661  type MobileCarriersService struct {
   662  	s *Service
   663  }
   664  
   665  func NewOperatingSystemVersionsService(s *Service) *OperatingSystemVersionsService {
   666  	rs := &OperatingSystemVersionsService{s: s}
   667  	return rs
   668  }
   669  
   670  type OperatingSystemVersionsService struct {
   671  	s *Service
   672  }
   673  
   674  func NewOperatingSystemsService(s *Service) *OperatingSystemsService {
   675  	rs := &OperatingSystemsService{s: s}
   676  	return rs
   677  }
   678  
   679  type OperatingSystemsService struct {
   680  	s *Service
   681  }
   682  
   683  func NewOrderDocumentsService(s *Service) *OrderDocumentsService {
   684  	rs := &OrderDocumentsService{s: s}
   685  	return rs
   686  }
   687  
   688  type OrderDocumentsService struct {
   689  	s *Service
   690  }
   691  
   692  func NewOrdersService(s *Service) *OrdersService {
   693  	rs := &OrdersService{s: s}
   694  	return rs
   695  }
   696  
   697  type OrdersService struct {
   698  	s *Service
   699  }
   700  
   701  func NewPlacementGroupsService(s *Service) *PlacementGroupsService {
   702  	rs := &PlacementGroupsService{s: s}
   703  	return rs
   704  }
   705  
   706  type PlacementGroupsService struct {
   707  	s *Service
   708  }
   709  
   710  func NewPlacementStrategiesService(s *Service) *PlacementStrategiesService {
   711  	rs := &PlacementStrategiesService{s: s}
   712  	return rs
   713  }
   714  
   715  type PlacementStrategiesService struct {
   716  	s *Service
   717  }
   718  
   719  func NewPlacementsService(s *Service) *PlacementsService {
   720  	rs := &PlacementsService{s: s}
   721  	return rs
   722  }
   723  
   724  type PlacementsService struct {
   725  	s *Service
   726  }
   727  
   728  func NewPlatformTypesService(s *Service) *PlatformTypesService {
   729  	rs := &PlatformTypesService{s: s}
   730  	return rs
   731  }
   732  
   733  type PlatformTypesService struct {
   734  	s *Service
   735  }
   736  
   737  func NewPostalCodesService(s *Service) *PostalCodesService {
   738  	rs := &PostalCodesService{s: s}
   739  	return rs
   740  }
   741  
   742  type PostalCodesService struct {
   743  	s *Service
   744  }
   745  
   746  func NewProjectsService(s *Service) *ProjectsService {
   747  	rs := &ProjectsService{s: s}
   748  	return rs
   749  }
   750  
   751  type ProjectsService struct {
   752  	s *Service
   753  }
   754  
   755  func NewRegionsService(s *Service) *RegionsService {
   756  	rs := &RegionsService{s: s}
   757  	return rs
   758  }
   759  
   760  type RegionsService struct {
   761  	s *Service
   762  }
   763  
   764  func NewRemarketingListSharesService(s *Service) *RemarketingListSharesService {
   765  	rs := &RemarketingListSharesService{s: s}
   766  	return rs
   767  }
   768  
   769  type RemarketingListSharesService struct {
   770  	s *Service
   771  }
   772  
   773  func NewRemarketingListsService(s *Service) *RemarketingListsService {
   774  	rs := &RemarketingListsService{s: s}
   775  	return rs
   776  }
   777  
   778  type RemarketingListsService struct {
   779  	s *Service
   780  }
   781  
   782  func NewReportsService(s *Service) *ReportsService {
   783  	rs := &ReportsService{s: s}
   784  	rs.CompatibleFields = NewReportsCompatibleFieldsService(s)
   785  	rs.Files = NewReportsFilesService(s)
   786  	return rs
   787  }
   788  
   789  type ReportsService struct {
   790  	s *Service
   791  
   792  	CompatibleFields *ReportsCompatibleFieldsService
   793  
   794  	Files *ReportsFilesService
   795  }
   796  
   797  func NewReportsCompatibleFieldsService(s *Service) *ReportsCompatibleFieldsService {
   798  	rs := &ReportsCompatibleFieldsService{s: s}
   799  	return rs
   800  }
   801  
   802  type ReportsCompatibleFieldsService struct {
   803  	s *Service
   804  }
   805  
   806  func NewReportsFilesService(s *Service) *ReportsFilesService {
   807  	rs := &ReportsFilesService{s: s}
   808  	return rs
   809  }
   810  
   811  type ReportsFilesService struct {
   812  	s *Service
   813  }
   814  
   815  func NewSitesService(s *Service) *SitesService {
   816  	rs := &SitesService{s: s}
   817  	return rs
   818  }
   819  
   820  type SitesService struct {
   821  	s *Service
   822  }
   823  
   824  func NewSizesService(s *Service) *SizesService {
   825  	rs := &SizesService{s: s}
   826  	return rs
   827  }
   828  
   829  type SizesService struct {
   830  	s *Service
   831  }
   832  
   833  func NewSubaccountsService(s *Service) *SubaccountsService {
   834  	rs := &SubaccountsService{s: s}
   835  	return rs
   836  }
   837  
   838  type SubaccountsService struct {
   839  	s *Service
   840  }
   841  
   842  func NewTargetableRemarketingListsService(s *Service) *TargetableRemarketingListsService {
   843  	rs := &TargetableRemarketingListsService{s: s}
   844  	return rs
   845  }
   846  
   847  type TargetableRemarketingListsService struct {
   848  	s *Service
   849  }
   850  
   851  func NewTargetingTemplatesService(s *Service) *TargetingTemplatesService {
   852  	rs := &TargetingTemplatesService{s: s}
   853  	return rs
   854  }
   855  
   856  type TargetingTemplatesService struct {
   857  	s *Service
   858  }
   859  
   860  func NewUserProfilesService(s *Service) *UserProfilesService {
   861  	rs := &UserProfilesService{s: s}
   862  	return rs
   863  }
   864  
   865  type UserProfilesService struct {
   866  	s *Service
   867  }
   868  
   869  func NewUserRolePermissionGroupsService(s *Service) *UserRolePermissionGroupsService {
   870  	rs := &UserRolePermissionGroupsService{s: s}
   871  	return rs
   872  }
   873  
   874  type UserRolePermissionGroupsService struct {
   875  	s *Service
   876  }
   877  
   878  func NewUserRolePermissionsService(s *Service) *UserRolePermissionsService {
   879  	rs := &UserRolePermissionsService{s: s}
   880  	return rs
   881  }
   882  
   883  type UserRolePermissionsService struct {
   884  	s *Service
   885  }
   886  
   887  func NewUserRolesService(s *Service) *UserRolesService {
   888  	rs := &UserRolesService{s: s}
   889  	return rs
   890  }
   891  
   892  type UserRolesService struct {
   893  	s *Service
   894  }
   895  
   896  func NewVideoFormatsService(s *Service) *VideoFormatsService {
   897  	rs := &VideoFormatsService{s: s}
   898  	return rs
   899  }
   900  
   901  type VideoFormatsService struct {
   902  	s *Service
   903  }
   904  
   905  // Account: Contains properties of a Campaign Manager account.
   906  type Account struct {
   907  	// AccountPermissionIds: Account permissions assigned to this account.
   908  	AccountPermissionIds googleapi.Int64s `json:"accountPermissionIds,omitempty"`
   909  
   910  	// AccountProfile: Profile for this account. This is a read-only field
   911  	// that can be left blank.
   912  	//
   913  	// Possible values:
   914  	//   "ACCOUNT_PROFILE_BASIC"
   915  	//   "ACCOUNT_PROFILE_STANDARD"
   916  	AccountProfile string `json:"accountProfile,omitempty"`
   917  
   918  	// Active: Whether this account is active.
   919  	Active bool `json:"active,omitempty"`
   920  
   921  	// ActiveAdsLimitTier: Maximum number of active ads allowed for this
   922  	// account.
   923  	//
   924  	// Possible values:
   925  	//   "ACTIVE_ADS_TIER_40K"
   926  	//   "ACTIVE_ADS_TIER_75K"
   927  	//   "ACTIVE_ADS_TIER_100K"
   928  	//   "ACTIVE_ADS_TIER_200K"
   929  	//   "ACTIVE_ADS_TIER_300K"
   930  	//   "ACTIVE_ADS_TIER_500K"
   931  	//   "ACTIVE_ADS_TIER_750K"
   932  	//   "ACTIVE_ADS_TIER_1M"
   933  	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
   934  
   935  	// ActiveViewOptOut: Whether to serve creatives with Active View tags.
   936  	// If disabled, viewability data will not be available for any
   937  	// impressions.
   938  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
   939  
   940  	// AvailablePermissionIds: User role permissions available to the user
   941  	// roles of this account.
   942  	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
   943  
   944  	// CountryId: ID of the country associated with this account.
   945  	CountryId int64 `json:"countryId,omitempty,string"`
   946  
   947  	// CurrencyId: ID of currency associated with this account. This is a
   948  	// required field. Acceptable values are: - "1" for USD - "2" for GBP -
   949  	// "3" for ESP - "4" for SEK - "5" for CAD - "6" for JPY - "7" for DEM -
   950  	// "8" for AUD - "9" for FRF - "10" for ITL - "11" for DKK - "12" for
   951  	// NOK - "13" for FIM - "14" for ZAR - "15" for IEP - "16" for NLG -
   952  	// "17" for EUR - "18" for KRW - "19" for TWD - "20" for SGD - "21" for
   953  	// CNY - "22" for HKD - "23" for NZD - "24" for MYR - "25" for BRL -
   954  	// "26" for PTE - "28" for CLP - "29" for TRY - "30" for ARS - "31" for
   955  	// PEN - "32" for ILS - "33" for CHF - "34" for VEF - "35" for COP -
   956  	// "36" for GTQ - "37" for PLN - "39" for INR - "40" for THB - "41" for
   957  	// IDR - "42" for CZK - "43" for RON - "44" for HUF - "45" for RUB -
   958  	// "46" for AED - "47" for BGN - "48" for HRK - "49" for MXN - "50" for
   959  	// NGN - "51" for EGP
   960  	CurrencyId int64 `json:"currencyId,omitempty,string"`
   961  
   962  	// DefaultCreativeSizeId: Default placement dimensions for this account.
   963  	DefaultCreativeSizeId int64 `json:"defaultCreativeSizeId,omitempty,string"`
   964  
   965  	// Description: Description of this account.
   966  	Description string `json:"description,omitempty"`
   967  
   968  	// Id: ID of this account. This is a read-only, auto-generated field.
   969  	Id int64 `json:"id,omitempty,string"`
   970  
   971  	// Kind: Identifies what kind of resource this is. Value: the fixed
   972  	// string "dfareporting#account".
   973  	Kind string `json:"kind,omitempty"`
   974  
   975  	// Locale: Locale of this account. Acceptable values are: - "cs" (Czech)
   976  	// - "de" (German) - "en" (English) - "en-GB" (English United Kingdom) -
   977  	// "es" (Spanish) - "fr" (French) - "it" (Italian) - "ja" (Japanese) -
   978  	// "ko" (Korean) - "pl" (Polish) - "pt-BR" (Portuguese Brazil) - "ru"
   979  	// (Russian) - "sv" (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese
   980  	// Simplified) - "zh-TW" (Chinese Traditional)
   981  	Locale string `json:"locale,omitempty"`
   982  
   983  	// MaximumImageSize: Maximum image size allowed for this account, in
   984  	// kilobytes. Value must be greater than or equal to 1.
   985  	MaximumImageSize int64 `json:"maximumImageSize,omitempty,string"`
   986  
   987  	// Name: Name of this account. This is a required field, and must be
   988  	// less than 128 characters long and be globally unique.
   989  	Name string `json:"name,omitempty"`
   990  
   991  	// NielsenOcrEnabled: Whether campaigns created in this account will be
   992  	// enabled for Nielsen OCR reach ratings by default.
   993  	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
   994  
   995  	// ReportsConfiguration: Reporting configuration of this account.
   996  	ReportsConfiguration *ReportsConfiguration `json:"reportsConfiguration,omitempty"`
   997  
   998  	// ShareReportsWithTwitter: Share Path to Conversion reports with
   999  	// Twitter.
  1000  	ShareReportsWithTwitter bool `json:"shareReportsWithTwitter,omitempty"`
  1001  
  1002  	// TeaserSizeLimit: File size limit in kilobytes of Rich Media teaser
  1003  	// creatives. Acceptable values are 1 to 10240, inclusive.
  1004  	TeaserSizeLimit int64 `json:"teaserSizeLimit,omitempty,string"`
  1005  
  1006  	// ServerResponse contains the HTTP response code and headers from the
  1007  	// server.
  1008  	googleapi.ServerResponse `json:"-"`
  1009  
  1010  	// ForceSendFields is a list of field names (e.g.
  1011  	// "AccountPermissionIds") to unconditionally include in API requests.
  1012  	// By default, fields with empty or default values are omitted from API
  1013  	// requests. However, any non-pointer, non-interface field appearing in
  1014  	// ForceSendFields will be sent to the server regardless of whether the
  1015  	// field is empty or not. This may be used to include empty fields in
  1016  	// Patch requests.
  1017  	ForceSendFields []string `json:"-"`
  1018  
  1019  	// NullFields is a list of field names (e.g. "AccountPermissionIds") to
  1020  	// include in API requests with the JSON null value. By default, fields
  1021  	// with empty values are omitted from API requests. However, any field
  1022  	// with an empty value appearing in NullFields will be sent to the
  1023  	// server as null. It is an error if a field in this list has a
  1024  	// non-empty value. This may be used to include null fields in Patch
  1025  	// requests.
  1026  	NullFields []string `json:"-"`
  1027  }
  1028  
  1029  func (s *Account) MarshalJSON() ([]byte, error) {
  1030  	type NoMethod Account
  1031  	raw := NoMethod(*s)
  1032  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1033  }
  1034  
  1035  // AccountActiveAdSummary: Gets a summary of active ads in an account.
  1036  type AccountActiveAdSummary struct {
  1037  	// AccountId: ID of the account.
  1038  	AccountId int64 `json:"accountId,omitempty,string"`
  1039  
  1040  	// ActiveAds: Ads that have been activated for the account
  1041  	ActiveAds int64 `json:"activeAds,omitempty,string"`
  1042  
  1043  	// ActiveAdsLimitTier: Maximum number of active ads allowed for the
  1044  	// account.
  1045  	//
  1046  	// Possible values:
  1047  	//   "ACTIVE_ADS_TIER_40K"
  1048  	//   "ACTIVE_ADS_TIER_75K"
  1049  	//   "ACTIVE_ADS_TIER_100K"
  1050  	//   "ACTIVE_ADS_TIER_200K"
  1051  	//   "ACTIVE_ADS_TIER_300K"
  1052  	//   "ACTIVE_ADS_TIER_500K"
  1053  	//   "ACTIVE_ADS_TIER_750K"
  1054  	//   "ACTIVE_ADS_TIER_1M"
  1055  	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
  1056  
  1057  	// AvailableAds: Ads that can be activated for the account.
  1058  	AvailableAds int64 `json:"availableAds,omitempty,string"`
  1059  
  1060  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1061  	// string "dfareporting#accountActiveAdSummary".
  1062  	Kind string `json:"kind,omitempty"`
  1063  
  1064  	// ServerResponse contains the HTTP response code and headers from the
  1065  	// server.
  1066  	googleapi.ServerResponse `json:"-"`
  1067  
  1068  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1069  	// unconditionally include in API requests. By default, fields with
  1070  	// empty or default values are omitted from API requests. However, any
  1071  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1072  	// sent to the server regardless of whether the field is empty or not.
  1073  	// This may be used to include empty fields in Patch requests.
  1074  	ForceSendFields []string `json:"-"`
  1075  
  1076  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1077  	// API requests with the JSON null value. By default, fields with empty
  1078  	// values are omitted from API requests. However, any field with an
  1079  	// empty value appearing in NullFields will be sent to the server as
  1080  	// null. It is an error if a field in this list has a non-empty value.
  1081  	// This may be used to include null fields in Patch requests.
  1082  	NullFields []string `json:"-"`
  1083  }
  1084  
  1085  func (s *AccountActiveAdSummary) MarshalJSON() ([]byte, error) {
  1086  	type NoMethod AccountActiveAdSummary
  1087  	raw := NoMethod(*s)
  1088  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1089  }
  1090  
  1091  // AccountPermission: AccountPermissions contains information about a
  1092  // particular account permission. Some features of Campaign Manager
  1093  // require an account permission to be present in the account.
  1094  type AccountPermission struct {
  1095  	// AccountProfiles: Account profiles associated with this account
  1096  	// permission. Possible values are: - "ACCOUNT_PROFILE_BASIC" -
  1097  	// "ACCOUNT_PROFILE_STANDARD"
  1098  	//
  1099  	// Possible values:
  1100  	//   "ACCOUNT_PROFILE_BASIC"
  1101  	//   "ACCOUNT_PROFILE_STANDARD"
  1102  	AccountProfiles []string `json:"accountProfiles,omitempty"`
  1103  
  1104  	// Id: ID of this account permission.
  1105  	Id int64 `json:"id,omitempty,string"`
  1106  
  1107  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1108  	// string "dfareporting#accountPermission".
  1109  	Kind string `json:"kind,omitempty"`
  1110  
  1111  	// Level: Administrative level required to enable this account
  1112  	// permission.
  1113  	//
  1114  	// Possible values:
  1115  	//   "USER"
  1116  	//   "ADMINISTRATOR"
  1117  	Level string `json:"level,omitempty"`
  1118  
  1119  	// Name: Name of this account permission.
  1120  	Name string `json:"name,omitempty"`
  1121  
  1122  	// PermissionGroupId: Permission group of this account permission.
  1123  	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
  1124  
  1125  	// ServerResponse contains the HTTP response code and headers from the
  1126  	// server.
  1127  	googleapi.ServerResponse `json:"-"`
  1128  
  1129  	// ForceSendFields is a list of field names (e.g. "AccountProfiles") to
  1130  	// unconditionally include in API requests. By default, fields with
  1131  	// empty or default values are omitted from API requests. However, any
  1132  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1133  	// sent to the server regardless of whether the field is empty or not.
  1134  	// This may be used to include empty fields in Patch requests.
  1135  	ForceSendFields []string `json:"-"`
  1136  
  1137  	// NullFields is a list of field names (e.g. "AccountProfiles") to
  1138  	// include in API requests with the JSON null value. By default, fields
  1139  	// with empty values are omitted from API requests. However, any field
  1140  	// with an empty value appearing in NullFields will be sent to the
  1141  	// server as null. It is an error if a field in this list has a
  1142  	// non-empty value. This may be used to include null fields in Patch
  1143  	// requests.
  1144  	NullFields []string `json:"-"`
  1145  }
  1146  
  1147  func (s *AccountPermission) MarshalJSON() ([]byte, error) {
  1148  	type NoMethod AccountPermission
  1149  	raw := NoMethod(*s)
  1150  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1151  }
  1152  
  1153  // AccountPermissionGroup: AccountPermissionGroups contains a mapping of
  1154  // permission group IDs to names. A permission group is a grouping of
  1155  // account permissions.
  1156  type AccountPermissionGroup struct {
  1157  	// Id: ID of this account permission group.
  1158  	Id int64 `json:"id,omitempty,string"`
  1159  
  1160  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1161  	// string "dfareporting#accountPermissionGroup".
  1162  	Kind string `json:"kind,omitempty"`
  1163  
  1164  	// Name: Name of this account permission group.
  1165  	Name string `json:"name,omitempty"`
  1166  
  1167  	// ServerResponse contains the HTTP response code and headers from the
  1168  	// server.
  1169  	googleapi.ServerResponse `json:"-"`
  1170  
  1171  	// ForceSendFields is a list of field names (e.g. "Id") to
  1172  	// unconditionally include in API requests. By default, fields with
  1173  	// empty or default values are omitted from API requests. However, any
  1174  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1175  	// sent to the server regardless of whether the field is empty or not.
  1176  	// This may be used to include empty fields in Patch requests.
  1177  	ForceSendFields []string `json:"-"`
  1178  
  1179  	// NullFields is a list of field names (e.g. "Id") to include in API
  1180  	// requests with the JSON null value. By default, fields with empty
  1181  	// values are omitted from API requests. However, any field with an
  1182  	// empty value appearing in NullFields will be sent to the server as
  1183  	// null. It is an error if a field in this list has a non-empty value.
  1184  	// This may be used to include null fields in Patch requests.
  1185  	NullFields []string `json:"-"`
  1186  }
  1187  
  1188  func (s *AccountPermissionGroup) MarshalJSON() ([]byte, error) {
  1189  	type NoMethod AccountPermissionGroup
  1190  	raw := NoMethod(*s)
  1191  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1192  }
  1193  
  1194  // AccountPermissionGroupsListResponse: Account Permission Group List
  1195  // Response
  1196  type AccountPermissionGroupsListResponse struct {
  1197  	// AccountPermissionGroups: Account permission group collection.
  1198  	AccountPermissionGroups []*AccountPermissionGroup `json:"accountPermissionGroups,omitempty"`
  1199  
  1200  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1201  	// string "dfareporting#accountPermissionGroupsListResponse".
  1202  	Kind string `json:"kind,omitempty"`
  1203  
  1204  	// ServerResponse contains the HTTP response code and headers from the
  1205  	// server.
  1206  	googleapi.ServerResponse `json:"-"`
  1207  
  1208  	// ForceSendFields is a list of field names (e.g.
  1209  	// "AccountPermissionGroups") to unconditionally include in API
  1210  	// requests. By default, fields with empty or default values are omitted
  1211  	// from API requests. However, any non-pointer, non-interface field
  1212  	// appearing in ForceSendFields will be sent to the server regardless of
  1213  	// whether the field is empty or not. This may be used to include empty
  1214  	// fields in Patch requests.
  1215  	ForceSendFields []string `json:"-"`
  1216  
  1217  	// NullFields is a list of field names (e.g. "AccountPermissionGroups")
  1218  	// to include in API requests with the JSON null value. By default,
  1219  	// fields with empty values are omitted from API requests. However, any
  1220  	// field with an empty value appearing in NullFields will be sent to the
  1221  	// server as null. It is an error if a field in this list has a
  1222  	// non-empty value. This may be used to include null fields in Patch
  1223  	// requests.
  1224  	NullFields []string `json:"-"`
  1225  }
  1226  
  1227  func (s *AccountPermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
  1228  	type NoMethod AccountPermissionGroupsListResponse
  1229  	raw := NoMethod(*s)
  1230  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1231  }
  1232  
  1233  // AccountPermissionsListResponse: Account Permission List Response
  1234  type AccountPermissionsListResponse struct {
  1235  	// AccountPermissions: Account permission collection.
  1236  	AccountPermissions []*AccountPermission `json:"accountPermissions,omitempty"`
  1237  
  1238  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1239  	// string "dfareporting#accountPermissionsListResponse".
  1240  	Kind string `json:"kind,omitempty"`
  1241  
  1242  	// ServerResponse contains the HTTP response code and headers from the
  1243  	// server.
  1244  	googleapi.ServerResponse `json:"-"`
  1245  
  1246  	// ForceSendFields is a list of field names (e.g. "AccountPermissions")
  1247  	// to unconditionally include in API requests. By default, fields with
  1248  	// empty or default values are omitted from API requests. However, any
  1249  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1250  	// sent to the server regardless of whether the field is empty or not.
  1251  	// This may be used to include empty fields in Patch requests.
  1252  	ForceSendFields []string `json:"-"`
  1253  
  1254  	// NullFields is a list of field names (e.g. "AccountPermissions") to
  1255  	// include in API requests with the JSON null value. By default, fields
  1256  	// with empty values are omitted from API requests. However, any field
  1257  	// with an empty value appearing in NullFields will be sent to the
  1258  	// server as null. It is an error if a field in this list has a
  1259  	// non-empty value. This may be used to include null fields in Patch
  1260  	// requests.
  1261  	NullFields []string `json:"-"`
  1262  }
  1263  
  1264  func (s *AccountPermissionsListResponse) MarshalJSON() ([]byte, error) {
  1265  	type NoMethod AccountPermissionsListResponse
  1266  	raw := NoMethod(*s)
  1267  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1268  }
  1269  
  1270  // AccountUserProfile: AccountUserProfiles contains properties of a
  1271  // Campaign Manager user profile. This resource is specifically for
  1272  // managing user profiles, whereas UserProfiles is for accessing the
  1273  // API.
  1274  type AccountUserProfile struct {
  1275  	// AccountId: Account ID of the user profile. This is a read-only field
  1276  	// that can be left blank.
  1277  	AccountId int64 `json:"accountId,omitempty,string"`
  1278  
  1279  	// Active: Whether this user profile is active. This defaults to false,
  1280  	// and must be set true on insert for the user profile to be usable.
  1281  	Active bool `json:"active,omitempty"`
  1282  
  1283  	// AdvertiserFilter: Filter that describes which advertisers are visible
  1284  	// to the user profile.
  1285  	AdvertiserFilter *ObjectFilter `json:"advertiserFilter,omitempty"`
  1286  
  1287  	// CampaignFilter: Filter that describes which campaigns are visible to
  1288  	// the user profile.
  1289  	CampaignFilter *ObjectFilter `json:"campaignFilter,omitempty"`
  1290  
  1291  	// Comments: Comments for this user profile.
  1292  	Comments string `json:"comments,omitempty"`
  1293  
  1294  	// Email: Email of the user profile. The email addresss must be linked
  1295  	// to a Google Account. This field is required on insertion and is
  1296  	// read-only after insertion.
  1297  	Email string `json:"email,omitempty"`
  1298  
  1299  	// Id: ID of the user profile. This is a read-only, auto-generated
  1300  	// field.
  1301  	Id int64 `json:"id,omitempty,string"`
  1302  
  1303  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1304  	// string "dfareporting#accountUserProfile".
  1305  	Kind string `json:"kind,omitempty"`
  1306  
  1307  	// Locale: Locale of the user profile. This is a required field.
  1308  	// Acceptable values are: - "cs" (Czech) - "de" (German) - "en"
  1309  	// (English) - "en-GB" (English United Kingdom) - "es" (Spanish) - "fr"
  1310  	// (French) - "it" (Italian) - "ja" (Japanese) - "ko" (Korean) - "pl"
  1311  	// (Polish) - "pt-BR" (Portuguese Brazil) - "ru" (Russian) - "sv"
  1312  	// (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese Simplified) - "zh-TW"
  1313  	// (Chinese Traditional)
  1314  	Locale string `json:"locale,omitempty"`
  1315  
  1316  	// Name: Name of the user profile. This is a required field. Must be
  1317  	// less than 64 characters long, must be globally unique, and cannot
  1318  	// contain whitespace or any of the following characters: "&;<>"#%,".
  1319  	Name string `json:"name,omitempty"`
  1320  
  1321  	// SiteFilter: Filter that describes which sites are visible to the user
  1322  	// profile.
  1323  	SiteFilter *ObjectFilter `json:"siteFilter,omitempty"`
  1324  
  1325  	// SubaccountId: Subaccount ID of the user profile. This is a read-only
  1326  	// field that can be left blank.
  1327  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  1328  
  1329  	// TraffickerType: Trafficker type of this user profile. This is a
  1330  	// read-only field.
  1331  	//
  1332  	// Possible values:
  1333  	//   "INTERNAL_NON_TRAFFICKER"
  1334  	//   "INTERNAL_TRAFFICKER"
  1335  	//   "EXTERNAL_TRAFFICKER"
  1336  	TraffickerType string `json:"traffickerType,omitempty"`
  1337  
  1338  	// UserAccessType: User type of the user profile. This is a read-only
  1339  	// field that can be left blank.
  1340  	//
  1341  	// Possible values:
  1342  	//   "NORMAL_USER"
  1343  	//   "SUPER_USER"
  1344  	//   "INTERNAL_ADMINISTRATOR"
  1345  	//   "READ_ONLY_SUPER_USER"
  1346  	UserAccessType string `json:"userAccessType,omitempty"`
  1347  
  1348  	// UserRoleFilter: Filter that describes which user roles are visible to
  1349  	// the user profile.
  1350  	UserRoleFilter *ObjectFilter `json:"userRoleFilter,omitempty"`
  1351  
  1352  	// UserRoleId: User role ID of the user profile. This is a required
  1353  	// field.
  1354  	UserRoleId int64 `json:"userRoleId,omitempty,string"`
  1355  
  1356  	// ServerResponse contains the HTTP response code and headers from the
  1357  	// server.
  1358  	googleapi.ServerResponse `json:"-"`
  1359  
  1360  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1361  	// unconditionally include in API requests. By default, fields with
  1362  	// empty or default values are omitted from API requests. However, any
  1363  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1364  	// sent to the server regardless of whether the field is empty or not.
  1365  	// This may be used to include empty fields in Patch requests.
  1366  	ForceSendFields []string `json:"-"`
  1367  
  1368  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1369  	// API requests with the JSON null value. By default, fields with empty
  1370  	// values are omitted from API requests. However, any field with an
  1371  	// empty value appearing in NullFields will be sent to the server as
  1372  	// null. It is an error if a field in this list has a non-empty value.
  1373  	// This may be used to include null fields in Patch requests.
  1374  	NullFields []string `json:"-"`
  1375  }
  1376  
  1377  func (s *AccountUserProfile) MarshalJSON() ([]byte, error) {
  1378  	type NoMethod AccountUserProfile
  1379  	raw := NoMethod(*s)
  1380  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1381  }
  1382  
  1383  // AccountUserProfilesListResponse: Account User Profile List Response
  1384  type AccountUserProfilesListResponse struct {
  1385  	// AccountUserProfiles: Account user profile collection.
  1386  	AccountUserProfiles []*AccountUserProfile `json:"accountUserProfiles,omitempty"`
  1387  
  1388  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1389  	// string "dfareporting#accountUserProfilesListResponse".
  1390  	Kind string `json:"kind,omitempty"`
  1391  
  1392  	// NextPageToken: Pagination token to be used for the next list
  1393  	// operation.
  1394  	NextPageToken string `json:"nextPageToken,omitempty"`
  1395  
  1396  	// ServerResponse contains the HTTP response code and headers from the
  1397  	// server.
  1398  	googleapi.ServerResponse `json:"-"`
  1399  
  1400  	// ForceSendFields is a list of field names (e.g. "AccountUserProfiles")
  1401  	// to unconditionally include in API requests. By default, fields with
  1402  	// empty or default values are omitted from API requests. However, any
  1403  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1404  	// sent to the server regardless of whether the field is empty or not.
  1405  	// This may be used to include empty fields in Patch requests.
  1406  	ForceSendFields []string `json:"-"`
  1407  
  1408  	// NullFields is a list of field names (e.g. "AccountUserProfiles") to
  1409  	// include in API requests with the JSON null value. By default, fields
  1410  	// with empty values are omitted from API requests. However, any field
  1411  	// with an empty value appearing in NullFields will be sent to the
  1412  	// server as null. It is an error if a field in this list has a
  1413  	// non-empty value. This may be used to include null fields in Patch
  1414  	// requests.
  1415  	NullFields []string `json:"-"`
  1416  }
  1417  
  1418  func (s *AccountUserProfilesListResponse) MarshalJSON() ([]byte, error) {
  1419  	type NoMethod AccountUserProfilesListResponse
  1420  	raw := NoMethod(*s)
  1421  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1422  }
  1423  
  1424  // AccountsListResponse: Account List Response
  1425  type AccountsListResponse struct {
  1426  	// Accounts: Account collection.
  1427  	Accounts []*Account `json:"accounts,omitempty"`
  1428  
  1429  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1430  	// string "dfareporting#accountsListResponse".
  1431  	Kind string `json:"kind,omitempty"`
  1432  
  1433  	// NextPageToken: Pagination token to be used for the next list
  1434  	// operation.
  1435  	NextPageToken string `json:"nextPageToken,omitempty"`
  1436  
  1437  	// ServerResponse contains the HTTP response code and headers from the
  1438  	// server.
  1439  	googleapi.ServerResponse `json:"-"`
  1440  
  1441  	// ForceSendFields is a list of field names (e.g. "Accounts") to
  1442  	// unconditionally include in API requests. By default, fields with
  1443  	// empty or default values are omitted from API requests. However, any
  1444  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1445  	// sent to the server regardless of whether the field is empty or not.
  1446  	// This may be used to include empty fields in Patch requests.
  1447  	ForceSendFields []string `json:"-"`
  1448  
  1449  	// NullFields is a list of field names (e.g. "Accounts") to include in
  1450  	// API requests with the JSON null value. By default, fields with empty
  1451  	// values are omitted from API requests. However, any field with an
  1452  	// empty value appearing in NullFields will be sent to the server as
  1453  	// null. It is an error if a field in this list has a non-empty value.
  1454  	// This may be used to include null fields in Patch requests.
  1455  	NullFields []string `json:"-"`
  1456  }
  1457  
  1458  func (s *AccountsListResponse) MarshalJSON() ([]byte, error) {
  1459  	type NoMethod AccountsListResponse
  1460  	raw := NoMethod(*s)
  1461  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1462  }
  1463  
  1464  // Activities: Represents an activity group.
  1465  type Activities struct {
  1466  	// Filters: List of activity filters. The dimension values need to be
  1467  	// all either of type "dfa:activity" or "dfa:activityGroup".
  1468  	Filters []*DimensionValue `json:"filters,omitempty"`
  1469  
  1470  	// Kind: The kind of resource this is, in this case
  1471  	// dfareporting#activities.
  1472  	Kind string `json:"kind,omitempty"`
  1473  
  1474  	// MetricNames: List of names of floodlight activity metrics.
  1475  	MetricNames []string `json:"metricNames,omitempty"`
  1476  
  1477  	// ForceSendFields is a list of field names (e.g. "Filters") to
  1478  	// unconditionally include in API requests. By default, fields with
  1479  	// empty or default values are omitted from API requests. However, any
  1480  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1481  	// sent to the server regardless of whether the field is empty or not.
  1482  	// This may be used to include empty fields in Patch requests.
  1483  	ForceSendFields []string `json:"-"`
  1484  
  1485  	// NullFields is a list of field names (e.g. "Filters") to include in
  1486  	// API requests with the JSON null value. By default, fields with empty
  1487  	// values are omitted from API requests. However, any field with an
  1488  	// empty value appearing in NullFields will be sent to the server as
  1489  	// null. It is an error if a field in this list has a non-empty value.
  1490  	// This may be used to include null fields in Patch requests.
  1491  	NullFields []string `json:"-"`
  1492  }
  1493  
  1494  func (s *Activities) MarshalJSON() ([]byte, error) {
  1495  	type NoMethod Activities
  1496  	raw := NoMethod(*s)
  1497  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1498  }
  1499  
  1500  // Ad: Contains properties of a Campaign Manager ad.
  1501  type Ad struct {
  1502  	// AccountId: Account ID of this ad. This is a read-only field that can
  1503  	// be left blank.
  1504  	AccountId int64 `json:"accountId,omitempty,string"`
  1505  
  1506  	// Active: Whether this ad is active. When true, archived must be false.
  1507  	Active bool `json:"active,omitempty"`
  1508  
  1509  	// AdvertiserId: Advertiser ID of this ad. This is a required field on
  1510  	// insertion.
  1511  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  1512  
  1513  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  1514  	// advertiser. This is a read-only, auto-generated field.
  1515  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  1516  
  1517  	// Archived: Whether this ad is archived. When true, active must be
  1518  	// false.
  1519  	Archived bool `json:"archived,omitempty"`
  1520  
  1521  	// AudienceSegmentId: Audience segment ID that is being targeted for
  1522  	// this ad. Applicable when type is AD_SERVING_STANDARD_AD.
  1523  	AudienceSegmentId int64 `json:"audienceSegmentId,omitempty,string"`
  1524  
  1525  	// CampaignId: Campaign ID of this ad. This is a required field on
  1526  	// insertion.
  1527  	CampaignId int64 `json:"campaignId,omitempty,string"`
  1528  
  1529  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  1530  	// This is a read-only, auto-generated field.
  1531  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  1532  
  1533  	// ClickThroughUrl: Click-through URL for this ad. This is a required
  1534  	// field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
  1535  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  1536  
  1537  	// ClickThroughUrlSuffixProperties: Click-through URL suffix properties
  1538  	// for this ad. Applies to the URL in the ad or (if overriding ad
  1539  	// properties) the URL in the creative.
  1540  	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
  1541  
  1542  	// Comments: Comments for this ad.
  1543  	Comments string `json:"comments,omitempty"`
  1544  
  1545  	// Compatibility: Compatibility of this ad. Applicable when type is
  1546  	// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
  1547  	// either rendering on desktop or on mobile devices or in mobile apps
  1548  	// for regular or interstitial ads, respectively. APP and
  1549  	// APP_INTERSTITIAL are only used for existing default ads. New mobile
  1550  	// placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and
  1551  	// default ads created for those placements will be limited to those
  1552  	// compatibility types. IN_STREAM_VIDEO refers to rendering in-stream
  1553  	// video ads developed with the VAST standard.
  1554  	//
  1555  	// Possible values:
  1556  	//   "DISPLAY"
  1557  	//   "DISPLAY_INTERSTITIAL"
  1558  	//   "APP"
  1559  	//   "APP_INTERSTITIAL"
  1560  	//   "IN_STREAM_VIDEO"
  1561  	//   "IN_STREAM_AUDIO"
  1562  	Compatibility string `json:"compatibility,omitempty"`
  1563  
  1564  	// CreateInfo: Information about the creation of this ad. This is a
  1565  	// read-only field.
  1566  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  1567  
  1568  	// CreativeGroupAssignments: Creative group assignments for this ad.
  1569  	// Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment
  1570  	// per creative group number is allowed for a maximum of two
  1571  	// assignments.
  1572  	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
  1573  
  1574  	// CreativeRotation: Creative rotation for this ad. Applicable when type
  1575  	// is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or
  1576  	// AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field
  1577  	// should have exactly one creativeAssignment .
  1578  	CreativeRotation *CreativeRotation `json:"creativeRotation,omitempty"`
  1579  
  1580  	// DayPartTargeting: Time and day targeting information for this ad.
  1581  	// This field must be left blank if the ad is using a targeting
  1582  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1583  	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
  1584  
  1585  	// DefaultClickThroughEventTagProperties: Default click-through event
  1586  	// tag properties for this ad.
  1587  	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
  1588  
  1589  	// DeliverySchedule: Delivery schedule information for this ad.
  1590  	// Applicable when type is AD_SERVING_STANDARD_AD or
  1591  	// AD_SERVING_TRACKING. This field along with subfields priority and
  1592  	// impressionRatio are required on insertion when type is
  1593  	// AD_SERVING_STANDARD_AD.
  1594  	DeliverySchedule *DeliverySchedule `json:"deliverySchedule,omitempty"`
  1595  
  1596  	// DynamicClickTracker: Whether this ad is a dynamic click tracker.
  1597  	// Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required
  1598  	// field on insert, and is read-only after insert.
  1599  	DynamicClickTracker bool `json:"dynamicClickTracker,omitempty"`
  1600  
  1601  	EndTime string `json:"endTime,omitempty"`
  1602  
  1603  	// EventTagOverrides: Event tag overrides for this ad.
  1604  	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
  1605  
  1606  	// GeoTargeting: Geographical targeting information for this ad. This
  1607  	// field must be left blank if the ad is using a targeting template.
  1608  	// Applicable when type is AD_SERVING_STANDARD_AD.
  1609  	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
  1610  
  1611  	// Id: ID of this ad. This is a read-only, auto-generated field.
  1612  	Id int64 `json:"id,omitempty,string"`
  1613  
  1614  	// IdDimensionValue: Dimension value for the ID of this ad. This is a
  1615  	// read-only, auto-generated field.
  1616  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  1617  
  1618  	// KeyValueTargetingExpression: Key-value targeting information for this
  1619  	// ad. This field must be left blank if the ad is using a targeting
  1620  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1621  	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
  1622  
  1623  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1624  	// string "dfareporting#ad".
  1625  	Kind string `json:"kind,omitempty"`
  1626  
  1627  	// LanguageTargeting: Language targeting information for this ad. This
  1628  	// field must be left blank if the ad is using a targeting template.
  1629  	// Applicable when type is AD_SERVING_STANDARD_AD.
  1630  	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
  1631  
  1632  	// LastModifiedInfo: Information about the most recent modification of
  1633  	// this ad. This is a read-only field.
  1634  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  1635  
  1636  	// Name: Name of this ad. This is a required field and must be less than
  1637  	// 256 characters long.
  1638  	Name string `json:"name,omitempty"`
  1639  
  1640  	// PlacementAssignments: Placement assignments for this ad.
  1641  	PlacementAssignments []*PlacementAssignment `json:"placementAssignments,omitempty"`
  1642  
  1643  	// RemarketingListExpression: Remarketing list targeting expression for
  1644  	// this ad. This field must be left blank if the ad is using a targeting
  1645  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1646  	RemarketingListExpression *ListTargetingExpression `json:"remarketingListExpression,omitempty"`
  1647  
  1648  	// Size: Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
  1649  	Size *Size `json:"size,omitempty"`
  1650  
  1651  	// SslCompliant: Whether this ad is ssl compliant. This is a read-only
  1652  	// field that is auto-generated when the ad is inserted or updated.
  1653  	SslCompliant bool `json:"sslCompliant,omitempty"`
  1654  
  1655  	// SslRequired: Whether this ad requires ssl. This is a read-only field
  1656  	// that is auto-generated when the ad is inserted or updated.
  1657  	SslRequired bool `json:"sslRequired,omitempty"`
  1658  
  1659  	StartTime string `json:"startTime,omitempty"`
  1660  
  1661  	// SubaccountId: Subaccount ID of this ad. This is a read-only field
  1662  	// that can be left blank.
  1663  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  1664  
  1665  	// TargetingTemplateId: Targeting template ID, used to apply
  1666  	// preconfigured targeting information to this ad. This cannot be set
  1667  	// while any of dayPartTargeting, geoTargeting,
  1668  	// keyValueTargetingExpression, languageTargeting,
  1669  	// remarketingListExpression, or technologyTargeting are set. Applicable
  1670  	// when type is AD_SERVING_STANDARD_AD.
  1671  	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
  1672  
  1673  	// TechnologyTargeting: Technology platform targeting information for
  1674  	// this ad. This field must be left blank if the ad is using a targeting
  1675  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1676  	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
  1677  
  1678  	// Type: Type of ad. This is a required field on insertion. Note that
  1679  	// default ads ( AD_SERVING_DEFAULT_AD) cannot be created directly (see
  1680  	// Creative resource).
  1681  	//
  1682  	// Possible values:
  1683  	//   "AD_SERVING_STANDARD_AD"
  1684  	//   "AD_SERVING_DEFAULT_AD"
  1685  	//   "AD_SERVING_CLICK_TRACKER"
  1686  	//   "AD_SERVING_TRACKING"
  1687  	//   "AD_SERVING_BRAND_SAFE_AD"
  1688  	Type string `json:"type,omitempty"`
  1689  
  1690  	// ServerResponse contains the HTTP response code and headers from the
  1691  	// server.
  1692  	googleapi.ServerResponse `json:"-"`
  1693  
  1694  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1695  	// unconditionally include in API requests. By default, fields with
  1696  	// empty or default values are omitted from API requests. However, any
  1697  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1698  	// sent to the server regardless of whether the field is empty or not.
  1699  	// This may be used to include empty fields in Patch requests.
  1700  	ForceSendFields []string `json:"-"`
  1701  
  1702  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1703  	// API requests with the JSON null value. By default, fields with empty
  1704  	// values are omitted from API requests. However, any field with an
  1705  	// empty value appearing in NullFields will be sent to the server as
  1706  	// null. It is an error if a field in this list has a non-empty value.
  1707  	// This may be used to include null fields in Patch requests.
  1708  	NullFields []string `json:"-"`
  1709  }
  1710  
  1711  func (s *Ad) MarshalJSON() ([]byte, error) {
  1712  	type NoMethod Ad
  1713  	raw := NoMethod(*s)
  1714  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1715  }
  1716  
  1717  // AdBlockingConfiguration: Campaign ad blocking settings.
  1718  type AdBlockingConfiguration struct {
  1719  	// ClickThroughUrl: Click-through URL used by brand-neutral ads. This is
  1720  	// a required field when overrideClickThroughUrl is set to true.
  1721  	ClickThroughUrl string `json:"clickThroughUrl,omitempty"`
  1722  
  1723  	// CreativeBundleId: ID of a creative bundle to use for this campaign.
  1724  	// If set, brand-neutral ads will select creatives from this bundle.
  1725  	// Otherwise, a default transparent pixel will be used.
  1726  	CreativeBundleId int64 `json:"creativeBundleId,omitempty,string"`
  1727  
  1728  	// Enabled: Whether this campaign has enabled ad blocking. When true, ad
  1729  	// blocking is enabled for placements in the campaign, but this may be
  1730  	// overridden by site and placement settings. When false, ad blocking is
  1731  	// disabled for all placements under the campaign, regardless of site
  1732  	// and placement settings.
  1733  	Enabled bool `json:"enabled,omitempty"`
  1734  
  1735  	// OverrideClickThroughUrl: Whether the brand-neutral ad's click-through
  1736  	// URL comes from the campaign's creative bundle or the override URL.
  1737  	// Must be set to true if ad blocking is enabled and no creative bundle
  1738  	// is configured.
  1739  	OverrideClickThroughUrl bool `json:"overrideClickThroughUrl,omitempty"`
  1740  
  1741  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  1742  	// unconditionally include in API requests. By default, fields with
  1743  	// empty or default values are omitted from API requests. However, any
  1744  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1745  	// sent to the server regardless of whether the field is empty or not.
  1746  	// This may be used to include empty fields in Patch requests.
  1747  	ForceSendFields []string `json:"-"`
  1748  
  1749  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  1750  	// include in API requests with the JSON null value. By default, fields
  1751  	// with empty values are omitted from API requests. However, any field
  1752  	// with an empty value appearing in NullFields will be sent to the
  1753  	// server as null. It is an error if a field in this list has a
  1754  	// non-empty value. This may be used to include null fields in Patch
  1755  	// requests.
  1756  	NullFields []string `json:"-"`
  1757  }
  1758  
  1759  func (s *AdBlockingConfiguration) MarshalJSON() ([]byte, error) {
  1760  	type NoMethod AdBlockingConfiguration
  1761  	raw := NoMethod(*s)
  1762  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1763  }
  1764  
  1765  // AdSlot: Ad Slot
  1766  type AdSlot struct {
  1767  	// Comment: Comment for this ad slot.
  1768  	Comment string `json:"comment,omitempty"`
  1769  
  1770  	// Compatibility: Ad slot compatibility. DISPLAY and
  1771  	// DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile
  1772  	// devices or in mobile apps for regular or interstitial ads
  1773  	// respectively. APP and APP_INTERSTITIAL are for rendering in mobile
  1774  	// apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads
  1775  	// developed with the VAST standard.
  1776  	//
  1777  	// Possible values:
  1778  	//   "DISPLAY"
  1779  	//   "DISPLAY_INTERSTITIAL"
  1780  	//   "APP"
  1781  	//   "APP_INTERSTITIAL"
  1782  	//   "IN_STREAM_VIDEO"
  1783  	//   "IN_STREAM_AUDIO"
  1784  	Compatibility string `json:"compatibility,omitempty"`
  1785  
  1786  	// Height: Height of this ad slot.
  1787  	Height int64 `json:"height,omitempty,string"`
  1788  
  1789  	// LinkedPlacementId: ID of the placement from an external platform that
  1790  	// is linked to this ad slot.
  1791  	LinkedPlacementId int64 `json:"linkedPlacementId,omitempty,string"`
  1792  
  1793  	// Name: Name of this ad slot.
  1794  	Name string `json:"name,omitempty"`
  1795  
  1796  	// PaymentSourceType: Payment source type of this ad slot.
  1797  	//
  1798  	// Possible values:
  1799  	//   "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID"
  1800  	//   "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID"
  1801  	PaymentSourceType string `json:"paymentSourceType,omitempty"`
  1802  
  1803  	// Primary: Primary ad slot of a roadblock inventory item.
  1804  	Primary bool `json:"primary,omitempty"`
  1805  
  1806  	// Width: Width of this ad slot.
  1807  	Width int64 `json:"width,omitempty,string"`
  1808  
  1809  	// ForceSendFields is a list of field names (e.g. "Comment") to
  1810  	// unconditionally include in API requests. By default, fields with
  1811  	// empty or default values are omitted from API requests. However, any
  1812  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1813  	// sent to the server regardless of whether the field is empty or not.
  1814  	// This may be used to include empty fields in Patch requests.
  1815  	ForceSendFields []string `json:"-"`
  1816  
  1817  	// NullFields is a list of field names (e.g. "Comment") to include in
  1818  	// API requests with the JSON null value. By default, fields with empty
  1819  	// values are omitted from API requests. However, any field with an
  1820  	// empty value appearing in NullFields will be sent to the server as
  1821  	// null. It is an error if a field in this list has a non-empty value.
  1822  	// This may be used to include null fields in Patch requests.
  1823  	NullFields []string `json:"-"`
  1824  }
  1825  
  1826  func (s *AdSlot) MarshalJSON() ([]byte, error) {
  1827  	type NoMethod AdSlot
  1828  	raw := NoMethod(*s)
  1829  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1830  }
  1831  
  1832  // AdsListResponse: Ad List Response
  1833  type AdsListResponse struct {
  1834  	// Ads: Ad collection.
  1835  	Ads []*Ad `json:"ads,omitempty"`
  1836  
  1837  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1838  	// string "dfareporting#adsListResponse".
  1839  	Kind string `json:"kind,omitempty"`
  1840  
  1841  	// NextPageToken: Pagination token to be used for the next list
  1842  	// operation.
  1843  	NextPageToken string `json:"nextPageToken,omitempty"`
  1844  
  1845  	// ServerResponse contains the HTTP response code and headers from the
  1846  	// server.
  1847  	googleapi.ServerResponse `json:"-"`
  1848  
  1849  	// ForceSendFields is a list of field names (e.g. "Ads") to
  1850  	// unconditionally include in API requests. By default, fields with
  1851  	// empty or default values are omitted from API requests. However, any
  1852  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1853  	// sent to the server regardless of whether the field is empty or not.
  1854  	// This may be used to include empty fields in Patch requests.
  1855  	ForceSendFields []string `json:"-"`
  1856  
  1857  	// NullFields is a list of field names (e.g. "Ads") to include in API
  1858  	// requests with the JSON null value. By default, fields with empty
  1859  	// values are omitted from API requests. However, any field with an
  1860  	// empty value appearing in NullFields will be sent to the server as
  1861  	// null. It is an error if a field in this list has a non-empty value.
  1862  	// This may be used to include null fields in Patch requests.
  1863  	NullFields []string `json:"-"`
  1864  }
  1865  
  1866  func (s *AdsListResponse) MarshalJSON() ([]byte, error) {
  1867  	type NoMethod AdsListResponse
  1868  	raw := NoMethod(*s)
  1869  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1870  }
  1871  
  1872  // Advertiser: Contains properties of a Campaign Manager advertiser.
  1873  type Advertiser struct {
  1874  	// AccountId: Account ID of this advertiser.This is a read-only field
  1875  	// that can be left blank.
  1876  	AccountId int64 `json:"accountId,omitempty,string"`
  1877  
  1878  	// AdvertiserGroupId: ID of the advertiser group this advertiser belongs
  1879  	// to. You can group advertisers for reporting purposes, allowing you to
  1880  	// see aggregated information for all advertisers in each group.
  1881  	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
  1882  
  1883  	// ClickThroughUrlSuffix: Suffix added to click-through URL of ad
  1884  	// creative associations under this advertiser. Must be less than 129
  1885  	// characters long.
  1886  	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
  1887  
  1888  	// DefaultClickThroughEventTagId: ID of the click-through event tag to
  1889  	// apply by default to the landing pages of this advertiser's campaigns.
  1890  	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
  1891  
  1892  	// DefaultEmail: Default email address used in sender field for tag
  1893  	// emails.
  1894  	DefaultEmail string `json:"defaultEmail,omitempty"`
  1895  
  1896  	// FloodlightConfigurationId: Floodlight configuration ID of this
  1897  	// advertiser. The floodlight configuration ID will be created
  1898  	// automatically, so on insert this field should be left blank. This
  1899  	// field can be set to another advertiser's floodlight configuration ID
  1900  	// in order to share that advertiser's floodlight configuration with
  1901  	// this advertiser, so long as: - This advertiser's original floodlight
  1902  	// configuration is not already associated with floodlight activities or
  1903  	// floodlight activity groups. - This advertiser's original floodlight
  1904  	// configuration is not already shared with another advertiser.
  1905  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  1906  
  1907  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  1908  	// of the floodlight configuration. This is a read-only, auto-generated
  1909  	// field.
  1910  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  1911  
  1912  	// Id: ID of this advertiser. This is a read-only, auto-generated field.
  1913  	Id int64 `json:"id,omitempty,string"`
  1914  
  1915  	// IdDimensionValue: Dimension value for the ID of this advertiser. This
  1916  	// is a read-only, auto-generated field.
  1917  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  1918  
  1919  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1920  	// string "dfareporting#advertiser".
  1921  	Kind string `json:"kind,omitempty"`
  1922  
  1923  	// Name: Name of this advertiser. This is a required field and must be
  1924  	// less than 256 characters long and unique among advertisers of the
  1925  	// same account.
  1926  	Name string `json:"name,omitempty"`
  1927  
  1928  	// OriginalFloodlightConfigurationId: Original floodlight configuration
  1929  	// before any sharing occurred. Set the floodlightConfigurationId of
  1930  	// this advertiser to originalFloodlightConfigurationId to unshare the
  1931  	// advertiser's current floodlight configuration. You cannot unshare an
  1932  	// advertiser's floodlight configuration if the shared configuration has
  1933  	// activities associated with any campaign or placement.
  1934  	OriginalFloodlightConfigurationId int64 `json:"originalFloodlightConfigurationId,omitempty,string"`
  1935  
  1936  	// Status: Status of this advertiser.
  1937  	//
  1938  	// Possible values:
  1939  	//   "APPROVED"
  1940  	//   "ON_HOLD"
  1941  	Status string `json:"status,omitempty"`
  1942  
  1943  	// SubaccountId: Subaccount ID of this advertiser.This is a read-only
  1944  	// field that can be left blank.
  1945  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  1946  
  1947  	// Suspended: Suspension status of this advertiser.
  1948  	Suspended bool `json:"suspended,omitempty"`
  1949  
  1950  	// ServerResponse contains the HTTP response code and headers from the
  1951  	// server.
  1952  	googleapi.ServerResponse `json:"-"`
  1953  
  1954  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1955  	// unconditionally include in API requests. By default, fields with
  1956  	// empty or default values are omitted from API requests. However, any
  1957  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1958  	// sent to the server regardless of whether the field is empty or not.
  1959  	// This may be used to include empty fields in Patch requests.
  1960  	ForceSendFields []string `json:"-"`
  1961  
  1962  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1963  	// API requests with the JSON null value. By default, fields with empty
  1964  	// values are omitted from API requests. However, any field with an
  1965  	// empty value appearing in NullFields will be sent to the server as
  1966  	// null. It is an error if a field in this list has a non-empty value.
  1967  	// This may be used to include null fields in Patch requests.
  1968  	NullFields []string `json:"-"`
  1969  }
  1970  
  1971  func (s *Advertiser) MarshalJSON() ([]byte, error) {
  1972  	type NoMethod Advertiser
  1973  	raw := NoMethod(*s)
  1974  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1975  }
  1976  
  1977  // AdvertiserGroup: Groups advertisers together so that reports can be
  1978  // generated for the entire group at once.
  1979  type AdvertiserGroup struct {
  1980  	// AccountId: Account ID of this advertiser group. This is a read-only
  1981  	// field that can be left blank.
  1982  	AccountId int64 `json:"accountId,omitempty,string"`
  1983  
  1984  	// Id: ID of this advertiser group. This is a read-only, auto-generated
  1985  	// field.
  1986  	Id int64 `json:"id,omitempty,string"`
  1987  
  1988  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1989  	// string "dfareporting#advertiserGroup".
  1990  	Kind string `json:"kind,omitempty"`
  1991  
  1992  	// Name: Name of this advertiser group. This is a required field and
  1993  	// must be less than 256 characters long and unique among advertiser
  1994  	// groups of the same account.
  1995  	Name string `json:"name,omitempty"`
  1996  
  1997  	// ServerResponse contains the HTTP response code and headers from the
  1998  	// server.
  1999  	googleapi.ServerResponse `json:"-"`
  2000  
  2001  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2002  	// unconditionally include in API requests. By default, fields with
  2003  	// empty or default values are omitted from API requests. However, any
  2004  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2005  	// sent to the server regardless of whether the field is empty or not.
  2006  	// This may be used to include empty fields in Patch requests.
  2007  	ForceSendFields []string `json:"-"`
  2008  
  2009  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2010  	// API requests with the JSON null value. By default, fields with empty
  2011  	// values are omitted from API requests. However, any field with an
  2012  	// empty value appearing in NullFields will be sent to the server as
  2013  	// null. It is an error if a field in this list has a non-empty value.
  2014  	// This may be used to include null fields in Patch requests.
  2015  	NullFields []string `json:"-"`
  2016  }
  2017  
  2018  func (s *AdvertiserGroup) MarshalJSON() ([]byte, error) {
  2019  	type NoMethod AdvertiserGroup
  2020  	raw := NoMethod(*s)
  2021  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2022  }
  2023  
  2024  // AdvertiserGroupsListResponse: Advertiser Group List Response
  2025  type AdvertiserGroupsListResponse struct {
  2026  	// AdvertiserGroups: Advertiser group collection.
  2027  	AdvertiserGroups []*AdvertiserGroup `json:"advertiserGroups,omitempty"`
  2028  
  2029  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2030  	// string "dfareporting#advertiserGroupsListResponse".
  2031  	Kind string `json:"kind,omitempty"`
  2032  
  2033  	// NextPageToken: Pagination token to be used for the next list
  2034  	// operation.
  2035  	NextPageToken string `json:"nextPageToken,omitempty"`
  2036  
  2037  	// ServerResponse contains the HTTP response code and headers from the
  2038  	// server.
  2039  	googleapi.ServerResponse `json:"-"`
  2040  
  2041  	// ForceSendFields is a list of field names (e.g. "AdvertiserGroups") to
  2042  	// unconditionally include in API requests. By default, fields with
  2043  	// empty or default values are omitted from API requests. However, any
  2044  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2045  	// sent to the server regardless of whether the field is empty or not.
  2046  	// This may be used to include empty fields in Patch requests.
  2047  	ForceSendFields []string `json:"-"`
  2048  
  2049  	// NullFields is a list of field names (e.g. "AdvertiserGroups") to
  2050  	// include in API requests with the JSON null value. By default, fields
  2051  	// with empty values are omitted from API requests. However, any field
  2052  	// with an empty value appearing in NullFields will be sent to the
  2053  	// server as null. It is an error if a field in this list has a
  2054  	// non-empty value. This may be used to include null fields in Patch
  2055  	// requests.
  2056  	NullFields []string `json:"-"`
  2057  }
  2058  
  2059  func (s *AdvertiserGroupsListResponse) MarshalJSON() ([]byte, error) {
  2060  	type NoMethod AdvertiserGroupsListResponse
  2061  	raw := NoMethod(*s)
  2062  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2063  }
  2064  
  2065  // AdvertiserLandingPagesListResponse: Landing Page List Response
  2066  type AdvertiserLandingPagesListResponse struct {
  2067  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2068  	// string "dfareporting#advertiserLandingPagesListResponse".
  2069  	Kind string `json:"kind,omitempty"`
  2070  
  2071  	// LandingPages: Landing page collection
  2072  	LandingPages []*LandingPage `json:"landingPages,omitempty"`
  2073  
  2074  	// NextPageToken: Pagination token to be used for the next list
  2075  	// operation.
  2076  	NextPageToken string `json:"nextPageToken,omitempty"`
  2077  
  2078  	// ServerResponse contains the HTTP response code and headers from the
  2079  	// server.
  2080  	googleapi.ServerResponse `json:"-"`
  2081  
  2082  	// ForceSendFields is a list of field names (e.g. "Kind") to
  2083  	// unconditionally include in API requests. By default, fields with
  2084  	// empty or default values are omitted from API requests. However, any
  2085  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2086  	// sent to the server regardless of whether the field is empty or not.
  2087  	// This may be used to include empty fields in Patch requests.
  2088  	ForceSendFields []string `json:"-"`
  2089  
  2090  	// NullFields is a list of field names (e.g. "Kind") to include in API
  2091  	// requests with the JSON null value. By default, fields with empty
  2092  	// values are omitted from API requests. However, any field with an
  2093  	// empty value appearing in NullFields will be sent to the server as
  2094  	// null. It is an error if a field in this list has a non-empty value.
  2095  	// This may be used to include null fields in Patch requests.
  2096  	NullFields []string `json:"-"`
  2097  }
  2098  
  2099  func (s *AdvertiserLandingPagesListResponse) MarshalJSON() ([]byte, error) {
  2100  	type NoMethod AdvertiserLandingPagesListResponse
  2101  	raw := NoMethod(*s)
  2102  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2103  }
  2104  
  2105  // AdvertisersListResponse: Advertiser List Response
  2106  type AdvertisersListResponse struct {
  2107  	// Advertisers: Advertiser collection.
  2108  	Advertisers []*Advertiser `json:"advertisers,omitempty"`
  2109  
  2110  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2111  	// string "dfareporting#advertisersListResponse".
  2112  	Kind string `json:"kind,omitempty"`
  2113  
  2114  	// NextPageToken: Pagination token to be used for the next list
  2115  	// operation.
  2116  	NextPageToken string `json:"nextPageToken,omitempty"`
  2117  
  2118  	// ServerResponse contains the HTTP response code and headers from the
  2119  	// server.
  2120  	googleapi.ServerResponse `json:"-"`
  2121  
  2122  	// ForceSendFields is a list of field names (e.g. "Advertisers") to
  2123  	// unconditionally include in API requests. By default, fields with
  2124  	// empty or default values are omitted from API requests. However, any
  2125  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2126  	// sent to the server regardless of whether the field is empty or not.
  2127  	// This may be used to include empty fields in Patch requests.
  2128  	ForceSendFields []string `json:"-"`
  2129  
  2130  	// NullFields is a list of field names (e.g. "Advertisers") to include
  2131  	// in API requests with the JSON null value. By default, fields with
  2132  	// empty values are omitted from API requests. However, any field with
  2133  	// an empty value appearing in NullFields will be sent to the server as
  2134  	// null. It is an error if a field in this list has a non-empty value.
  2135  	// This may be used to include null fields in Patch requests.
  2136  	NullFields []string `json:"-"`
  2137  }
  2138  
  2139  func (s *AdvertisersListResponse) MarshalJSON() ([]byte, error) {
  2140  	type NoMethod AdvertisersListResponse
  2141  	raw := NoMethod(*s)
  2142  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2143  }
  2144  
  2145  // AudienceSegment: Audience Segment.
  2146  type AudienceSegment struct {
  2147  	// Allocation: Weight allocated to this segment. The weight assigned
  2148  	// will be understood in proportion to the weights assigned to other
  2149  	// segments in the same segment group. Acceptable values are 1 to 1000,
  2150  	// inclusive.
  2151  	Allocation int64 `json:"allocation,omitempty"`
  2152  
  2153  	// Id: ID of this audience segment. This is a read-only, auto-generated
  2154  	// field.
  2155  	Id int64 `json:"id,omitempty,string"`
  2156  
  2157  	// Name: Name of this audience segment. This is a required field and
  2158  	// must be less than 65 characters long.
  2159  	Name string `json:"name,omitempty"`
  2160  
  2161  	// ForceSendFields is a list of field names (e.g. "Allocation") to
  2162  	// unconditionally include in API requests. By default, fields with
  2163  	// empty or default values are omitted from API requests. However, any
  2164  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2165  	// sent to the server regardless of whether the field is empty or not.
  2166  	// This may be used to include empty fields in Patch requests.
  2167  	ForceSendFields []string `json:"-"`
  2168  
  2169  	// NullFields is a list of field names (e.g. "Allocation") to include in
  2170  	// API requests with the JSON null value. By default, fields with empty
  2171  	// values are omitted from API requests. However, any field with an
  2172  	// empty value appearing in NullFields will be sent to the server as
  2173  	// null. It is an error if a field in this list has a non-empty value.
  2174  	// This may be used to include null fields in Patch requests.
  2175  	NullFields []string `json:"-"`
  2176  }
  2177  
  2178  func (s *AudienceSegment) MarshalJSON() ([]byte, error) {
  2179  	type NoMethod AudienceSegment
  2180  	raw := NoMethod(*s)
  2181  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2182  }
  2183  
  2184  // AudienceSegmentGroup: Audience Segment Group.
  2185  type AudienceSegmentGroup struct {
  2186  	// AudienceSegments: Audience segments assigned to this group. The
  2187  	// number of segments must be between 2 and 100.
  2188  	AudienceSegments []*AudienceSegment `json:"audienceSegments,omitempty"`
  2189  
  2190  	// Id: ID of this audience segment group. This is a read-only,
  2191  	// auto-generated field.
  2192  	Id int64 `json:"id,omitempty,string"`
  2193  
  2194  	// Name: Name of this audience segment group. This is a required field
  2195  	// and must be less than 65 characters long.
  2196  	Name string `json:"name,omitempty"`
  2197  
  2198  	// ForceSendFields is a list of field names (e.g. "AudienceSegments") to
  2199  	// unconditionally include in API requests. By default, fields with
  2200  	// empty or default values are omitted from API requests. However, any
  2201  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2202  	// sent to the server regardless of whether the field is empty or not.
  2203  	// This may be used to include empty fields in Patch requests.
  2204  	ForceSendFields []string `json:"-"`
  2205  
  2206  	// NullFields is a list of field names (e.g. "AudienceSegments") to
  2207  	// include in API requests with the JSON null value. By default, fields
  2208  	// with empty values are omitted from API requests. However, any field
  2209  	// with an empty value appearing in NullFields will be sent to the
  2210  	// server as null. It is an error if a field in this list has a
  2211  	// non-empty value. This may be used to include null fields in Patch
  2212  	// requests.
  2213  	NullFields []string `json:"-"`
  2214  }
  2215  
  2216  func (s *AudienceSegmentGroup) MarshalJSON() ([]byte, error) {
  2217  	type NoMethod AudienceSegmentGroup
  2218  	raw := NoMethod(*s)
  2219  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2220  }
  2221  
  2222  // Browser: Contains information about a browser that can be targeted by
  2223  // ads.
  2224  type Browser struct {
  2225  	// BrowserVersionId: ID referring to this grouping of browser and
  2226  	// version numbers. This is the ID used for targeting.
  2227  	BrowserVersionId int64 `json:"browserVersionId,omitempty,string"`
  2228  
  2229  	// DartId: DART ID of this browser. This is the ID used when generating
  2230  	// reports.
  2231  	DartId int64 `json:"dartId,omitempty,string"`
  2232  
  2233  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2234  	// string "dfareporting#browser".
  2235  	Kind string `json:"kind,omitempty"`
  2236  
  2237  	// MajorVersion: Major version number (leftmost number) of this browser.
  2238  	// For example, for Chrome 5.0.376.86 beta, this field should be set to
  2239  	// 5. An asterisk (*) may be used to target any version number, and a
  2240  	// question mark (?) may be used to target cases where the version
  2241  	// number cannot be identified. For example, Chrome *.* targets any
  2242  	// version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
  2243  	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
  2244  	// server knows the browser is Firefox but can't tell which version it
  2245  	// is.
  2246  	MajorVersion string `json:"majorVersion,omitempty"`
  2247  
  2248  	// MinorVersion: Minor version number (number after first dot on left)
  2249  	// of this browser. For example, for Chrome 5.0.375.86 beta, this field
  2250  	// should be set to 0. An asterisk (*) may be used to target any version
  2251  	// number, and a question mark (?) may be used to target cases where the
  2252  	// version number cannot be identified. For example, Chrome *.* targets
  2253  	// any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
  2254  	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
  2255  	// server knows the browser is Firefox but can't tell which version it
  2256  	// is.
  2257  	MinorVersion string `json:"minorVersion,omitempty"`
  2258  
  2259  	// Name: Name of this browser.
  2260  	Name string `json:"name,omitempty"`
  2261  
  2262  	// ForceSendFields is a list of field names (e.g. "BrowserVersionId") to
  2263  	// unconditionally include in API requests. By default, fields with
  2264  	// empty or default values are omitted from API requests. However, any
  2265  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2266  	// sent to the server regardless of whether the field is empty or not.
  2267  	// This may be used to include empty fields in Patch requests.
  2268  	ForceSendFields []string `json:"-"`
  2269  
  2270  	// NullFields is a list of field names (e.g. "BrowserVersionId") to
  2271  	// include in API requests with the JSON null value. By default, fields
  2272  	// with empty values are omitted from API requests. However, any field
  2273  	// with an empty value appearing in NullFields will be sent to the
  2274  	// server as null. It is an error if a field in this list has a
  2275  	// non-empty value. This may be used to include null fields in Patch
  2276  	// requests.
  2277  	NullFields []string `json:"-"`
  2278  }
  2279  
  2280  func (s *Browser) MarshalJSON() ([]byte, error) {
  2281  	type NoMethod Browser
  2282  	raw := NoMethod(*s)
  2283  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2284  }
  2285  
  2286  // BrowsersListResponse: Browser List Response
  2287  type BrowsersListResponse struct {
  2288  	// Browsers: Browser collection.
  2289  	Browsers []*Browser `json:"browsers,omitempty"`
  2290  
  2291  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2292  	// string "dfareporting#browsersListResponse".
  2293  	Kind string `json:"kind,omitempty"`
  2294  
  2295  	// ServerResponse contains the HTTP response code and headers from the
  2296  	// server.
  2297  	googleapi.ServerResponse `json:"-"`
  2298  
  2299  	// ForceSendFields is a list of field names (e.g. "Browsers") to
  2300  	// unconditionally include in API requests. By default, fields with
  2301  	// empty or default values are omitted from API requests. However, any
  2302  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2303  	// sent to the server regardless of whether the field is empty or not.
  2304  	// This may be used to include empty fields in Patch requests.
  2305  	ForceSendFields []string `json:"-"`
  2306  
  2307  	// NullFields is a list of field names (e.g. "Browsers") to include in
  2308  	// API requests with the JSON null value. By default, fields with empty
  2309  	// values are omitted from API requests. However, any field with an
  2310  	// empty value appearing in NullFields will be sent to the server as
  2311  	// null. It is an error if a field in this list has a non-empty value.
  2312  	// This may be used to include null fields in Patch requests.
  2313  	NullFields []string `json:"-"`
  2314  }
  2315  
  2316  func (s *BrowsersListResponse) MarshalJSON() ([]byte, error) {
  2317  	type NoMethod BrowsersListResponse
  2318  	raw := NoMethod(*s)
  2319  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2320  }
  2321  
  2322  // Campaign: Contains properties of a Campaign Manager campaign.
  2323  type Campaign struct {
  2324  	// AccountId: Account ID of this campaign. This is a read-only field
  2325  	// that can be left blank.
  2326  	AccountId int64 `json:"accountId,omitempty,string"`
  2327  
  2328  	// AdBlockingConfiguration: Ad blocking settings for this campaign.
  2329  	AdBlockingConfiguration *AdBlockingConfiguration `json:"adBlockingConfiguration,omitempty"`
  2330  
  2331  	// AdditionalCreativeOptimizationConfigurations: Additional creative
  2332  	// optimization configurations for the campaign.
  2333  	AdditionalCreativeOptimizationConfigurations []*CreativeOptimizationConfiguration `json:"additionalCreativeOptimizationConfigurations,omitempty"`
  2334  
  2335  	// AdvertiserGroupId: Advertiser group ID of the associated advertiser.
  2336  	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
  2337  
  2338  	// AdvertiserId: Advertiser ID of this campaign. This is a required
  2339  	// field.
  2340  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  2341  
  2342  	// AdvertiserIdDimensionValue: Dimension value for the advertiser ID of
  2343  	// this campaign. This is a read-only, auto-generated field.
  2344  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  2345  
  2346  	// Archived: Whether this campaign has been archived.
  2347  	Archived bool `json:"archived,omitempty"`
  2348  
  2349  	// AudienceSegmentGroups: Audience segment groups assigned to this
  2350  	// campaign. Cannot have more than 300 segment groups.
  2351  	AudienceSegmentGroups []*AudienceSegmentGroup `json:"audienceSegmentGroups,omitempty"`
  2352  
  2353  	// BillingInvoiceCode: Billing invoice code included in the Campaign
  2354  	// Manager client billing invoices associated with the campaign.
  2355  	BillingInvoiceCode string `json:"billingInvoiceCode,omitempty"`
  2356  
  2357  	// ClickThroughUrlSuffixProperties: Click-through URL suffix override
  2358  	// properties for this campaign.
  2359  	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
  2360  
  2361  	// Comment: Arbitrary comments about this campaign. Must be less than
  2362  	// 256 characters long.
  2363  	Comment string `json:"comment,omitempty"`
  2364  
  2365  	// CreateInfo: Information about the creation of this campaign. This is
  2366  	// a read-only field.
  2367  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  2368  
  2369  	// CreativeGroupIds: List of creative group IDs that are assigned to the
  2370  	// campaign.
  2371  	CreativeGroupIds googleapi.Int64s `json:"creativeGroupIds,omitempty"`
  2372  
  2373  	// CreativeOptimizationConfiguration: Creative optimization
  2374  	// configuration for the campaign.
  2375  	CreativeOptimizationConfiguration *CreativeOptimizationConfiguration `json:"creativeOptimizationConfiguration,omitempty"`
  2376  
  2377  	// DefaultClickThroughEventTagProperties: Click-through event tag ID
  2378  	// override properties for this campaign.
  2379  	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
  2380  
  2381  	// DefaultLandingPageId: The default landing page ID for this campaign.
  2382  	DefaultLandingPageId int64 `json:"defaultLandingPageId,omitempty,string"`
  2383  
  2384  	EndDate string `json:"endDate,omitempty"`
  2385  
  2386  	// EventTagOverrides: Overrides that can be used to activate or
  2387  	// deactivate advertiser event tags.
  2388  	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
  2389  
  2390  	// ExternalId: External ID for this campaign.
  2391  	ExternalId string `json:"externalId,omitempty"`
  2392  
  2393  	// Id: ID of this campaign. This is a read-only auto-generated field.
  2394  	Id int64 `json:"id,omitempty,string"`
  2395  
  2396  	// IdDimensionValue: Dimension value for the ID of this campaign. This
  2397  	// is a read-only, auto-generated field.
  2398  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  2399  
  2400  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2401  	// string "dfareporting#campaign".
  2402  	Kind string `json:"kind,omitempty"`
  2403  
  2404  	// LastModifiedInfo: Information about the most recent modification of
  2405  	// this campaign. This is a read-only field.
  2406  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  2407  
  2408  	// Name: Name of this campaign. This is a required field and must be
  2409  	// less than 256 characters long and unique among campaigns of the same
  2410  	// advertiser.
  2411  	Name string `json:"name,omitempty"`
  2412  
  2413  	// NielsenOcrEnabled: Whether Nielsen reports are enabled for this
  2414  	// campaign.
  2415  	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
  2416  
  2417  	StartDate string `json:"startDate,omitempty"`
  2418  
  2419  	// SubaccountId: Subaccount ID of this campaign. This is a read-only
  2420  	// field that can be left blank.
  2421  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2422  
  2423  	// TraffickerEmails: Campaign trafficker contact emails.
  2424  	TraffickerEmails []string `json:"traffickerEmails,omitempty"`
  2425  
  2426  	// ServerResponse contains the HTTP response code and headers from the
  2427  	// server.
  2428  	googleapi.ServerResponse `json:"-"`
  2429  
  2430  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2431  	// unconditionally include in API requests. By default, fields with
  2432  	// empty or default values are omitted from API requests. However, any
  2433  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2434  	// sent to the server regardless of whether the field is empty or not.
  2435  	// This may be used to include empty fields in Patch requests.
  2436  	ForceSendFields []string `json:"-"`
  2437  
  2438  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2439  	// API requests with the JSON null value. By default, fields with empty
  2440  	// values are omitted from API requests. However, any field with an
  2441  	// empty value appearing in NullFields will be sent to the server as
  2442  	// null. It is an error if a field in this list has a non-empty value.
  2443  	// This may be used to include null fields in Patch requests.
  2444  	NullFields []string `json:"-"`
  2445  }
  2446  
  2447  func (s *Campaign) MarshalJSON() ([]byte, error) {
  2448  	type NoMethod Campaign
  2449  	raw := NoMethod(*s)
  2450  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2451  }
  2452  
  2453  // CampaignCreativeAssociation: Identifies a creative which has been
  2454  // associated with a given campaign.
  2455  type CampaignCreativeAssociation struct {
  2456  	// CreativeId: ID of the creative associated with the campaign. This is
  2457  	// a required field.
  2458  	CreativeId int64 `json:"creativeId,omitempty,string"`
  2459  
  2460  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2461  	// string "dfareporting#campaignCreativeAssociation".
  2462  	Kind string `json:"kind,omitempty"`
  2463  
  2464  	// ServerResponse contains the HTTP response code and headers from the
  2465  	// server.
  2466  	googleapi.ServerResponse `json:"-"`
  2467  
  2468  	// ForceSendFields is a list of field names (e.g. "CreativeId") to
  2469  	// unconditionally include in API requests. By default, fields with
  2470  	// empty or default values are omitted from API requests. However, any
  2471  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2472  	// sent to the server regardless of whether the field is empty or not.
  2473  	// This may be used to include empty fields in Patch requests.
  2474  	ForceSendFields []string `json:"-"`
  2475  
  2476  	// NullFields is a list of field names (e.g. "CreativeId") to include in
  2477  	// API requests with the JSON null value. By default, fields with empty
  2478  	// values are omitted from API requests. However, any field with an
  2479  	// empty value appearing in NullFields will be sent to the server as
  2480  	// null. It is an error if a field in this list has a non-empty value.
  2481  	// This may be used to include null fields in Patch requests.
  2482  	NullFields []string `json:"-"`
  2483  }
  2484  
  2485  func (s *CampaignCreativeAssociation) MarshalJSON() ([]byte, error) {
  2486  	type NoMethod CampaignCreativeAssociation
  2487  	raw := NoMethod(*s)
  2488  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2489  }
  2490  
  2491  // CampaignCreativeAssociationsListResponse: Campaign Creative
  2492  // Association List Response
  2493  type CampaignCreativeAssociationsListResponse struct {
  2494  	// CampaignCreativeAssociations: Campaign creative association
  2495  	// collection
  2496  	CampaignCreativeAssociations []*CampaignCreativeAssociation `json:"campaignCreativeAssociations,omitempty"`
  2497  
  2498  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2499  	// string "dfareporting#campaignCreativeAssociationsListResponse".
  2500  	Kind string `json:"kind,omitempty"`
  2501  
  2502  	// NextPageToken: Pagination token to be used for the next list
  2503  	// operation.
  2504  	NextPageToken string `json:"nextPageToken,omitempty"`
  2505  
  2506  	// ServerResponse contains the HTTP response code and headers from the
  2507  	// server.
  2508  	googleapi.ServerResponse `json:"-"`
  2509  
  2510  	// ForceSendFields is a list of field names (e.g.
  2511  	// "CampaignCreativeAssociations") to unconditionally include in API
  2512  	// requests. By default, fields with empty or default values are omitted
  2513  	// from API requests. However, any non-pointer, non-interface field
  2514  	// appearing in ForceSendFields will be sent to the server regardless of
  2515  	// whether the field is empty or not. This may be used to include empty
  2516  	// fields in Patch requests.
  2517  	ForceSendFields []string `json:"-"`
  2518  
  2519  	// NullFields is a list of field names (e.g.
  2520  	// "CampaignCreativeAssociations") to include in API requests with the
  2521  	// JSON null value. By default, fields with empty values are omitted
  2522  	// from API requests. However, any field with an empty value appearing
  2523  	// in NullFields will be sent to the server as null. It is an error if a
  2524  	// field in this list has a non-empty value. This may be used to include
  2525  	// null fields in Patch requests.
  2526  	NullFields []string `json:"-"`
  2527  }
  2528  
  2529  func (s *CampaignCreativeAssociationsListResponse) MarshalJSON() ([]byte, error) {
  2530  	type NoMethod CampaignCreativeAssociationsListResponse
  2531  	raw := NoMethod(*s)
  2532  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2533  }
  2534  
  2535  // CampaignManagerIds: Campaign Manager IDs related to the custom event.
  2536  type CampaignManagerIds struct {
  2537  	// AdId: Ad ID for Campaign Manager.
  2538  	AdId int64 `json:"adId,omitempty,string"`
  2539  
  2540  	// CampaignId: Campaign ID for Campaign Manager.
  2541  	CampaignId int64 `json:"campaignId,omitempty,string"`
  2542  
  2543  	// CreativeId: Creative ID for Campaign Manager.
  2544  	CreativeId int64 `json:"creativeId,omitempty,string"`
  2545  
  2546  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2547  	// string "dfareporting#campaignManagerIds".
  2548  	Kind string `json:"kind,omitempty"`
  2549  
  2550  	// PlacementId: Placement ID for Campaign Manager.
  2551  	PlacementId int64 `json:"placementId,omitempty,string"`
  2552  
  2553  	// SiteId: Site ID for Campaign Manager.
  2554  	SiteId int64 `json:"siteId,omitempty,string"`
  2555  
  2556  	// ForceSendFields is a list of field names (e.g. "AdId") to
  2557  	// unconditionally include in API requests. By default, fields with
  2558  	// empty or default values are omitted from API requests. However, any
  2559  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2560  	// sent to the server regardless of whether the field is empty or not.
  2561  	// This may be used to include empty fields in Patch requests.
  2562  	ForceSendFields []string `json:"-"`
  2563  
  2564  	// NullFields is a list of field names (e.g. "AdId") to include in API
  2565  	// requests with the JSON null value. By default, fields with empty
  2566  	// values are omitted from API requests. However, any field with an
  2567  	// empty value appearing in NullFields will be sent to the server as
  2568  	// null. It is an error if a field in this list has a non-empty value.
  2569  	// This may be used to include null fields in Patch requests.
  2570  	NullFields []string `json:"-"`
  2571  }
  2572  
  2573  func (s *CampaignManagerIds) MarshalJSON() ([]byte, error) {
  2574  	type NoMethod CampaignManagerIds
  2575  	raw := NoMethod(*s)
  2576  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2577  }
  2578  
  2579  // CampaignsListResponse: Campaign List Response
  2580  type CampaignsListResponse struct {
  2581  	// Campaigns: Campaign collection.
  2582  	Campaigns []*Campaign `json:"campaigns,omitempty"`
  2583  
  2584  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2585  	// string "dfareporting#campaignsListResponse".
  2586  	Kind string `json:"kind,omitempty"`
  2587  
  2588  	// NextPageToken: Pagination token to be used for the next list
  2589  	// operation.
  2590  	NextPageToken string `json:"nextPageToken,omitempty"`
  2591  
  2592  	// ServerResponse contains the HTTP response code and headers from the
  2593  	// server.
  2594  	googleapi.ServerResponse `json:"-"`
  2595  
  2596  	// ForceSendFields is a list of field names (e.g. "Campaigns") to
  2597  	// unconditionally include in API requests. By default, fields with
  2598  	// empty or default values are omitted from API requests. However, any
  2599  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2600  	// sent to the server regardless of whether the field is empty or not.
  2601  	// This may be used to include empty fields in Patch requests.
  2602  	ForceSendFields []string `json:"-"`
  2603  
  2604  	// NullFields is a list of field names (e.g. "Campaigns") to include in
  2605  	// API requests with the JSON null value. By default, fields with empty
  2606  	// values are omitted from API requests. However, any field with an
  2607  	// empty value appearing in NullFields will be sent to the server as
  2608  	// null. It is an error if a field in this list has a non-empty value.
  2609  	// This may be used to include null fields in Patch requests.
  2610  	NullFields []string `json:"-"`
  2611  }
  2612  
  2613  func (s *CampaignsListResponse) MarshalJSON() ([]byte, error) {
  2614  	type NoMethod CampaignsListResponse
  2615  	raw := NoMethod(*s)
  2616  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2617  }
  2618  
  2619  // ChangeLog: Describes a change that a user has made to a resource.
  2620  type ChangeLog struct {
  2621  	// AccountId: Account ID of the modified object.
  2622  	AccountId int64 `json:"accountId,omitempty,string"`
  2623  
  2624  	// Action: Action which caused the change.
  2625  	Action string `json:"action,omitempty"`
  2626  
  2627  	ChangeTime string `json:"changeTime,omitempty"`
  2628  
  2629  	// FieldName: Field name of the object which changed.
  2630  	FieldName string `json:"fieldName,omitempty"`
  2631  
  2632  	// Id: ID of this change log.
  2633  	Id int64 `json:"id,omitempty,string"`
  2634  
  2635  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2636  	// string "dfareporting#changeLog".
  2637  	Kind string `json:"kind,omitempty"`
  2638  
  2639  	// NewValue: New value of the object field.
  2640  	NewValue string `json:"newValue,omitempty"`
  2641  
  2642  	// ObjectId: ID of the object of this change log. The object could be a
  2643  	// campaign, placement, ad, or other type.
  2644  	ObjectId int64 `json:"objectId,omitempty,string"`
  2645  
  2646  	// ObjectType: Object type of the change log.
  2647  	ObjectType string `json:"objectType,omitempty"`
  2648  
  2649  	// OldValue: Old value of the object field.
  2650  	OldValue string `json:"oldValue,omitempty"`
  2651  
  2652  	// SubaccountId: Subaccount ID of the modified object.
  2653  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2654  
  2655  	// TransactionId: Transaction ID of this change log. When a single API
  2656  	// call results in many changes, each change will have a separate ID in
  2657  	// the change log but will share the same transactionId.
  2658  	TransactionId int64 `json:"transactionId,omitempty,string"`
  2659  
  2660  	// UserProfileId: ID of the user who modified the object.
  2661  	UserProfileId int64 `json:"userProfileId,omitempty,string"`
  2662  
  2663  	// UserProfileName: User profile name of the user who modified the
  2664  	// object.
  2665  	UserProfileName string `json:"userProfileName,omitempty"`
  2666  
  2667  	// ServerResponse contains the HTTP response code and headers from the
  2668  	// server.
  2669  	googleapi.ServerResponse `json:"-"`
  2670  
  2671  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2672  	// unconditionally include in API requests. By default, fields with
  2673  	// empty or default values are omitted from API requests. However, any
  2674  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2675  	// sent to the server regardless of whether the field is empty or not.
  2676  	// This may be used to include empty fields in Patch requests.
  2677  	ForceSendFields []string `json:"-"`
  2678  
  2679  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2680  	// API requests with the JSON null value. By default, fields with empty
  2681  	// values are omitted from API requests. However, any field with an
  2682  	// empty value appearing in NullFields will be sent to the server as
  2683  	// null. It is an error if a field in this list has a non-empty value.
  2684  	// This may be used to include null fields in Patch requests.
  2685  	NullFields []string `json:"-"`
  2686  }
  2687  
  2688  func (s *ChangeLog) MarshalJSON() ([]byte, error) {
  2689  	type NoMethod ChangeLog
  2690  	raw := NoMethod(*s)
  2691  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2692  }
  2693  
  2694  // ChangeLogsListResponse: Change Log List Response
  2695  type ChangeLogsListResponse struct {
  2696  	// ChangeLogs: Change log collection.
  2697  	ChangeLogs []*ChangeLog `json:"changeLogs,omitempty"`
  2698  
  2699  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2700  	// string "dfareporting#changeLogsListResponse".
  2701  	Kind string `json:"kind,omitempty"`
  2702  
  2703  	// NextPageToken: Pagination token to be used for the next list
  2704  	// operation.
  2705  	NextPageToken string `json:"nextPageToken,omitempty"`
  2706  
  2707  	// ServerResponse contains the HTTP response code and headers from the
  2708  	// server.
  2709  	googleapi.ServerResponse `json:"-"`
  2710  
  2711  	// ForceSendFields is a list of field names (e.g. "ChangeLogs") to
  2712  	// unconditionally include in API requests. By default, fields with
  2713  	// empty or default values are omitted from API requests. However, any
  2714  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2715  	// sent to the server regardless of whether the field is empty or not.
  2716  	// This may be used to include empty fields in Patch requests.
  2717  	ForceSendFields []string `json:"-"`
  2718  
  2719  	// NullFields is a list of field names (e.g. "ChangeLogs") to include in
  2720  	// API requests with the JSON null value. By default, fields with empty
  2721  	// values are omitted from API requests. However, any field with an
  2722  	// empty value appearing in NullFields will be sent to the server as
  2723  	// null. It is an error if a field in this list has a non-empty value.
  2724  	// This may be used to include null fields in Patch requests.
  2725  	NullFields []string `json:"-"`
  2726  }
  2727  
  2728  func (s *ChangeLogsListResponse) MarshalJSON() ([]byte, error) {
  2729  	type NoMethod ChangeLogsListResponse
  2730  	raw := NoMethod(*s)
  2731  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2732  }
  2733  
  2734  // ChannelGrouping: Represents a DfaReporting channel grouping.
  2735  type ChannelGrouping struct {
  2736  	// FallbackName: ChannelGrouping fallback name.
  2737  	FallbackName string `json:"fallbackName,omitempty"`
  2738  
  2739  	// Kind: The kind of resource this is, in this case
  2740  	// dfareporting#channelGrouping.
  2741  	Kind string `json:"kind,omitempty"`
  2742  
  2743  	// Name: ChannelGrouping name.
  2744  	Name string `json:"name,omitempty"`
  2745  
  2746  	// Rules: The rules contained within this channel grouping.
  2747  	Rules []*ChannelGroupingRule `json:"rules,omitempty"`
  2748  
  2749  	// ForceSendFields is a list of field names (e.g. "FallbackName") to
  2750  	// unconditionally include in API requests. By default, fields with
  2751  	// empty or default values are omitted from API requests. However, any
  2752  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2753  	// sent to the server regardless of whether the field is empty or not.
  2754  	// This may be used to include empty fields in Patch requests.
  2755  	ForceSendFields []string `json:"-"`
  2756  
  2757  	// NullFields is a list of field names (e.g. "FallbackName") to include
  2758  	// in API requests with the JSON null value. By default, fields with
  2759  	// empty values are omitted from API requests. However, any field with
  2760  	// an empty value appearing in NullFields will be sent to the server as
  2761  	// null. It is an error if a field in this list has a non-empty value.
  2762  	// This may be used to include null fields in Patch requests.
  2763  	NullFields []string `json:"-"`
  2764  }
  2765  
  2766  func (s *ChannelGrouping) MarshalJSON() ([]byte, error) {
  2767  	type NoMethod ChannelGrouping
  2768  	raw := NoMethod(*s)
  2769  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2770  }
  2771  
  2772  // ChannelGroupingRule: Represents a DfaReporting channel grouping rule.
  2773  type ChannelGroupingRule struct {
  2774  	// DisjunctiveMatchStatements: The disjunctive match statements
  2775  	// contained within this rule.
  2776  	DisjunctiveMatchStatements []*DisjunctiveMatchStatement `json:"disjunctiveMatchStatements,omitempty"`
  2777  
  2778  	// Kind: The kind of resource this is, in this case
  2779  	// dfareporting#channelGroupingRule.
  2780  	Kind string `json:"kind,omitempty"`
  2781  
  2782  	// Name: Rule name.
  2783  	Name string `json:"name,omitempty"`
  2784  
  2785  	// ForceSendFields is a list of field names (e.g.
  2786  	// "DisjunctiveMatchStatements") to unconditionally include in API
  2787  	// requests. By default, fields with empty or default values are omitted
  2788  	// from API requests. However, any non-pointer, non-interface field
  2789  	// appearing in ForceSendFields will be sent to the server regardless of
  2790  	// whether the field is empty or not. This may be used to include empty
  2791  	// fields in Patch requests.
  2792  	ForceSendFields []string `json:"-"`
  2793  
  2794  	// NullFields is a list of field names (e.g.
  2795  	// "DisjunctiveMatchStatements") to include in API requests with the
  2796  	// JSON null value. By default, fields with empty values are omitted
  2797  	// from API requests. However, any field with an empty value appearing
  2798  	// in NullFields will be sent to the server as null. It is an error if a
  2799  	// field in this list has a non-empty value. This may be used to include
  2800  	// null fields in Patch requests.
  2801  	NullFields []string `json:"-"`
  2802  }
  2803  
  2804  func (s *ChannelGroupingRule) MarshalJSON() ([]byte, error) {
  2805  	type NoMethod ChannelGroupingRule
  2806  	raw := NoMethod(*s)
  2807  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2808  }
  2809  
  2810  // CitiesListResponse: City List Response
  2811  type CitiesListResponse struct {
  2812  	// Cities: City collection.
  2813  	Cities []*City `json:"cities,omitempty"`
  2814  
  2815  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2816  	// string "dfareporting#citiesListResponse".
  2817  	Kind string `json:"kind,omitempty"`
  2818  
  2819  	// ServerResponse contains the HTTP response code and headers from the
  2820  	// server.
  2821  	googleapi.ServerResponse `json:"-"`
  2822  
  2823  	// ForceSendFields is a list of field names (e.g. "Cities") to
  2824  	// unconditionally include in API requests. By default, fields with
  2825  	// empty or default values are omitted from API requests. However, any
  2826  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2827  	// sent to the server regardless of whether the field is empty or not.
  2828  	// This may be used to include empty fields in Patch requests.
  2829  	ForceSendFields []string `json:"-"`
  2830  
  2831  	// NullFields is a list of field names (e.g. "Cities") to include in API
  2832  	// requests with the JSON null value. By default, fields with empty
  2833  	// values are omitted from API requests. However, any field with an
  2834  	// empty value appearing in NullFields will be sent to the server as
  2835  	// null. It is an error if a field in this list has a non-empty value.
  2836  	// This may be used to include null fields in Patch requests.
  2837  	NullFields []string `json:"-"`
  2838  }
  2839  
  2840  func (s *CitiesListResponse) MarshalJSON() ([]byte, error) {
  2841  	type NoMethod CitiesListResponse
  2842  	raw := NoMethod(*s)
  2843  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2844  }
  2845  
  2846  // City: Contains information about a city that can be targeted by ads.
  2847  type City struct {
  2848  	// CountryCode: Country code of the country to which this city belongs.
  2849  	CountryCode string `json:"countryCode,omitempty"`
  2850  
  2851  	// CountryDartId: DART ID of the country to which this city belongs.
  2852  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  2853  
  2854  	// DartId: DART ID of this city. This is the ID used for targeting and
  2855  	// generating reports.
  2856  	DartId int64 `json:"dartId,omitempty,string"`
  2857  
  2858  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2859  	// string "dfareporting#city".
  2860  	Kind string `json:"kind,omitempty"`
  2861  
  2862  	// MetroCode: Metro region code of the metro region (DMA) to which this
  2863  	// city belongs.
  2864  	MetroCode string `json:"metroCode,omitempty"`
  2865  
  2866  	// MetroDmaId: ID of the metro region (DMA) to which this city belongs.
  2867  	MetroDmaId int64 `json:"metroDmaId,omitempty,string"`
  2868  
  2869  	// Name: Name of this city.
  2870  	Name string `json:"name,omitempty"`
  2871  
  2872  	// RegionCode: Region code of the region to which this city belongs.
  2873  	RegionCode string `json:"regionCode,omitempty"`
  2874  
  2875  	// RegionDartId: DART ID of the region to which this city belongs.
  2876  	RegionDartId int64 `json:"regionDartId,omitempty,string"`
  2877  
  2878  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  2879  	// unconditionally include in API requests. By default, fields with
  2880  	// empty or default values are omitted from API requests. However, any
  2881  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2882  	// sent to the server regardless of whether the field is empty or not.
  2883  	// This may be used to include empty fields in Patch requests.
  2884  	ForceSendFields []string `json:"-"`
  2885  
  2886  	// NullFields is a list of field names (e.g. "CountryCode") to include
  2887  	// in API requests with the JSON null value. By default, fields with
  2888  	// empty values are omitted from API requests. However, any field with
  2889  	// an empty value appearing in NullFields will be sent to the server as
  2890  	// null. It is an error if a field in this list has a non-empty value.
  2891  	// This may be used to include null fields in Patch requests.
  2892  	NullFields []string `json:"-"`
  2893  }
  2894  
  2895  func (s *City) MarshalJSON() ([]byte, error) {
  2896  	type NoMethod City
  2897  	raw := NoMethod(*s)
  2898  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2899  }
  2900  
  2901  // ClickTag: Creative Click Tag.
  2902  type ClickTag struct {
  2903  	// ClickThroughUrl: Parameter value for the specified click tag. This
  2904  	// field contains a click-through url.
  2905  	ClickThroughUrl *CreativeClickThroughUrl `json:"clickThroughUrl,omitempty"`
  2906  
  2907  	// EventName: Advertiser event name associated with the click tag. This
  2908  	// field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives.
  2909  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  2910  	EventName string `json:"eventName,omitempty"`
  2911  
  2912  	// Name: Parameter name for the specified click tag. For
  2913  	// DISPLAY_IMAGE_GALLERY creative assets, this field must match the
  2914  	// value of the creative asset's creativeAssetId.name field.
  2915  	Name string `json:"name,omitempty"`
  2916  
  2917  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  2918  	// unconditionally include in API requests. By default, fields with
  2919  	// empty or default values are omitted from API requests. However, any
  2920  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2921  	// sent to the server regardless of whether the field is empty or not.
  2922  	// This may be used to include empty fields in Patch requests.
  2923  	ForceSendFields []string `json:"-"`
  2924  
  2925  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  2926  	// include in API requests with the JSON null value. By default, fields
  2927  	// with empty values are omitted from API requests. However, any field
  2928  	// with an empty value appearing in NullFields will be sent to the
  2929  	// server as null. It is an error if a field in this list has a
  2930  	// non-empty value. This may be used to include null fields in Patch
  2931  	// requests.
  2932  	NullFields []string `json:"-"`
  2933  }
  2934  
  2935  func (s *ClickTag) MarshalJSON() ([]byte, error) {
  2936  	type NoMethod ClickTag
  2937  	raw := NoMethod(*s)
  2938  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2939  }
  2940  
  2941  // ClickThroughUrl: Click-through URL
  2942  type ClickThroughUrl struct {
  2943  	// ComputedClickThroughUrl: Read-only convenience field representing the
  2944  	// actual URL that will be used for this click-through. The URL is
  2945  	// computed as follows: - If defaultLandingPage is enabled then the
  2946  	// campaign's default landing page URL is assigned to this field. - If
  2947  	// defaultLandingPage is not enabled and a landingPageId is specified
  2948  	// then that landing page's URL is assigned to this field. - If neither
  2949  	// of the above cases apply, then the customClickThroughUrl is assigned
  2950  	// to this field.
  2951  	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
  2952  
  2953  	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
  2954  	// defaultLandingPage field is set to false and the landingPageId field
  2955  	// is left unset.
  2956  	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
  2957  
  2958  	// DefaultLandingPage: Whether the campaign default landing page is
  2959  	// used.
  2960  	DefaultLandingPage bool `json:"defaultLandingPage,omitempty"`
  2961  
  2962  	// LandingPageId: ID of the landing page for the click-through URL.
  2963  	// Applicable if the defaultLandingPage field is set to false.
  2964  	LandingPageId int64 `json:"landingPageId,omitempty,string"`
  2965  
  2966  	// ForceSendFields is a list of field names (e.g.
  2967  	// "ComputedClickThroughUrl") to unconditionally include in API
  2968  	// requests. By default, fields with empty or default values are omitted
  2969  	// from API requests. However, any non-pointer, non-interface field
  2970  	// appearing in ForceSendFields will be sent to the server regardless of
  2971  	// whether the field is empty or not. This may be used to include empty
  2972  	// fields in Patch requests.
  2973  	ForceSendFields []string `json:"-"`
  2974  
  2975  	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
  2976  	// to include in API requests with the JSON null value. By default,
  2977  	// fields with empty values are omitted from API requests. However, any
  2978  	// field with an empty value appearing in NullFields will be sent to the
  2979  	// server as null. It is an error if a field in this list has a
  2980  	// non-empty value. This may be used to include null fields in Patch
  2981  	// requests.
  2982  	NullFields []string `json:"-"`
  2983  }
  2984  
  2985  func (s *ClickThroughUrl) MarshalJSON() ([]byte, error) {
  2986  	type NoMethod ClickThroughUrl
  2987  	raw := NoMethod(*s)
  2988  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2989  }
  2990  
  2991  // ClickThroughUrlSuffixProperties: Click Through URL Suffix settings.
  2992  type ClickThroughUrlSuffixProperties struct {
  2993  	// ClickThroughUrlSuffix: Click-through URL suffix to apply to all ads
  2994  	// in this entity's scope. Must be less than 128 characters long.
  2995  	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
  2996  
  2997  	// OverrideInheritedSuffix: Whether this entity should override the
  2998  	// inherited click-through URL suffix with its own defined value.
  2999  	OverrideInheritedSuffix bool `json:"overrideInheritedSuffix,omitempty"`
  3000  
  3001  	// ForceSendFields is a list of field names (e.g.
  3002  	// "ClickThroughUrlSuffix") to unconditionally include in API requests.
  3003  	// By default, fields with empty or default values are omitted from API
  3004  	// requests. However, any non-pointer, non-interface field appearing in
  3005  	// ForceSendFields will be sent to the server regardless of whether the
  3006  	// field is empty or not. This may be used to include empty fields in
  3007  	// Patch requests.
  3008  	ForceSendFields []string `json:"-"`
  3009  
  3010  	// NullFields is a list of field names (e.g. "ClickThroughUrlSuffix") to
  3011  	// include in API requests with the JSON null value. By default, fields
  3012  	// with empty values are omitted from API requests. However, any field
  3013  	// with an empty value appearing in NullFields will be sent to the
  3014  	// server as null. It is an error if a field in this list has a
  3015  	// non-empty value. This may be used to include null fields in Patch
  3016  	// requests.
  3017  	NullFields []string `json:"-"`
  3018  }
  3019  
  3020  func (s *ClickThroughUrlSuffixProperties) MarshalJSON() ([]byte, error) {
  3021  	type NoMethod ClickThroughUrlSuffixProperties
  3022  	raw := NoMethod(*s)
  3023  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3024  }
  3025  
  3026  // CompanionClickThroughOverride: Companion Click-through override.
  3027  type CompanionClickThroughOverride struct {
  3028  	// ClickThroughUrl: Click-through URL of this companion click-through
  3029  	// override.
  3030  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  3031  
  3032  	// CreativeId: ID of the creative for this companion click-through
  3033  	// override.
  3034  	CreativeId int64 `json:"creativeId,omitempty,string"`
  3035  
  3036  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  3037  	// unconditionally include in API requests. By default, fields with
  3038  	// empty or default values are omitted from API requests. However, any
  3039  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3040  	// sent to the server regardless of whether the field is empty or not.
  3041  	// This may be used to include empty fields in Patch requests.
  3042  	ForceSendFields []string `json:"-"`
  3043  
  3044  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  3045  	// include in API requests with the JSON null value. By default, fields
  3046  	// with empty values are omitted from API requests. However, any field
  3047  	// with an empty value appearing in NullFields will be sent to the
  3048  	// server as null. It is an error if a field in this list has a
  3049  	// non-empty value. This may be used to include null fields in Patch
  3050  	// requests.
  3051  	NullFields []string `json:"-"`
  3052  }
  3053  
  3054  func (s *CompanionClickThroughOverride) MarshalJSON() ([]byte, error) {
  3055  	type NoMethod CompanionClickThroughOverride
  3056  	raw := NoMethod(*s)
  3057  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3058  }
  3059  
  3060  // CompanionSetting: Companion Settings
  3061  type CompanionSetting struct {
  3062  	// CompanionsDisabled: Whether companions are disabled for this
  3063  	// placement.
  3064  	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
  3065  
  3066  	// EnabledSizes: Allowlist of companion sizes to be served to this
  3067  	// placement. Set this list to null or empty to serve all companion
  3068  	// sizes.
  3069  	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
  3070  
  3071  	// ImageOnly: Whether to serve only static images as companions.
  3072  	ImageOnly bool `json:"imageOnly,omitempty"`
  3073  
  3074  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3075  	// string "dfareporting#companionSetting".
  3076  	Kind string `json:"kind,omitempty"`
  3077  
  3078  	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
  3079  	// to unconditionally include in API requests. By default, fields with
  3080  	// empty or default values are omitted from API requests. However, any
  3081  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3082  	// sent to the server regardless of whether the field is empty or not.
  3083  	// This may be used to include empty fields in Patch requests.
  3084  	ForceSendFields []string `json:"-"`
  3085  
  3086  	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
  3087  	// include in API requests with the JSON null value. By default, fields
  3088  	// with empty values are omitted from API requests. However, any field
  3089  	// with an empty value appearing in NullFields will be sent to the
  3090  	// server as null. It is an error if a field in this list has a
  3091  	// non-empty value. This may be used to include null fields in Patch
  3092  	// requests.
  3093  	NullFields []string `json:"-"`
  3094  }
  3095  
  3096  func (s *CompanionSetting) MarshalJSON() ([]byte, error) {
  3097  	type NoMethod CompanionSetting
  3098  	raw := NoMethod(*s)
  3099  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3100  }
  3101  
  3102  // CompatibleFields: Represents a response to the queryCompatibleFields
  3103  // method.
  3104  type CompatibleFields struct {
  3105  	// CrossDimensionReachReportCompatibleFields: Contains items that are
  3106  	// compatible to be selected for a report of type
  3107  	// "CROSS_DIMENSION_REACH".
  3108  	CrossDimensionReachReportCompatibleFields *CrossDimensionReachReportCompatibleFields `json:"crossDimensionReachReportCompatibleFields,omitempty"`
  3109  
  3110  	// FloodlightReportCompatibleFields: Contains items that are compatible
  3111  	// to be selected for a report of type "FLOODLIGHT".
  3112  	FloodlightReportCompatibleFields *FloodlightReportCompatibleFields `json:"floodlightReportCompatibleFields,omitempty"`
  3113  
  3114  	// Kind: The kind of resource this is, in this case
  3115  	// dfareporting#compatibleFields.
  3116  	Kind string `json:"kind,omitempty"`
  3117  
  3118  	// PathAttributionReportCompatibleFields: Contains items that are
  3119  	// compatible to be selected for a report of type "PATH_ATTRIBUTION".
  3120  	PathAttributionReportCompatibleFields *PathReportCompatibleFields `json:"pathAttributionReportCompatibleFields,omitempty"`
  3121  
  3122  	// PathReportCompatibleFields: Contains items that are compatible to be
  3123  	// selected for a report of type "PATH".
  3124  	PathReportCompatibleFields *PathReportCompatibleFields `json:"pathReportCompatibleFields,omitempty"`
  3125  
  3126  	// PathToConversionReportCompatibleFields: Contains items that are
  3127  	// compatible to be selected for a report of type "PATH_TO_CONVERSION".
  3128  	PathToConversionReportCompatibleFields *PathToConversionReportCompatibleFields `json:"pathToConversionReportCompatibleFields,omitempty"`
  3129  
  3130  	// ReachReportCompatibleFields: Contains items that are compatible to be
  3131  	// selected for a report of type "REACH".
  3132  	ReachReportCompatibleFields *ReachReportCompatibleFields `json:"reachReportCompatibleFields,omitempty"`
  3133  
  3134  	// ReportCompatibleFields: Contains items that are compatible to be
  3135  	// selected for a report of type "STANDARD".
  3136  	ReportCompatibleFields *ReportCompatibleFields `json:"reportCompatibleFields,omitempty"`
  3137  
  3138  	// ServerResponse contains the HTTP response code and headers from the
  3139  	// server.
  3140  	googleapi.ServerResponse `json:"-"`
  3141  
  3142  	// ForceSendFields is a list of field names (e.g.
  3143  	// "CrossDimensionReachReportCompatibleFields") to unconditionally
  3144  	// include in API requests. By default, fields with empty or default
  3145  	// values are omitted from API requests. However, any non-pointer,
  3146  	// non-interface field appearing in ForceSendFields will be sent to the
  3147  	// server regardless of whether the field is empty or not. This may be
  3148  	// used to include empty fields in Patch requests.
  3149  	ForceSendFields []string `json:"-"`
  3150  
  3151  	// NullFields is a list of field names (e.g.
  3152  	// "CrossDimensionReachReportCompatibleFields") to include in API
  3153  	// requests with the JSON null value. By default, fields with empty
  3154  	// values are omitted from API requests. However, any field with an
  3155  	// empty value appearing in NullFields will be sent to the server as
  3156  	// null. It is an error if a field in this list has a non-empty value.
  3157  	// This may be used to include null fields in Patch requests.
  3158  	NullFields []string `json:"-"`
  3159  }
  3160  
  3161  func (s *CompatibleFields) MarshalJSON() ([]byte, error) {
  3162  	type NoMethod CompatibleFields
  3163  	raw := NoMethod(*s)
  3164  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3165  }
  3166  
  3167  // ConnectionType: Contains information about an internet connection
  3168  // type that can be targeted by ads. Clients can use the connection type
  3169  // to target mobile vs. broadband users.
  3170  type ConnectionType struct {
  3171  	// Id: ID of this connection type.
  3172  	Id int64 `json:"id,omitempty,string"`
  3173  
  3174  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3175  	// string "dfareporting#connectionType".
  3176  	Kind string `json:"kind,omitempty"`
  3177  
  3178  	// Name: Name of this connection type.
  3179  	Name string `json:"name,omitempty"`
  3180  
  3181  	// ServerResponse contains the HTTP response code and headers from the
  3182  	// server.
  3183  	googleapi.ServerResponse `json:"-"`
  3184  
  3185  	// ForceSendFields is a list of field names (e.g. "Id") to
  3186  	// unconditionally include in API requests. By default, fields with
  3187  	// empty or default values are omitted from API requests. However, any
  3188  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3189  	// sent to the server regardless of whether the field is empty or not.
  3190  	// This may be used to include empty fields in Patch requests.
  3191  	ForceSendFields []string `json:"-"`
  3192  
  3193  	// NullFields is a list of field names (e.g. "Id") to include in API
  3194  	// requests with the JSON null value. By default, fields with empty
  3195  	// values are omitted from API requests. However, any field with an
  3196  	// empty value appearing in NullFields will be sent to the server as
  3197  	// null. It is an error if a field in this list has a non-empty value.
  3198  	// This may be used to include null fields in Patch requests.
  3199  	NullFields []string `json:"-"`
  3200  }
  3201  
  3202  func (s *ConnectionType) MarshalJSON() ([]byte, error) {
  3203  	type NoMethod ConnectionType
  3204  	raw := NoMethod(*s)
  3205  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3206  }
  3207  
  3208  // ConnectionTypesListResponse: Connection Type List Response
  3209  type ConnectionTypesListResponse struct {
  3210  	// ConnectionTypes: Collection of connection types such as broadband and
  3211  	// mobile.
  3212  	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
  3213  
  3214  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3215  	// string "dfareporting#connectionTypesListResponse".
  3216  	Kind string `json:"kind,omitempty"`
  3217  
  3218  	// ServerResponse contains the HTTP response code and headers from the
  3219  	// server.
  3220  	googleapi.ServerResponse `json:"-"`
  3221  
  3222  	// ForceSendFields is a list of field names (e.g. "ConnectionTypes") to
  3223  	// unconditionally include in API requests. By default, fields with
  3224  	// empty or default values are omitted from API requests. However, any
  3225  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3226  	// sent to the server regardless of whether the field is empty or not.
  3227  	// This may be used to include empty fields in Patch requests.
  3228  	ForceSendFields []string `json:"-"`
  3229  
  3230  	// NullFields is a list of field names (e.g. "ConnectionTypes") to
  3231  	// include in API requests with the JSON null value. By default, fields
  3232  	// with empty values are omitted from API requests. However, any field
  3233  	// with an empty value appearing in NullFields will be sent to the
  3234  	// server as null. It is an error if a field in this list has a
  3235  	// non-empty value. This may be used to include null fields in Patch
  3236  	// requests.
  3237  	NullFields []string `json:"-"`
  3238  }
  3239  
  3240  func (s *ConnectionTypesListResponse) MarshalJSON() ([]byte, error) {
  3241  	type NoMethod ConnectionTypesListResponse
  3242  	raw := NoMethod(*s)
  3243  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3244  }
  3245  
  3246  // ContentCategoriesListResponse: Content Category List Response
  3247  type ContentCategoriesListResponse struct {
  3248  	// ContentCategories: Content category collection.
  3249  	ContentCategories []*ContentCategory `json:"contentCategories,omitempty"`
  3250  
  3251  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3252  	// string "dfareporting#contentCategoriesListResponse".
  3253  	Kind string `json:"kind,omitempty"`
  3254  
  3255  	// NextPageToken: Pagination token to be used for the next list
  3256  	// operation.
  3257  	NextPageToken string `json:"nextPageToken,omitempty"`
  3258  
  3259  	// ServerResponse contains the HTTP response code and headers from the
  3260  	// server.
  3261  	googleapi.ServerResponse `json:"-"`
  3262  
  3263  	// ForceSendFields is a list of field names (e.g. "ContentCategories")
  3264  	// to unconditionally include in API requests. By default, fields with
  3265  	// empty or default values are omitted from API requests. However, any
  3266  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3267  	// sent to the server regardless of whether the field is empty or not.
  3268  	// This may be used to include empty fields in Patch requests.
  3269  	ForceSendFields []string `json:"-"`
  3270  
  3271  	// NullFields is a list of field names (e.g. "ContentCategories") to
  3272  	// include in API requests with the JSON null value. By default, fields
  3273  	// with empty values are omitted from API requests. However, any field
  3274  	// with an empty value appearing in NullFields will be sent to the
  3275  	// server as null. It is an error if a field in this list has a
  3276  	// non-empty value. This may be used to include null fields in Patch
  3277  	// requests.
  3278  	NullFields []string `json:"-"`
  3279  }
  3280  
  3281  func (s *ContentCategoriesListResponse) MarshalJSON() ([]byte, error) {
  3282  	type NoMethod ContentCategoriesListResponse
  3283  	raw := NoMethod(*s)
  3284  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3285  }
  3286  
  3287  // ContentCategory: Organizes placements according to the contents of
  3288  // their associated webpages.
  3289  type ContentCategory struct {
  3290  	// AccountId: Account ID of this content category. This is a read-only
  3291  	// field that can be left blank.
  3292  	AccountId int64 `json:"accountId,omitempty,string"`
  3293  
  3294  	// Id: ID of this content category. This is a read-only, auto-generated
  3295  	// field.
  3296  	Id int64 `json:"id,omitempty,string"`
  3297  
  3298  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3299  	// string "dfareporting#contentCategory".
  3300  	Kind string `json:"kind,omitempty"`
  3301  
  3302  	// Name: Name of this content category. This is a required field and
  3303  	// must be less than 256 characters long and unique among content
  3304  	// categories of the same account.
  3305  	Name string `json:"name,omitempty"`
  3306  
  3307  	// ServerResponse contains the HTTP response code and headers from the
  3308  	// server.
  3309  	googleapi.ServerResponse `json:"-"`
  3310  
  3311  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  3312  	// unconditionally include in API requests. By default, fields with
  3313  	// empty or default values are omitted from API requests. However, any
  3314  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3315  	// sent to the server regardless of whether the field is empty or not.
  3316  	// This may be used to include empty fields in Patch requests.
  3317  	ForceSendFields []string `json:"-"`
  3318  
  3319  	// NullFields is a list of field names (e.g. "AccountId") to include in
  3320  	// API requests with the JSON null value. By default, fields with empty
  3321  	// values are omitted from API requests. However, any field with an
  3322  	// empty value appearing in NullFields will be sent to the server as
  3323  	// null. It is an error if a field in this list has a non-empty value.
  3324  	// This may be used to include null fields in Patch requests.
  3325  	NullFields []string `json:"-"`
  3326  }
  3327  
  3328  func (s *ContentCategory) MarshalJSON() ([]byte, error) {
  3329  	type NoMethod ContentCategory
  3330  	raw := NoMethod(*s)
  3331  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3332  }
  3333  
  3334  // Conversion: A Conversion represents when a user successfully performs
  3335  // a desired action after seeing an ad.
  3336  type Conversion struct {
  3337  	// ChildDirectedTreatment: Whether this particular request may come from
  3338  	// a user under the age of 13, under COPPA compliance.
  3339  	ChildDirectedTreatment bool `json:"childDirectedTreatment,omitempty"`
  3340  
  3341  	// CustomVariables: Custom floodlight variables. This field may only be
  3342  	// used when calling batchinsert; it is not supported by batchupdate.
  3343  	CustomVariables []*CustomFloodlightVariable `json:"customVariables,omitempty"`
  3344  
  3345  	// Dclid: The display click ID. This field is mutually exclusive with
  3346  	// encryptedUserId, encryptedUserIdCandidates[], matchId, mobileDeviceId
  3347  	// and gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
  3348  	// matchId or mobileDeviceId or gclid is a required field.
  3349  	Dclid string `json:"dclid,omitempty"`
  3350  
  3351  	// EncryptedUserId: The alphanumeric encrypted user ID. When set,
  3352  	// encryptionInfo should also be specified. This field is mutually
  3353  	// exclusive with encryptedUserIdCandidates[], matchId, mobileDeviceId,
  3354  	// gclid and dclid. This or encryptedUserIdCandidates[] or matchId or
  3355  	// mobileDeviceId or gclid or dclid is a required field.
  3356  	EncryptedUserId string `json:"encryptedUserId,omitempty"`
  3357  
  3358  	// EncryptedUserIdCandidates: A list of the alphanumeric encrypted user
  3359  	// IDs. Any user ID with exposure prior to the conversion timestamp will
  3360  	// be used in the inserted conversion. If no such user ID is found then
  3361  	// the conversion will be rejected with INVALID_ARGUMENT error. When
  3362  	// set, encryptionInfo should also be specified. This field may only be
  3363  	// used when calling batchinsert; it is not supported by batchupdate.
  3364  	// This field is mutually exclusive with encryptedUserId, matchId,
  3365  	// mobileDeviceId, gclid and dclid. This or encryptedUserId or matchId
  3366  	// or mobileDeviceId or gclid or dclid is a required field.
  3367  	EncryptedUserIdCandidates []string `json:"encryptedUserIdCandidates,omitempty"`
  3368  
  3369  	// FloodlightActivityId: Floodlight Activity ID of this conversion. This
  3370  	// is a required field.
  3371  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  3372  
  3373  	// FloodlightConfigurationId: Floodlight Configuration ID of this
  3374  	// conversion. This is a required field.
  3375  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  3376  
  3377  	// Gclid: The Google click ID. This field is mutually exclusive with
  3378  	// encryptedUserId, encryptedUserIdCandidates[], matchId, mobileDeviceId
  3379  	// and dclid. This or encryptedUserId or encryptedUserIdCandidates[] or
  3380  	// matchId or mobileDeviceId or dclid is a required field.
  3381  	Gclid string `json:"gclid,omitempty"`
  3382  
  3383  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3384  	// string "dfareporting#conversion".
  3385  	Kind string `json:"kind,omitempty"`
  3386  
  3387  	// LimitAdTracking: Whether Limit Ad Tracking is enabled. When set to
  3388  	// true, the conversion will be used for reporting but not targeting.
  3389  	// This will prevent remarketing.
  3390  	LimitAdTracking bool `json:"limitAdTracking,omitempty"`
  3391  
  3392  	// MatchId: The match ID field. A match ID is your own first-party
  3393  	// identifier that has been synced with Google using the match ID
  3394  	// feature in Floodlight. This field is mutually exclusive with
  3395  	// encryptedUserId, encryptedUserIdCandidates[],mobileDeviceId, gclid
  3396  	// and dclid. This or encryptedUserId or encryptedUserIdCandidates[] or
  3397  	// mobileDeviceId or gclid or dclid is a required field.
  3398  	MatchId string `json:"matchId,omitempty"`
  3399  
  3400  	// MobileDeviceId: The mobile device ID. This field is mutually
  3401  	// exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId,
  3402  	// gclid and dclid. This or encryptedUserId or
  3403  	// encryptedUserIdCandidates[] or matchId or gclid or dclid is a
  3404  	// required field.
  3405  	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
  3406  
  3407  	// NonPersonalizedAd: Whether the conversion was for a non personalized
  3408  	// ad.
  3409  	NonPersonalizedAd bool `json:"nonPersonalizedAd,omitempty"`
  3410  
  3411  	// Ordinal: The ordinal of the conversion. Use this field to control how
  3412  	// conversions of the same user and day are de-duplicated. This is a
  3413  	// required field.
  3414  	Ordinal string `json:"ordinal,omitempty"`
  3415  
  3416  	// Quantity: The quantity of the conversion.
  3417  	Quantity int64 `json:"quantity,omitempty,string"`
  3418  
  3419  	// TimestampMicros: The timestamp of conversion, in Unix epoch micros.
  3420  	// This is a required field.
  3421  	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
  3422  
  3423  	// TreatmentForUnderage: Whether this particular request may come from a
  3424  	// user under the age of 16 (may differ by country), under compliance
  3425  	// with the European Union's General Data Protection Regulation (GDPR).
  3426  	TreatmentForUnderage bool `json:"treatmentForUnderage,omitempty"`
  3427  
  3428  	// Value: The value of the conversion.
  3429  	Value float64 `json:"value,omitempty"`
  3430  
  3431  	// ForceSendFields is a list of field names (e.g.
  3432  	// "ChildDirectedTreatment") to unconditionally include in API requests.
  3433  	// By default, fields with empty or default values are omitted from API
  3434  	// requests. However, any non-pointer, non-interface field appearing in
  3435  	// ForceSendFields will be sent to the server regardless of whether the
  3436  	// field is empty or not. This may be used to include empty fields in
  3437  	// Patch requests.
  3438  	ForceSendFields []string `json:"-"`
  3439  
  3440  	// NullFields is a list of field names (e.g. "ChildDirectedTreatment")
  3441  	// to include in API requests with the JSON null value. By default,
  3442  	// fields with empty values are omitted from API requests. However, any
  3443  	// field with an empty value appearing in NullFields will be sent to the
  3444  	// server as null. It is an error if a field in this list has a
  3445  	// non-empty value. This may be used to include null fields in Patch
  3446  	// requests.
  3447  	NullFields []string `json:"-"`
  3448  }
  3449  
  3450  func (s *Conversion) MarshalJSON() ([]byte, error) {
  3451  	type NoMethod Conversion
  3452  	raw := NoMethod(*s)
  3453  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3454  }
  3455  
  3456  func (s *Conversion) UnmarshalJSON(data []byte) error {
  3457  	type NoMethod Conversion
  3458  	var s1 struct {
  3459  		Value gensupport.JSONFloat64 `json:"value"`
  3460  		*NoMethod
  3461  	}
  3462  	s1.NoMethod = (*NoMethod)(s)
  3463  	if err := json.Unmarshal(data, &s1); err != nil {
  3464  		return err
  3465  	}
  3466  	s.Value = float64(s1.Value)
  3467  	return nil
  3468  }
  3469  
  3470  // ConversionError: The error code and description for a conversion that
  3471  // failed to insert or update.
  3472  type ConversionError struct {
  3473  	// Code: The error code.
  3474  	//
  3475  	// Possible values:
  3476  	//   "INVALID_ARGUMENT"
  3477  	//   "INTERNAL"
  3478  	//   "PERMISSION_DENIED"
  3479  	//   "NOT_FOUND"
  3480  	Code string `json:"code,omitempty"`
  3481  
  3482  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3483  	// string "dfareporting#conversionError".
  3484  	Kind string `json:"kind,omitempty"`
  3485  
  3486  	// Message: A description of the error.
  3487  	Message string `json:"message,omitempty"`
  3488  
  3489  	// ForceSendFields is a list of field names (e.g. "Code") to
  3490  	// unconditionally include in API requests. By default, fields with
  3491  	// empty or default values are omitted from API requests. However, any
  3492  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3493  	// sent to the server regardless of whether the field is empty or not.
  3494  	// This may be used to include empty fields in Patch requests.
  3495  	ForceSendFields []string `json:"-"`
  3496  
  3497  	// NullFields is a list of field names (e.g. "Code") to include in API
  3498  	// requests with the JSON null value. By default, fields with empty
  3499  	// values are omitted from API requests. However, any field with an
  3500  	// empty value appearing in NullFields will be sent to the server as
  3501  	// null. It is an error if a field in this list has a non-empty value.
  3502  	// This may be used to include null fields in Patch requests.
  3503  	NullFields []string `json:"-"`
  3504  }
  3505  
  3506  func (s *ConversionError) MarshalJSON() ([]byte, error) {
  3507  	type NoMethod ConversionError
  3508  	raw := NoMethod(*s)
  3509  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3510  }
  3511  
  3512  // ConversionStatus: The original conversion that was inserted or
  3513  // updated and whether there were any errors.
  3514  type ConversionStatus struct {
  3515  	// Conversion: The original conversion that was inserted or updated.
  3516  	Conversion *Conversion `json:"conversion,omitempty"`
  3517  
  3518  	// Errors: A list of errors related to this conversion.
  3519  	Errors []*ConversionError `json:"errors,omitempty"`
  3520  
  3521  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3522  	// string "dfareporting#conversionStatus".
  3523  	Kind string `json:"kind,omitempty"`
  3524  
  3525  	// ForceSendFields is a list of field names (e.g. "Conversion") to
  3526  	// unconditionally include in API requests. By default, fields with
  3527  	// empty or default values are omitted from API requests. However, any
  3528  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3529  	// sent to the server regardless of whether the field is empty or not.
  3530  	// This may be used to include empty fields in Patch requests.
  3531  	ForceSendFields []string `json:"-"`
  3532  
  3533  	// NullFields is a list of field names (e.g. "Conversion") to include in
  3534  	// API requests with the JSON null value. By default, fields with empty
  3535  	// values are omitted from API requests. However, any field with an
  3536  	// empty value appearing in NullFields will be sent to the server as
  3537  	// null. It is an error if a field in this list has a non-empty value.
  3538  	// This may be used to include null fields in Patch requests.
  3539  	NullFields []string `json:"-"`
  3540  }
  3541  
  3542  func (s *ConversionStatus) MarshalJSON() ([]byte, error) {
  3543  	type NoMethod ConversionStatus
  3544  	raw := NoMethod(*s)
  3545  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3546  }
  3547  
  3548  // ConversionsBatchInsertRequest: Insert Conversions Request.
  3549  type ConversionsBatchInsertRequest struct {
  3550  	// Conversions: The set of conversions to insert.
  3551  	Conversions []*Conversion `json:"conversions,omitempty"`
  3552  
  3553  	// EncryptionInfo: Describes how encryptedUserId or
  3554  	// encryptedUserIdCandidates[] is encrypted. This is a required field if
  3555  	// encryptedUserId or encryptedUserIdCandidates[] is used.
  3556  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
  3557  
  3558  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3559  	// string "dfareporting#conversionsBatchInsertRequest".
  3560  	Kind string `json:"kind,omitempty"`
  3561  
  3562  	// ForceSendFields is a list of field names (e.g. "Conversions") to
  3563  	// unconditionally include in API requests. By default, fields with
  3564  	// empty or default values are omitted from API requests. However, any
  3565  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3566  	// sent to the server regardless of whether the field is empty or not.
  3567  	// This may be used to include empty fields in Patch requests.
  3568  	ForceSendFields []string `json:"-"`
  3569  
  3570  	// NullFields is a list of field names (e.g. "Conversions") to include
  3571  	// in API requests with the JSON null value. By default, fields with
  3572  	// empty values are omitted from API requests. However, any field with
  3573  	// an empty value appearing in NullFields will be sent to the server as
  3574  	// null. It is an error if a field in this list has a non-empty value.
  3575  	// This may be used to include null fields in Patch requests.
  3576  	NullFields []string `json:"-"`
  3577  }
  3578  
  3579  func (s *ConversionsBatchInsertRequest) MarshalJSON() ([]byte, error) {
  3580  	type NoMethod ConversionsBatchInsertRequest
  3581  	raw := NoMethod(*s)
  3582  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3583  }
  3584  
  3585  // ConversionsBatchInsertResponse: Insert Conversions Response.
  3586  type ConversionsBatchInsertResponse struct {
  3587  	// HasFailures: Indicates that some or all conversions failed to insert.
  3588  	HasFailures bool `json:"hasFailures,omitempty"`
  3589  
  3590  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3591  	// string "dfareporting#conversionsBatchInsertResponse".
  3592  	Kind string `json:"kind,omitempty"`
  3593  
  3594  	// Status: The insert status of each conversion. Statuses are returned
  3595  	// in the same order that conversions are inserted.
  3596  	Status []*ConversionStatus `json:"status,omitempty"`
  3597  
  3598  	// ServerResponse contains the HTTP response code and headers from the
  3599  	// server.
  3600  	googleapi.ServerResponse `json:"-"`
  3601  
  3602  	// ForceSendFields is a list of field names (e.g. "HasFailures") to
  3603  	// unconditionally include in API requests. By default, fields with
  3604  	// empty or default values are omitted from API requests. However, any
  3605  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3606  	// sent to the server regardless of whether the field is empty or not.
  3607  	// This may be used to include empty fields in Patch requests.
  3608  	ForceSendFields []string `json:"-"`
  3609  
  3610  	// NullFields is a list of field names (e.g. "HasFailures") to include
  3611  	// in API requests with the JSON null value. By default, fields with
  3612  	// empty values are omitted from API requests. However, any field with
  3613  	// an empty value appearing in NullFields will be sent to the server as
  3614  	// null. It is an error if a field in this list has a non-empty value.
  3615  	// This may be used to include null fields in Patch requests.
  3616  	NullFields []string `json:"-"`
  3617  }
  3618  
  3619  func (s *ConversionsBatchInsertResponse) MarshalJSON() ([]byte, error) {
  3620  	type NoMethod ConversionsBatchInsertResponse
  3621  	raw := NoMethod(*s)
  3622  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3623  }
  3624  
  3625  // ConversionsBatchUpdateRequest: Update Conversions Request.
  3626  type ConversionsBatchUpdateRequest struct {
  3627  	// Conversions: The set of conversions to update.
  3628  	Conversions []*Conversion `json:"conversions,omitempty"`
  3629  
  3630  	// EncryptionInfo: Describes how encryptedUserId is encrypted. This is a
  3631  	// required field if encryptedUserId is used.
  3632  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
  3633  
  3634  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3635  	// string "dfareporting#conversionsBatchUpdateRequest".
  3636  	Kind string `json:"kind,omitempty"`
  3637  
  3638  	// ForceSendFields is a list of field names (e.g. "Conversions") to
  3639  	// unconditionally include in API requests. By default, fields with
  3640  	// empty or default values are omitted from API requests. However, any
  3641  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3642  	// sent to the server regardless of whether the field is empty or not.
  3643  	// This may be used to include empty fields in Patch requests.
  3644  	ForceSendFields []string `json:"-"`
  3645  
  3646  	// NullFields is a list of field names (e.g. "Conversions") to include
  3647  	// in API requests with the JSON null value. By default, fields with
  3648  	// empty values are omitted from API requests. However, any field with
  3649  	// an empty value appearing in NullFields will be sent to the server as
  3650  	// null. It is an error if a field in this list has a non-empty value.
  3651  	// This may be used to include null fields in Patch requests.
  3652  	NullFields []string `json:"-"`
  3653  }
  3654  
  3655  func (s *ConversionsBatchUpdateRequest) MarshalJSON() ([]byte, error) {
  3656  	type NoMethod ConversionsBatchUpdateRequest
  3657  	raw := NoMethod(*s)
  3658  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3659  }
  3660  
  3661  // ConversionsBatchUpdateResponse: Update Conversions Response.
  3662  type ConversionsBatchUpdateResponse struct {
  3663  	// HasFailures: Indicates that some or all conversions failed to update.
  3664  	HasFailures bool `json:"hasFailures,omitempty"`
  3665  
  3666  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3667  	// string "dfareporting#conversionsBatchUpdateResponse".
  3668  	Kind string `json:"kind,omitempty"`
  3669  
  3670  	// Status: The update status of each conversion. Statuses are returned
  3671  	// in the same order that conversions are updated.
  3672  	Status []*ConversionStatus `json:"status,omitempty"`
  3673  
  3674  	// ServerResponse contains the HTTP response code and headers from the
  3675  	// server.
  3676  	googleapi.ServerResponse `json:"-"`
  3677  
  3678  	// ForceSendFields is a list of field names (e.g. "HasFailures") to
  3679  	// unconditionally include in API requests. By default, fields with
  3680  	// empty or default values are omitted from API requests. However, any
  3681  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3682  	// sent to the server regardless of whether the field is empty or not.
  3683  	// This may be used to include empty fields in Patch requests.
  3684  	ForceSendFields []string `json:"-"`
  3685  
  3686  	// NullFields is a list of field names (e.g. "HasFailures") to include
  3687  	// in API requests with the JSON null value. By default, fields with
  3688  	// empty values are omitted from API requests. However, any field with
  3689  	// an empty value appearing in NullFields will be sent to the server as
  3690  	// null. It is an error if a field in this list has a non-empty value.
  3691  	// This may be used to include null fields in Patch requests.
  3692  	NullFields []string `json:"-"`
  3693  }
  3694  
  3695  func (s *ConversionsBatchUpdateResponse) MarshalJSON() ([]byte, error) {
  3696  	type NoMethod ConversionsBatchUpdateResponse
  3697  	raw := NoMethod(*s)
  3698  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3699  }
  3700  
  3701  // CountriesListResponse: Country List Response
  3702  type CountriesListResponse struct {
  3703  	// Countries: Country collection.
  3704  	Countries []*Country `json:"countries,omitempty"`
  3705  
  3706  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3707  	// string "dfareporting#countriesListResponse".
  3708  	Kind string `json:"kind,omitempty"`
  3709  
  3710  	// ServerResponse contains the HTTP response code and headers from the
  3711  	// server.
  3712  	googleapi.ServerResponse `json:"-"`
  3713  
  3714  	// ForceSendFields is a list of field names (e.g. "Countries") to
  3715  	// unconditionally include in API requests. By default, fields with
  3716  	// empty or default values are omitted from API requests. However, any
  3717  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3718  	// sent to the server regardless of whether the field is empty or not.
  3719  	// This may be used to include empty fields in Patch requests.
  3720  	ForceSendFields []string `json:"-"`
  3721  
  3722  	// NullFields is a list of field names (e.g. "Countries") to include in
  3723  	// API requests with the JSON null value. By default, fields with empty
  3724  	// values are omitted from API requests. However, any field with an
  3725  	// empty value appearing in NullFields will be sent to the server as
  3726  	// null. It is an error if a field in this list has a non-empty value.
  3727  	// This may be used to include null fields in Patch requests.
  3728  	NullFields []string `json:"-"`
  3729  }
  3730  
  3731  func (s *CountriesListResponse) MarshalJSON() ([]byte, error) {
  3732  	type NoMethod CountriesListResponse
  3733  	raw := NoMethod(*s)
  3734  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3735  }
  3736  
  3737  // Country: Contains information about a country that can be targeted by
  3738  // ads.
  3739  type Country struct {
  3740  	// CountryCode: Country code.
  3741  	CountryCode string `json:"countryCode,omitempty"`
  3742  
  3743  	// DartId: DART ID of this country. This is the ID used for targeting
  3744  	// and generating reports.
  3745  	DartId int64 `json:"dartId,omitempty,string"`
  3746  
  3747  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3748  	// string "dfareporting#country".
  3749  	Kind string `json:"kind,omitempty"`
  3750  
  3751  	// Name: Name of this country.
  3752  	Name string `json:"name,omitempty"`
  3753  
  3754  	// SslEnabled: Whether ad serving supports secure servers in this
  3755  	// country.
  3756  	SslEnabled bool `json:"sslEnabled,omitempty"`
  3757  
  3758  	// ServerResponse contains the HTTP response code and headers from the
  3759  	// server.
  3760  	googleapi.ServerResponse `json:"-"`
  3761  
  3762  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  3763  	// unconditionally include in API requests. By default, fields with
  3764  	// empty or default values are omitted from API requests. However, any
  3765  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3766  	// sent to the server regardless of whether the field is empty or not.
  3767  	// This may be used to include empty fields in Patch requests.
  3768  	ForceSendFields []string `json:"-"`
  3769  
  3770  	// NullFields is a list of field names (e.g. "CountryCode") to include
  3771  	// in API requests with the JSON null value. By default, fields with
  3772  	// empty values are omitted from API requests. However, any field with
  3773  	// an empty value appearing in NullFields will be sent to the server as
  3774  	// null. It is an error if a field in this list has a non-empty value.
  3775  	// This may be used to include null fields in Patch requests.
  3776  	NullFields []string `json:"-"`
  3777  }
  3778  
  3779  func (s *Country) MarshalJSON() ([]byte, error) {
  3780  	type NoMethod Country
  3781  	raw := NoMethod(*s)
  3782  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3783  }
  3784  
  3785  // Creative: Contains properties of a Creative.
  3786  type Creative struct {
  3787  	// AccountId: Account ID of this creative. This field, if left unset,
  3788  	// will be auto-generated for both insert and update operations.
  3789  	// Applicable to all creative types.
  3790  	AccountId int64 `json:"accountId,omitempty,string"`
  3791  
  3792  	// Active: Whether the creative is active. Applicable to all creative
  3793  	// types.
  3794  	Active bool `json:"active,omitempty"`
  3795  
  3796  	// AdParameters: Ad parameters user for VPAID creative. This is a
  3797  	// read-only field. Applicable to the following creative types: all
  3798  	// VPAID.
  3799  	AdParameters string `json:"adParameters,omitempty"`
  3800  
  3801  	// AdTagKeys: Keywords for a Rich Media creative. Keywords let you
  3802  	// customize the creative settings of a Rich Media ad running on your
  3803  	// site without having to contact the advertiser. You can use keywords
  3804  	// to dynamically change the look or functionality of a creative.
  3805  	// Applicable to the following creative types: all RICH_MEDIA, and all
  3806  	// VPAID.
  3807  	AdTagKeys []string `json:"adTagKeys,omitempty"`
  3808  
  3809  	// AdditionalSizes: Additional sizes associated with a responsive
  3810  	// creative. When inserting or updating a creative either the size ID
  3811  	// field or size width and height fields can be used. Applicable to
  3812  	// DISPLAY creatives when the primary asset type is HTML_IMAGE.
  3813  	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
  3814  
  3815  	// AdvertiserId: Advertiser ID of this creative. This is a required
  3816  	// field. Applicable to all creative types.
  3817  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  3818  
  3819  	// AllowScriptAccess: Whether script access is allowed for this
  3820  	// creative. This is a read-only and deprecated field which will
  3821  	// automatically be set to true on update. Applicable to the following
  3822  	// creative types: FLASH_INPAGE.
  3823  	AllowScriptAccess bool `json:"allowScriptAccess,omitempty"`
  3824  
  3825  	// Archived: Whether the creative is archived. Applicable to all
  3826  	// creative types.
  3827  	Archived bool `json:"archived,omitempty"`
  3828  
  3829  	// ArtworkType: Type of artwork used for the creative. This is a
  3830  	// read-only field. Applicable to the following creative types: all
  3831  	// RICH_MEDIA, and all VPAID.
  3832  	//
  3833  	// Possible values:
  3834  	//   "ARTWORK_TYPE_FLASH"
  3835  	//   "ARTWORK_TYPE_HTML5"
  3836  	//   "ARTWORK_TYPE_MIXED"
  3837  	//   "ARTWORK_TYPE_IMAGE"
  3838  	ArtworkType string `json:"artworkType,omitempty"`
  3839  
  3840  	// AuthoringSource: Source application where creative was authored.
  3841  	// Presently, only DBM authored creatives will have this field set.
  3842  	// Applicable to all creative types.
  3843  	//
  3844  	// Possible values:
  3845  	//   "CREATIVE_AUTHORING_SOURCE_DCM"
  3846  	//   "CREATIVE_AUTHORING_SOURCE_DBM"
  3847  	//   "CREATIVE_AUTHORING_SOURCE_STUDIO"
  3848  	//   "CREATIVE_AUTHORING_SOURCE_GWD"
  3849  	AuthoringSource string `json:"authoringSource,omitempty"`
  3850  
  3851  	// AuthoringTool: Authoring tool for HTML5 banner creatives. This is a
  3852  	// read-only field. Applicable to the following creative types:
  3853  	// HTML5_BANNER.
  3854  	//
  3855  	// Possible values:
  3856  	//   "NINJA"
  3857  	//   "SWIFFY"
  3858  	AuthoringTool string `json:"authoringTool,omitempty"`
  3859  
  3860  	// AutoAdvanceImages: Whether images are automatically advanced for
  3861  	// image gallery creatives. Applicable to the following creative types:
  3862  	// DISPLAY_IMAGE_GALLERY.
  3863  	AutoAdvanceImages bool `json:"autoAdvanceImages,omitempty"`
  3864  
  3865  	// BackgroundColor: The 6-character HTML color code, beginning with #,
  3866  	// for the background of the window area where the Flash file is
  3867  	// displayed. Default is white. Applicable to the following creative
  3868  	// types: FLASH_INPAGE.
  3869  	BackgroundColor string `json:"backgroundColor,omitempty"`
  3870  
  3871  	// BackupImageClickThroughUrl: Click-through URL for backup image.
  3872  	// Applicable to ENHANCED_BANNER when the primary asset type is not
  3873  	// HTML_IMAGE.
  3874  	BackupImageClickThroughUrl *CreativeClickThroughUrl `json:"backupImageClickThroughUrl,omitempty"`
  3875  
  3876  	// BackupImageFeatures: List of feature dependencies that will cause a
  3877  	// backup image to be served if the browser that serves the ad does not
  3878  	// support them. Feature dependencies are features that a browser must
  3879  	// be able to support in order to render your HTML5 creative asset
  3880  	// correctly. This field is initially auto-generated to contain all
  3881  	// features detected by Campaign Manager for all the assets of this
  3882  	// creative and can then be modified by the client. To reset this field,
  3883  	// copy over all the creativeAssets' detected features. Applicable to
  3884  	// the following creative types: HTML5_BANNER. Applicable to DISPLAY
  3885  	// when the primary asset type is not HTML_IMAGE.
  3886  	//
  3887  	// Possible values:
  3888  	//   "CSS_FONT_FACE"
  3889  	//   "CSS_BACKGROUND_SIZE"
  3890  	//   "CSS_BORDER_IMAGE"
  3891  	//   "CSS_BORDER_RADIUS"
  3892  	//   "CSS_BOX_SHADOW"
  3893  	//   "CSS_FLEX_BOX"
  3894  	//   "CSS_HSLA"
  3895  	//   "CSS_MULTIPLE_BGS"
  3896  	//   "CSS_OPACITY"
  3897  	//   "CSS_RGBA"
  3898  	//   "CSS_TEXT_SHADOW"
  3899  	//   "CSS_ANIMATIONS"
  3900  	//   "CSS_COLUMNS"
  3901  	//   "CSS_GENERATED_CONTENT"
  3902  	//   "CSS_GRADIENTS"
  3903  	//   "CSS_REFLECTIONS"
  3904  	//   "CSS_TRANSFORMS"
  3905  	//   "CSS_TRANSFORMS3D"
  3906  	//   "CSS_TRANSITIONS"
  3907  	//   "APPLICATION_CACHE"
  3908  	//   "CANVAS"
  3909  	//   "CANVAS_TEXT"
  3910  	//   "DRAG_AND_DROP"
  3911  	//   "HASH_CHANGE"
  3912  	//   "HISTORY"
  3913  	//   "AUDIO"
  3914  	//   "VIDEO"
  3915  	//   "INDEXED_DB"
  3916  	//   "INPUT_ATTR_AUTOCOMPLETE"
  3917  	//   "INPUT_ATTR_AUTOFOCUS"
  3918  	//   "INPUT_ATTR_LIST"
  3919  	//   "INPUT_ATTR_PLACEHOLDER"
  3920  	//   "INPUT_ATTR_MAX"
  3921  	//   "INPUT_ATTR_MIN"
  3922  	//   "INPUT_ATTR_MULTIPLE"
  3923  	//   "INPUT_ATTR_PATTERN"
  3924  	//   "INPUT_ATTR_REQUIRED"
  3925  	//   "INPUT_ATTR_STEP"
  3926  	//   "INPUT_TYPE_SEARCH"
  3927  	//   "INPUT_TYPE_TEL"
  3928  	//   "INPUT_TYPE_URL"
  3929  	//   "INPUT_TYPE_EMAIL"
  3930  	//   "INPUT_TYPE_DATETIME"
  3931  	//   "INPUT_TYPE_DATE"
  3932  	//   "INPUT_TYPE_MONTH"
  3933  	//   "INPUT_TYPE_WEEK"
  3934  	//   "INPUT_TYPE_TIME"
  3935  	//   "INPUT_TYPE_DATETIME_LOCAL"
  3936  	//   "INPUT_TYPE_NUMBER"
  3937  	//   "INPUT_TYPE_RANGE"
  3938  	//   "INPUT_TYPE_COLOR"
  3939  	//   "LOCAL_STORAGE"
  3940  	//   "POST_MESSAGE"
  3941  	//   "SESSION_STORAGE"
  3942  	//   "WEB_SOCKETS"
  3943  	//   "WEB_SQL_DATABASE"
  3944  	//   "WEB_WORKERS"
  3945  	//   "GEO_LOCATION"
  3946  	//   "INLINE_SVG"
  3947  	//   "SMIL"
  3948  	//   "SVG_HREF"
  3949  	//   "SVG_CLIP_PATHS"
  3950  	//   "TOUCH"
  3951  	//   "WEBGL"
  3952  	//   "SVG_FILTERS"
  3953  	//   "SVG_FE_IMAGE"
  3954  	BackupImageFeatures []string `json:"backupImageFeatures,omitempty"`
  3955  
  3956  	// BackupImageReportingLabel: Reporting label used for HTML5 banner
  3957  	// backup image. Applicable to the following creative types: DISPLAY
  3958  	// when the primary asset type is not HTML_IMAGE.
  3959  	BackupImageReportingLabel string `json:"backupImageReportingLabel,omitempty"`
  3960  
  3961  	// BackupImageTargetWindow: Target window for backup image. Applicable
  3962  	// to the following creative types: FLASH_INPAGE and HTML5_BANNER.
  3963  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  3964  	BackupImageTargetWindow *TargetWindow `json:"backupImageTargetWindow,omitempty"`
  3965  
  3966  	// ClickTags: Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
  3967  	// HTML5_BANNER creatives, this is a subset of detected click tags for
  3968  	// the assets associated with this creative. After creating a flash
  3969  	// asset, detected click tags will be returned in the
  3970  	// creativeAssetMetadata. When inserting the creative, populate the
  3971  	// creative clickTags field using the creativeAssetMetadata.clickTags
  3972  	// field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
  3973  	// one entry in this list for each image creative asset. A click tag is
  3974  	// matched with a corresponding creative asset by matching the
  3975  	// clickTag.name field with the creativeAsset.assetIdentifier.name
  3976  	// field. Applicable to the following creative types:
  3977  	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to
  3978  	// DISPLAY when the primary asset type is not HTML_IMAGE.
  3979  	ClickTags []*ClickTag `json:"clickTags,omitempty"`
  3980  
  3981  	// CommercialId: Industry standard ID assigned to creative for reach and
  3982  	// frequency. Applicable to INSTREAM_VIDEO_REDIRECT creatives.
  3983  	CommercialId string `json:"commercialId,omitempty"`
  3984  
  3985  	// CompanionCreatives: List of companion creatives assigned to an
  3986  	// in-Stream video creative. Acceptable values include IDs of existing
  3987  	// flash and image creatives. Applicable to the following creative
  3988  	// types: all VPAID, all INSTREAM_AUDIO and all INSTREAM_VIDEO with
  3989  	// dynamicAssetSelection set to false.
  3990  	CompanionCreatives googleapi.Int64s `json:"companionCreatives,omitempty"`
  3991  
  3992  	// Compatibility: Compatibilities associated with this creative. This is
  3993  	// a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to
  3994  	// rendering either on desktop or on mobile devices or in mobile apps
  3995  	// for regular or interstitial ads, respectively. APP and
  3996  	// APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing
  3997  	// creatives may have these compatibilities since new creatives will
  3998  	// either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead.
  3999  	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
  4000  	// with the VAST standard. IN_STREAM_AUDIO refers to rendering in
  4001  	// in-stream audio ads developed with the VAST standard. Applicable to
  4002  	// all creative types. Acceptable values are: - "APP" -
  4003  	// "APP_INTERSTITIAL" - "IN_STREAM_VIDEO" - "IN_STREAM_AUDIO" -
  4004  	// "DISPLAY" - "DISPLAY_INTERSTITIAL"
  4005  	//
  4006  	// Possible values:
  4007  	//   "DISPLAY"
  4008  	//   "DISPLAY_INTERSTITIAL"
  4009  	//   "APP"
  4010  	//   "APP_INTERSTITIAL"
  4011  	//   "IN_STREAM_VIDEO"
  4012  	//   "IN_STREAM_AUDIO"
  4013  	Compatibility []string `json:"compatibility,omitempty"`
  4014  
  4015  	// ConvertFlashToHtml5: Whether Flash assets associated with the
  4016  	// creative need to be automatically converted to HTML5. This flag is
  4017  	// enabled by default and users can choose to disable it if they don't
  4018  	// want the system to generate and use HTML5 asset for this creative.
  4019  	// Applicable to the following creative type: FLASH_INPAGE. Applicable
  4020  	// to DISPLAY when the primary asset type is not HTML_IMAGE.
  4021  	ConvertFlashToHtml5 bool `json:"convertFlashToHtml5,omitempty"`
  4022  
  4023  	// CounterCustomEvents: List of counter events configured for the
  4024  	// creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only
  4025  	// and auto-generated from clickTags. Applicable to the following
  4026  	// creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
  4027  	CounterCustomEvents []*CreativeCustomEvent `json:"counterCustomEvents,omitempty"`
  4028  
  4029  	// CreativeAssetSelection: Required if dynamicAssetSelection is true.
  4030  	CreativeAssetSelection *CreativeAssetSelection `json:"creativeAssetSelection,omitempty"`
  4031  
  4032  	// CreativeAssets: Assets associated with a creative. Applicable to all
  4033  	// but the following creative types: INTERNAL_REDIRECT,
  4034  	// INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
  4035  	CreativeAssets []*CreativeAsset `json:"creativeAssets,omitempty"`
  4036  
  4037  	// CreativeFieldAssignments: Creative field assignments for this
  4038  	// creative. Applicable to all creative types.
  4039  	CreativeFieldAssignments []*CreativeFieldAssignment `json:"creativeFieldAssignments,omitempty"`
  4040  
  4041  	// CustomKeyValues: Custom key-values for a Rich Media creative.
  4042  	// Key-values let you customize the creative settings of a Rich Media ad
  4043  	// running on your site without having to contact the advertiser. You
  4044  	// can use key-values to dynamically change the look or functionality of
  4045  	// a creative. Applicable to the following creative types: all
  4046  	// RICH_MEDIA, and all VPAID.
  4047  	CustomKeyValues []string `json:"customKeyValues,omitempty"`
  4048  
  4049  	// DynamicAssetSelection: Set this to true to enable the use of rules to
  4050  	// target individual assets in this creative. When set to true
  4051  	// creativeAssetSelection must be set. This also controls asset-level
  4052  	// companions. When this is true, companion creatives should be assigned
  4053  	// to creative assets. Learn more. Applicable to INSTREAM_VIDEO
  4054  	// creatives.
  4055  	DynamicAssetSelection bool `json:"dynamicAssetSelection,omitempty"`
  4056  
  4057  	// ExitCustomEvents: List of exit events configured for the creative.
  4058  	// For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only
  4059  	// and auto-generated from clickTags, For DISPLAY, an event is also
  4060  	// created from the backupImageReportingLabel. Applicable to the
  4061  	// following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and
  4062  	// all VPAID. Applicable to DISPLAY when the primary asset type is not
  4063  	// HTML_IMAGE.
  4064  	ExitCustomEvents []*CreativeCustomEvent `json:"exitCustomEvents,omitempty"`
  4065  
  4066  	// FsCommand: OpenWindow FSCommand of this creative. This lets the SWF
  4067  	// file communicate with either Flash Player or the program hosting
  4068  	// Flash Player, such as a web browser. This is only triggered if
  4069  	// allowScriptAccess field is true. Applicable to the following creative
  4070  	// types: FLASH_INPAGE.
  4071  	FsCommand *FsCommand `json:"fsCommand,omitempty"`
  4072  
  4073  	// HtmlCode: HTML code for the creative. This is a required field when
  4074  	// applicable. This field is ignored if htmlCodeLocked is true.
  4075  	// Applicable to the following creative types: all CUSTOM, FLASH_INPAGE,
  4076  	// and HTML5_BANNER, and all RICH_MEDIA.
  4077  	HtmlCode string `json:"htmlCode,omitempty"`
  4078  
  4079  	// HtmlCodeLocked: Whether HTML code is generated by Campaign Manager or
  4080  	// manually entered. Set to true to ignore changes to htmlCode.
  4081  	// Applicable to the following creative types: FLASH_INPAGE and
  4082  	// HTML5_BANNER.
  4083  	HtmlCodeLocked bool `json:"htmlCodeLocked,omitempty"`
  4084  
  4085  	// Id: ID of this creative. This is a read-only, auto-generated field.
  4086  	// Applicable to all creative types.
  4087  	Id int64 `json:"id,omitempty,string"`
  4088  
  4089  	// IdDimensionValue: Dimension value for the ID of this creative. This
  4090  	// is a read-only field. Applicable to all creative types.
  4091  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4092  
  4093  	// Kind: Identifies what kind of resource this is. Value: the fixed
  4094  	// string "dfareporting#creative".
  4095  	Kind string `json:"kind,omitempty"`
  4096  
  4097  	// LastModifiedInfo: Creative last modification information. This is a
  4098  	// read-only field. Applicable to all creative types.
  4099  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  4100  
  4101  	// LatestTraffickedCreativeId: Latest Studio trafficked creative ID
  4102  	// associated with rich media and VPAID creatives. This is a read-only
  4103  	// field. Applicable to the following creative types: all RICH_MEDIA,
  4104  	// and all VPAID.
  4105  	LatestTraffickedCreativeId int64 `json:"latestTraffickedCreativeId,omitempty,string"`
  4106  
  4107  	// MediaDescription: Description of the audio or video ad. Applicable to
  4108  	// the following creative types: all INSTREAM_VIDEO, INSTREAM_AUDIO, and
  4109  	// all VPAID.
  4110  	MediaDescription string `json:"mediaDescription,omitempty"`
  4111  
  4112  	// MediaDuration: Creative audio or video duration in seconds. This is a
  4113  	// read-only field. Applicable to the following creative types:
  4114  	// INSTREAM_VIDEO, INSTREAM_AUDIO, all RICH_MEDIA, and all VPAID.
  4115  	MediaDuration float64 `json:"mediaDuration,omitempty"`
  4116  
  4117  	// Name: Name of the creative. This is a required field and must be less
  4118  	// than 256 characters long. Applicable to all creative types.
  4119  	Name string `json:"name,omitempty"`
  4120  
  4121  	// ObaIcon: Online behavioral advertising icon to be added to the
  4122  	// creative. Applicable to the following creative types: all
  4123  	// INSTREAM_VIDEO.
  4124  	ObaIcon *ObaIcon `json:"obaIcon,omitempty"`
  4125  
  4126  	// OverrideCss: Override CSS value for rich media creatives. Applicable
  4127  	// to the following creative types: all RICH_MEDIA.
  4128  	OverrideCss string `json:"overrideCss,omitempty"`
  4129  
  4130  	// ProgressOffset: Amount of time to play the video before counting a
  4131  	// view. Applicable to the following creative types: all INSTREAM_VIDEO.
  4132  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
  4133  
  4134  	// RedirectUrl: URL of hosted image or hosted video or another ad tag.
  4135  	// For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video
  4136  	// redirect URL. The standard for a VAST (Video Ad Serving Template) ad
  4137  	// response allows for a redirect link to another VAST 2.0 or 3.0 call.
  4138  	// This is a required field when applicable. Applicable to the following
  4139  	// creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
  4140  	// INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
  4141  	RedirectUrl string `json:"redirectUrl,omitempty"`
  4142  
  4143  	// RenderingId: ID of current rendering version. This is a read-only
  4144  	// field. Applicable to all creative types.
  4145  	RenderingId int64 `json:"renderingId,omitempty,string"`
  4146  
  4147  	// RenderingIdDimensionValue: Dimension value for the rendering ID of
  4148  	// this creative. This is a read-only field. Applicable to all creative
  4149  	// types.
  4150  	RenderingIdDimensionValue *DimensionValue `json:"renderingIdDimensionValue,omitempty"`
  4151  
  4152  	// RequiredFlashPluginVersion: The minimum required Flash plugin version
  4153  	// for this creative. For example, 11.2.202.235. This is a read-only
  4154  	// field. Applicable to the following creative types: all RICH_MEDIA,
  4155  	// and all VPAID.
  4156  	RequiredFlashPluginVersion string `json:"requiredFlashPluginVersion,omitempty"`
  4157  
  4158  	// RequiredFlashVersion: The internal Flash version for this creative as
  4159  	// calculated by Studio. This is a read-only field. Applicable to the
  4160  	// following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID.
  4161  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  4162  	RequiredFlashVersion int64 `json:"requiredFlashVersion,omitempty"`
  4163  
  4164  	// Size: Size associated with this creative. When inserting or updating
  4165  	// a creative either the size ID field or size width and height fields
  4166  	// can be used. This is a required field when applicable; however for
  4167  	// IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a
  4168  	// primary asset of type HTML_IMAGE, if left blank, this field will be
  4169  	// automatically set using the actual size of the associated image
  4170  	// assets. Applicable to the following creative types: DISPLAY,
  4171  	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all
  4172  	// RICH_MEDIA.
  4173  	Size *Size `json:"size,omitempty"`
  4174  
  4175  	// SkipOffset: Amount of time to play the video before the skip button
  4176  	// appears. Applicable to the following creative types: all
  4177  	// INSTREAM_VIDEO.
  4178  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
  4179  
  4180  	// Skippable: Whether the user can choose to skip the creative.
  4181  	// Applicable to the following creative types: all INSTREAM_VIDEO and
  4182  	// all VPAID.
  4183  	Skippable bool `json:"skippable,omitempty"`
  4184  
  4185  	// SslCompliant: Whether the creative is SSL-compliant. This is a
  4186  	// read-only field. Applicable to all creative types.
  4187  	SslCompliant bool `json:"sslCompliant,omitempty"`
  4188  
  4189  	// SslOverride: Whether creative should be treated as SSL compliant even
  4190  	// if the system scan shows it's not. Applicable to all creative types.
  4191  	SslOverride bool `json:"sslOverride,omitempty"`
  4192  
  4193  	// StudioAdvertiserId: Studio advertiser ID associated with rich media
  4194  	// and VPAID creatives. This is a read-only field. Applicable to the
  4195  	// following creative types: all RICH_MEDIA, and all VPAID.
  4196  	StudioAdvertiserId int64 `json:"studioAdvertiserId,omitempty,string"`
  4197  
  4198  	// StudioCreativeId: Studio creative ID associated with rich media and
  4199  	// VPAID creatives. This is a read-only field. Applicable to the
  4200  	// following creative types: all RICH_MEDIA, and all VPAID.
  4201  	StudioCreativeId int64 `json:"studioCreativeId,omitempty,string"`
  4202  
  4203  	// StudioTraffickedCreativeId: Studio trafficked creative ID associated
  4204  	// with rich media and VPAID creatives. This is a read-only field.
  4205  	// Applicable to the following creative types: all RICH_MEDIA, and all
  4206  	// VPAID.
  4207  	StudioTraffickedCreativeId int64 `json:"studioTraffickedCreativeId,omitempty,string"`
  4208  
  4209  	// SubaccountId: Subaccount ID of this creative. This field, if left
  4210  	// unset, will be auto-generated for both insert and update operations.
  4211  	// Applicable to all creative types.
  4212  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  4213  
  4214  	// ThirdPartyBackupImageImpressionsUrl: Third-party URL used to record
  4215  	// backup image impressions. Applicable to the following creative types:
  4216  	// all RICH_MEDIA.
  4217  	ThirdPartyBackupImageImpressionsUrl string `json:"thirdPartyBackupImageImpressionsUrl,omitempty"`
  4218  
  4219  	// ThirdPartyRichMediaImpressionsUrl: Third-party URL used to record
  4220  	// rich media impressions. Applicable to the following creative types:
  4221  	// all RICH_MEDIA.
  4222  	ThirdPartyRichMediaImpressionsUrl string `json:"thirdPartyRichMediaImpressionsUrl,omitempty"`
  4223  
  4224  	// ThirdPartyUrls: Third-party URLs for tracking in-stream creative
  4225  	// events. Applicable to the following creative types: all
  4226  	// INSTREAM_VIDEO, all INSTREAM_AUDIO, and all VPAID.
  4227  	ThirdPartyUrls []*ThirdPartyTrackingUrl `json:"thirdPartyUrls,omitempty"`
  4228  
  4229  	// TimerCustomEvents: List of timer events configured for the creative.
  4230  	// For DISPLAY_IMAGE_GALLERY creatives, these are read-only and
  4231  	// auto-generated from clickTags. Applicable to the following creative
  4232  	// types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
  4233  	// Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
  4234  	TimerCustomEvents []*CreativeCustomEvent `json:"timerCustomEvents,omitempty"`
  4235  
  4236  	// TotalFileSize: Combined size of all creative assets. This is a
  4237  	// read-only field. Applicable to the following creative types: all
  4238  	// RICH_MEDIA, and all VPAID.
  4239  	TotalFileSize int64 `json:"totalFileSize,omitempty,string"`
  4240  
  4241  	// Type: Type of this creative. This is a required field. Applicable to
  4242  	// all creative types. *Note:* FLASH_INPAGE, HTML5_BANNER, and IMAGE are
  4243  	// only used for existing creatives. New creatives should use DISPLAY as
  4244  	// a replacement for these types.
  4245  	//
  4246  	// Possible values:
  4247  	//   "IMAGE"
  4248  	//   "DISPLAY_REDIRECT"
  4249  	//   "CUSTOM_DISPLAY"
  4250  	//   "INTERNAL_REDIRECT"
  4251  	//   "CUSTOM_DISPLAY_INTERSTITIAL"
  4252  	//   "INTERSTITIAL_INTERNAL_REDIRECT"
  4253  	//   "TRACKING_TEXT"
  4254  	//   "RICH_MEDIA_DISPLAY_BANNER"
  4255  	//   "RICH_MEDIA_INPAGE_FLOATING"
  4256  	//   "RICH_MEDIA_IM_EXPAND"
  4257  	//   "RICH_MEDIA_DISPLAY_EXPANDING"
  4258  	//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
  4259  	//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
  4260  	//   "RICH_MEDIA_MOBILE_IN_APP"
  4261  	//   "FLASH_INPAGE"
  4262  	//   "INSTREAM_VIDEO"
  4263  	//   "VPAID_LINEAR_VIDEO"
  4264  	//   "VPAID_NON_LINEAR_VIDEO"
  4265  	//   "INSTREAM_VIDEO_REDIRECT"
  4266  	//   "RICH_MEDIA_PEEL_DOWN"
  4267  	//   "HTML5_BANNER"
  4268  	//   "DISPLAY"
  4269  	//   "DISPLAY_IMAGE_GALLERY"
  4270  	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
  4271  	//   "INSTREAM_AUDIO"
  4272  	Type string `json:"type,omitempty"`
  4273  
  4274  	// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
  4275  	// to the following creative types: INSTREAM_AUDIO and INSTREAM_VIDEO
  4276  	// and VPAID.
  4277  	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
  4278  
  4279  	// Version: The version number helps you keep track of multiple versions
  4280  	// of your creative in your reports. The version number will always be
  4281  	// auto-generated during insert operations to start at 1. For tracking
  4282  	// creatives the version cannot be incremented and will always remain at
  4283  	// 1. For all other creative types the version can be incremented only
  4284  	// by 1 during update operations. In addition, the version will be
  4285  	// automatically incremented by 1 when undergoing Rich Media creative
  4286  	// merging. Applicable to all creative types.
  4287  	Version int64 `json:"version,omitempty"`
  4288  
  4289  	// ServerResponse contains the HTTP response code and headers from the
  4290  	// server.
  4291  	googleapi.ServerResponse `json:"-"`
  4292  
  4293  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  4294  	// unconditionally include in API requests. By default, fields with
  4295  	// empty or default values are omitted from API requests. However, any
  4296  	// non-pointer, non-interface field appearing in ForceSendFields will be
  4297  	// sent to the server regardless of whether the field is empty or not.
  4298  	// This may be used to include empty fields in Patch requests.
  4299  	ForceSendFields []string `json:"-"`
  4300  
  4301  	// NullFields is a list of field names (e.g. "AccountId") to include in
  4302  	// API requests with the JSON null value. By default, fields with empty
  4303  	// values are omitted from API requests. However, any field with an
  4304  	// empty value appearing in NullFields will be sent to the server as
  4305  	// null. It is an error if a field in this list has a non-empty value.
  4306  	// This may be used to include null fields in Patch requests.
  4307  	NullFields []string `json:"-"`
  4308  }
  4309  
  4310  func (s *Creative) MarshalJSON() ([]byte, error) {
  4311  	type NoMethod Creative
  4312  	raw := NoMethod(*s)
  4313  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4314  }
  4315  
  4316  func (s *Creative) UnmarshalJSON(data []byte) error {
  4317  	type NoMethod Creative
  4318  	var s1 struct {
  4319  		MediaDuration gensupport.JSONFloat64 `json:"mediaDuration"`
  4320  		*NoMethod
  4321  	}
  4322  	s1.NoMethod = (*NoMethod)(s)
  4323  	if err := json.Unmarshal(data, &s1); err != nil {
  4324  		return err
  4325  	}
  4326  	s.MediaDuration = float64(s1.MediaDuration)
  4327  	return nil
  4328  }
  4329  
  4330  // CreativeAsset: Creative Asset.
  4331  type CreativeAsset struct {
  4332  	// ActionScript3: Whether ActionScript3 is enabled for the flash asset.
  4333  	// This is a read-only field. Applicable to the following creative type:
  4334  	// FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is
  4335  	// not HTML_IMAGE.
  4336  	ActionScript3 bool `json:"actionScript3,omitempty"`
  4337  
  4338  	// Active: Whether the video or audio asset is active. This is a
  4339  	// read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the
  4340  	// following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all
  4341  	// VPAID.
  4342  	Active bool `json:"active,omitempty"`
  4343  
  4344  	// AdditionalSizes: Additional sizes associated with this creative
  4345  	// asset. HTML5 asset generated by compatible software such as GWD will
  4346  	// be able to support more sizes this creative asset can render.
  4347  	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
  4348  
  4349  	// Alignment: Possible alignments for an asset. This is a read-only
  4350  	// field. Applicable to the following creative types:
  4351  	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL .
  4352  	//
  4353  	// Possible values:
  4354  	//   "ALIGNMENT_TOP"
  4355  	//   "ALIGNMENT_RIGHT"
  4356  	//   "ALIGNMENT_BOTTOM"
  4357  	//   "ALIGNMENT_LEFT"
  4358  	Alignment string `json:"alignment,omitempty"`
  4359  
  4360  	// ArtworkType: Artwork type of rich media creative. This is a read-only
  4361  	// field. Applicable to the following creative types: all RICH_MEDIA.
  4362  	//
  4363  	// Possible values:
  4364  	//   "ARTWORK_TYPE_FLASH"
  4365  	//   "ARTWORK_TYPE_HTML5"
  4366  	//   "ARTWORK_TYPE_MIXED"
  4367  	//   "ARTWORK_TYPE_IMAGE"
  4368  	ArtworkType string `json:"artworkType,omitempty"`
  4369  
  4370  	// AssetIdentifier: Identifier of this asset. This is the same
  4371  	// identifier returned during creative asset insert operation. This is a
  4372  	// required field. Applicable to all but the following creative types:
  4373  	// all REDIRECT and TRACKING_TEXT.
  4374  	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
  4375  
  4376  	// AudioBitRate: Audio stream bit rate in kbps. This is a read-only
  4377  	// field. Applicable to the following creative types: INSTREAM_AUDIO,
  4378  	// INSTREAM_VIDEO and all VPAID.
  4379  	AudioBitRate int64 `json:"audioBitRate,omitempty"`
  4380  
  4381  	// AudioSampleRate: Audio sample bit rate in hertz. This is a read-only
  4382  	// field. Applicable to the following creative types: INSTREAM_AUDIO,
  4383  	// INSTREAM_VIDEO and all VPAID.
  4384  	AudioSampleRate int64 `json:"audioSampleRate,omitempty"`
  4385  
  4386  	// BackupImageExit: Exit event configured for the backup image.
  4387  	// Applicable to the following creative types: all RICH_MEDIA.
  4388  	BackupImageExit *CreativeCustomEvent `json:"backupImageExit,omitempty"`
  4389  
  4390  	// BitRate: Detected bit-rate for audio or video asset. This is a
  4391  	// read-only field. Applicable to the following creative types:
  4392  	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
  4393  	BitRate int64 `json:"bitRate,omitempty"`
  4394  
  4395  	// ChildAssetType: Rich media child asset type. This is a read-only
  4396  	// field. Applicable to the following creative types: all VPAID.
  4397  	//
  4398  	// Possible values:
  4399  	//   "CHILD_ASSET_TYPE_FLASH"
  4400  	//   "CHILD_ASSET_TYPE_VIDEO"
  4401  	//   "CHILD_ASSET_TYPE_IMAGE"
  4402  	//   "CHILD_ASSET_TYPE_DATA"
  4403  	ChildAssetType string `json:"childAssetType,omitempty"`
  4404  
  4405  	// CollapsedSize: Size of an asset when collapsed. This is a read-only
  4406  	// field. Applicable to the following creative types: all RICH_MEDIA and
  4407  	// all VPAID. Additionally, applicable to assets whose displayType is
  4408  	// ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
  4409  	CollapsedSize *Size `json:"collapsedSize,omitempty"`
  4410  
  4411  	// CompanionCreativeIds: List of companion creatives assigned to an
  4412  	// in-stream video creative asset. Acceptable values include IDs of
  4413  	// existing flash and image creatives. Applicable to INSTREAM_VIDEO
  4414  	// creative type with dynamicAssetSelection set to true.
  4415  	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
  4416  
  4417  	// CustomStartTimeValue: Custom start time in seconds for making the
  4418  	// asset visible. Applicable to the following creative types: all
  4419  	// RICH_MEDIA. Value must be greater than or equal to 0.
  4420  	CustomStartTimeValue int64 `json:"customStartTimeValue,omitempty"`
  4421  
  4422  	// DetectedFeatures: List of feature dependencies for the creative asset
  4423  	// that are detected by Campaign Manager. Feature dependencies are
  4424  	// features that a browser must be able to support in order to render
  4425  	// your HTML5 creative correctly. This is a read-only, auto-generated
  4426  	// field. Applicable to the following creative types: HTML5_BANNER.
  4427  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  4428  	//
  4429  	// Possible values:
  4430  	//   "CSS_FONT_FACE"
  4431  	//   "CSS_BACKGROUND_SIZE"
  4432  	//   "CSS_BORDER_IMAGE"
  4433  	//   "CSS_BORDER_RADIUS"
  4434  	//   "CSS_BOX_SHADOW"
  4435  	//   "CSS_FLEX_BOX"
  4436  	//   "CSS_HSLA"
  4437  	//   "CSS_MULTIPLE_BGS"
  4438  	//   "CSS_OPACITY"
  4439  	//   "CSS_RGBA"
  4440  	//   "CSS_TEXT_SHADOW"
  4441  	//   "CSS_ANIMATIONS"
  4442  	//   "CSS_COLUMNS"
  4443  	//   "CSS_GENERATED_CONTENT"
  4444  	//   "CSS_GRADIENTS"
  4445  	//   "CSS_REFLECTIONS"
  4446  	//   "CSS_TRANSFORMS"
  4447  	//   "CSS_TRANSFORMS3D"
  4448  	//   "CSS_TRANSITIONS"
  4449  	//   "APPLICATION_CACHE"
  4450  	//   "CANVAS"
  4451  	//   "CANVAS_TEXT"
  4452  	//   "DRAG_AND_DROP"
  4453  	//   "HASH_CHANGE"
  4454  	//   "HISTORY"
  4455  	//   "AUDIO"
  4456  	//   "VIDEO"
  4457  	//   "INDEXED_DB"
  4458  	//   "INPUT_ATTR_AUTOCOMPLETE"
  4459  	//   "INPUT_ATTR_AUTOFOCUS"
  4460  	//   "INPUT_ATTR_LIST"
  4461  	//   "INPUT_ATTR_PLACEHOLDER"
  4462  	//   "INPUT_ATTR_MAX"
  4463  	//   "INPUT_ATTR_MIN"
  4464  	//   "INPUT_ATTR_MULTIPLE"
  4465  	//   "INPUT_ATTR_PATTERN"
  4466  	//   "INPUT_ATTR_REQUIRED"
  4467  	//   "INPUT_ATTR_STEP"
  4468  	//   "INPUT_TYPE_SEARCH"
  4469  	//   "INPUT_TYPE_TEL"
  4470  	//   "INPUT_TYPE_URL"
  4471  	//   "INPUT_TYPE_EMAIL"
  4472  	//   "INPUT_TYPE_DATETIME"
  4473  	//   "INPUT_TYPE_DATE"
  4474  	//   "INPUT_TYPE_MONTH"
  4475  	//   "INPUT_TYPE_WEEK"
  4476  	//   "INPUT_TYPE_TIME"
  4477  	//   "INPUT_TYPE_DATETIME_LOCAL"
  4478  	//   "INPUT_TYPE_NUMBER"
  4479  	//   "INPUT_TYPE_RANGE"
  4480  	//   "INPUT_TYPE_COLOR"
  4481  	//   "LOCAL_STORAGE"
  4482  	//   "POST_MESSAGE"
  4483  	//   "SESSION_STORAGE"
  4484  	//   "WEB_SOCKETS"
  4485  	//   "WEB_SQL_DATABASE"
  4486  	//   "WEB_WORKERS"
  4487  	//   "GEO_LOCATION"
  4488  	//   "INLINE_SVG"
  4489  	//   "SMIL"
  4490  	//   "SVG_HREF"
  4491  	//   "SVG_CLIP_PATHS"
  4492  	//   "TOUCH"
  4493  	//   "WEBGL"
  4494  	//   "SVG_FILTERS"
  4495  	//   "SVG_FE_IMAGE"
  4496  	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
  4497  
  4498  	// DisplayType: Type of rich media asset. This is a read-only field.
  4499  	// Applicable to the following creative types: all RICH_MEDIA.
  4500  	//
  4501  	// Possible values:
  4502  	//   "ASSET_DISPLAY_TYPE_INPAGE"
  4503  	//   "ASSET_DISPLAY_TYPE_FLOATING"
  4504  	//   "ASSET_DISPLAY_TYPE_OVERLAY"
  4505  	//   "ASSET_DISPLAY_TYPE_EXPANDING"
  4506  	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"
  4507  	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"
  4508  	//   "ASSET_DISPLAY_TYPE_PEEL_DOWN"
  4509  	//   "ASSET_DISPLAY_TYPE_VPAID_LINEAR"
  4510  	//   "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
  4511  	//   "ASSET_DISPLAY_TYPE_BACKDROP"
  4512  	DisplayType string `json:"displayType,omitempty"`
  4513  
  4514  	// Duration: Duration in seconds for which an asset will be displayed.
  4515  	// Applicable to the following creative types: INSTREAM_AUDIO,
  4516  	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO. Value must be greater than or
  4517  	// equal to 1.
  4518  	Duration int64 `json:"duration,omitempty"`
  4519  
  4520  	// DurationType: Duration type for which an asset will be displayed.
  4521  	// Applicable to the following creative types: all RICH_MEDIA.
  4522  	//
  4523  	// Possible values:
  4524  	//   "ASSET_DURATION_TYPE_AUTO"
  4525  	//   "ASSET_DURATION_TYPE_NONE"
  4526  	//   "ASSET_DURATION_TYPE_CUSTOM"
  4527  	DurationType string `json:"durationType,omitempty"`
  4528  
  4529  	// ExpandedDimension: Detected expanded dimension for video asset. This
  4530  	// is a read-only field. Applicable to the following creative types:
  4531  	// INSTREAM_VIDEO and all VPAID.
  4532  	ExpandedDimension *Size `json:"expandedDimension,omitempty"`
  4533  
  4534  	// FileSize: File size associated with this creative asset. This is a
  4535  	// read-only field. Applicable to all but the following creative types:
  4536  	// all REDIRECT and TRACKING_TEXT.
  4537  	FileSize int64 `json:"fileSize,omitempty,string"`
  4538  
  4539  	// FlashVersion: Flash version of the asset. This is a read-only field.
  4540  	// Applicable to the following creative types: FLASH_INPAGE, all
  4541  	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
  4542  	// asset type is not HTML_IMAGE.
  4543  	FlashVersion int64 `json:"flashVersion,omitempty"`
  4544  
  4545  	// FrameRate: Video frame rate for video asset in frames per second.
  4546  	// This is a read-only field. Applicable to the following creative
  4547  	// types: INSTREAM_VIDEO and all VPAID.
  4548  	FrameRate float64 `json:"frameRate,omitempty"`
  4549  
  4550  	// HideFlashObjects: Whether to hide Flash objects flag for an asset.
  4551  	// Applicable to the following creative types: all RICH_MEDIA.
  4552  	HideFlashObjects bool `json:"hideFlashObjects,omitempty"`
  4553  
  4554  	// HideSelectionBoxes: Whether to hide selection boxes flag for an
  4555  	// asset. Applicable to the following creative types: all RICH_MEDIA.
  4556  	HideSelectionBoxes bool `json:"hideSelectionBoxes,omitempty"`
  4557  
  4558  	// HorizontallyLocked: Whether the asset is horizontally locked. This is
  4559  	// a read-only field. Applicable to the following creative types: all
  4560  	// RICH_MEDIA.
  4561  	HorizontallyLocked bool `json:"horizontallyLocked,omitempty"`
  4562  
  4563  	// Id: Numeric ID of this creative asset. This is a required field and
  4564  	// should not be modified. Applicable to all but the following creative
  4565  	// types: all REDIRECT and TRACKING_TEXT.
  4566  	Id int64 `json:"id,omitempty,string"`
  4567  
  4568  	// IdDimensionValue: Dimension value for the ID of the asset. This is a
  4569  	// read-only, auto-generated field.
  4570  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4571  
  4572  	// MediaDuration: Detected duration for audio or video asset. This is a
  4573  	// read-only field. Applicable to the following creative types:
  4574  	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
  4575  	MediaDuration float64 `json:"mediaDuration,omitempty"`
  4576  
  4577  	// MimeType: Detected MIME type for audio or video asset. This is a
  4578  	// read-only field. Applicable to the following creative types:
  4579  	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
  4580  	MimeType string `json:"mimeType,omitempty"`
  4581  
  4582  	// Offset: Offset position for an asset in collapsed mode. This is a
  4583  	// read-only field. Applicable to the following creative types: all
  4584  	// RICH_MEDIA and all VPAID. Additionally, only applicable to assets
  4585  	// whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or
  4586  	// ASSET_DISPLAY_TYPE_PEEL_DOWN.
  4587  	Offset *OffsetPosition `json:"offset,omitempty"`
  4588  
  4589  	// Orientation: Orientation of video asset. This is a read-only,
  4590  	// auto-generated field.
  4591  	//
  4592  	// Possible values:
  4593  	//   "LANDSCAPE"
  4594  	//   "PORTRAIT"
  4595  	//   "SQUARE"
  4596  	Orientation string `json:"orientation,omitempty"`
  4597  
  4598  	// OriginalBackup: Whether the backup asset is original or changed by
  4599  	// the user in Campaign Manager. Applicable to the following creative
  4600  	// types: all RICH_MEDIA.
  4601  	OriginalBackup bool `json:"originalBackup,omitempty"`
  4602  
  4603  	// PoliteLoad: Whether this asset is used as a polite load asset.
  4604  	PoliteLoad bool `json:"politeLoad,omitempty"`
  4605  
  4606  	// Position: Offset position for an asset. Applicable to the following
  4607  	// creative types: all RICH_MEDIA.
  4608  	Position *OffsetPosition `json:"position,omitempty"`
  4609  
  4610  	// PositionLeftUnit: Offset left unit for an asset. This is a read-only
  4611  	// field. Applicable to the following creative types: all RICH_MEDIA.
  4612  	//
  4613  	// Possible values:
  4614  	//   "OFFSET_UNIT_PIXEL"
  4615  	//   "OFFSET_UNIT_PERCENT"
  4616  	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
  4617  	PositionLeftUnit string `json:"positionLeftUnit,omitempty"`
  4618  
  4619  	// PositionTopUnit: Offset top unit for an asset. This is a read-only
  4620  	// field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY.
  4621  	// Applicable to the following creative types: all RICH_MEDIA.
  4622  	//
  4623  	// Possible values:
  4624  	//   "OFFSET_UNIT_PIXEL"
  4625  	//   "OFFSET_UNIT_PERCENT"
  4626  	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
  4627  	PositionTopUnit string `json:"positionTopUnit,omitempty"`
  4628  
  4629  	// ProgressiveServingUrl: Progressive URL for video asset. This is a
  4630  	// read-only field. Applicable to the following creative types:
  4631  	// INSTREAM_VIDEO and all VPAID.
  4632  	ProgressiveServingUrl string `json:"progressiveServingUrl,omitempty"`
  4633  
  4634  	// Pushdown: Whether the asset pushes down other content. Applicable to
  4635  	// the following creative types: all RICH_MEDIA. Additionally, only
  4636  	// applicable when the asset offsets are 0, the collapsedSize.width
  4637  	// matches size.width, and the collapsedSize.height is less than
  4638  	// size.height.
  4639  	Pushdown bool `json:"pushdown,omitempty"`
  4640  
  4641  	// PushdownDuration: Pushdown duration in seconds for an asset.
  4642  	// Applicable to the following creative types: all
  4643  	// RICH_MEDIA.Additionally, only applicable when the asset pushdown
  4644  	// field is true, the offsets are 0, the collapsedSize.width matches
  4645  	// size.width, and the collapsedSize.height is less than size.height.
  4646  	// Acceptable values are 0 to 9.99, inclusive.
  4647  	PushdownDuration float64 `json:"pushdownDuration,omitempty"`
  4648  
  4649  	// Role: Role of the asset in relation to creative. Applicable to all
  4650  	// but the following creative types: all REDIRECT and TRACKING_TEXT.
  4651  	// This is a required field. PRIMARY applies to DISPLAY, FLASH_INPAGE,
  4652  	// HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may
  4653  	// contain multiple primary assets), and all VPAID creatives.
  4654  	// BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
  4655  	// and all VPAID creatives. Applicable to DISPLAY when the primary asset
  4656  	// type is not HTML_IMAGE. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply
  4657  	// to FLASH_INPAGE creatives. OTHER refers to assets from sources other
  4658  	// than Campaign Manager, such as Studio uploaded assets, applicable to
  4659  	// all RICH_MEDIA and all VPAID creatives. PARENT_VIDEO refers to videos
  4660  	// uploaded by the user in Campaign Manager and is applicable to
  4661  	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives. TRANSCODED_VIDEO
  4662  	// refers to videos transcoded by Campaign Manager from PARENT_VIDEO
  4663  	// assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
  4664  	// creatives. ALTERNATE_VIDEO refers to the Campaign Manager
  4665  	// representation of child asset videos from Studio, and is applicable
  4666  	// to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed
  4667  	// within Campaign Manager. For VPAID_LINEAR_VIDEO creatives,
  4668  	// PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are
  4669  	// marked active serve as backup in case the VPAID creative cannot be
  4670  	// served. Only PARENT_VIDEO assets can be added or removed for an
  4671  	// INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative. PARENT_AUDIO refers to
  4672  	// audios uploaded by the user in Campaign Manager and is applicable to
  4673  	// INSTREAM_AUDIO creatives. TRANSCODED_AUDIO refers to audios
  4674  	// transcoded by Campaign Manager from PARENT_AUDIO assets and is
  4675  	// applicable to INSTREAM_AUDIO creatives.
  4676  	//
  4677  	// Possible values:
  4678  	//   "PRIMARY"
  4679  	//   "BACKUP_IMAGE"
  4680  	//   "ADDITIONAL_IMAGE"
  4681  	//   "ADDITIONAL_FLASH"
  4682  	//   "PARENT_VIDEO"
  4683  	//   "TRANSCODED_VIDEO"
  4684  	//   "OTHER"
  4685  	//   "ALTERNATE_VIDEO"
  4686  	//   "PARENT_AUDIO"
  4687  	//   "TRANSCODED_AUDIO"
  4688  	Role string `json:"role,omitempty"`
  4689  
  4690  	// Size: Size associated with this creative asset. This is a required
  4691  	// field when applicable; however for IMAGE and FLASH_INPAGE, creatives
  4692  	// if left blank, this field will be automatically set using the actual
  4693  	// size of the associated image asset. Applicable to the following
  4694  	// creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER,
  4695  	// IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary
  4696  	// asset type is not HTML_IMAGE.
  4697  	Size *Size `json:"size,omitempty"`
  4698  
  4699  	// SslCompliant: Whether the asset is SSL-compliant. This is a read-only
  4700  	// field. Applicable to all but the following creative types: all
  4701  	// REDIRECT and TRACKING_TEXT.
  4702  	SslCompliant bool `json:"sslCompliant,omitempty"`
  4703  
  4704  	// StartTimeType: Initial wait time type before making the asset
  4705  	// visible. Applicable to the following creative types: all RICH_MEDIA.
  4706  	//
  4707  	// Possible values:
  4708  	//   "ASSET_START_TIME_TYPE_NONE"
  4709  	//   "ASSET_START_TIME_TYPE_CUSTOM"
  4710  	StartTimeType string `json:"startTimeType,omitempty"`
  4711  
  4712  	// StreamingServingUrl: Streaming URL for video asset. This is a
  4713  	// read-only field. Applicable to the following creative types:
  4714  	// INSTREAM_VIDEO and all VPAID.
  4715  	StreamingServingUrl string `json:"streamingServingUrl,omitempty"`
  4716  
  4717  	// Transparency: Whether the asset is transparent. Applicable to the
  4718  	// following creative types: all RICH_MEDIA. Additionally, only
  4719  	// applicable to HTML5 assets.
  4720  	Transparency bool `json:"transparency,omitempty"`
  4721  
  4722  	// VerticallyLocked: Whether the asset is vertically locked. This is a
  4723  	// read-only field. Applicable to the following creative types: all
  4724  	// RICH_MEDIA.
  4725  	VerticallyLocked bool `json:"verticallyLocked,omitempty"`
  4726  
  4727  	// WindowMode: Window mode options for flash assets. Applicable to the
  4728  	// following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
  4729  	// RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
  4730  	// RICH_MEDIA_INPAGE_FLOATING.
  4731  	//
  4732  	// Possible values:
  4733  	//   "OPAQUE"
  4734  	//   "WINDOW"
  4735  	//   "TRANSPARENT"
  4736  	WindowMode string `json:"windowMode,omitempty"`
  4737  
  4738  	// ZIndex: zIndex value of an asset. Applicable to the following
  4739  	// creative types: all RICH_MEDIA.Additionally, only applicable to
  4740  	// assets whose displayType is NOT one of the following types:
  4741  	// ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable
  4742  	// values are -999999999 to 999999999, inclusive.
  4743  	ZIndex int64 `json:"zIndex,omitempty"`
  4744  
  4745  	// ZipFilename: File name of zip file. This is a read-only field.
  4746  	// Applicable to the following creative types: HTML5_BANNER.
  4747  	ZipFilename string `json:"zipFilename,omitempty"`
  4748  
  4749  	// ZipFilesize: Size of zip file. This is a read-only field. Applicable
  4750  	// to the following creative types: HTML5_BANNER.
  4751  	ZipFilesize string `json:"zipFilesize,omitempty"`
  4752  
  4753  	// ForceSendFields is a list of field names (e.g. "ActionScript3") to
  4754  	// unconditionally include in API requests. By default, fields with
  4755  	// empty or default values are omitted from API requests. However, any
  4756  	// non-pointer, non-interface field appearing in ForceSendFields will be
  4757  	// sent to the server regardless of whether the field is empty or not.
  4758  	// This may be used to include empty fields in Patch requests.
  4759  	ForceSendFields []string `json:"-"`
  4760  
  4761  	// NullFields is a list of field names (e.g. "ActionScript3") to include
  4762  	// in API requests with the JSON null value. By default, fields with
  4763  	// empty values are omitted from API requests. However, any field with
  4764  	// an empty value appearing in NullFields will be sent to the server as
  4765  	// null. It is an error if a field in this list has a non-empty value.
  4766  	// This may be used to include null fields in Patch requests.
  4767  	NullFields []string `json:"-"`
  4768  }
  4769  
  4770  func (s *CreativeAsset) MarshalJSON() ([]byte, error) {
  4771  	type NoMethod CreativeAsset
  4772  	raw := NoMethod(*s)
  4773  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4774  }
  4775  
  4776  func (s *CreativeAsset) UnmarshalJSON(data []byte) error {
  4777  	type NoMethod CreativeAsset
  4778  	var s1 struct {
  4779  		FrameRate        gensupport.JSONFloat64 `json:"frameRate"`
  4780  		MediaDuration    gensupport.JSONFloat64 `json:"mediaDuration"`
  4781  		PushdownDuration gensupport.JSONFloat64 `json:"pushdownDuration"`
  4782  		*NoMethod
  4783  	}
  4784  	s1.NoMethod = (*NoMethod)(s)
  4785  	if err := json.Unmarshal(data, &s1); err != nil {
  4786  		return err
  4787  	}
  4788  	s.FrameRate = float64(s1.FrameRate)
  4789  	s.MediaDuration = float64(s1.MediaDuration)
  4790  	s.PushdownDuration = float64(s1.PushdownDuration)
  4791  	return nil
  4792  }
  4793  
  4794  // CreativeAssetId: Creative Asset ID.
  4795  type CreativeAssetId struct {
  4796  	// Name: Name of the creative asset. This is a required field while
  4797  	// inserting an asset. After insertion, this assetIdentifier is used to
  4798  	// identify the uploaded asset. Characters in the name must be
  4799  	// alphanumeric or one of the following: ".-_ ". Spaces are allowed.
  4800  	Name string `json:"name,omitempty"`
  4801  
  4802  	// Type: Type of asset to upload. This is a required field. FLASH and
  4803  	// IMAGE are no longer supported for new uploads. All image assets
  4804  	// should use HTML_IMAGE.
  4805  	//
  4806  	// Possible values:
  4807  	//   "IMAGE"
  4808  	//   "FLASH"
  4809  	//   "VIDEO"
  4810  	//   "HTML"
  4811  	//   "HTML_IMAGE"
  4812  	//   "AUDIO"
  4813  	Type string `json:"type,omitempty"`
  4814  
  4815  	// ForceSendFields is a list of field names (e.g. "Name") to
  4816  	// unconditionally include in API requests. By default, fields with
  4817  	// empty or default values are omitted from API requests. However, any
  4818  	// non-pointer, non-interface field appearing in ForceSendFields will be
  4819  	// sent to the server regardless of whether the field is empty or not.
  4820  	// This may be used to include empty fields in Patch requests.
  4821  	ForceSendFields []string `json:"-"`
  4822  
  4823  	// NullFields is a list of field names (e.g. "Name") to include in API
  4824  	// requests with the JSON null value. By default, fields with empty
  4825  	// values are omitted from API requests. However, any field with an
  4826  	// empty value appearing in NullFields will be sent to the server as
  4827  	// null. It is an error if a field in this list has a non-empty value.
  4828  	// This may be used to include null fields in Patch requests.
  4829  	NullFields []string `json:"-"`
  4830  }
  4831  
  4832  func (s *CreativeAssetId) MarshalJSON() ([]byte, error) {
  4833  	type NoMethod CreativeAssetId
  4834  	raw := NoMethod(*s)
  4835  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4836  }
  4837  
  4838  // CreativeAssetMetadata: CreativeAssets contains properties of a
  4839  // creative asset file which will be uploaded or has already been
  4840  // uploaded. Refer to the creative sample code for how to upload assets
  4841  // and insert a creative.
  4842  type CreativeAssetMetadata struct {
  4843  	// AssetIdentifier: ID of the creative asset. This is a required field.
  4844  	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
  4845  
  4846  	// ClickTags: List of detected click tags for assets. This is a
  4847  	// read-only, auto-generated field. This field is empty for a rich media
  4848  	// asset.
  4849  	ClickTags []*ClickTag `json:"clickTags,omitempty"`
  4850  
  4851  	// CounterCustomEvents: List of counter events configured for the asset.
  4852  	// This is a read-only, auto-generated field and only applicable to a
  4853  	// rich media asset.
  4854  	CounterCustomEvents []*CreativeCustomEvent `json:"counterCustomEvents,omitempty"`
  4855  
  4856  	// DetectedFeatures: List of feature dependencies for the creative asset
  4857  	// that are detected by Campaign Manager. Feature dependencies are
  4858  	// features that a browser must be able to support in order to render
  4859  	// your HTML5 creative correctly. This is a read-only, auto-generated
  4860  	// field.
  4861  	//
  4862  	// Possible values:
  4863  	//   "CSS_FONT_FACE"
  4864  	//   "CSS_BACKGROUND_SIZE"
  4865  	//   "CSS_BORDER_IMAGE"
  4866  	//   "CSS_BORDER_RADIUS"
  4867  	//   "CSS_BOX_SHADOW"
  4868  	//   "CSS_FLEX_BOX"
  4869  	//   "CSS_HSLA"
  4870  	//   "CSS_MULTIPLE_BGS"
  4871  	//   "CSS_OPACITY"
  4872  	//   "CSS_RGBA"
  4873  	//   "CSS_TEXT_SHADOW"
  4874  	//   "CSS_ANIMATIONS"
  4875  	//   "CSS_COLUMNS"
  4876  	//   "CSS_GENERATED_CONTENT"
  4877  	//   "CSS_GRADIENTS"
  4878  	//   "CSS_REFLECTIONS"
  4879  	//   "CSS_TRANSFORMS"
  4880  	//   "CSS_TRANSFORMS3D"
  4881  	//   "CSS_TRANSITIONS"
  4882  	//   "APPLICATION_CACHE"
  4883  	//   "CANVAS"
  4884  	//   "CANVAS_TEXT"
  4885  	//   "DRAG_AND_DROP"
  4886  	//   "HASH_CHANGE"
  4887  	//   "HISTORY"
  4888  	//   "AUDIO"
  4889  	//   "VIDEO"
  4890  	//   "INDEXED_DB"
  4891  	//   "INPUT_ATTR_AUTOCOMPLETE"
  4892  	//   "INPUT_ATTR_AUTOFOCUS"
  4893  	//   "INPUT_ATTR_LIST"
  4894  	//   "INPUT_ATTR_PLACEHOLDER"
  4895  	//   "INPUT_ATTR_MAX"
  4896  	//   "INPUT_ATTR_MIN"
  4897  	//   "INPUT_ATTR_MULTIPLE"
  4898  	//   "INPUT_ATTR_PATTERN"
  4899  	//   "INPUT_ATTR_REQUIRED"
  4900  	//   "INPUT_ATTR_STEP"
  4901  	//   "INPUT_TYPE_SEARCH"
  4902  	//   "INPUT_TYPE_TEL"
  4903  	//   "INPUT_TYPE_URL"
  4904  	//   "INPUT_TYPE_EMAIL"
  4905  	//   "INPUT_TYPE_DATETIME"
  4906  	//   "INPUT_TYPE_DATE"
  4907  	//   "INPUT_TYPE_MONTH"
  4908  	//   "INPUT_TYPE_WEEK"
  4909  	//   "INPUT_TYPE_TIME"
  4910  	//   "INPUT_TYPE_DATETIME_LOCAL"
  4911  	//   "INPUT_TYPE_NUMBER"
  4912  	//   "INPUT_TYPE_RANGE"
  4913  	//   "INPUT_TYPE_COLOR"
  4914  	//   "LOCAL_STORAGE"
  4915  	//   "POST_MESSAGE"
  4916  	//   "SESSION_STORAGE"
  4917  	//   "WEB_SOCKETS"
  4918  	//   "WEB_SQL_DATABASE"
  4919  	//   "WEB_WORKERS"
  4920  	//   "GEO_LOCATION"
  4921  	//   "INLINE_SVG"
  4922  	//   "SMIL"
  4923  	//   "SVG_HREF"
  4924  	//   "SVG_CLIP_PATHS"
  4925  	//   "TOUCH"
  4926  	//   "WEBGL"
  4927  	//   "SVG_FILTERS"
  4928  	//   "SVG_FE_IMAGE"
  4929  	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
  4930  
  4931  	// ExitCustomEvents: List of exit events configured for the asset. This
  4932  	// is a read-only, auto-generated field and only applicable to a rich
  4933  	// media asset.
  4934  	ExitCustomEvents []*CreativeCustomEvent `json:"exitCustomEvents,omitempty"`
  4935  
  4936  	// Id: Numeric ID of the asset. This is a read-only, auto-generated
  4937  	// field.
  4938  	Id int64 `json:"id,omitempty,string"`
  4939  
  4940  	// IdDimensionValue: Dimension value for the numeric ID of the asset.
  4941  	// This is a read-only, auto-generated field.
  4942  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4943  
  4944  	// Kind: Identifies what kind of resource this is. Value: the fixed
  4945  	// string "dfareporting#creativeAssetMetadata".
  4946  	Kind string `json:"kind,omitempty"`
  4947  
  4948  	// RichMedia: True if the uploaded asset is a rich media asset. This is
  4949  	// a read-only, auto-generated field.
  4950  	RichMedia bool `json:"richMedia,omitempty"`
  4951  
  4952  	// TimerCustomEvents: List of timer events configured for the asset.
  4953  	// This is a read-only, auto-generated field and only applicable to a
  4954  	// rich media asset.
  4955  	TimerCustomEvents []*CreativeCustomEvent `json:"timerCustomEvents,omitempty"`
  4956  
  4957  	// WarnedValidationRules: Rules validated during code generation that
  4958  	// generated a warning. This is a read-only, auto-generated field.
  4959  	// Possible values are: - "ADMOB_REFERENCED" -
  4960  	// "ASSET_FORMAT_UNSUPPORTED_DCM" - "ASSET_INVALID" -
  4961  	// "CLICK_TAG_HARD_CODED" - "CLICK_TAG_INVALID" - "CLICK_TAG_IN_GWD" -
  4962  	// "CLICK_TAG_MISSING" - "CLICK_TAG_MORE_THAN_ONE" -
  4963  	// "CLICK_TAG_NON_TOP_LEVEL" - "COMPONENT_UNSUPPORTED_DCM" -
  4964  	// "ENABLER_UNSUPPORTED_METHOD_DCM" - "EXTERNAL_FILE_REFERENCED" -
  4965  	// "FILE_DETAIL_EMPTY" - "FILE_TYPE_INVALID" - "GWD_PROPERTIES_INVALID"
  4966  	// - "HTML5_FEATURE_UNSUPPORTED" - "LINKED_FILE_NOT_FOUND" -
  4967  	// "MAX_FLASH_VERSION_11" - "MRAID_REFERENCED" - "NOT_SSL_COMPLIANT" -
  4968  	// "ORPHANED_ASSET" - "PRIMARY_HTML_MISSING" - "SVG_INVALID" -
  4969  	// "ZIP_INVALID"
  4970  	//
  4971  	// Possible values:
  4972  	//   "CLICK_TAG_NON_TOP_LEVEL"
  4973  	//   "CLICK_TAG_MISSING"
  4974  	//   "CLICK_TAG_MORE_THAN_ONE"
  4975  	//   "CLICK_TAG_INVALID"
  4976  	//   "ORPHANED_ASSET"
  4977  	//   "PRIMARY_HTML_MISSING"
  4978  	//   "EXTERNAL_FILE_REFERENCED"
  4979  	//   "MRAID_REFERENCED"
  4980  	//   "ADMOB_REFERENCED"
  4981  	//   "FILE_TYPE_INVALID"
  4982  	//   "ZIP_INVALID"
  4983  	//   "LINKED_FILE_NOT_FOUND"
  4984  	//   "MAX_FLASH_VERSION_11"
  4985  	//   "NOT_SSL_COMPLIANT"
  4986  	//   "FILE_DETAIL_EMPTY"
  4987  	//   "ASSET_INVALID"
  4988  	//   "GWD_PROPERTIES_INVALID"
  4989  	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
  4990  	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
  4991  	//   "COMPONENT_UNSUPPORTED_DCM"
  4992  	//   "HTML5_FEATURE_UNSUPPORTED"
  4993  	//   "CLICK_TAG_IN_GWD"
  4994  	//   "CLICK_TAG_HARD_CODED"
  4995  	//   "SVG_INVALID"
  4996  	//   "CLICK_TAG_IN_RICH_MEDIA"
  4997  	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
  4998  
  4999  	// ServerResponse contains the HTTP response code and headers from the
  5000  	// server.
  5001  	googleapi.ServerResponse `json:"-"`
  5002  
  5003  	// ForceSendFields is a list of field names (e.g. "AssetIdentifier") to
  5004  	// unconditionally include in API requests. By default, fields with
  5005  	// empty or default values are omitted from API requests. However, any
  5006  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5007  	// sent to the server regardless of whether the field is empty or not.
  5008  	// This may be used to include empty fields in Patch requests.
  5009  	ForceSendFields []string `json:"-"`
  5010  
  5011  	// NullFields is a list of field names (e.g. "AssetIdentifier") to
  5012  	// include in API requests with the JSON null value. By default, fields
  5013  	// with empty values are omitted from API requests. However, any field
  5014  	// with an empty value appearing in NullFields will be sent to the
  5015  	// server as null. It is an error if a field in this list has a
  5016  	// non-empty value. This may be used to include null fields in Patch
  5017  	// requests.
  5018  	NullFields []string `json:"-"`
  5019  }
  5020  
  5021  func (s *CreativeAssetMetadata) MarshalJSON() ([]byte, error) {
  5022  	type NoMethod CreativeAssetMetadata
  5023  	raw := NoMethod(*s)
  5024  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5025  }
  5026  
  5027  // CreativeAssetSelection: Encapsulates the list of rules for asset
  5028  // selection and a default asset in case none of the rules match.
  5029  // Applicable to INSTREAM_VIDEO creatives.
  5030  type CreativeAssetSelection struct {
  5031  	// DefaultAssetId: A creativeAssets[].id. This should refer to one of
  5032  	// the parent assets in this creative, and will be served if none of the
  5033  	// rules match. This is a required field.
  5034  	DefaultAssetId int64 `json:"defaultAssetId,omitempty,string"`
  5035  
  5036  	// Rules: Rules determine which asset will be served to a viewer. Rules
  5037  	// will be evaluated in the order in which they are stored in this list.
  5038  	// This list must contain at least one rule. Applicable to
  5039  	// INSTREAM_VIDEO creatives.
  5040  	Rules []*Rule `json:"rules,omitempty"`
  5041  
  5042  	// ForceSendFields is a list of field names (e.g. "DefaultAssetId") to
  5043  	// unconditionally include in API requests. By default, fields with
  5044  	// empty or default values are omitted from API requests. However, any
  5045  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5046  	// sent to the server regardless of whether the field is empty or not.
  5047  	// This may be used to include empty fields in Patch requests.
  5048  	ForceSendFields []string `json:"-"`
  5049  
  5050  	// NullFields is a list of field names (e.g. "DefaultAssetId") to
  5051  	// include in API requests with the JSON null value. By default, fields
  5052  	// with empty values are omitted from API requests. However, any field
  5053  	// with an empty value appearing in NullFields will be sent to the
  5054  	// server as null. It is an error if a field in this list has a
  5055  	// non-empty value. This may be used to include null fields in Patch
  5056  	// requests.
  5057  	NullFields []string `json:"-"`
  5058  }
  5059  
  5060  func (s *CreativeAssetSelection) MarshalJSON() ([]byte, error) {
  5061  	type NoMethod CreativeAssetSelection
  5062  	raw := NoMethod(*s)
  5063  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5064  }
  5065  
  5066  // CreativeAssignment: Creative Assignment.
  5067  type CreativeAssignment struct {
  5068  	// Active: Whether this creative assignment is active. When true, the
  5069  	// creative will be included in the ad's rotation.
  5070  	Active bool `json:"active,omitempty"`
  5071  
  5072  	// ApplyEventTags: Whether applicable event tags should fire when this
  5073  	// creative assignment is rendered. If this value is unset when the ad
  5074  	// is inserted or updated, it will default to true for all creative
  5075  	// types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT,
  5076  	// and INSTREAM_VIDEO.
  5077  	ApplyEventTags bool `json:"applyEventTags,omitempty"`
  5078  
  5079  	// ClickThroughUrl: Click-through URL of the creative assignment.
  5080  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  5081  
  5082  	// CompanionCreativeOverrides: Companion creative overrides for this
  5083  	// creative assignment. Applicable to video ads.
  5084  	CompanionCreativeOverrides []*CompanionClickThroughOverride `json:"companionCreativeOverrides,omitempty"`
  5085  
  5086  	// CreativeGroupAssignments: Creative group assignments for this
  5087  	// creative assignment. Only one assignment per creative group number is
  5088  	// allowed for a maximum of two assignments.
  5089  	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
  5090  
  5091  	// CreativeId: ID of the creative to be assigned. This is a required
  5092  	// field.
  5093  	CreativeId int64 `json:"creativeId,omitempty,string"`
  5094  
  5095  	// CreativeIdDimensionValue: Dimension value for the ID of the creative.
  5096  	// This is a read-only, auto-generated field.
  5097  	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
  5098  
  5099  	EndTime string `json:"endTime,omitempty"`
  5100  
  5101  	// RichMediaExitOverrides: Rich media exit overrides for this creative
  5102  	// assignment. Applicable when the creative type is any of the
  5103  	// following: - DISPLAY - RICH_MEDIA_INPAGE - RICH_MEDIA_INPAGE_FLOATING
  5104  	// - RICH_MEDIA_IM_EXPAND - RICH_MEDIA_EXPANDING -
  5105  	// RICH_MEDIA_INTERSTITIAL_FLOAT - RICH_MEDIA_MOBILE_IN_APP -
  5106  	// RICH_MEDIA_MULTI_FLOATING - RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR -
  5107  	// VPAID_NON_LINEAR
  5108  	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
  5109  
  5110  	// Sequence: Sequence number of the creative assignment, applicable when
  5111  	// the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable
  5112  	// values are 1 to 65535, inclusive.
  5113  	Sequence int64 `json:"sequence,omitempty"`
  5114  
  5115  	// SslCompliant: Whether the creative to be assigned is SSL-compliant.
  5116  	// This is a read-only field that is auto-generated when the ad is
  5117  	// inserted or updated.
  5118  	SslCompliant bool `json:"sslCompliant,omitempty"`
  5119  
  5120  	StartTime string `json:"startTime,omitempty"`
  5121  
  5122  	// Weight: Weight of the creative assignment, applicable when the
  5123  	// rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater
  5124  	// than or equal to 1.
  5125  	Weight int64 `json:"weight,omitempty"`
  5126  
  5127  	// ForceSendFields is a list of field names (e.g. "Active") to
  5128  	// unconditionally include in API requests. By default, fields with
  5129  	// empty or default values are omitted from API requests. However, any
  5130  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5131  	// sent to the server regardless of whether the field is empty or not.
  5132  	// This may be used to include empty fields in Patch requests.
  5133  	ForceSendFields []string `json:"-"`
  5134  
  5135  	// NullFields is a list of field names (e.g. "Active") to include in API
  5136  	// requests with the JSON null value. By default, fields with empty
  5137  	// values are omitted from API requests. However, any field with an
  5138  	// empty value appearing in NullFields will be sent to the server as
  5139  	// null. It is an error if a field in this list has a non-empty value.
  5140  	// This may be used to include null fields in Patch requests.
  5141  	NullFields []string `json:"-"`
  5142  }
  5143  
  5144  func (s *CreativeAssignment) MarshalJSON() ([]byte, error) {
  5145  	type NoMethod CreativeAssignment
  5146  	raw := NoMethod(*s)
  5147  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5148  }
  5149  
  5150  // CreativeClickThroughUrl: Click-through URL
  5151  type CreativeClickThroughUrl struct {
  5152  	// ComputedClickThroughUrl: Read-only convenience field representing the
  5153  	// actual URL that will be used for this click-through. The URL is
  5154  	// computed as follows: - If landingPageId is specified then that
  5155  	// landing page's URL is assigned to this field. - Otherwise, the
  5156  	// customClickThroughUrl is assigned to this field.
  5157  	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
  5158  
  5159  	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
  5160  	// landingPageId field is left unset.
  5161  	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
  5162  
  5163  	// LandingPageId: ID of the landing page for the click-through URL.
  5164  	LandingPageId int64 `json:"landingPageId,omitempty,string"`
  5165  
  5166  	// ForceSendFields is a list of field names (e.g.
  5167  	// "ComputedClickThroughUrl") to unconditionally include in API
  5168  	// requests. By default, fields with empty or default values are omitted
  5169  	// from API requests. However, any non-pointer, non-interface field
  5170  	// appearing in ForceSendFields will be sent to the server regardless of
  5171  	// whether the field is empty or not. This may be used to include empty
  5172  	// fields in Patch requests.
  5173  	ForceSendFields []string `json:"-"`
  5174  
  5175  	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
  5176  	// to include in API requests with the JSON null value. By default,
  5177  	// fields with empty values are omitted from API requests. However, any
  5178  	// field with an empty value appearing in NullFields will be sent to the
  5179  	// server as null. It is an error if a field in this list has a
  5180  	// non-empty value. This may be used to include null fields in Patch
  5181  	// requests.
  5182  	NullFields []string `json:"-"`
  5183  }
  5184  
  5185  func (s *CreativeClickThroughUrl) MarshalJSON() ([]byte, error) {
  5186  	type NoMethod CreativeClickThroughUrl
  5187  	raw := NoMethod(*s)
  5188  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5189  }
  5190  
  5191  // CreativeCustomEvent: Creative Custom Event.
  5192  type CreativeCustomEvent struct {
  5193  	// AdvertiserCustomEventId: Unique ID of this event used by Reporting
  5194  	// and Data Transfer. This is a read-only field.
  5195  	AdvertiserCustomEventId int64 `json:"advertiserCustomEventId,omitempty,string"`
  5196  
  5197  	// AdvertiserCustomEventName: User-entered name for the event.
  5198  	AdvertiserCustomEventName string `json:"advertiserCustomEventName,omitempty"`
  5199  
  5200  	// AdvertiserCustomEventType: Type of the event. This is a read-only
  5201  	// field.
  5202  	//
  5203  	// Possible values:
  5204  	//   "ADVERTISER_EVENT_TIMER"
  5205  	//   "ADVERTISER_EVENT_EXIT"
  5206  	//   "ADVERTISER_EVENT_COUNTER"
  5207  	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
  5208  
  5209  	// ArtworkLabel: Artwork label column, used to link events in Campaign
  5210  	// Manager back to events in Studio. This is a required field and should
  5211  	// not be modified after insertion.
  5212  	ArtworkLabel string `json:"artworkLabel,omitempty"`
  5213  
  5214  	// ArtworkType: Artwork type used by the creative.This is a read-only
  5215  	// field.
  5216  	//
  5217  	// Possible values:
  5218  	//   "ARTWORK_TYPE_FLASH"
  5219  	//   "ARTWORK_TYPE_HTML5"
  5220  	//   "ARTWORK_TYPE_MIXED"
  5221  	//   "ARTWORK_TYPE_IMAGE"
  5222  	ArtworkType string `json:"artworkType,omitempty"`
  5223  
  5224  	// ExitClickThroughUrl: Exit click-through URL for the event. This field
  5225  	// is used only for exit events.
  5226  	ExitClickThroughUrl *CreativeClickThroughUrl `json:"exitClickThroughUrl,omitempty"`
  5227  
  5228  	// Id: ID of this event. This is a required field and should not be
  5229  	// modified after insertion.
  5230  	Id int64 `json:"id,omitempty,string"`
  5231  
  5232  	// PopupWindowProperties: Properties for rich media popup windows. This
  5233  	// field is used only for exit events.
  5234  	PopupWindowProperties *PopupWindowProperties `json:"popupWindowProperties,omitempty"`
  5235  
  5236  	// TargetType: Target type used by the event.
  5237  	//
  5238  	// Possible values:
  5239  	//   "TARGET_BLANK"
  5240  	//   "TARGET_TOP"
  5241  	//   "TARGET_SELF"
  5242  	//   "TARGET_PARENT"
  5243  	//   "TARGET_POPUP"
  5244  	TargetType string `json:"targetType,omitempty"`
  5245  
  5246  	// VideoReportingId: Video reporting ID, used to differentiate multiple
  5247  	// videos in a single creative. This is a read-only field.
  5248  	VideoReportingId string `json:"videoReportingId,omitempty"`
  5249  
  5250  	// ForceSendFields is a list of field names (e.g.
  5251  	// "AdvertiserCustomEventId") to unconditionally include in API
  5252  	// requests. By default, fields with empty or default values are omitted
  5253  	// from API requests. However, any non-pointer, non-interface field
  5254  	// appearing in ForceSendFields will be sent to the server regardless of
  5255  	// whether the field is empty or not. This may be used to include empty
  5256  	// fields in Patch requests.
  5257  	ForceSendFields []string `json:"-"`
  5258  
  5259  	// NullFields is a list of field names (e.g. "AdvertiserCustomEventId")
  5260  	// to include in API requests with the JSON null value. By default,
  5261  	// fields with empty values are omitted from API requests. However, any
  5262  	// field with an empty value appearing in NullFields will be sent to the
  5263  	// server as null. It is an error if a field in this list has a
  5264  	// non-empty value. This may be used to include null fields in Patch
  5265  	// requests.
  5266  	NullFields []string `json:"-"`
  5267  }
  5268  
  5269  func (s *CreativeCustomEvent) MarshalJSON() ([]byte, error) {
  5270  	type NoMethod CreativeCustomEvent
  5271  	raw := NoMethod(*s)
  5272  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5273  }
  5274  
  5275  // CreativeField: Contains properties of a creative field.
  5276  type CreativeField struct {
  5277  	// AccountId: Account ID of this creative field. This is a read-only
  5278  	// field that can be left blank.
  5279  	AccountId int64 `json:"accountId,omitempty,string"`
  5280  
  5281  	// AdvertiserId: Advertiser ID of this creative field. This is a
  5282  	// required field on insertion.
  5283  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5284  
  5285  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  5286  	// advertiser. This is a read-only, auto-generated field.
  5287  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  5288  
  5289  	// Id: ID of this creative field. This is a read-only, auto-generated
  5290  	// field.
  5291  	Id int64 `json:"id,omitempty,string"`
  5292  
  5293  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5294  	// string "dfareporting#creativeField".
  5295  	Kind string `json:"kind,omitempty"`
  5296  
  5297  	// Name: Name of this creative field. This is a required field and must
  5298  	// be less than 256 characters long and unique among creative fields of
  5299  	// the same advertiser.
  5300  	Name string `json:"name,omitempty"`
  5301  
  5302  	// SubaccountId: Subaccount ID of this creative field. This is a
  5303  	// read-only field that can be left blank.
  5304  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  5305  
  5306  	// ServerResponse contains the HTTP response code and headers from the
  5307  	// server.
  5308  	googleapi.ServerResponse `json:"-"`
  5309  
  5310  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  5311  	// unconditionally include in API requests. By default, fields with
  5312  	// empty or default values are omitted from API requests. However, any
  5313  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5314  	// sent to the server regardless of whether the field is empty or not.
  5315  	// This may be used to include empty fields in Patch requests.
  5316  	ForceSendFields []string `json:"-"`
  5317  
  5318  	// NullFields is a list of field names (e.g. "AccountId") to include in
  5319  	// API requests with the JSON null value. By default, fields with empty
  5320  	// values are omitted from API requests. However, any field with an
  5321  	// empty value appearing in NullFields will be sent to the server as
  5322  	// null. It is an error if a field in this list has a non-empty value.
  5323  	// This may be used to include null fields in Patch requests.
  5324  	NullFields []string `json:"-"`
  5325  }
  5326  
  5327  func (s *CreativeField) MarshalJSON() ([]byte, error) {
  5328  	type NoMethod CreativeField
  5329  	raw := NoMethod(*s)
  5330  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5331  }
  5332  
  5333  // CreativeFieldAssignment: Creative Field Assignment.
  5334  type CreativeFieldAssignment struct {
  5335  	// CreativeFieldId: ID of the creative field.
  5336  	CreativeFieldId int64 `json:"creativeFieldId,omitempty,string"`
  5337  
  5338  	// CreativeFieldValueId: ID of the creative field value.
  5339  	CreativeFieldValueId int64 `json:"creativeFieldValueId,omitempty,string"`
  5340  
  5341  	// ForceSendFields is a list of field names (e.g. "CreativeFieldId") to
  5342  	// unconditionally include in API requests. By default, fields with
  5343  	// empty or default values are omitted from API requests. However, any
  5344  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5345  	// sent to the server regardless of whether the field is empty or not.
  5346  	// This may be used to include empty fields in Patch requests.
  5347  	ForceSendFields []string `json:"-"`
  5348  
  5349  	// NullFields is a list of field names (e.g. "CreativeFieldId") to
  5350  	// include in API requests with the JSON null value. By default, fields
  5351  	// with empty values are omitted from API requests. However, any field
  5352  	// with an empty value appearing in NullFields will be sent to the
  5353  	// server as null. It is an error if a field in this list has a
  5354  	// non-empty value. This may be used to include null fields in Patch
  5355  	// requests.
  5356  	NullFields []string `json:"-"`
  5357  }
  5358  
  5359  func (s *CreativeFieldAssignment) MarshalJSON() ([]byte, error) {
  5360  	type NoMethod CreativeFieldAssignment
  5361  	raw := NoMethod(*s)
  5362  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5363  }
  5364  
  5365  // CreativeFieldValue: Contains properties of a creative field value.
  5366  type CreativeFieldValue struct {
  5367  	// Id: ID of this creative field value. This is a read-only,
  5368  	// auto-generated field.
  5369  	Id int64 `json:"id,omitempty,string"`
  5370  
  5371  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5372  	// string "dfareporting#creativeFieldValue".
  5373  	Kind string `json:"kind,omitempty"`
  5374  
  5375  	// Value: Value of this creative field value. It needs to be less than
  5376  	// 256 characters in length and unique per creative field.
  5377  	Value string `json:"value,omitempty"`
  5378  
  5379  	// ServerResponse contains the HTTP response code and headers from the
  5380  	// server.
  5381  	googleapi.ServerResponse `json:"-"`
  5382  
  5383  	// ForceSendFields is a list of field names (e.g. "Id") to
  5384  	// unconditionally include in API requests. By default, fields with
  5385  	// empty or default values are omitted from API requests. However, any
  5386  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5387  	// sent to the server regardless of whether the field is empty or not.
  5388  	// This may be used to include empty fields in Patch requests.
  5389  	ForceSendFields []string `json:"-"`
  5390  
  5391  	// NullFields is a list of field names (e.g. "Id") to include in API
  5392  	// requests with the JSON null value. By default, fields with empty
  5393  	// values are omitted from API requests. However, any field with an
  5394  	// empty value appearing in NullFields will be sent to the server as
  5395  	// null. It is an error if a field in this list has a non-empty value.
  5396  	// This may be used to include null fields in Patch requests.
  5397  	NullFields []string `json:"-"`
  5398  }
  5399  
  5400  func (s *CreativeFieldValue) MarshalJSON() ([]byte, error) {
  5401  	type NoMethod CreativeFieldValue
  5402  	raw := NoMethod(*s)
  5403  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5404  }
  5405  
  5406  // CreativeFieldValuesListResponse: Creative Field Value List Response
  5407  type CreativeFieldValuesListResponse struct {
  5408  	// CreativeFieldValues: Creative field value collection.
  5409  	CreativeFieldValues []*CreativeFieldValue `json:"creativeFieldValues,omitempty"`
  5410  
  5411  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5412  	// string "dfareporting#creativeFieldValuesListResponse".
  5413  	Kind string `json:"kind,omitempty"`
  5414  
  5415  	// NextPageToken: Pagination token to be used for the next list
  5416  	// operation.
  5417  	NextPageToken string `json:"nextPageToken,omitempty"`
  5418  
  5419  	// ServerResponse contains the HTTP response code and headers from the
  5420  	// server.
  5421  	googleapi.ServerResponse `json:"-"`
  5422  
  5423  	// ForceSendFields is a list of field names (e.g. "CreativeFieldValues")
  5424  	// to unconditionally include in API requests. By default, fields with
  5425  	// empty or default values are omitted from API requests. However, any
  5426  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5427  	// sent to the server regardless of whether the field is empty or not.
  5428  	// This may be used to include empty fields in Patch requests.
  5429  	ForceSendFields []string `json:"-"`
  5430  
  5431  	// NullFields is a list of field names (e.g. "CreativeFieldValues") to
  5432  	// include in API requests with the JSON null value. By default, fields
  5433  	// with empty values are omitted from API requests. However, any field
  5434  	// with an empty value appearing in NullFields will be sent to the
  5435  	// server as null. It is an error if a field in this list has a
  5436  	// non-empty value. This may be used to include null fields in Patch
  5437  	// requests.
  5438  	NullFields []string `json:"-"`
  5439  }
  5440  
  5441  func (s *CreativeFieldValuesListResponse) MarshalJSON() ([]byte, error) {
  5442  	type NoMethod CreativeFieldValuesListResponse
  5443  	raw := NoMethod(*s)
  5444  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5445  }
  5446  
  5447  // CreativeFieldsListResponse: Creative Field List Response
  5448  type CreativeFieldsListResponse struct {
  5449  	// CreativeFields: Creative field collection.
  5450  	CreativeFields []*CreativeField `json:"creativeFields,omitempty"`
  5451  
  5452  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5453  	// string "dfareporting#creativeFieldsListResponse".
  5454  	Kind string `json:"kind,omitempty"`
  5455  
  5456  	// NextPageToken: Pagination token to be used for the next list
  5457  	// operation.
  5458  	NextPageToken string `json:"nextPageToken,omitempty"`
  5459  
  5460  	// ServerResponse contains the HTTP response code and headers from the
  5461  	// server.
  5462  	googleapi.ServerResponse `json:"-"`
  5463  
  5464  	// ForceSendFields is a list of field names (e.g. "CreativeFields") to
  5465  	// unconditionally include in API requests. By default, fields with
  5466  	// empty or default values are omitted from API requests. However, any
  5467  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5468  	// sent to the server regardless of whether the field is empty or not.
  5469  	// This may be used to include empty fields in Patch requests.
  5470  	ForceSendFields []string `json:"-"`
  5471  
  5472  	// NullFields is a list of field names (e.g. "CreativeFields") to
  5473  	// include in API requests with the JSON null value. By default, fields
  5474  	// with empty values are omitted from API requests. However, any field
  5475  	// with an empty value appearing in NullFields will be sent to the
  5476  	// server as null. It is an error if a field in this list has a
  5477  	// non-empty value. This may be used to include null fields in Patch
  5478  	// requests.
  5479  	NullFields []string `json:"-"`
  5480  }
  5481  
  5482  func (s *CreativeFieldsListResponse) MarshalJSON() ([]byte, error) {
  5483  	type NoMethod CreativeFieldsListResponse
  5484  	raw := NoMethod(*s)
  5485  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5486  }
  5487  
  5488  // CreativeGroup: Contains properties of a creative group.
  5489  type CreativeGroup struct {
  5490  	// AccountId: Account ID of this creative group. This is a read-only
  5491  	// field that can be left blank.
  5492  	AccountId int64 `json:"accountId,omitempty,string"`
  5493  
  5494  	// AdvertiserId: Advertiser ID of this creative group. This is a
  5495  	// required field on insertion.
  5496  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5497  
  5498  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  5499  	// advertiser. This is a read-only, auto-generated field.
  5500  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  5501  
  5502  	// GroupNumber: Subgroup of the creative group. Assign your creative
  5503  	// groups to a subgroup in order to filter or manage them more easily.
  5504  	// This field is required on insertion and is read-only after insertion.
  5505  	// Acceptable values are 1 to 2, inclusive.
  5506  	GroupNumber int64 `json:"groupNumber,omitempty"`
  5507  
  5508  	// Id: ID of this creative group. This is a read-only, auto-generated
  5509  	// field.
  5510  	Id int64 `json:"id,omitempty,string"`
  5511  
  5512  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5513  	// string "dfareporting#creativeGroup".
  5514  	Kind string `json:"kind,omitempty"`
  5515  
  5516  	// Name: Name of this creative group. This is a required field and must
  5517  	// be less than 256 characters long and unique among creative groups of
  5518  	// the same advertiser.
  5519  	Name string `json:"name,omitempty"`
  5520  
  5521  	// SubaccountId: Subaccount ID of this creative group. This is a
  5522  	// read-only field that can be left blank.
  5523  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  5524  
  5525  	// ServerResponse contains the HTTP response code and headers from the
  5526  	// server.
  5527  	googleapi.ServerResponse `json:"-"`
  5528  
  5529  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  5530  	// unconditionally include in API requests. By default, fields with
  5531  	// empty or default values are omitted from API requests. However, any
  5532  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5533  	// sent to the server regardless of whether the field is empty or not.
  5534  	// This may be used to include empty fields in Patch requests.
  5535  	ForceSendFields []string `json:"-"`
  5536  
  5537  	// NullFields is a list of field names (e.g. "AccountId") to include in
  5538  	// API requests with the JSON null value. By default, fields with empty
  5539  	// values are omitted from API requests. However, any field with an
  5540  	// empty value appearing in NullFields will be sent to the server as
  5541  	// null. It is an error if a field in this list has a non-empty value.
  5542  	// This may be used to include null fields in Patch requests.
  5543  	NullFields []string `json:"-"`
  5544  }
  5545  
  5546  func (s *CreativeGroup) MarshalJSON() ([]byte, error) {
  5547  	type NoMethod CreativeGroup
  5548  	raw := NoMethod(*s)
  5549  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5550  }
  5551  
  5552  // CreativeGroupAssignment: Creative Group Assignment.
  5553  type CreativeGroupAssignment struct {
  5554  	// CreativeGroupId: ID of the creative group to be assigned.
  5555  	CreativeGroupId int64 `json:"creativeGroupId,omitempty,string"`
  5556  
  5557  	// CreativeGroupNumber: Creative group number of the creative group
  5558  	// assignment.
  5559  	//
  5560  	// Possible values:
  5561  	//   "CREATIVE_GROUP_ONE"
  5562  	//   "CREATIVE_GROUP_TWO"
  5563  	CreativeGroupNumber string `json:"creativeGroupNumber,omitempty"`
  5564  
  5565  	// ForceSendFields is a list of field names (e.g. "CreativeGroupId") to
  5566  	// unconditionally include in API requests. By default, fields with
  5567  	// empty or default values are omitted from API requests. However, any
  5568  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5569  	// sent to the server regardless of whether the field is empty or not.
  5570  	// This may be used to include empty fields in Patch requests.
  5571  	ForceSendFields []string `json:"-"`
  5572  
  5573  	// NullFields is a list of field names (e.g. "CreativeGroupId") to
  5574  	// include in API requests with the JSON null value. By default, fields
  5575  	// with empty values are omitted from API requests. However, any field
  5576  	// with an empty value appearing in NullFields will be sent to the
  5577  	// server as null. It is an error if a field in this list has a
  5578  	// non-empty value. This may be used to include null fields in Patch
  5579  	// requests.
  5580  	NullFields []string `json:"-"`
  5581  }
  5582  
  5583  func (s *CreativeGroupAssignment) MarshalJSON() ([]byte, error) {
  5584  	type NoMethod CreativeGroupAssignment
  5585  	raw := NoMethod(*s)
  5586  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5587  }
  5588  
  5589  // CreativeGroupsListResponse: Creative Group List Response
  5590  type CreativeGroupsListResponse struct {
  5591  	// CreativeGroups: Creative group collection.
  5592  	CreativeGroups []*CreativeGroup `json:"creativeGroups,omitempty"`
  5593  
  5594  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5595  	// string "dfareporting#creativeGroupsListResponse".
  5596  	Kind string `json:"kind,omitempty"`
  5597  
  5598  	// NextPageToken: Pagination token to be used for the next list
  5599  	// operation.
  5600  	NextPageToken string `json:"nextPageToken,omitempty"`
  5601  
  5602  	// ServerResponse contains the HTTP response code and headers from the
  5603  	// server.
  5604  	googleapi.ServerResponse `json:"-"`
  5605  
  5606  	// ForceSendFields is a list of field names (e.g. "CreativeGroups") to
  5607  	// unconditionally include in API requests. By default, fields with
  5608  	// empty or default values are omitted from API requests. However, any
  5609  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5610  	// sent to the server regardless of whether the field is empty or not.
  5611  	// This may be used to include empty fields in Patch requests.
  5612  	ForceSendFields []string `json:"-"`
  5613  
  5614  	// NullFields is a list of field names (e.g. "CreativeGroups") to
  5615  	// include in API requests with the JSON null value. By default, fields
  5616  	// with empty values are omitted from API requests. However, any field
  5617  	// with an empty value appearing in NullFields will be sent to the
  5618  	// server as null. It is an error if a field in this list has a
  5619  	// non-empty value. This may be used to include null fields in Patch
  5620  	// requests.
  5621  	NullFields []string `json:"-"`
  5622  }
  5623  
  5624  func (s *CreativeGroupsListResponse) MarshalJSON() ([]byte, error) {
  5625  	type NoMethod CreativeGroupsListResponse
  5626  	raw := NoMethod(*s)
  5627  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5628  }
  5629  
  5630  // CreativeOptimizationConfiguration: Creative optimization settings.
  5631  type CreativeOptimizationConfiguration struct {
  5632  	// Id: ID of this creative optimization config. This field is
  5633  	// auto-generated when the campaign is inserted or updated. It can be
  5634  	// null for existing campaigns.
  5635  	Id int64 `json:"id,omitempty,string"`
  5636  
  5637  	// Name: Name of this creative optimization config. This is a required
  5638  	// field and must be less than 129 characters long.
  5639  	Name string `json:"name,omitempty"`
  5640  
  5641  	// OptimizationActivitys: List of optimization activities associated
  5642  	// with this configuration.
  5643  	OptimizationActivitys []*OptimizationActivity `json:"optimizationActivitys,omitempty"`
  5644  
  5645  	// OptimizationModel: Optimization model for this configuration.
  5646  	//
  5647  	// Possible values:
  5648  	//   "CLICK"
  5649  	//   "POST_CLICK"
  5650  	//   "POST_IMPRESSION"
  5651  	//   "POST_CLICK_AND_IMPRESSION"
  5652  	//   "VIDEO_COMPLETION"
  5653  	OptimizationModel string `json:"optimizationModel,omitempty"`
  5654  
  5655  	// ForceSendFields is a list of field names (e.g. "Id") to
  5656  	// unconditionally include in API requests. By default, fields with
  5657  	// empty or default values are omitted from API requests. However, any
  5658  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5659  	// sent to the server regardless of whether the field is empty or not.
  5660  	// This may be used to include empty fields in Patch requests.
  5661  	ForceSendFields []string `json:"-"`
  5662  
  5663  	// NullFields is a list of field names (e.g. "Id") to include in API
  5664  	// requests with the JSON null value. By default, fields with empty
  5665  	// values are omitted from API requests. However, any field with an
  5666  	// empty value appearing in NullFields will be sent to the server as
  5667  	// null. It is an error if a field in this list has a non-empty value.
  5668  	// This may be used to include null fields in Patch requests.
  5669  	NullFields []string `json:"-"`
  5670  }
  5671  
  5672  func (s *CreativeOptimizationConfiguration) MarshalJSON() ([]byte, error) {
  5673  	type NoMethod CreativeOptimizationConfiguration
  5674  	raw := NoMethod(*s)
  5675  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5676  }
  5677  
  5678  // CreativeRotation: Creative Rotation.
  5679  type CreativeRotation struct {
  5680  	// CreativeAssignments: Creative assignments in this creative rotation.
  5681  	CreativeAssignments []*CreativeAssignment `json:"creativeAssignments,omitempty"`
  5682  
  5683  	// CreativeOptimizationConfigurationId: Creative optimization
  5684  	// configuration that is used by this ad. It should refer to one of the
  5685  	// existing optimization configurations in the ad's campaign. If it is
  5686  	// unset or set to 0, then the campaign's default optimization
  5687  	// configuration will be used for this ad.
  5688  	CreativeOptimizationConfigurationId int64 `json:"creativeOptimizationConfigurationId,omitempty,string"`
  5689  
  5690  	// Type: Type of creative rotation. Can be used to specify whether to
  5691  	// use sequential or random rotation.
  5692  	//
  5693  	// Possible values:
  5694  	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
  5695  	//   "CREATIVE_ROTATION_TYPE_RANDOM"
  5696  	Type string `json:"type,omitempty"`
  5697  
  5698  	// WeightCalculationStrategy: Strategy for calculating weights. Used
  5699  	// with CREATIVE_ROTATION_TYPE_RANDOM.
  5700  	//
  5701  	// Possible values:
  5702  	//   "WEIGHT_STRATEGY_EQUAL"
  5703  	//   "WEIGHT_STRATEGY_CUSTOM"
  5704  	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
  5705  	//   "WEIGHT_STRATEGY_OPTIMIZED"
  5706  	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
  5707  
  5708  	// ForceSendFields is a list of field names (e.g. "CreativeAssignments")
  5709  	// to unconditionally include in API requests. By default, fields with
  5710  	// empty or default values are omitted from API requests. However, any
  5711  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5712  	// sent to the server regardless of whether the field is empty or not.
  5713  	// This may be used to include empty fields in Patch requests.
  5714  	ForceSendFields []string `json:"-"`
  5715  
  5716  	// NullFields is a list of field names (e.g. "CreativeAssignments") to
  5717  	// include in API requests with the JSON null value. By default, fields
  5718  	// with empty values are omitted from API requests. However, any field
  5719  	// with an empty value appearing in NullFields will be sent to the
  5720  	// server as null. It is an error if a field in this list has a
  5721  	// non-empty value. This may be used to include null fields in Patch
  5722  	// requests.
  5723  	NullFields []string `json:"-"`
  5724  }
  5725  
  5726  func (s *CreativeRotation) MarshalJSON() ([]byte, error) {
  5727  	type NoMethod CreativeRotation
  5728  	raw := NoMethod(*s)
  5729  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5730  }
  5731  
  5732  // CreativesListResponse: Creative List Response
  5733  type CreativesListResponse struct {
  5734  	// Creatives: Creative collection.
  5735  	Creatives []*Creative `json:"creatives,omitempty"`
  5736  
  5737  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5738  	// string "dfareporting#creativesListResponse".
  5739  	Kind string `json:"kind,omitempty"`
  5740  
  5741  	// NextPageToken: Pagination token to be used for the next list
  5742  	// operation.
  5743  	NextPageToken string `json:"nextPageToken,omitempty"`
  5744  
  5745  	// ServerResponse contains the HTTP response code and headers from the
  5746  	// server.
  5747  	googleapi.ServerResponse `json:"-"`
  5748  
  5749  	// ForceSendFields is a list of field names (e.g. "Creatives") to
  5750  	// unconditionally include in API requests. By default, fields with
  5751  	// empty or default values are omitted from API requests. However, any
  5752  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5753  	// sent to the server regardless of whether the field is empty or not.
  5754  	// This may be used to include empty fields in Patch requests.
  5755  	ForceSendFields []string `json:"-"`
  5756  
  5757  	// NullFields is a list of field names (e.g. "Creatives") to include in
  5758  	// API requests with the JSON null value. By default, fields with empty
  5759  	// values are omitted from API requests. However, any field with an
  5760  	// empty value appearing in NullFields will be sent to the server as
  5761  	// null. It is an error if a field in this list has a non-empty value.
  5762  	// This may be used to include null fields in Patch requests.
  5763  	NullFields []string `json:"-"`
  5764  }
  5765  
  5766  func (s *CreativesListResponse) MarshalJSON() ([]byte, error) {
  5767  	type NoMethod CreativesListResponse
  5768  	raw := NoMethod(*s)
  5769  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5770  }
  5771  
  5772  // CrossDimensionReachReportCompatibleFields: Represents fields that are
  5773  // compatible to be selected for a report of type
  5774  // "CROSS_DIMENSION_REACH".
  5775  type CrossDimensionReachReportCompatibleFields struct {
  5776  	// Breakdown: Dimensions which are compatible to be selected in the
  5777  	// "breakdown" section of the report.
  5778  	Breakdown []*Dimension `json:"breakdown,omitempty"`
  5779  
  5780  	// DimensionFilters: Dimensions which are compatible to be selected in
  5781  	// the "dimensionFilters" section of the report.
  5782  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
  5783  
  5784  	// Kind: The kind of resource this is, in this case
  5785  	// dfareporting#crossDimensionReachReportCompatibleFields.
  5786  	Kind string `json:"kind,omitempty"`
  5787  
  5788  	// Metrics: Metrics which are compatible to be selected in the
  5789  	// "metricNames" section of the report.
  5790  	Metrics []*Metric `json:"metrics,omitempty"`
  5791  
  5792  	// OverlapMetrics: Metrics which are compatible to be selected in the
  5793  	// "overlapMetricNames" section of the report.
  5794  	OverlapMetrics []*Metric `json:"overlapMetrics,omitempty"`
  5795  
  5796  	// ForceSendFields is a list of field names (e.g. "Breakdown") to
  5797  	// unconditionally include in API requests. By default, fields with
  5798  	// empty or default values are omitted from API requests. However, any
  5799  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5800  	// sent to the server regardless of whether the field is empty or not.
  5801  	// This may be used to include empty fields in Patch requests.
  5802  	ForceSendFields []string `json:"-"`
  5803  
  5804  	// NullFields is a list of field names (e.g. "Breakdown") to include in
  5805  	// API requests with the JSON null value. By default, fields with empty
  5806  	// values are omitted from API requests. However, any field with an
  5807  	// empty value appearing in NullFields will be sent to the server as
  5808  	// null. It is an error if a field in this list has a non-empty value.
  5809  	// This may be used to include null fields in Patch requests.
  5810  	NullFields []string `json:"-"`
  5811  }
  5812  
  5813  func (s *CrossDimensionReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
  5814  	type NoMethod CrossDimensionReachReportCompatibleFields
  5815  	raw := NoMethod(*s)
  5816  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5817  }
  5818  
  5819  // CustomEvent: Experimental feature (no support provided) A custom
  5820  // event represents a third party impression, a third party click, an
  5821  // annotation on a first party impression, or an annotation on a first
  5822  // party click.
  5823  type CustomEvent struct {
  5824  	// AnnotateClickEvent: Annotate a click event. This field is mutually
  5825  	// exclusive with insertEvent and annotateImpressionEvent. This or
  5826  	// insertEvent and annotateImpressionEvent is a required field.
  5827  	AnnotateClickEvent *CustomEventClickAnnotation `json:"annotateClickEvent,omitempty"`
  5828  
  5829  	// AnnotateImpressionEvent: Annotate an impression. This field is
  5830  	// mutually exclusive with insertEvent and annotateClickEvent. This or
  5831  	// insertEvent and annotateClickEvent is a required field.
  5832  	AnnotateImpressionEvent *CustomEventImpressionAnnotation `json:"annotateImpressionEvent,omitempty"`
  5833  
  5834  	// CustomVariables: Custom variables associated with the event.
  5835  	CustomVariables []*CustomVariable `json:"customVariables,omitempty"`
  5836  
  5837  	// EventType: The type of event. If INSERT, the fields in insertEvent
  5838  	// need to be populated. If ANNOTATE, the fields in either
  5839  	// annotateClickEvent or annotateImpressionEvent need to be populated.
  5840  	//
  5841  	// Possible values:
  5842  	//   "UNKNOWN"
  5843  	//   "INSERT"
  5844  	//   "ANNOTATE"
  5845  	EventType string `json:"eventType,omitempty"`
  5846  
  5847  	// FloodlightConfigurationId: Floodlight configuration ID of the
  5848  	// advertiser the event is linked to. This is a required field.
  5849  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  5850  
  5851  	// InsertEvent: Insert custom event. This field is mutually exclusive
  5852  	// with annotateClickEvent and annotateImpressionEvent. This or
  5853  	// annotateClickEvent and annotateImpressionEvent is a required field.
  5854  	InsertEvent *CustomEventInsert `json:"insertEvent,omitempty"`
  5855  
  5856  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5857  	// string "dfareporting#customEvent".
  5858  	Kind string `json:"kind,omitempty"`
  5859  
  5860  	// Ordinal: The ordinal of this custom event. This is a required field.
  5861  	Ordinal string `json:"ordinal,omitempty"`
  5862  
  5863  	// TimestampMicros: The timestamp of this custom event, in Unix epoch
  5864  	// micros. This is a required field.
  5865  	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
  5866  
  5867  	// ForceSendFields is a list of field names (e.g. "AnnotateClickEvent")
  5868  	// to unconditionally include in API requests. By default, fields with
  5869  	// empty or default values are omitted from API requests. However, any
  5870  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5871  	// sent to the server regardless of whether the field is empty or not.
  5872  	// This may be used to include empty fields in Patch requests.
  5873  	ForceSendFields []string `json:"-"`
  5874  
  5875  	// NullFields is a list of field names (e.g. "AnnotateClickEvent") to
  5876  	// include in API requests with the JSON null value. By default, fields
  5877  	// with empty values are omitted from API requests. However, any field
  5878  	// with an empty value appearing in NullFields will be sent to the
  5879  	// server as null. It is an error if a field in this list has a
  5880  	// non-empty value. This may be used to include null fields in Patch
  5881  	// requests.
  5882  	NullFields []string `json:"-"`
  5883  }
  5884  
  5885  func (s *CustomEvent) MarshalJSON() ([]byte, error) {
  5886  	type NoMethod CustomEvent
  5887  	raw := NoMethod(*s)
  5888  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5889  }
  5890  
  5891  // CustomEventClickAnnotation: Annotate a click event.
  5892  type CustomEventClickAnnotation struct {
  5893  	// Gclid: The Google click ID. Use this field to annotate the click
  5894  	// associated with the gclid.
  5895  	Gclid string `json:"gclid,omitempty"`
  5896  
  5897  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5898  	// string "dfareporting#customEventClickAnnotation".
  5899  	Kind string `json:"kind,omitempty"`
  5900  
  5901  	// ForceSendFields is a list of field names (e.g. "Gclid") to
  5902  	// unconditionally include in API requests. By default, fields with
  5903  	// empty or default values are omitted from API requests. However, any
  5904  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5905  	// sent to the server regardless of whether the field is empty or not.
  5906  	// This may be used to include empty fields in Patch requests.
  5907  	ForceSendFields []string `json:"-"`
  5908  
  5909  	// NullFields is a list of field names (e.g. "Gclid") to include in API
  5910  	// requests with the JSON null value. By default, fields with empty
  5911  	// values are omitted from API requests. However, any field with an
  5912  	// empty value appearing in NullFields will be sent to the server as
  5913  	// null. It is an error if a field in this list has a non-empty value.
  5914  	// This may be used to include null fields in Patch requests.
  5915  	NullFields []string `json:"-"`
  5916  }
  5917  
  5918  func (s *CustomEventClickAnnotation) MarshalJSON() ([]byte, error) {
  5919  	type NoMethod CustomEventClickAnnotation
  5920  	raw := NoMethod(*s)
  5921  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5922  }
  5923  
  5924  // CustomEventError: The error code and description for a custom event
  5925  // that failed to insert.
  5926  type CustomEventError struct {
  5927  	// Code: The error code.
  5928  	//
  5929  	// Possible values:
  5930  	//   "UNKNOWN"
  5931  	//   "INVALID_ARGUMENT"
  5932  	//   "INTERNAL"
  5933  	//   "PERMISSION_DENIED"
  5934  	//   "NOT_FOUND"
  5935  	Code string `json:"code,omitempty"`
  5936  
  5937  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5938  	// string "dfareporting#customEventError".
  5939  	Kind string `json:"kind,omitempty"`
  5940  
  5941  	// Message: A description of the error.
  5942  	Message string `json:"message,omitempty"`
  5943  
  5944  	// ForceSendFields is a list of field names (e.g. "Code") to
  5945  	// unconditionally include in API requests. By default, fields with
  5946  	// empty or default values are omitted from API requests. However, any
  5947  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5948  	// sent to the server regardless of whether the field is empty or not.
  5949  	// This may be used to include empty fields in Patch requests.
  5950  	ForceSendFields []string `json:"-"`
  5951  
  5952  	// NullFields is a list of field names (e.g. "Code") to include in API
  5953  	// requests with the JSON null value. By default, fields with empty
  5954  	// values are omitted from API requests. However, any field with an
  5955  	// empty value appearing in NullFields will be sent to the server as
  5956  	// null. It is an error if a field in this list has a non-empty value.
  5957  	// This may be used to include null fields in Patch requests.
  5958  	NullFields []string `json:"-"`
  5959  }
  5960  
  5961  func (s *CustomEventError) MarshalJSON() ([]byte, error) {
  5962  	type NoMethod CustomEventError
  5963  	raw := NoMethod(*s)
  5964  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5965  }
  5966  
  5967  // CustomEventImpressionAnnotation: Annotate an impression.
  5968  type CustomEventImpressionAnnotation struct {
  5969  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5970  	// string "dfareporting#customEventImpressionAnnotation".
  5971  	Kind string `json:"kind,omitempty"`
  5972  
  5973  	// PathImpressionId: The path impression ID. Use this field to annotate
  5974  	// the impression associated with the pathImpressionId.
  5975  	PathImpressionId string `json:"pathImpressionId,omitempty"`
  5976  
  5977  	// ForceSendFields is a list of field names (e.g. "Kind") to
  5978  	// unconditionally include in API requests. By default, fields with
  5979  	// empty or default values are omitted from API requests. However, any
  5980  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5981  	// sent to the server regardless of whether the field is empty or not.
  5982  	// This may be used to include empty fields in Patch requests.
  5983  	ForceSendFields []string `json:"-"`
  5984  
  5985  	// NullFields is a list of field names (e.g. "Kind") to include in API
  5986  	// requests with the JSON null value. By default, fields with empty
  5987  	// values are omitted from API requests. However, any field with an
  5988  	// empty value appearing in NullFields will be sent to the server as
  5989  	// null. It is an error if a field in this list has a non-empty value.
  5990  	// This may be used to include null fields in Patch requests.
  5991  	NullFields []string `json:"-"`
  5992  }
  5993  
  5994  func (s *CustomEventImpressionAnnotation) MarshalJSON() ([]byte, error) {
  5995  	type NoMethod CustomEventImpressionAnnotation
  5996  	raw := NoMethod(*s)
  5997  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5998  }
  5999  
  6000  // CustomEventInsert: Custom event to be inserted.
  6001  type CustomEventInsert struct {
  6002  	// CmDimensions: Campaign Manager dimensions associated with the event.
  6003  	CmDimensions *CampaignManagerIds `json:"cmDimensions,omitempty"`
  6004  
  6005  	// Dv3Dimensions: DV360 dimensions associated with the event.
  6006  	Dv3Dimensions *DV3Ids `json:"dv3Dimensions,omitempty"`
  6007  
  6008  	// InsertEventType: The type of event to insert.
  6009  	//
  6010  	// Possible values:
  6011  	//   "UNKNOWN"
  6012  	//   "IMPRESSION"
  6013  	//   "CLICK"
  6014  	InsertEventType string `json:"insertEventType,omitempty"`
  6015  
  6016  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6017  	// string "dfareporting#customEventInsert".
  6018  	Kind string `json:"kind,omitempty"`
  6019  
  6020  	// MatchId: The match ID field. A match ID is your own first-party
  6021  	// identifier that has been synced with Google using the match ID
  6022  	// feature in Floodlight. This field is mutually exclusive with
  6023  	// mobileDeviceId, and at least one of the two fields is required.
  6024  	MatchId string `json:"matchId,omitempty"`
  6025  
  6026  	// MobileDeviceId: The mobile device ID. This field is mutually
  6027  	// exclusive with matchId, and at least one of the two fields is
  6028  	// required.
  6029  	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
  6030  
  6031  	// ForceSendFields is a list of field names (e.g. "CmDimensions") to
  6032  	// unconditionally include in API requests. By default, fields with
  6033  	// empty or default values are omitted from API requests. However, any
  6034  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6035  	// sent to the server regardless of whether the field is empty or not.
  6036  	// This may be used to include empty fields in Patch requests.
  6037  	ForceSendFields []string `json:"-"`
  6038  
  6039  	// NullFields is a list of field names (e.g. "CmDimensions") to include
  6040  	// in API requests with the JSON null value. By default, fields with
  6041  	// empty values are omitted from API requests. However, any field with
  6042  	// an empty value appearing in NullFields will be sent to the server as
  6043  	// null. It is an error if a field in this list has a non-empty value.
  6044  	// This may be used to include null fields in Patch requests.
  6045  	NullFields []string `json:"-"`
  6046  }
  6047  
  6048  func (s *CustomEventInsert) MarshalJSON() ([]byte, error) {
  6049  	type NoMethod CustomEventInsert
  6050  	raw := NoMethod(*s)
  6051  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6052  }
  6053  
  6054  // CustomEventStatus: The original custom event that was inserted and
  6055  // whether there were any errors.
  6056  type CustomEventStatus struct {
  6057  	// CustomEvent: The original custom event that was inserted.
  6058  	CustomEvent *CustomEvent `json:"customEvent,omitempty"`
  6059  
  6060  	// Errors: A list of errors related to this custom event.
  6061  	Errors []*CustomEventError `json:"errors,omitempty"`
  6062  
  6063  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6064  	// string "dfareporting#customEventStatus".
  6065  	Kind string `json:"kind,omitempty"`
  6066  
  6067  	// ForceSendFields is a list of field names (e.g. "CustomEvent") to
  6068  	// unconditionally include in API requests. By default, fields with
  6069  	// empty or default values are omitted from API requests. However, any
  6070  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6071  	// sent to the server regardless of whether the field is empty or not.
  6072  	// This may be used to include empty fields in Patch requests.
  6073  	ForceSendFields []string `json:"-"`
  6074  
  6075  	// NullFields is a list of field names (e.g. "CustomEvent") to include
  6076  	// in API requests with the JSON null value. By default, fields with
  6077  	// empty values are omitted from API requests. However, any field with
  6078  	// an empty value appearing in NullFields will be sent to the server as
  6079  	// null. It is an error if a field in this list has a non-empty value.
  6080  	// This may be used to include null fields in Patch requests.
  6081  	NullFields []string `json:"-"`
  6082  }
  6083  
  6084  func (s *CustomEventStatus) MarshalJSON() ([]byte, error) {
  6085  	type NoMethod CustomEventStatus
  6086  	raw := NoMethod(*s)
  6087  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6088  }
  6089  
  6090  // CustomEventsBatchInsertRequest: Insert Custom Events Request.
  6091  type CustomEventsBatchInsertRequest struct {
  6092  	// CustomEvents: The set of custom events to insert.
  6093  	CustomEvents []*CustomEvent `json:"customEvents,omitempty"`
  6094  
  6095  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6096  	// string "dfareporting#customEventsBatchInsertRequest".
  6097  	Kind string `json:"kind,omitempty"`
  6098  
  6099  	// ForceSendFields is a list of field names (e.g. "CustomEvents") to
  6100  	// unconditionally include in API requests. By default, fields with
  6101  	// empty or default values are omitted from API requests. However, any
  6102  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6103  	// sent to the server regardless of whether the field is empty or not.
  6104  	// This may be used to include empty fields in Patch requests.
  6105  	ForceSendFields []string `json:"-"`
  6106  
  6107  	// NullFields is a list of field names (e.g. "CustomEvents") to include
  6108  	// in API requests with the JSON null value. By default, fields with
  6109  	// empty values are omitted from API requests. However, any field with
  6110  	// an empty value appearing in NullFields will be sent to the server as
  6111  	// null. It is an error if a field in this list has a non-empty value.
  6112  	// This may be used to include null fields in Patch requests.
  6113  	NullFields []string `json:"-"`
  6114  }
  6115  
  6116  func (s *CustomEventsBatchInsertRequest) MarshalJSON() ([]byte, error) {
  6117  	type NoMethod CustomEventsBatchInsertRequest
  6118  	raw := NoMethod(*s)
  6119  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6120  }
  6121  
  6122  // CustomEventsBatchInsertResponse: Insert Custom Events Response.
  6123  type CustomEventsBatchInsertResponse struct {
  6124  	// HasFailures: Indicates that some or all custom events failed to
  6125  	// insert.
  6126  	HasFailures bool `json:"hasFailures,omitempty"`
  6127  
  6128  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6129  	// string "dfareporting#customEventsBatchInsertResponse".
  6130  	Kind string `json:"kind,omitempty"`
  6131  
  6132  	// Status: The insert status of each custom event. Statuses are returned
  6133  	// in the same order that conversions are inserted.
  6134  	Status []*CustomEventStatus `json:"status,omitempty"`
  6135  
  6136  	// ServerResponse contains the HTTP response code and headers from the
  6137  	// server.
  6138  	googleapi.ServerResponse `json:"-"`
  6139  
  6140  	// ForceSendFields is a list of field names (e.g. "HasFailures") to
  6141  	// unconditionally include in API requests. By default, fields with
  6142  	// empty or default values are omitted from API requests. However, any
  6143  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6144  	// sent to the server regardless of whether the field is empty or not.
  6145  	// This may be used to include empty fields in Patch requests.
  6146  	ForceSendFields []string `json:"-"`
  6147  
  6148  	// NullFields is a list of field names (e.g. "HasFailures") to include
  6149  	// in API requests with the JSON null value. By default, fields with
  6150  	// empty values are omitted from API requests. However, any field with
  6151  	// an empty value appearing in NullFields will be sent to the server as
  6152  	// null. It is an error if a field in this list has a non-empty value.
  6153  	// This may be used to include null fields in Patch requests.
  6154  	NullFields []string `json:"-"`
  6155  }
  6156  
  6157  func (s *CustomEventsBatchInsertResponse) MarshalJSON() ([]byte, error) {
  6158  	type NoMethod CustomEventsBatchInsertResponse
  6159  	raw := NoMethod(*s)
  6160  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6161  }
  6162  
  6163  // CustomFloodlightVariable: A custom floodlight variable. This field
  6164  // may only be used when calling batchinsert; it is not supported by
  6165  // batchupdate.
  6166  type CustomFloodlightVariable struct {
  6167  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6168  	// string "dfareporting#customFloodlightVariable".
  6169  	Kind string `json:"kind,omitempty"`
  6170  
  6171  	// Type: The type of custom floodlight variable to supply a value for.
  6172  	// These map to the "u[1-20]=" in the tags.
  6173  	//
  6174  	// Possible values:
  6175  	//   "U1"
  6176  	//   "U2"
  6177  	//   "U3"
  6178  	//   "U4"
  6179  	//   "U5"
  6180  	//   "U6"
  6181  	//   "U7"
  6182  	//   "U8"
  6183  	//   "U9"
  6184  	//   "U10"
  6185  	//   "U11"
  6186  	//   "U12"
  6187  	//   "U13"
  6188  	//   "U14"
  6189  	//   "U15"
  6190  	//   "U16"
  6191  	//   "U17"
  6192  	//   "U18"
  6193  	//   "U19"
  6194  	//   "U20"
  6195  	//   "U21"
  6196  	//   "U22"
  6197  	//   "U23"
  6198  	//   "U24"
  6199  	//   "U25"
  6200  	//   "U26"
  6201  	//   "U27"
  6202  	//   "U28"
  6203  	//   "U29"
  6204  	//   "U30"
  6205  	//   "U31"
  6206  	//   "U32"
  6207  	//   "U33"
  6208  	//   "U34"
  6209  	//   "U35"
  6210  	//   "U36"
  6211  	//   "U37"
  6212  	//   "U38"
  6213  	//   "U39"
  6214  	//   "U40"
  6215  	//   "U41"
  6216  	//   "U42"
  6217  	//   "U43"
  6218  	//   "U44"
  6219  	//   "U45"
  6220  	//   "U46"
  6221  	//   "U47"
  6222  	//   "U48"
  6223  	//   "U49"
  6224  	//   "U50"
  6225  	//   "U51"
  6226  	//   "U52"
  6227  	//   "U53"
  6228  	//   "U54"
  6229  	//   "U55"
  6230  	//   "U56"
  6231  	//   "U57"
  6232  	//   "U58"
  6233  	//   "U59"
  6234  	//   "U60"
  6235  	//   "U61"
  6236  	//   "U62"
  6237  	//   "U63"
  6238  	//   "U64"
  6239  	//   "U65"
  6240  	//   "U66"
  6241  	//   "U67"
  6242  	//   "U68"
  6243  	//   "U69"
  6244  	//   "U70"
  6245  	//   "U71"
  6246  	//   "U72"
  6247  	//   "U73"
  6248  	//   "U74"
  6249  	//   "U75"
  6250  	//   "U76"
  6251  	//   "U77"
  6252  	//   "U78"
  6253  	//   "U79"
  6254  	//   "U80"
  6255  	//   "U81"
  6256  	//   "U82"
  6257  	//   "U83"
  6258  	//   "U84"
  6259  	//   "U85"
  6260  	//   "U86"
  6261  	//   "U87"
  6262  	//   "U88"
  6263  	//   "U89"
  6264  	//   "U90"
  6265  	//   "U91"
  6266  	//   "U92"
  6267  	//   "U93"
  6268  	//   "U94"
  6269  	//   "U95"
  6270  	//   "U96"
  6271  	//   "U97"
  6272  	//   "U98"
  6273  	//   "U99"
  6274  	//   "U100"
  6275  	Type string `json:"type,omitempty"`
  6276  
  6277  	// Value: The value of the custom floodlight variable. The length of
  6278  	// string must not exceed 100 characters.
  6279  	Value string `json:"value,omitempty"`
  6280  
  6281  	// ForceSendFields is a list of field names (e.g. "Kind") to
  6282  	// unconditionally include in API requests. By default, fields with
  6283  	// empty or default values are omitted from API requests. However, any
  6284  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6285  	// sent to the server regardless of whether the field is empty or not.
  6286  	// This may be used to include empty fields in Patch requests.
  6287  	ForceSendFields []string `json:"-"`
  6288  
  6289  	// NullFields is a list of field names (e.g. "Kind") to include in API
  6290  	// requests with the JSON null value. By default, fields with empty
  6291  	// values are omitted from API requests. However, any field with an
  6292  	// empty value appearing in NullFields will be sent to the server as
  6293  	// null. It is an error if a field in this list has a non-empty value.
  6294  	// This may be used to include null fields in Patch requests.
  6295  	NullFields []string `json:"-"`
  6296  }
  6297  
  6298  func (s *CustomFloodlightVariable) MarshalJSON() ([]byte, error) {
  6299  	type NoMethod CustomFloodlightVariable
  6300  	raw := NoMethod(*s)
  6301  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6302  }
  6303  
  6304  // CustomRichMediaEvents: Represents a Custom Rich Media Events group.
  6305  type CustomRichMediaEvents struct {
  6306  	// FilteredEventIds: List of custom rich media event IDs. Dimension
  6307  	// values must be all of type dfa:richMediaEventTypeIdAndName.
  6308  	FilteredEventIds []*DimensionValue `json:"filteredEventIds,omitempty"`
  6309  
  6310  	// Kind: The kind of resource this is, in this case
  6311  	// dfareporting#customRichMediaEvents.
  6312  	Kind string `json:"kind,omitempty"`
  6313  
  6314  	// ForceSendFields is a list of field names (e.g. "FilteredEventIds") to
  6315  	// unconditionally include in API requests. By default, fields with
  6316  	// empty or default values are omitted from API requests. However, any
  6317  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6318  	// sent to the server regardless of whether the field is empty or not.
  6319  	// This may be used to include empty fields in Patch requests.
  6320  	ForceSendFields []string `json:"-"`
  6321  
  6322  	// NullFields is a list of field names (e.g. "FilteredEventIds") to
  6323  	// include in API requests with the JSON null value. By default, fields
  6324  	// with empty values are omitted from API requests. However, any field
  6325  	// with an empty value appearing in NullFields will be sent to the
  6326  	// server as null. It is an error if a field in this list has a
  6327  	// non-empty value. This may be used to include null fields in Patch
  6328  	// requests.
  6329  	NullFields []string `json:"-"`
  6330  }
  6331  
  6332  func (s *CustomRichMediaEvents) MarshalJSON() ([]byte, error) {
  6333  	type NoMethod CustomRichMediaEvents
  6334  	raw := NoMethod(*s)
  6335  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6336  }
  6337  
  6338  // CustomVariable: Custom variable.
  6339  type CustomVariable struct {
  6340  	// Index: The index of the custom variable.
  6341  	Index int64 `json:"index,omitempty,string"`
  6342  
  6343  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6344  	// string "dfareporting#customVariable".
  6345  	Kind string `json:"kind,omitempty"`
  6346  
  6347  	// Value: The value of the custom variable. The length of string must
  6348  	// not exceed 50 characters.
  6349  	Value string `json:"value,omitempty"`
  6350  
  6351  	// ForceSendFields is a list of field names (e.g. "Index") to
  6352  	// unconditionally include in API requests. By default, fields with
  6353  	// empty or default values are omitted from API requests. However, any
  6354  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6355  	// sent to the server regardless of whether the field is empty or not.
  6356  	// This may be used to include empty fields in Patch requests.
  6357  	ForceSendFields []string `json:"-"`
  6358  
  6359  	// NullFields is a list of field names (e.g. "Index") to include in API
  6360  	// requests with the JSON null value. By default, fields with empty
  6361  	// values are omitted from API requests. However, any field with an
  6362  	// empty value appearing in NullFields will be sent to the server as
  6363  	// null. It is an error if a field in this list has a non-empty value.
  6364  	// This may be used to include null fields in Patch requests.
  6365  	NullFields []string `json:"-"`
  6366  }
  6367  
  6368  func (s *CustomVariable) MarshalJSON() ([]byte, error) {
  6369  	type NoMethod CustomVariable
  6370  	raw := NoMethod(*s)
  6371  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6372  }
  6373  
  6374  // CustomViewabilityMetric: Custom Viewability Metric
  6375  type CustomViewabilityMetric struct {
  6376  	// Configuration: Configuration of the custom viewability metric.
  6377  	Configuration *CustomViewabilityMetricConfiguration `json:"configuration,omitempty"`
  6378  
  6379  	// Id: ID of the custom viewability metric.
  6380  	Id int64 `json:"id,omitempty,string"`
  6381  
  6382  	// Name: Name of the custom viewability metric.
  6383  	Name string `json:"name,omitempty"`
  6384  
  6385  	// ForceSendFields is a list of field names (e.g. "Configuration") to
  6386  	// unconditionally include in API requests. By default, fields with
  6387  	// empty or default values are omitted from API requests. However, any
  6388  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6389  	// sent to the server regardless of whether the field is empty or not.
  6390  	// This may be used to include empty fields in Patch requests.
  6391  	ForceSendFields []string `json:"-"`
  6392  
  6393  	// NullFields is a list of field names (e.g. "Configuration") to include
  6394  	// in API requests with the JSON null value. By default, fields with
  6395  	// empty values are omitted from API requests. However, any field with
  6396  	// an empty value appearing in NullFields will be sent to the server as
  6397  	// null. It is an error if a field in this list has a non-empty value.
  6398  	// This may be used to include null fields in Patch requests.
  6399  	NullFields []string `json:"-"`
  6400  }
  6401  
  6402  func (s *CustomViewabilityMetric) MarshalJSON() ([]byte, error) {
  6403  	type NoMethod CustomViewabilityMetric
  6404  	raw := NoMethod(*s)
  6405  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6406  }
  6407  
  6408  // CustomViewabilityMetricConfiguration: The attributes, like playtime
  6409  // and percent onscreen, that define the Custom Viewability Metric.
  6410  type CustomViewabilityMetricConfiguration struct {
  6411  	// Audible: Whether the video must be audible to count an impression.
  6412  	Audible bool `json:"audible,omitempty"`
  6413  
  6414  	// TimeMillis: The time in milliseconds the video must play for the
  6415  	// Custom Viewability Metric to count an impression. If both this and
  6416  	// timePercent are specified, the earlier of the two will be used.
  6417  	TimeMillis int64 `json:"timeMillis,omitempty"`
  6418  
  6419  	// TimePercent: The percentage of video that must play for the Custom
  6420  	// Viewability Metric to count an impression. If both this and
  6421  	// timeMillis are specified, the earlier of the two will be used.
  6422  	TimePercent int64 `json:"timePercent,omitempty"`
  6423  
  6424  	// ViewabilityPercent: The percentage of video that must be on screen
  6425  	// for the Custom Viewability Metric to count an impression.
  6426  	ViewabilityPercent int64 `json:"viewabilityPercent,omitempty"`
  6427  
  6428  	// ForceSendFields is a list of field names (e.g. "Audible") to
  6429  	// unconditionally include in API requests. By default, fields with
  6430  	// empty or default values are omitted from API requests. However, any
  6431  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6432  	// sent to the server regardless of whether the field is empty or not.
  6433  	// This may be used to include empty fields in Patch requests.
  6434  	ForceSendFields []string `json:"-"`
  6435  
  6436  	// NullFields is a list of field names (e.g. "Audible") to include in
  6437  	// API requests with the JSON null value. By default, fields with empty
  6438  	// values are omitted from API requests. However, any field with an
  6439  	// empty value appearing in NullFields will be sent to the server as
  6440  	// null. It is an error if a field in this list has a non-empty value.
  6441  	// This may be used to include null fields in Patch requests.
  6442  	NullFields []string `json:"-"`
  6443  }
  6444  
  6445  func (s *CustomViewabilityMetricConfiguration) MarshalJSON() ([]byte, error) {
  6446  	type NoMethod CustomViewabilityMetricConfiguration
  6447  	raw := NoMethod(*s)
  6448  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6449  }
  6450  
  6451  // DV3Ids: DV360 IDs related to the custom event.
  6452  type DV3Ids struct {
  6453  	// DvCampaignId: Campaign ID for DV360.
  6454  	DvCampaignId int64 `json:"dvCampaignId,omitempty,string"`
  6455  
  6456  	// DvCreativeId: Creative ID for DV360.
  6457  	DvCreativeId int64 `json:"dvCreativeId,omitempty,string"`
  6458  
  6459  	// DvInsertionOrderId: Insertion Order ID for DV360.
  6460  	DvInsertionOrderId int64 `json:"dvInsertionOrderId,omitempty,string"`
  6461  
  6462  	// DvLineItemId: Line Item ID for DV360.
  6463  	DvLineItemId int64 `json:"dvLineItemId,omitempty,string"`
  6464  
  6465  	// DvSiteId: Site ID for DV360.
  6466  	DvSiteId int64 `json:"dvSiteId,omitempty,string"`
  6467  
  6468  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6469  	// string "dfareporting#dV3Ids".
  6470  	Kind string `json:"kind,omitempty"`
  6471  
  6472  	// ForceSendFields is a list of field names (e.g. "DvCampaignId") to
  6473  	// unconditionally include in API requests. By default, fields with
  6474  	// empty or default values are omitted from API requests. However, any
  6475  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6476  	// sent to the server regardless of whether the field is empty or not.
  6477  	// This may be used to include empty fields in Patch requests.
  6478  	ForceSendFields []string `json:"-"`
  6479  
  6480  	// NullFields is a list of field names (e.g. "DvCampaignId") to include
  6481  	// in API requests with the JSON null value. By default, fields with
  6482  	// empty values are omitted from API requests. However, any field with
  6483  	// an empty value appearing in NullFields will be sent to the server as
  6484  	// null. It is an error if a field in this list has a non-empty value.
  6485  	// This may be used to include null fields in Patch requests.
  6486  	NullFields []string `json:"-"`
  6487  }
  6488  
  6489  func (s *DV3Ids) MarshalJSON() ([]byte, error) {
  6490  	type NoMethod DV3Ids
  6491  	raw := NoMethod(*s)
  6492  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6493  }
  6494  
  6495  // DateRange: Represents a date range.
  6496  type DateRange struct {
  6497  	EndDate string `json:"endDate,omitempty"`
  6498  
  6499  	// Kind: The kind of resource this is, in this case
  6500  	// dfareporting#dateRange.
  6501  	Kind string `json:"kind,omitempty"`
  6502  
  6503  	// RelativeDateRange: The date range relative to the date of when the
  6504  	// report is run.
  6505  	//
  6506  	// Possible values:
  6507  	//   "TODAY"
  6508  	//   "YESTERDAY"
  6509  	//   "WEEK_TO_DATE"
  6510  	//   "MONTH_TO_DATE"
  6511  	//   "QUARTER_TO_DATE"
  6512  	//   "YEAR_TO_DATE"
  6513  	//   "PREVIOUS_WEEK"
  6514  	//   "PREVIOUS_MONTH"
  6515  	//   "PREVIOUS_QUARTER"
  6516  	//   "PREVIOUS_YEAR"
  6517  	//   "LAST_7_DAYS"
  6518  	//   "LAST_30_DAYS"
  6519  	//   "LAST_90_DAYS"
  6520  	//   "LAST_365_DAYS"
  6521  	//   "LAST_24_MONTHS"
  6522  	//   "LAST_14_DAYS"
  6523  	//   "LAST_60_DAYS"
  6524  	RelativeDateRange string `json:"relativeDateRange,omitempty"`
  6525  
  6526  	StartDate string `json:"startDate,omitempty"`
  6527  
  6528  	// ForceSendFields is a list of field names (e.g. "EndDate") to
  6529  	// unconditionally include in API requests. By default, fields with
  6530  	// empty or default values are omitted from API requests. However, any
  6531  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6532  	// sent to the server regardless of whether the field is empty or not.
  6533  	// This may be used to include empty fields in Patch requests.
  6534  	ForceSendFields []string `json:"-"`
  6535  
  6536  	// NullFields is a list of field names (e.g. "EndDate") to include in
  6537  	// API requests with the JSON null value. By default, fields with empty
  6538  	// values are omitted from API requests. However, any field with an
  6539  	// empty value appearing in NullFields will be sent to the server as
  6540  	// null. It is an error if a field in this list has a non-empty value.
  6541  	// This may be used to include null fields in Patch requests.
  6542  	NullFields []string `json:"-"`
  6543  }
  6544  
  6545  func (s *DateRange) MarshalJSON() ([]byte, error) {
  6546  	type NoMethod DateRange
  6547  	raw := NoMethod(*s)
  6548  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6549  }
  6550  
  6551  // DayPartTargeting: Day Part Targeting.
  6552  type DayPartTargeting struct {
  6553  	// DaysOfWeek: Days of the week when the ad will serve. Acceptable
  6554  	// values are: - "SUNDAY" - "MONDAY" - "TUESDAY" - "WEDNESDAY" -
  6555  	// "THURSDAY" - "FRIDAY" - "SATURDAY"
  6556  	//
  6557  	// Possible values:
  6558  	//   "MONDAY"
  6559  	//   "TUESDAY"
  6560  	//   "WEDNESDAY"
  6561  	//   "THURSDAY"
  6562  	//   "FRIDAY"
  6563  	//   "SATURDAY"
  6564  	//   "SUNDAY"
  6565  	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
  6566  
  6567  	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
  6568  	// midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with
  6569  	// days of week, in which case the ad would serve during these hours on
  6570  	// the specified days. For example if Monday, Wednesday, Friday are the
  6571  	// days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is
  6572  	// specified, the ad would serve Monday, Wednesdays, and Fridays at
  6573  	// 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.
  6574  	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
  6575  
  6576  	// UserLocalTime: Whether or not to use the user's local time. If false,
  6577  	// the America/New York time zone applies.
  6578  	UserLocalTime bool `json:"userLocalTime,omitempty"`
  6579  
  6580  	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
  6581  	// unconditionally include in API requests. By default, fields with
  6582  	// empty or default values are omitted from API requests. However, any
  6583  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6584  	// sent to the server regardless of whether the field is empty or not.
  6585  	// This may be used to include empty fields in Patch requests.
  6586  	ForceSendFields []string `json:"-"`
  6587  
  6588  	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in
  6589  	// API requests with the JSON null value. By default, fields with empty
  6590  	// values are omitted from API requests. However, any field with an
  6591  	// empty value appearing in NullFields will be sent to the server as
  6592  	// null. It is an error if a field in this list has a non-empty value.
  6593  	// This may be used to include null fields in Patch requests.
  6594  	NullFields []string `json:"-"`
  6595  }
  6596  
  6597  func (s *DayPartTargeting) MarshalJSON() ([]byte, error) {
  6598  	type NoMethod DayPartTargeting
  6599  	raw := NoMethod(*s)
  6600  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6601  }
  6602  
  6603  // DeepLink: Contains information about a landing page deep link.
  6604  type DeepLink struct {
  6605  	// AppUrl: The URL of the mobile app being linked to.
  6606  	AppUrl string `json:"appUrl,omitempty"`
  6607  
  6608  	// FallbackUrl: The fallback URL. This URL will be served to users who
  6609  	// do not have the mobile app installed.
  6610  	FallbackUrl string `json:"fallbackUrl,omitempty"`
  6611  
  6612  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6613  	// string "dfareporting#deepLink".
  6614  	Kind string `json:"kind,omitempty"`
  6615  
  6616  	// MobileApp: The mobile app targeted by this deep link.
  6617  	MobileApp *MobileApp `json:"mobileApp,omitempty"`
  6618  
  6619  	// RemarketingListIds: Ads served to users on these remarketing lists
  6620  	// will use this deep link. Applicable when mobileApp.directory is
  6621  	// APPLE_APP_STORE.
  6622  	RemarketingListIds googleapi.Int64s `json:"remarketingListIds,omitempty"`
  6623  
  6624  	// ForceSendFields is a list of field names (e.g. "AppUrl") to
  6625  	// unconditionally include in API requests. By default, fields with
  6626  	// empty or default values are omitted from API requests. However, any
  6627  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6628  	// sent to the server regardless of whether the field is empty or not.
  6629  	// This may be used to include empty fields in Patch requests.
  6630  	ForceSendFields []string `json:"-"`
  6631  
  6632  	// NullFields is a list of field names (e.g. "AppUrl") to include in API
  6633  	// requests with the JSON null value. By default, fields with empty
  6634  	// values are omitted from API requests. However, any field with an
  6635  	// empty value appearing in NullFields will be sent to the server as
  6636  	// null. It is an error if a field in this list has a non-empty value.
  6637  	// This may be used to include null fields in Patch requests.
  6638  	NullFields []string `json:"-"`
  6639  }
  6640  
  6641  func (s *DeepLink) MarshalJSON() ([]byte, error) {
  6642  	type NoMethod DeepLink
  6643  	raw := NoMethod(*s)
  6644  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6645  }
  6646  
  6647  // DefaultClickThroughEventTagProperties: Properties of inheriting and
  6648  // overriding the default click-through event tag. A campaign may
  6649  // override the event tag defined at the advertiser level, and an ad may
  6650  // also override the campaign's setting further.
  6651  type DefaultClickThroughEventTagProperties struct {
  6652  	// DefaultClickThroughEventTagId: ID of the click-through event tag to
  6653  	// apply to all ads in this entity's scope.
  6654  	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
  6655  
  6656  	// OverrideInheritedEventTag: Whether this entity should override the
  6657  	// inherited default click-through event tag with its own defined value.
  6658  	OverrideInheritedEventTag bool `json:"overrideInheritedEventTag,omitempty"`
  6659  
  6660  	// ForceSendFields is a list of field names (e.g.
  6661  	// "DefaultClickThroughEventTagId") to unconditionally include in API
  6662  	// requests. By default, fields with empty or default values are omitted
  6663  	// from API requests. However, any non-pointer, non-interface field
  6664  	// appearing in ForceSendFields will be sent to the server regardless of
  6665  	// whether the field is empty or not. This may be used to include empty
  6666  	// fields in Patch requests.
  6667  	ForceSendFields []string `json:"-"`
  6668  
  6669  	// NullFields is a list of field names (e.g.
  6670  	// "DefaultClickThroughEventTagId") to include in API requests with the
  6671  	// JSON null value. By default, fields with empty values are omitted
  6672  	// from API requests. However, any field with an empty value appearing
  6673  	// in NullFields will be sent to the server as null. It is an error if a
  6674  	// field in this list has a non-empty value. This may be used to include
  6675  	// null fields in Patch requests.
  6676  	NullFields []string `json:"-"`
  6677  }
  6678  
  6679  func (s *DefaultClickThroughEventTagProperties) MarshalJSON() ([]byte, error) {
  6680  	type NoMethod DefaultClickThroughEventTagProperties
  6681  	raw := NoMethod(*s)
  6682  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6683  }
  6684  
  6685  // DeliverySchedule: Delivery Schedule.
  6686  type DeliverySchedule struct {
  6687  	// FrequencyCap: Limit on the number of times an individual user can be
  6688  	// served the ad within a specified period of time.
  6689  	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
  6690  
  6691  	// HardCutoff: Whether or not hard cutoff is enabled. If true, the ad
  6692  	// will not serve after the end date and time. Otherwise the ad will
  6693  	// continue to be served until it has reached its delivery goals.
  6694  	HardCutoff bool `json:"hardCutoff,omitempty"`
  6695  
  6696  	// ImpressionRatio: Impression ratio for this ad. This ratio determines
  6697  	// how often each ad is served relative to the others. For example, if
  6698  	// ad A has an impression ratio of 1 and ad B has an impression ratio of
  6699  	// 3, then Campaign Manager will serve ad B three times as often as ad
  6700  	// A. Acceptable values are 1 to 10, inclusive.
  6701  	ImpressionRatio int64 `json:"impressionRatio,omitempty,string"`
  6702  
  6703  	// Priority: Serving priority of an ad, with respect to other ads. The
  6704  	// lower the priority number, the greater the priority with which it is
  6705  	// served.
  6706  	//
  6707  	// Possible values:
  6708  	//   "AD_PRIORITY_01"
  6709  	//   "AD_PRIORITY_02"
  6710  	//   "AD_PRIORITY_03"
  6711  	//   "AD_PRIORITY_04"
  6712  	//   "AD_PRIORITY_05"
  6713  	//   "AD_PRIORITY_06"
  6714  	//   "AD_PRIORITY_07"
  6715  	//   "AD_PRIORITY_08"
  6716  	//   "AD_PRIORITY_09"
  6717  	//   "AD_PRIORITY_10"
  6718  	//   "AD_PRIORITY_11"
  6719  	//   "AD_PRIORITY_12"
  6720  	//   "AD_PRIORITY_13"
  6721  	//   "AD_PRIORITY_14"
  6722  	//   "AD_PRIORITY_15"
  6723  	//   "AD_PRIORITY_16"
  6724  	Priority string `json:"priority,omitempty"`
  6725  
  6726  	// ForceSendFields is a list of field names (e.g. "FrequencyCap") to
  6727  	// unconditionally include in API requests. By default, fields with
  6728  	// empty or default values are omitted from API requests. However, any
  6729  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6730  	// sent to the server regardless of whether the field is empty or not.
  6731  	// This may be used to include empty fields in Patch requests.
  6732  	ForceSendFields []string `json:"-"`
  6733  
  6734  	// NullFields is a list of field names (e.g. "FrequencyCap") to include
  6735  	// in API requests with the JSON null value. By default, fields with
  6736  	// empty values are omitted from API requests. However, any field with
  6737  	// an empty value appearing in NullFields will be sent to the server as
  6738  	// null. It is an error if a field in this list has a non-empty value.
  6739  	// This may be used to include null fields in Patch requests.
  6740  	NullFields []string `json:"-"`
  6741  }
  6742  
  6743  func (s *DeliverySchedule) MarshalJSON() ([]byte, error) {
  6744  	type NoMethod DeliverySchedule
  6745  	raw := NoMethod(*s)
  6746  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6747  }
  6748  
  6749  // DfpSettings: Google Ad Manager Settings
  6750  type DfpSettings struct {
  6751  	// DfpNetworkCode: Ad Manager network code for this directory site.
  6752  	DfpNetworkCode string `json:"dfpNetworkCode,omitempty"`
  6753  
  6754  	// DfpNetworkName: Ad Manager network name for this directory site.
  6755  	DfpNetworkName string `json:"dfpNetworkName,omitempty"`
  6756  
  6757  	// ProgrammaticPlacementAccepted: Whether this directory site accepts
  6758  	// programmatic placements.
  6759  	ProgrammaticPlacementAccepted bool `json:"programmaticPlacementAccepted,omitempty"`
  6760  
  6761  	// PubPaidPlacementAccepted: Whether this directory site accepts
  6762  	// publisher-paid tags.
  6763  	PubPaidPlacementAccepted bool `json:"pubPaidPlacementAccepted,omitempty"`
  6764  
  6765  	// PublisherPortalOnly: Whether this directory site is available only
  6766  	// via Publisher Portal.
  6767  	PublisherPortalOnly bool `json:"publisherPortalOnly,omitempty"`
  6768  
  6769  	// ForceSendFields is a list of field names (e.g. "DfpNetworkCode") to
  6770  	// unconditionally include in API requests. By default, fields with
  6771  	// empty or default values are omitted from API requests. However, any
  6772  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6773  	// sent to the server regardless of whether the field is empty or not.
  6774  	// This may be used to include empty fields in Patch requests.
  6775  	ForceSendFields []string `json:"-"`
  6776  
  6777  	// NullFields is a list of field names (e.g. "DfpNetworkCode") to
  6778  	// include in API requests with the JSON null value. By default, fields
  6779  	// with empty values are omitted from API requests. However, any field
  6780  	// with an empty value appearing in NullFields will be sent to the
  6781  	// server as null. It is an error if a field in this list has a
  6782  	// non-empty value. This may be used to include null fields in Patch
  6783  	// requests.
  6784  	NullFields []string `json:"-"`
  6785  }
  6786  
  6787  func (s *DfpSettings) MarshalJSON() ([]byte, error) {
  6788  	type NoMethod DfpSettings
  6789  	raw := NoMethod(*s)
  6790  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6791  }
  6792  
  6793  // Dimension: Represents a dimension.
  6794  type Dimension struct {
  6795  	// Kind: The kind of resource this is, in this case
  6796  	// dfareporting#dimension.
  6797  	Kind string `json:"kind,omitempty"`
  6798  
  6799  	// Name: The dimension name, e.g. dfa:advertiser
  6800  	Name string `json:"name,omitempty"`
  6801  
  6802  	// ForceSendFields is a list of field names (e.g. "Kind") to
  6803  	// unconditionally include in API requests. By default, fields with
  6804  	// empty or default values are omitted from API requests. However, any
  6805  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6806  	// sent to the server regardless of whether the field is empty or not.
  6807  	// This may be used to include empty fields in Patch requests.
  6808  	ForceSendFields []string `json:"-"`
  6809  
  6810  	// NullFields is a list of field names (e.g. "Kind") to include in API
  6811  	// requests with the JSON null value. By default, fields with empty
  6812  	// values are omitted from API requests. However, any field with an
  6813  	// empty value appearing in NullFields will be sent to the server as
  6814  	// null. It is an error if a field in this list has a non-empty value.
  6815  	// This may be used to include null fields in Patch requests.
  6816  	NullFields []string `json:"-"`
  6817  }
  6818  
  6819  func (s *Dimension) MarshalJSON() ([]byte, error) {
  6820  	type NoMethod Dimension
  6821  	raw := NoMethod(*s)
  6822  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6823  }
  6824  
  6825  // DimensionFilter: Represents a dimension filter.
  6826  type DimensionFilter struct {
  6827  	// DimensionName: The name of the dimension to filter.
  6828  	DimensionName string `json:"dimensionName,omitempty"`
  6829  
  6830  	// Kind: The kind of resource this is, in this case
  6831  	// dfareporting#dimensionFilter.
  6832  	Kind string `json:"kind,omitempty"`
  6833  
  6834  	// Value: The value of the dimension to filter.
  6835  	Value string `json:"value,omitempty"`
  6836  
  6837  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6838  	// unconditionally include in API requests. By default, fields with
  6839  	// empty or default values are omitted from API requests. However, any
  6840  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6841  	// sent to the server regardless of whether the field is empty or not.
  6842  	// This may be used to include empty fields in Patch requests.
  6843  	ForceSendFields []string `json:"-"`
  6844  
  6845  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6846  	// in API requests with the JSON null value. By default, fields with
  6847  	// empty values are omitted from API requests. However, any field with
  6848  	// an empty value appearing in NullFields will be sent to the server as
  6849  	// null. It is an error if a field in this list has a non-empty value.
  6850  	// This may be used to include null fields in Patch requests.
  6851  	NullFields []string `json:"-"`
  6852  }
  6853  
  6854  func (s *DimensionFilter) MarshalJSON() ([]byte, error) {
  6855  	type NoMethod DimensionFilter
  6856  	raw := NoMethod(*s)
  6857  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6858  }
  6859  
  6860  // DimensionValue: Represents a DimensionValue resource.
  6861  type DimensionValue struct {
  6862  	// DimensionName: The name of the dimension.
  6863  	DimensionName string `json:"dimensionName,omitempty"`
  6864  
  6865  	// Etag: The eTag of this response for caching purposes.
  6866  	Etag string `json:"etag,omitempty"`
  6867  
  6868  	// Id: The ID associated with the value if available.
  6869  	Id string `json:"id,omitempty"`
  6870  
  6871  	// Kind: The kind of resource this is, in this case
  6872  	// dfareporting#dimensionValue.
  6873  	Kind string `json:"kind,omitempty"`
  6874  
  6875  	// MatchType: Determines how the 'value' field is matched when
  6876  	// filtering. If not specified, defaults to EXACT. If set to
  6877  	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
  6878  	// length character sequences, and it can be escaped with a backslash.
  6879  	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
  6880  	// matchType other than EXACT.
  6881  	//
  6882  	// Possible values:
  6883  	//   "EXACT"
  6884  	//   "BEGINS_WITH"
  6885  	//   "CONTAINS"
  6886  	//   "WILDCARD_EXPRESSION"
  6887  	MatchType string `json:"matchType,omitempty"`
  6888  
  6889  	// Value: The value of the dimension.
  6890  	Value string `json:"value,omitempty"`
  6891  
  6892  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6893  	// unconditionally include in API requests. By default, fields with
  6894  	// empty or default values are omitted from API requests. However, any
  6895  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6896  	// sent to the server regardless of whether the field is empty or not.
  6897  	// This may be used to include empty fields in Patch requests.
  6898  	ForceSendFields []string `json:"-"`
  6899  
  6900  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6901  	// in API requests with the JSON null value. By default, fields with
  6902  	// empty values are omitted from API requests. However, any field with
  6903  	// an empty value appearing in NullFields will be sent to the server as
  6904  	// null. It is an error if a field in this list has a non-empty value.
  6905  	// This may be used to include null fields in Patch requests.
  6906  	NullFields []string `json:"-"`
  6907  }
  6908  
  6909  func (s *DimensionValue) MarshalJSON() ([]byte, error) {
  6910  	type NoMethod DimensionValue
  6911  	raw := NoMethod(*s)
  6912  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6913  }
  6914  
  6915  // DimensionValueList: Represents the list of DimensionValue resources.
  6916  type DimensionValueList struct {
  6917  	// Etag: The eTag of this response for caching purposes.
  6918  	Etag string `json:"etag,omitempty"`
  6919  
  6920  	// Items: The dimension values returned in this response.
  6921  	Items []*DimensionValue `json:"items,omitempty"`
  6922  
  6923  	// Kind: The kind of list this is, in this case
  6924  	// dfareporting#dimensionValueList.
  6925  	Kind string `json:"kind,omitempty"`
  6926  
  6927  	// NextPageToken: Continuation token used to page through dimension
  6928  	// values. To retrieve the next page of results, set the next request's
  6929  	// "pageToken" to the value of this field. The page token is only valid
  6930  	// for a limited amount of time and should not be persisted.
  6931  	NextPageToken string `json:"nextPageToken,omitempty"`
  6932  
  6933  	// ServerResponse contains the HTTP response code and headers from the
  6934  	// server.
  6935  	googleapi.ServerResponse `json:"-"`
  6936  
  6937  	// ForceSendFields is a list of field names (e.g. "Etag") to
  6938  	// unconditionally include in API requests. By default, fields with
  6939  	// empty or default values are omitted from API requests. However, any
  6940  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6941  	// sent to the server regardless of whether the field is empty or not.
  6942  	// This may be used to include empty fields in Patch requests.
  6943  	ForceSendFields []string `json:"-"`
  6944  
  6945  	// NullFields is a list of field names (e.g. "Etag") to include in API
  6946  	// requests with the JSON null value. By default, fields with empty
  6947  	// values are omitted from API requests. However, any field with an
  6948  	// empty value appearing in NullFields will be sent to the server as
  6949  	// null. It is an error if a field in this list has a non-empty value.
  6950  	// This may be used to include null fields in Patch requests.
  6951  	NullFields []string `json:"-"`
  6952  }
  6953  
  6954  func (s *DimensionValueList) MarshalJSON() ([]byte, error) {
  6955  	type NoMethod DimensionValueList
  6956  	raw := NoMethod(*s)
  6957  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6958  }
  6959  
  6960  // DimensionValueRequest: Represents a DimensionValuesRequest.
  6961  type DimensionValueRequest struct {
  6962  	// DimensionName: The name of the dimension for which values should be
  6963  	// requested.
  6964  	DimensionName string `json:"dimensionName,omitempty"`
  6965  
  6966  	EndDate string `json:"endDate,omitempty"`
  6967  
  6968  	// Filters: The list of filters by which to filter values. The filters
  6969  	// are ANDed.
  6970  	Filters []*DimensionFilter `json:"filters,omitempty"`
  6971  
  6972  	// Kind: The kind of request this is, in this case
  6973  	// dfareporting#dimensionValueRequest .
  6974  	Kind string `json:"kind,omitempty"`
  6975  
  6976  	StartDate string `json:"startDate,omitempty"`
  6977  
  6978  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6979  	// unconditionally include in API requests. By default, fields with
  6980  	// empty or default values are omitted from API requests. However, any
  6981  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6982  	// sent to the server regardless of whether the field is empty or not.
  6983  	// This may be used to include empty fields in Patch requests.
  6984  	ForceSendFields []string `json:"-"`
  6985  
  6986  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6987  	// in API requests with the JSON null value. By default, fields with
  6988  	// empty values are omitted from API requests. However, any field with
  6989  	// an empty value appearing in NullFields will be sent to the server as
  6990  	// null. It is an error if a field in this list has a non-empty value.
  6991  	// This may be used to include null fields in Patch requests.
  6992  	NullFields []string `json:"-"`
  6993  }
  6994  
  6995  func (s *DimensionValueRequest) MarshalJSON() ([]byte, error) {
  6996  	type NoMethod DimensionValueRequest
  6997  	raw := NoMethod(*s)
  6998  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6999  }
  7000  
  7001  // DirectorySite: DirectorySites contains properties of a website from
  7002  // the Site Directory. Sites need to be added to an account via the
  7003  // Sites resource before they can be assigned to a placement.
  7004  type DirectorySite struct {
  7005  	// Id: ID of this directory site. This is a read-only, auto-generated
  7006  	// field.
  7007  	Id int64 `json:"id,omitempty,string"`
  7008  
  7009  	// IdDimensionValue: Dimension value for the ID of this directory site.
  7010  	// This is a read-only, auto-generated field.
  7011  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7012  
  7013  	// InpageTagFormats: Tag types for regular placements. Acceptable values
  7014  	// are: - "STANDARD" - "IFRAME_JAVASCRIPT_INPAGE" -
  7015  	// "INTERNAL_REDIRECT_INPAGE" - "JAVASCRIPT_INPAGE"
  7016  	//
  7017  	// Possible values:
  7018  	//   "STANDARD"
  7019  	//   "IFRAME_JAVASCRIPT_INPAGE"
  7020  	//   "INTERNAL_REDIRECT_INPAGE"
  7021  	//   "JAVASCRIPT_INPAGE"
  7022  	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
  7023  
  7024  	// InterstitialTagFormats: Tag types for interstitial placements.
  7025  	// Acceptable values are: - "IFRAME_JAVASCRIPT_INTERSTITIAL" -
  7026  	// "INTERNAL_REDIRECT_INTERSTITIAL" - "JAVASCRIPT_INTERSTITIAL"
  7027  	//
  7028  	// Possible values:
  7029  	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
  7030  	//   "INTERNAL_REDIRECT_INTERSTITIAL"
  7031  	//   "JAVASCRIPT_INTERSTITIAL"
  7032  	InterstitialTagFormats []string `json:"interstitialTagFormats,omitempty"`
  7033  
  7034  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7035  	// string "dfareporting#directorySite".
  7036  	Kind string `json:"kind,omitempty"`
  7037  
  7038  	// Name: Name of this directory site.
  7039  	Name string `json:"name,omitempty"`
  7040  
  7041  	// Settings: Directory site settings.
  7042  	Settings *DirectorySiteSettings `json:"settings,omitempty"`
  7043  
  7044  	// Url: URL of this directory site.
  7045  	Url string `json:"url,omitempty"`
  7046  
  7047  	// ServerResponse contains the HTTP response code and headers from the
  7048  	// server.
  7049  	googleapi.ServerResponse `json:"-"`
  7050  
  7051  	// ForceSendFields is a list of field names (e.g. "Id") to
  7052  	// unconditionally include in API requests. By default, fields with
  7053  	// empty or default values are omitted from API requests. However, any
  7054  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7055  	// sent to the server regardless of whether the field is empty or not.
  7056  	// This may be used to include empty fields in Patch requests.
  7057  	ForceSendFields []string `json:"-"`
  7058  
  7059  	// NullFields is a list of field names (e.g. "Id") to include in API
  7060  	// requests with the JSON null value. By default, fields with empty
  7061  	// values are omitted from API requests. However, any field with an
  7062  	// empty value appearing in NullFields will be sent to the server as
  7063  	// null. It is an error if a field in this list has a non-empty value.
  7064  	// This may be used to include null fields in Patch requests.
  7065  	NullFields []string `json:"-"`
  7066  }
  7067  
  7068  func (s *DirectorySite) MarshalJSON() ([]byte, error) {
  7069  	type NoMethod DirectorySite
  7070  	raw := NoMethod(*s)
  7071  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7072  }
  7073  
  7074  // DirectorySiteSettings: Directory Site Settings
  7075  type DirectorySiteSettings struct {
  7076  	// ActiveViewOptOut: Whether this directory site has disabled active
  7077  	// view creatives.
  7078  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
  7079  
  7080  	// DfpSettings: Directory site Ad Manager settings.
  7081  	DfpSettings *DfpSettings `json:"dfpSettings,omitempty"`
  7082  
  7083  	// InstreamVideoPlacementAccepted: Whether this site accepts in-stream
  7084  	// video ads.
  7085  	InstreamVideoPlacementAccepted bool `json:"instreamVideoPlacementAccepted,omitempty"`
  7086  
  7087  	// InterstitialPlacementAccepted: Whether this site accepts interstitial
  7088  	// ads.
  7089  	InterstitialPlacementAccepted bool `json:"interstitialPlacementAccepted,omitempty"`
  7090  
  7091  	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
  7092  	// unconditionally include in API requests. By default, fields with
  7093  	// empty or default values are omitted from API requests. However, any
  7094  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7095  	// sent to the server regardless of whether the field is empty or not.
  7096  	// This may be used to include empty fields in Patch requests.
  7097  	ForceSendFields []string `json:"-"`
  7098  
  7099  	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
  7100  	// include in API requests with the JSON null value. By default, fields
  7101  	// with empty values are omitted from API requests. However, any field
  7102  	// with an empty value appearing in NullFields will be sent to the
  7103  	// server as null. It is an error if a field in this list has a
  7104  	// non-empty value. This may be used to include null fields in Patch
  7105  	// requests.
  7106  	NullFields []string `json:"-"`
  7107  }
  7108  
  7109  func (s *DirectorySiteSettings) MarshalJSON() ([]byte, error) {
  7110  	type NoMethod DirectorySiteSettings
  7111  	raw := NoMethod(*s)
  7112  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7113  }
  7114  
  7115  // DirectorySitesListResponse: Directory Site List Response
  7116  type DirectorySitesListResponse struct {
  7117  	// DirectorySites: Directory site collection.
  7118  	DirectorySites []*DirectorySite `json:"directorySites,omitempty"`
  7119  
  7120  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7121  	// string "dfareporting#directorySitesListResponse".
  7122  	Kind string `json:"kind,omitempty"`
  7123  
  7124  	// NextPageToken: Pagination token to be used for the next list
  7125  	// operation.
  7126  	NextPageToken string `json:"nextPageToken,omitempty"`
  7127  
  7128  	// ServerResponse contains the HTTP response code and headers from the
  7129  	// server.
  7130  	googleapi.ServerResponse `json:"-"`
  7131  
  7132  	// ForceSendFields is a list of field names (e.g. "DirectorySites") to
  7133  	// unconditionally include in API requests. By default, fields with
  7134  	// empty or default values are omitted from API requests. However, any
  7135  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7136  	// sent to the server regardless of whether the field is empty or not.
  7137  	// This may be used to include empty fields in Patch requests.
  7138  	ForceSendFields []string `json:"-"`
  7139  
  7140  	// NullFields is a list of field names (e.g. "DirectorySites") to
  7141  	// include in API requests with the JSON null value. By default, fields
  7142  	// with empty values are omitted from API requests. However, any field
  7143  	// with an empty value appearing in NullFields will be sent to the
  7144  	// server as null. It is an error if a field in this list has a
  7145  	// non-empty value. This may be used to include null fields in Patch
  7146  	// requests.
  7147  	NullFields []string `json:"-"`
  7148  }
  7149  
  7150  func (s *DirectorySitesListResponse) MarshalJSON() ([]byte, error) {
  7151  	type NoMethod DirectorySitesListResponse
  7152  	raw := NoMethod(*s)
  7153  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7154  }
  7155  
  7156  // DisjunctiveMatchStatement: Represents a Disjunctive Match Statement
  7157  // resource, which is a conjunction (and) of disjunctive (or) boolean
  7158  // statements.
  7159  type DisjunctiveMatchStatement struct {
  7160  	// EventFilters: The event filters contained within this disjunctive
  7161  	// match statement.
  7162  	EventFilters []*EventFilter `json:"eventFilters,omitempty"`
  7163  
  7164  	// Kind: The kind of resource this is, in this case
  7165  	// dfareporting#disjunctiveMatchStatement.
  7166  	Kind string `json:"kind,omitempty"`
  7167  
  7168  	// ForceSendFields is a list of field names (e.g. "EventFilters") to
  7169  	// unconditionally include in API requests. By default, fields with
  7170  	// empty or default values are omitted from API requests. However, any
  7171  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7172  	// sent to the server regardless of whether the field is empty or not.
  7173  	// This may be used to include empty fields in Patch requests.
  7174  	ForceSendFields []string `json:"-"`
  7175  
  7176  	// NullFields is a list of field names (e.g. "EventFilters") to include
  7177  	// in API requests with the JSON null value. By default, fields with
  7178  	// empty values are omitted from API requests. However, any field with
  7179  	// an empty value appearing in NullFields will be sent to the server as
  7180  	// null. It is an error if a field in this list has a non-empty value.
  7181  	// This may be used to include null fields in Patch requests.
  7182  	NullFields []string `json:"-"`
  7183  }
  7184  
  7185  func (s *DisjunctiveMatchStatement) MarshalJSON() ([]byte, error) {
  7186  	type NoMethod DisjunctiveMatchStatement
  7187  	raw := NoMethod(*s)
  7188  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7189  }
  7190  
  7191  // DynamicTargetingKey: Contains properties of a dynamic targeting key.
  7192  // Dynamic targeting keys are unique, user-friendly labels, created at
  7193  // the advertiser level in DCM, that can be assigned to ads, creatives,
  7194  // and placements and used for targeting with Studio dynamic creatives.
  7195  // Use these labels instead of numeric Campaign Manager IDs (such as
  7196  // placement IDs) to save time and avoid errors in your dynamic feeds.
  7197  type DynamicTargetingKey struct {
  7198  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7199  	// string "dfareporting#dynamicTargetingKey".
  7200  	Kind string `json:"kind,omitempty"`
  7201  
  7202  	// Name: Name of this dynamic targeting key. This is a required field.
  7203  	// Must be less than 256 characters long and cannot contain commas. All
  7204  	// characters are converted to lowercase.
  7205  	Name string `json:"name,omitempty"`
  7206  
  7207  	// ObjectId: ID of the object of this dynamic targeting key. This is a
  7208  	// required field.
  7209  	ObjectId int64 `json:"objectId,omitempty,string"`
  7210  
  7211  	// ObjectType: Type of the object of this dynamic targeting key. This is
  7212  	// a required field.
  7213  	//
  7214  	// Possible values:
  7215  	//   "OBJECT_ADVERTISER"
  7216  	//   "OBJECT_AD"
  7217  	//   "OBJECT_CREATIVE"
  7218  	//   "OBJECT_PLACEMENT"
  7219  	ObjectType string `json:"objectType,omitempty"`
  7220  
  7221  	// ServerResponse contains the HTTP response code and headers from the
  7222  	// server.
  7223  	googleapi.ServerResponse `json:"-"`
  7224  
  7225  	// ForceSendFields is a list of field names (e.g. "Kind") to
  7226  	// unconditionally include in API requests. By default, fields with
  7227  	// empty or default values are omitted from API requests. However, any
  7228  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7229  	// sent to the server regardless of whether the field is empty or not.
  7230  	// This may be used to include empty fields in Patch requests.
  7231  	ForceSendFields []string `json:"-"`
  7232  
  7233  	// NullFields is a list of field names (e.g. "Kind") to include in API
  7234  	// requests with the JSON null value. By default, fields with empty
  7235  	// values are omitted from API requests. However, any field with an
  7236  	// empty value appearing in NullFields will be sent to the server as
  7237  	// null. It is an error if a field in this list has a non-empty value.
  7238  	// This may be used to include null fields in Patch requests.
  7239  	NullFields []string `json:"-"`
  7240  }
  7241  
  7242  func (s *DynamicTargetingKey) MarshalJSON() ([]byte, error) {
  7243  	type NoMethod DynamicTargetingKey
  7244  	raw := NoMethod(*s)
  7245  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7246  }
  7247  
  7248  // DynamicTargetingKeysListResponse: Dynamic Targeting Key List Response
  7249  type DynamicTargetingKeysListResponse struct {
  7250  	// DynamicTargetingKeys: Dynamic targeting key collection.
  7251  	DynamicTargetingKeys []*DynamicTargetingKey `json:"dynamicTargetingKeys,omitempty"`
  7252  
  7253  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7254  	// string "dfareporting#dynamicTargetingKeysListResponse".
  7255  	Kind string `json:"kind,omitempty"`
  7256  
  7257  	// ServerResponse contains the HTTP response code and headers from the
  7258  	// server.
  7259  	googleapi.ServerResponse `json:"-"`
  7260  
  7261  	// ForceSendFields is a list of field names (e.g.
  7262  	// "DynamicTargetingKeys") to unconditionally include in API requests.
  7263  	// By default, fields with empty or default values are omitted from API
  7264  	// requests. However, any non-pointer, non-interface field appearing in
  7265  	// ForceSendFields will be sent to the server regardless of whether the
  7266  	// field is empty or not. This may be used to include empty fields in
  7267  	// Patch requests.
  7268  	ForceSendFields []string `json:"-"`
  7269  
  7270  	// NullFields is a list of field names (e.g. "DynamicTargetingKeys") to
  7271  	// include in API requests with the JSON null value. By default, fields
  7272  	// with empty values are omitted from API requests. However, any field
  7273  	// with an empty value appearing in NullFields will be sent to the
  7274  	// server as null. It is an error if a field in this list has a
  7275  	// non-empty value. This may be used to include null fields in Patch
  7276  	// requests.
  7277  	NullFields []string `json:"-"`
  7278  }
  7279  
  7280  func (s *DynamicTargetingKeysListResponse) MarshalJSON() ([]byte, error) {
  7281  	type NoMethod DynamicTargetingKeysListResponse
  7282  	raw := NoMethod(*s)
  7283  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7284  }
  7285  
  7286  // EncryptionInfo: A description of how user IDs are encrypted.
  7287  type EncryptionInfo struct {
  7288  	// EncryptionEntityId: The encryption entity ID. This should match the
  7289  	// encryption configuration for ad serving or Data Transfer.
  7290  	EncryptionEntityId int64 `json:"encryptionEntityId,omitempty,string"`
  7291  
  7292  	// EncryptionEntityType: The encryption entity type. This should match
  7293  	// the encryption configuration for ad serving or Data Transfer.
  7294  	//
  7295  	// Possible values:
  7296  	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
  7297  	//   "DCM_ACCOUNT"
  7298  	//   "DCM_ADVERTISER"
  7299  	//   "DBM_PARTNER"
  7300  	//   "DBM_ADVERTISER"
  7301  	//   "ADWORDS_CUSTOMER"
  7302  	//   "DFP_NETWORK_CODE"
  7303  	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
  7304  
  7305  	// EncryptionSource: Describes whether the encrypted cookie was received
  7306  	// from ad serving (the %m macro) or from Data Transfer.
  7307  	//
  7308  	// Possible values:
  7309  	//   "ENCRYPTION_SCOPE_UNKNOWN"
  7310  	//   "AD_SERVING"
  7311  	//   "DATA_TRANSFER"
  7312  	EncryptionSource string `json:"encryptionSource,omitempty"`
  7313  
  7314  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7315  	// string "dfareporting#encryptionInfo".
  7316  	Kind string `json:"kind,omitempty"`
  7317  
  7318  	// ForceSendFields is a list of field names (e.g. "EncryptionEntityId")
  7319  	// to unconditionally include in API requests. By default, fields with
  7320  	// empty or default values are omitted from API requests. However, any
  7321  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7322  	// sent to the server regardless of whether the field is empty or not.
  7323  	// This may be used to include empty fields in Patch requests.
  7324  	ForceSendFields []string `json:"-"`
  7325  
  7326  	// NullFields is a list of field names (e.g. "EncryptionEntityId") to
  7327  	// include in API requests with the JSON null value. By default, fields
  7328  	// with empty values are omitted from API requests. However, any field
  7329  	// with an empty value appearing in NullFields will be sent to the
  7330  	// server as null. It is an error if a field in this list has a
  7331  	// non-empty value. This may be used to include null fields in Patch
  7332  	// requests.
  7333  	NullFields []string `json:"-"`
  7334  }
  7335  
  7336  func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
  7337  	type NoMethod EncryptionInfo
  7338  	raw := NoMethod(*s)
  7339  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7340  }
  7341  
  7342  // EventFilter: Represents a DfaReporting event filter.
  7343  type EventFilter struct {
  7344  	// DimensionFilter: The dimension filter contained within this
  7345  	// EventFilter.
  7346  	DimensionFilter *PathReportDimensionValue `json:"dimensionFilter,omitempty"`
  7347  
  7348  	// Kind: The kind of resource this is, in this case
  7349  	// dfareporting#eventFilter.
  7350  	Kind string `json:"kind,omitempty"`
  7351  
  7352  	// ForceSendFields is a list of field names (e.g. "DimensionFilter") to
  7353  	// unconditionally include in API requests. By default, fields with
  7354  	// empty or default values are omitted from API requests. However, any
  7355  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7356  	// sent to the server regardless of whether the field is empty or not.
  7357  	// This may be used to include empty fields in Patch requests.
  7358  	ForceSendFields []string `json:"-"`
  7359  
  7360  	// NullFields is a list of field names (e.g. "DimensionFilter") to
  7361  	// include in API requests with the JSON null value. By default, fields
  7362  	// with empty values are omitted from API requests. However, any field
  7363  	// with an empty value appearing in NullFields will be sent to the
  7364  	// server as null. It is an error if a field in this list has a
  7365  	// non-empty value. This may be used to include null fields in Patch
  7366  	// requests.
  7367  	NullFields []string `json:"-"`
  7368  }
  7369  
  7370  func (s *EventFilter) MarshalJSON() ([]byte, error) {
  7371  	type NoMethod EventFilter
  7372  	raw := NoMethod(*s)
  7373  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7374  }
  7375  
  7376  // EventTag: Contains properties of an event tag.
  7377  type EventTag struct {
  7378  	// AccountId: Account ID of this event tag. This is a read-only field
  7379  	// that can be left blank.
  7380  	AccountId int64 `json:"accountId,omitempty,string"`
  7381  
  7382  	// AdvertiserId: Advertiser ID of this event tag. This field or the
  7383  	// campaignId field is required on insertion.
  7384  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7385  
  7386  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7387  	// advertiser. This is a read-only, auto-generated field.
  7388  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7389  
  7390  	// CampaignId: Campaign ID of this event tag. This field or the
  7391  	// advertiserId field is required on insertion.
  7392  	CampaignId int64 `json:"campaignId,omitempty,string"`
  7393  
  7394  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  7395  	// This is a read-only, auto-generated field.
  7396  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  7397  
  7398  	// EnabledByDefault: Whether this event tag should be automatically
  7399  	// enabled for all of the advertiser's campaigns and ads.
  7400  	EnabledByDefault bool `json:"enabledByDefault,omitempty"`
  7401  
  7402  	// ExcludeFromAdxRequests: Whether to remove this event tag from ads
  7403  	// that are trafficked through Display & Video 360 to Ad Exchange. This
  7404  	// may be useful if the event tag uses a pixel that is unapproved for Ad
  7405  	// Exchange bids on one or more networks, such as the Google Display
  7406  	// Network.
  7407  	ExcludeFromAdxRequests bool `json:"excludeFromAdxRequests,omitempty"`
  7408  
  7409  	// Id: ID of this event tag. This is a read-only, auto-generated field.
  7410  	Id int64 `json:"id,omitempty,string"`
  7411  
  7412  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7413  	// string "dfareporting#eventTag".
  7414  	Kind string `json:"kind,omitempty"`
  7415  
  7416  	// Name: Name of this event tag. This is a required field and must be
  7417  	// less than 256 characters long.
  7418  	Name string `json:"name,omitempty"`
  7419  
  7420  	// SiteFilterType: Site filter type for this event tag. If no type is
  7421  	// specified then the event tag will be applied to all sites.
  7422  	//
  7423  	// Possible values:
  7424  	//   "WHITELIST"
  7425  	//   "BLACKLIST"
  7426  	SiteFilterType string `json:"siteFilterType,omitempty"`
  7427  
  7428  	// SiteIds: Filter list of site IDs associated with this event tag. The
  7429  	// siteFilterType determines whether this is a allowlist or blocklist
  7430  	// filter.
  7431  	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
  7432  
  7433  	// SslCompliant: Whether this tag is SSL-compliant or not. This is a
  7434  	// read-only field.
  7435  	SslCompliant bool `json:"sslCompliant,omitempty"`
  7436  
  7437  	// Status: Status of this event tag. Must be ENABLED for this event tag
  7438  	// to fire. This is a required field.
  7439  	//
  7440  	// Possible values:
  7441  	//   "ENABLED"
  7442  	//   "DISABLED"
  7443  	Status string `json:"status,omitempty"`
  7444  
  7445  	// SubaccountId: Subaccount ID of this event tag. This is a read-only
  7446  	// field that can be left blank.
  7447  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7448  
  7449  	// Type: Event tag type. Can be used to specify whether to use a
  7450  	// third-party pixel, a third-party JavaScript URL, or a third-party
  7451  	// click-through URL for either impression or click tracking. This is a
  7452  	// required field.
  7453  	//
  7454  	// Possible values:
  7455  	//   "IMPRESSION_IMAGE_EVENT_TAG"
  7456  	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
  7457  	//   "CLICK_THROUGH_EVENT_TAG"
  7458  	Type string `json:"type,omitempty"`
  7459  
  7460  	// Url: Payload URL for this event tag. The URL on a click-through event
  7461  	// tag should have a landing page URL appended to the end of it. This
  7462  	// field is required on insertion.
  7463  	Url string `json:"url,omitempty"`
  7464  
  7465  	// UrlEscapeLevels: Number of times the landing page URL should be
  7466  	// URL-escaped before being appended to the click-through event tag URL.
  7467  	// Only applies to click-through event tags as specified by the event
  7468  	// tag type.
  7469  	UrlEscapeLevels int64 `json:"urlEscapeLevels,omitempty"`
  7470  
  7471  	// ServerResponse contains the HTTP response code and headers from the
  7472  	// server.
  7473  	googleapi.ServerResponse `json:"-"`
  7474  
  7475  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7476  	// unconditionally include in API requests. By default, fields with
  7477  	// empty or default values are omitted from API requests. However, any
  7478  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7479  	// sent to the server regardless of whether the field is empty or not.
  7480  	// This may be used to include empty fields in Patch requests.
  7481  	ForceSendFields []string `json:"-"`
  7482  
  7483  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7484  	// API requests with the JSON null value. By default, fields with empty
  7485  	// values are omitted from API requests. However, any field with an
  7486  	// empty value appearing in NullFields will be sent to the server as
  7487  	// null. It is an error if a field in this list has a non-empty value.
  7488  	// This may be used to include null fields in Patch requests.
  7489  	NullFields []string `json:"-"`
  7490  }
  7491  
  7492  func (s *EventTag) MarshalJSON() ([]byte, error) {
  7493  	type NoMethod EventTag
  7494  	raw := NoMethod(*s)
  7495  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7496  }
  7497  
  7498  // EventTagOverride: Event tag override information.
  7499  type EventTagOverride struct {
  7500  	// Enabled: Whether this override is enabled.
  7501  	Enabled bool `json:"enabled,omitempty"`
  7502  
  7503  	// Id: ID of this event tag override. This is a read-only,
  7504  	// auto-generated field.
  7505  	Id int64 `json:"id,omitempty,string"`
  7506  
  7507  	// ForceSendFields is a list of field names (e.g. "Enabled") to
  7508  	// unconditionally include in API requests. By default, fields with
  7509  	// empty or default values are omitted from API requests. However, any
  7510  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7511  	// sent to the server regardless of whether the field is empty or not.
  7512  	// This may be used to include empty fields in Patch requests.
  7513  	ForceSendFields []string `json:"-"`
  7514  
  7515  	// NullFields is a list of field names (e.g. "Enabled") to include in
  7516  	// API requests with the JSON null value. By default, fields with empty
  7517  	// values are omitted from API requests. However, any field with an
  7518  	// empty value appearing in NullFields will be sent to the server as
  7519  	// null. It is an error if a field in this list has a non-empty value.
  7520  	// This may be used to include null fields in Patch requests.
  7521  	NullFields []string `json:"-"`
  7522  }
  7523  
  7524  func (s *EventTagOverride) MarshalJSON() ([]byte, error) {
  7525  	type NoMethod EventTagOverride
  7526  	raw := NoMethod(*s)
  7527  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7528  }
  7529  
  7530  // EventTagsListResponse: Event Tag List Response
  7531  type EventTagsListResponse struct {
  7532  	// EventTags: Event tag collection.
  7533  	EventTags []*EventTag `json:"eventTags,omitempty"`
  7534  
  7535  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7536  	// string "dfareporting#eventTagsListResponse".
  7537  	Kind string `json:"kind,omitempty"`
  7538  
  7539  	// ServerResponse contains the HTTP response code and headers from the
  7540  	// server.
  7541  	googleapi.ServerResponse `json:"-"`
  7542  
  7543  	// ForceSendFields is a list of field names (e.g. "EventTags") to
  7544  	// unconditionally include in API requests. By default, fields with
  7545  	// empty or default values are omitted from API requests. However, any
  7546  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7547  	// sent to the server regardless of whether the field is empty or not.
  7548  	// This may be used to include empty fields in Patch requests.
  7549  	ForceSendFields []string `json:"-"`
  7550  
  7551  	// NullFields is a list of field names (e.g. "EventTags") to include in
  7552  	// API requests with the JSON null value. By default, fields with empty
  7553  	// values are omitted from API requests. However, any field with an
  7554  	// empty value appearing in NullFields will be sent to the server as
  7555  	// null. It is an error if a field in this list has a non-empty value.
  7556  	// This may be used to include null fields in Patch requests.
  7557  	NullFields []string `json:"-"`
  7558  }
  7559  
  7560  func (s *EventTagsListResponse) MarshalJSON() ([]byte, error) {
  7561  	type NoMethod EventTagsListResponse
  7562  	raw := NoMethod(*s)
  7563  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7564  }
  7565  
  7566  // File: Represents a File resource. A file contains the metadata for a
  7567  // report run. It shows the status of the run and holds the URLs to the
  7568  // generated report data if the run is finished and the status is
  7569  // "REPORT_AVAILABLE".
  7570  type File struct {
  7571  	// DateRange: The date range for which the file has report data. The
  7572  	// date range will always be the absolute date range for which the
  7573  	// report is run.
  7574  	DateRange *DateRange `json:"dateRange,omitempty"`
  7575  
  7576  	// Etag: Etag of this resource.
  7577  	Etag string `json:"etag,omitempty"`
  7578  
  7579  	// FileName: The filename of the file.
  7580  	FileName string `json:"fileName,omitempty"`
  7581  
  7582  	// Format: The output format of the report. Only available once the file
  7583  	// is available.
  7584  	//
  7585  	// Possible values:
  7586  	//   "CSV"
  7587  	//   "EXCEL"
  7588  	Format string `json:"format,omitempty"`
  7589  
  7590  	// Id: The unique ID of this report file.
  7591  	Id int64 `json:"id,omitempty,string"`
  7592  
  7593  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7594  	// string "dfareporting#file".
  7595  	Kind string `json:"kind,omitempty"`
  7596  
  7597  	// LastModifiedTime: The timestamp in milliseconds since epoch when this
  7598  	// file was last modified.
  7599  	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
  7600  
  7601  	// ReportId: The ID of the report this file was generated from.
  7602  	ReportId int64 `json:"reportId,omitempty,string"`
  7603  
  7604  	// Status: The status of the report file.
  7605  	//
  7606  	// Possible values:
  7607  	//   "PROCESSING"
  7608  	//   "REPORT_AVAILABLE"
  7609  	//   "FAILED"
  7610  	//   "CANCELLED"
  7611  	Status string `json:"status,omitempty"`
  7612  
  7613  	// Urls: The URLs where the completed report file can be downloaded.
  7614  	Urls *FileUrls `json:"urls,omitempty"`
  7615  
  7616  	// ServerResponse contains the HTTP response code and headers from the
  7617  	// server.
  7618  	googleapi.ServerResponse `json:"-"`
  7619  
  7620  	// ForceSendFields is a list of field names (e.g. "DateRange") to
  7621  	// unconditionally include in API requests. By default, fields with
  7622  	// empty or default values are omitted from API requests. However, any
  7623  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7624  	// sent to the server regardless of whether the field is empty or not.
  7625  	// This may be used to include empty fields in Patch requests.
  7626  	ForceSendFields []string `json:"-"`
  7627  
  7628  	// NullFields is a list of field names (e.g. "DateRange") to include in
  7629  	// API requests with the JSON null value. By default, fields with empty
  7630  	// values are omitted from API requests. However, any field with an
  7631  	// empty value appearing in NullFields will be sent to the server as
  7632  	// null. It is an error if a field in this list has a non-empty value.
  7633  	// This may be used to include null fields in Patch requests.
  7634  	NullFields []string `json:"-"`
  7635  }
  7636  
  7637  func (s *File) MarshalJSON() ([]byte, error) {
  7638  	type NoMethod File
  7639  	raw := NoMethod(*s)
  7640  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7641  }
  7642  
  7643  // FileUrls: The URLs where the completed report file can be downloaded.
  7644  type FileUrls struct {
  7645  	// ApiUrl: The URL for downloading the report data through the API.
  7646  	ApiUrl string `json:"apiUrl,omitempty"`
  7647  
  7648  	// BrowserUrl: The URL for downloading the report data through a
  7649  	// browser.
  7650  	BrowserUrl string `json:"browserUrl,omitempty"`
  7651  
  7652  	// ForceSendFields is a list of field names (e.g. "ApiUrl") 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. "ApiUrl") to include in API
  7661  	// requests with the JSON null value. By default, fields with empty
  7662  	// values are omitted from API requests. However, any field with an
  7663  	// 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 *FileUrls) MarshalJSON() ([]byte, error) {
  7670  	type NoMethod FileUrls
  7671  	raw := NoMethod(*s)
  7672  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7673  }
  7674  
  7675  // FileList: List of files for a report.
  7676  type FileList struct {
  7677  	// Etag: Etag of this resource.
  7678  	Etag string `json:"etag,omitempty"`
  7679  
  7680  	// Items: The files returned in this response.
  7681  	Items []*File `json:"items,omitempty"`
  7682  
  7683  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7684  	// string "dfareporting#fileList".
  7685  	Kind string `json:"kind,omitempty"`
  7686  
  7687  	// NextPageToken: Continuation token used to page through files. To
  7688  	// retrieve the next page of results, set the next request's "pageToken"
  7689  	// to the value of this field. The page token is only valid for a
  7690  	// limited amount of time and should not be persisted.
  7691  	NextPageToken string `json:"nextPageToken,omitempty"`
  7692  
  7693  	// ServerResponse contains the HTTP response code and headers from the
  7694  	// server.
  7695  	googleapi.ServerResponse `json:"-"`
  7696  
  7697  	// ForceSendFields is a list of field names (e.g. "Etag") to
  7698  	// unconditionally include in API requests. By default, fields with
  7699  	// empty or default values are omitted from API requests. However, any
  7700  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7701  	// sent to the server regardless of whether the field is empty or not.
  7702  	// This may be used to include empty fields in Patch requests.
  7703  	ForceSendFields []string `json:"-"`
  7704  
  7705  	// NullFields is a list of field names (e.g. "Etag") to include in API
  7706  	// requests with the JSON null value. By default, fields with empty
  7707  	// values are omitted from API requests. However, any field with an
  7708  	// empty value appearing in NullFields will be sent to the server as
  7709  	// null. It is an error if a field in this list has a non-empty value.
  7710  	// This may be used to include null fields in Patch requests.
  7711  	NullFields []string `json:"-"`
  7712  }
  7713  
  7714  func (s *FileList) MarshalJSON() ([]byte, error) {
  7715  	type NoMethod FileList
  7716  	raw := NoMethod(*s)
  7717  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7718  }
  7719  
  7720  // Flight: Flight
  7721  type Flight struct {
  7722  	EndDate string `json:"endDate,omitempty"`
  7723  
  7724  	// RateOrCost: Rate or cost of this flight.
  7725  	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
  7726  
  7727  	StartDate string `json:"startDate,omitempty"`
  7728  
  7729  	// Units: Units of this flight.
  7730  	Units int64 `json:"units,omitempty,string"`
  7731  
  7732  	// ForceSendFields is a list of field names (e.g. "EndDate") to
  7733  	// unconditionally include in API requests. By default, fields with
  7734  	// empty or default values are omitted from API requests. However, any
  7735  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7736  	// sent to the server regardless of whether the field is empty or not.
  7737  	// This may be used to include empty fields in Patch requests.
  7738  	ForceSendFields []string `json:"-"`
  7739  
  7740  	// NullFields is a list of field names (e.g. "EndDate") to include in
  7741  	// API requests with the JSON null value. By default, fields with empty
  7742  	// values are omitted from API requests. However, any field with an
  7743  	// empty value appearing in NullFields will be sent to the server as
  7744  	// null. It is an error if a field in this list has a non-empty value.
  7745  	// This may be used to include null fields in Patch requests.
  7746  	NullFields []string `json:"-"`
  7747  }
  7748  
  7749  func (s *Flight) MarshalJSON() ([]byte, error) {
  7750  	type NoMethod Flight
  7751  	raw := NoMethod(*s)
  7752  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7753  }
  7754  
  7755  // FloodlightActivitiesGenerateTagResponse: Floodlight Activity
  7756  // GenerateTag Response
  7757  type FloodlightActivitiesGenerateTagResponse struct {
  7758  	// FloodlightActivityTag: Generated tag for this Floodlight activity.
  7759  	// For global site tags, this is the event snippet.
  7760  	FloodlightActivityTag string `json:"floodlightActivityTag,omitempty"`
  7761  
  7762  	// GlobalSiteTagGlobalSnippet: The global snippet section of a global
  7763  	// site tag. The global site tag sets new cookies on your domain, which
  7764  	// will store a unique identifier for a user or the ad click that
  7765  	// brought the user to your site. Learn more.
  7766  	GlobalSiteTagGlobalSnippet string `json:"globalSiteTagGlobalSnippet,omitempty"`
  7767  
  7768  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7769  	// string "dfareporting#floodlightActivitiesGenerateTagResponse".
  7770  	Kind string `json:"kind,omitempty"`
  7771  
  7772  	// ServerResponse contains the HTTP response code and headers from the
  7773  	// server.
  7774  	googleapi.ServerResponse `json:"-"`
  7775  
  7776  	// ForceSendFields is a list of field names (e.g.
  7777  	// "FloodlightActivityTag") to unconditionally include in API requests.
  7778  	// By default, fields with empty or default values are omitted from API
  7779  	// requests. However, any non-pointer, non-interface field appearing in
  7780  	// ForceSendFields will be sent to the server regardless of whether the
  7781  	// field is empty or not. This may be used to include empty fields in
  7782  	// Patch requests.
  7783  	ForceSendFields []string `json:"-"`
  7784  
  7785  	// NullFields is a list of field names (e.g. "FloodlightActivityTag") to
  7786  	// include in API requests with the JSON null value. By default, fields
  7787  	// with empty values are omitted from API requests. However, any field
  7788  	// with an empty value appearing in NullFields will be sent to the
  7789  	// server as null. It is an error if a field in this list has a
  7790  	// non-empty value. This may be used to include null fields in Patch
  7791  	// requests.
  7792  	NullFields []string `json:"-"`
  7793  }
  7794  
  7795  func (s *FloodlightActivitiesGenerateTagResponse) MarshalJSON() ([]byte, error) {
  7796  	type NoMethod FloodlightActivitiesGenerateTagResponse
  7797  	raw := NoMethod(*s)
  7798  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7799  }
  7800  
  7801  // FloodlightActivitiesListResponse: Floodlight Activity List Response
  7802  type FloodlightActivitiesListResponse struct {
  7803  	// FloodlightActivities: Floodlight activity collection.
  7804  	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
  7805  
  7806  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7807  	// string "dfareporting#floodlightActivitiesListResponse".
  7808  	Kind string `json:"kind,omitempty"`
  7809  
  7810  	// NextPageToken: Pagination token to be used for the next list
  7811  	// operation.
  7812  	NextPageToken string `json:"nextPageToken,omitempty"`
  7813  
  7814  	// ServerResponse contains the HTTP response code and headers from the
  7815  	// server.
  7816  	googleapi.ServerResponse `json:"-"`
  7817  
  7818  	// ForceSendFields is a list of field names (e.g.
  7819  	// "FloodlightActivities") to unconditionally include in API requests.
  7820  	// By default, fields with empty or default values are omitted from API
  7821  	// requests. However, any non-pointer, non-interface field appearing in
  7822  	// ForceSendFields will be sent to the server regardless of whether the
  7823  	// field is empty or not. This may be used to include empty fields in
  7824  	// Patch requests.
  7825  	ForceSendFields []string `json:"-"`
  7826  
  7827  	// NullFields is a list of field names (e.g. "FloodlightActivities") to
  7828  	// include in API requests with the JSON null value. By default, fields
  7829  	// with empty values are omitted from API requests. However, any field
  7830  	// with an empty value appearing in NullFields will be sent to the
  7831  	// server as null. It is an error if a field in this list has a
  7832  	// non-empty value. This may be used to include null fields in Patch
  7833  	// requests.
  7834  	NullFields []string `json:"-"`
  7835  }
  7836  
  7837  func (s *FloodlightActivitiesListResponse) MarshalJSON() ([]byte, error) {
  7838  	type NoMethod FloodlightActivitiesListResponse
  7839  	raw := NoMethod(*s)
  7840  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7841  }
  7842  
  7843  // FloodlightActivity: Contains properties of a Floodlight activity.
  7844  type FloodlightActivity struct {
  7845  	// AccountId: Account ID of this floodlight activity. This is a
  7846  	// read-only field that can be left blank.
  7847  	AccountId int64 `json:"accountId,omitempty,string"`
  7848  
  7849  	// AdvertiserId: Advertiser ID of this floodlight activity. If this
  7850  	// field is left blank, the value will be copied over either from the
  7851  	// activity group's advertiser or the existing activity's advertiser.
  7852  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7853  
  7854  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7855  	// advertiser. This is a read-only, auto-generated field.
  7856  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7857  
  7858  	// AttributionEnabled: Whether the activity is enabled for attribution.
  7859  	AttributionEnabled bool `json:"attributionEnabled,omitempty"`
  7860  
  7861  	// CacheBustingType: Code type used for cache busting in the generated
  7862  	// tag. Applicable only when floodlightActivityGroupType is COUNTER and
  7863  	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
  7864  	//
  7865  	// Possible values:
  7866  	//   "JAVASCRIPT"
  7867  	//   "ACTIVE_SERVER_PAGE"
  7868  	//   "JSP"
  7869  	//   "PHP"
  7870  	//   "COLD_FUSION"
  7871  	CacheBustingType string `json:"cacheBustingType,omitempty"`
  7872  
  7873  	// CountingMethod: Counting method for conversions for this floodlight
  7874  	// activity. This is a required field.
  7875  	//
  7876  	// Possible values:
  7877  	//   "STANDARD_COUNTING"
  7878  	//   "UNIQUE_COUNTING"
  7879  	//   "SESSION_COUNTING"
  7880  	//   "TRANSACTIONS_COUNTING"
  7881  	//   "ITEMS_SOLD_COUNTING"
  7882  	CountingMethod string `json:"countingMethod,omitempty"`
  7883  
  7884  	// DefaultTags: Dynamic floodlight tags.
  7885  	DefaultTags []*FloodlightActivityDynamicTag `json:"defaultTags,omitempty"`
  7886  
  7887  	// ExpectedUrl: URL where this tag will be deployed. If specified, must
  7888  	// be less than 256 characters long.
  7889  	ExpectedUrl string `json:"expectedUrl,omitempty"`
  7890  
  7891  	// FloodlightActivityGroupId: Floodlight activity group ID of this
  7892  	// floodlight activity. This is a required field.
  7893  	FloodlightActivityGroupId int64 `json:"floodlightActivityGroupId,omitempty,string"`
  7894  
  7895  	// FloodlightActivityGroupName: Name of the associated floodlight
  7896  	// activity group. This is a read-only field.
  7897  	FloodlightActivityGroupName string `json:"floodlightActivityGroupName,omitempty"`
  7898  
  7899  	// FloodlightActivityGroupTagString: Tag string of the associated
  7900  	// floodlight activity group. This is a read-only field.
  7901  	FloodlightActivityGroupTagString string `json:"floodlightActivityGroupTagString,omitempty"`
  7902  
  7903  	// FloodlightActivityGroupType: Type of the associated floodlight
  7904  	// activity group. This is a read-only field.
  7905  	//
  7906  	// Possible values:
  7907  	//   "COUNTER"
  7908  	//   "SALE"
  7909  	FloodlightActivityGroupType string `json:"floodlightActivityGroupType,omitempty"`
  7910  
  7911  	// FloodlightConfigurationId: Floodlight configuration ID of this
  7912  	// floodlight activity. If this field is left blank, the value will be
  7913  	// copied over either from the activity group's floodlight configuration
  7914  	// or from the existing activity's floodlight configuration.
  7915  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  7916  
  7917  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  7918  	// of the floodlight configuration. This is a read-only, auto-generated
  7919  	// field.
  7920  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  7921  
  7922  	// FloodlightTagType: The type of Floodlight tag this activity will
  7923  	// generate. This is a required field.
  7924  	//
  7925  	// Possible values:
  7926  	//   "IFRAME"
  7927  	//   "IMAGE"
  7928  	//   "GLOBAL_SITE_TAG"
  7929  	FloodlightTagType string `json:"floodlightTagType,omitempty"`
  7930  
  7931  	// Id: ID of this floodlight activity. This is a read-only,
  7932  	// auto-generated field.
  7933  	Id int64 `json:"id,omitempty,string"`
  7934  
  7935  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7936  	// activity. This is a read-only, auto-generated field.
  7937  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7938  
  7939  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7940  	// string "dfareporting#floodlightActivity".
  7941  	Kind string `json:"kind,omitempty"`
  7942  
  7943  	// Name: Name of this floodlight activity. This is a required field.
  7944  	// Must be less than 129 characters long and cannot contain quotes.
  7945  	Name string `json:"name,omitempty"`
  7946  
  7947  	// Notes: General notes or implementation instructions for the tag.
  7948  	Notes string `json:"notes,omitempty"`
  7949  
  7950  	// PublisherTags: Publisher dynamic floodlight tags.
  7951  	PublisherTags []*FloodlightActivityPublisherDynamicTag `json:"publisherTags,omitempty"`
  7952  
  7953  	// Secure: Whether this tag should use SSL.
  7954  	Secure bool `json:"secure,omitempty"`
  7955  
  7956  	// SslCompliant: Whether the floodlight activity is SSL-compliant. This
  7957  	// is a read-only field, its value detected by the system from the
  7958  	// floodlight tags.
  7959  	SslCompliant bool `json:"sslCompliant,omitempty"`
  7960  
  7961  	// SslRequired: Whether this floodlight activity must be SSL-compliant.
  7962  	SslRequired bool `json:"sslRequired,omitempty"`
  7963  
  7964  	// Status: The status of the activity. This can only be set to ACTIVE or
  7965  	// ARCHIVED_AND_DISABLED. The ARCHIVED status is no longer supported and
  7966  	// cannot be set for Floodlight activities. The DISABLED_POLICY status
  7967  	// indicates that a Floodlight activity is violating Google policy.
  7968  	// Contact your account manager for more information.
  7969  	//
  7970  	// Possible values:
  7971  	//   "ACTIVE"
  7972  	//   "ARCHIVED_AND_DISABLED"
  7973  	//   "ARCHIVED"
  7974  	//   "DISABLED_POLICY"
  7975  	Status string `json:"status,omitempty"`
  7976  
  7977  	// SubaccountId: Subaccount ID of this floodlight activity. This is a
  7978  	// read-only field that can be left blank.
  7979  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7980  
  7981  	// TagFormat: Tag format type for the floodlight activity. If left
  7982  	// blank, the tag format will default to HTML.
  7983  	//
  7984  	// Possible values:
  7985  	//   "HTML"
  7986  	//   "XHTML"
  7987  	TagFormat string `json:"tagFormat,omitempty"`
  7988  
  7989  	// TagString: Value of the cat= parameter in the floodlight tag, which
  7990  	// the ad servers use to identify the activity. This is optional: if
  7991  	// empty, a new tag string will be generated for you. This string must
  7992  	// be 1 to 8 characters long, with valid characters being a-z0-9[ _ ].
  7993  	// This tag string must also be unique among activities of the same
  7994  	// activity group. This field is read-only after insertion.
  7995  	TagString string `json:"tagString,omitempty"`
  7996  
  7997  	// UserDefinedVariableTypes: List of the user-defined variables used by
  7998  	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
  7999  	// of these can have a user defined type. Acceptable values are U1 to
  8000  	// U100, inclusive.
  8001  	//
  8002  	// Possible values:
  8003  	//   "U1"
  8004  	//   "U2"
  8005  	//   "U3"
  8006  	//   "U4"
  8007  	//   "U5"
  8008  	//   "U6"
  8009  	//   "U7"
  8010  	//   "U8"
  8011  	//   "U9"
  8012  	//   "U10"
  8013  	//   "U11"
  8014  	//   "U12"
  8015  	//   "U13"
  8016  	//   "U14"
  8017  	//   "U15"
  8018  	//   "U16"
  8019  	//   "U17"
  8020  	//   "U18"
  8021  	//   "U19"
  8022  	//   "U20"
  8023  	//   "U21"
  8024  	//   "U22"
  8025  	//   "U23"
  8026  	//   "U24"
  8027  	//   "U25"
  8028  	//   "U26"
  8029  	//   "U27"
  8030  	//   "U28"
  8031  	//   "U29"
  8032  	//   "U30"
  8033  	//   "U31"
  8034  	//   "U32"
  8035  	//   "U33"
  8036  	//   "U34"
  8037  	//   "U35"
  8038  	//   "U36"
  8039  	//   "U37"
  8040  	//   "U38"
  8041  	//   "U39"
  8042  	//   "U40"
  8043  	//   "U41"
  8044  	//   "U42"
  8045  	//   "U43"
  8046  	//   "U44"
  8047  	//   "U45"
  8048  	//   "U46"
  8049  	//   "U47"
  8050  	//   "U48"
  8051  	//   "U49"
  8052  	//   "U50"
  8053  	//   "U51"
  8054  	//   "U52"
  8055  	//   "U53"
  8056  	//   "U54"
  8057  	//   "U55"
  8058  	//   "U56"
  8059  	//   "U57"
  8060  	//   "U58"
  8061  	//   "U59"
  8062  	//   "U60"
  8063  	//   "U61"
  8064  	//   "U62"
  8065  	//   "U63"
  8066  	//   "U64"
  8067  	//   "U65"
  8068  	//   "U66"
  8069  	//   "U67"
  8070  	//   "U68"
  8071  	//   "U69"
  8072  	//   "U70"
  8073  	//   "U71"
  8074  	//   "U72"
  8075  	//   "U73"
  8076  	//   "U74"
  8077  	//   "U75"
  8078  	//   "U76"
  8079  	//   "U77"
  8080  	//   "U78"
  8081  	//   "U79"
  8082  	//   "U80"
  8083  	//   "U81"
  8084  	//   "U82"
  8085  	//   "U83"
  8086  	//   "U84"
  8087  	//   "U85"
  8088  	//   "U86"
  8089  	//   "U87"
  8090  	//   "U88"
  8091  	//   "U89"
  8092  	//   "U90"
  8093  	//   "U91"
  8094  	//   "U92"
  8095  	//   "U93"
  8096  	//   "U94"
  8097  	//   "U95"
  8098  	//   "U96"
  8099  	//   "U97"
  8100  	//   "U98"
  8101  	//   "U99"
  8102  	//   "U100"
  8103  	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
  8104  
  8105  	// ServerResponse contains the HTTP response code and headers from the
  8106  	// server.
  8107  	googleapi.ServerResponse `json:"-"`
  8108  
  8109  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  8110  	// unconditionally include in API requests. By default, fields with
  8111  	// empty or default values are omitted from API requests. However, any
  8112  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8113  	// sent to the server regardless of whether the field is empty or not.
  8114  	// This may be used to include empty fields in Patch requests.
  8115  	ForceSendFields []string `json:"-"`
  8116  
  8117  	// NullFields is a list of field names (e.g. "AccountId") to include in
  8118  	// API requests with the JSON null value. By default, fields with empty
  8119  	// values are omitted from API requests. However, any field with an
  8120  	// empty value appearing in NullFields will be sent to the server as
  8121  	// null. It is an error if a field in this list has a non-empty value.
  8122  	// This may be used to include null fields in Patch requests.
  8123  	NullFields []string `json:"-"`
  8124  }
  8125  
  8126  func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
  8127  	type NoMethod FloodlightActivity
  8128  	raw := NoMethod(*s)
  8129  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8130  }
  8131  
  8132  // FloodlightActivityDynamicTag: Dynamic Tag
  8133  type FloodlightActivityDynamicTag struct {
  8134  	// Id: ID of this dynamic tag. This is a read-only, auto-generated
  8135  	// field.
  8136  	Id int64 `json:"id,omitempty,string"`
  8137  
  8138  	// Name: Name of this tag.
  8139  	Name string `json:"name,omitempty"`
  8140  
  8141  	// Tag: Tag code.
  8142  	Tag string `json:"tag,omitempty"`
  8143  
  8144  	// ForceSendFields is a list of field names (e.g. "Id") to
  8145  	// unconditionally include in API requests. By default, fields with
  8146  	// empty or default values are omitted from API requests. However, any
  8147  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8148  	// sent to the server regardless of whether the field is empty or not.
  8149  	// This may be used to include empty fields in Patch requests.
  8150  	ForceSendFields []string `json:"-"`
  8151  
  8152  	// NullFields is a list of field names (e.g. "Id") to include in API
  8153  	// requests with the JSON null value. By default, fields with empty
  8154  	// values are omitted from API requests. However, any field with an
  8155  	// empty value appearing in NullFields will be sent to the server as
  8156  	// null. It is an error if a field in this list has a non-empty value.
  8157  	// This may be used to include null fields in Patch requests.
  8158  	NullFields []string `json:"-"`
  8159  }
  8160  
  8161  func (s *FloodlightActivityDynamicTag) MarshalJSON() ([]byte, error) {
  8162  	type NoMethod FloodlightActivityDynamicTag
  8163  	raw := NoMethod(*s)
  8164  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8165  }
  8166  
  8167  // FloodlightActivityGroup: Contains properties of a Floodlight activity
  8168  // group.
  8169  type FloodlightActivityGroup struct {
  8170  	// AccountId: Account ID of this floodlight activity group. This is a
  8171  	// read-only field that can be left blank.
  8172  	AccountId int64 `json:"accountId,omitempty,string"`
  8173  
  8174  	// AdvertiserId: Advertiser ID of this floodlight activity group. If
  8175  	// this field is left blank, the value will be copied over either from
  8176  	// the floodlight configuration's advertiser or from the existing
  8177  	// activity group's advertiser.
  8178  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8179  
  8180  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  8181  	// advertiser. This is a read-only, auto-generated field.
  8182  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  8183  
  8184  	// FloodlightConfigurationId: Floodlight configuration ID of this
  8185  	// floodlight activity group. This is a required field.
  8186  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  8187  
  8188  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  8189  	// of the floodlight configuration. This is a read-only, auto-generated
  8190  	// field.
  8191  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  8192  
  8193  	// Id: ID of this floodlight activity group. This is a read-only,
  8194  	// auto-generated field.
  8195  	Id int64 `json:"id,omitempty,string"`
  8196  
  8197  	// IdDimensionValue: Dimension value for the ID of this floodlight
  8198  	// activity group. This is a read-only, auto-generated field.
  8199  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  8200  
  8201  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8202  	// string "dfareporting#floodlightActivityGroup".
  8203  	Kind string `json:"kind,omitempty"`
  8204  
  8205  	// Name: Name of this floodlight activity group. This is a required
  8206  	// field. Must be less than 65 characters long and cannot contain
  8207  	// quotes.
  8208  	Name string `json:"name,omitempty"`
  8209  
  8210  	// SubaccountId: Subaccount ID of this floodlight activity group. This
  8211  	// is a read-only field that can be left blank.
  8212  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  8213  
  8214  	// TagString: Value of the type= parameter in the floodlight tag, which
  8215  	// the ad servers use to identify the activity group that the activity
  8216  	// belongs to. This is optional: if empty, a new tag string will be
  8217  	// generated for you. This string must be 1 to 8 characters long, with
  8218  	// valid characters being a-z0-9[ _ ]. This tag string must also be
  8219  	// unique among activity groups of the same floodlight configuration.
  8220  	// This field is read-only after insertion.
  8221  	TagString string `json:"tagString,omitempty"`
  8222  
  8223  	// Type: Type of the floodlight activity group. This is a required field
  8224  	// that is read-only after insertion.
  8225  	//
  8226  	// Possible values:
  8227  	//   "COUNTER"
  8228  	//   "SALE"
  8229  	Type string `json:"type,omitempty"`
  8230  
  8231  	// ServerResponse contains the HTTP response code and headers from the
  8232  	// server.
  8233  	googleapi.ServerResponse `json:"-"`
  8234  
  8235  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  8236  	// unconditionally include in API requests. By default, fields with
  8237  	// empty or default values are omitted from API requests. However, any
  8238  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8239  	// sent to the server regardless of whether the field is empty or not.
  8240  	// This may be used to include empty fields in Patch requests.
  8241  	ForceSendFields []string `json:"-"`
  8242  
  8243  	// NullFields is a list of field names (e.g. "AccountId") to include in
  8244  	// API requests with the JSON null value. By default, fields with empty
  8245  	// values are omitted from API requests. However, any field with an
  8246  	// empty value appearing in NullFields will be sent to the server as
  8247  	// null. It is an error if a field in this list has a non-empty value.
  8248  	// This may be used to include null fields in Patch requests.
  8249  	NullFields []string `json:"-"`
  8250  }
  8251  
  8252  func (s *FloodlightActivityGroup) MarshalJSON() ([]byte, error) {
  8253  	type NoMethod FloodlightActivityGroup
  8254  	raw := NoMethod(*s)
  8255  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8256  }
  8257  
  8258  // FloodlightActivityGroupsListResponse: Floodlight Activity Group List
  8259  // Response
  8260  type FloodlightActivityGroupsListResponse struct {
  8261  	// FloodlightActivityGroups: Floodlight activity group collection.
  8262  	FloodlightActivityGroups []*FloodlightActivityGroup `json:"floodlightActivityGroups,omitempty"`
  8263  
  8264  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8265  	// string "dfareporting#floodlightActivityGroupsListResponse".
  8266  	Kind string `json:"kind,omitempty"`
  8267  
  8268  	// NextPageToken: Pagination token to be used for the next list
  8269  	// operation.
  8270  	NextPageToken string `json:"nextPageToken,omitempty"`
  8271  
  8272  	// ServerResponse contains the HTTP response code and headers from the
  8273  	// server.
  8274  	googleapi.ServerResponse `json:"-"`
  8275  
  8276  	// ForceSendFields is a list of field names (e.g.
  8277  	// "FloodlightActivityGroups") to unconditionally include in API
  8278  	// requests. By default, fields with empty or default values are omitted
  8279  	// from API requests. However, any non-pointer, non-interface field
  8280  	// appearing in ForceSendFields will be sent to the server regardless of
  8281  	// whether the field is empty or not. This may be used to include empty
  8282  	// fields in Patch requests.
  8283  	ForceSendFields []string `json:"-"`
  8284  
  8285  	// NullFields is a list of field names (e.g. "FloodlightActivityGroups")
  8286  	// to include in API requests with the JSON null value. By default,
  8287  	// fields with empty values are omitted from API requests. However, any
  8288  	// field with an empty value appearing in NullFields will be sent to the
  8289  	// server as null. It is an error if a field in this list has a
  8290  	// non-empty value. This may be used to include null fields in Patch
  8291  	// requests.
  8292  	NullFields []string `json:"-"`
  8293  }
  8294  
  8295  func (s *FloodlightActivityGroupsListResponse) MarshalJSON() ([]byte, error) {
  8296  	type NoMethod FloodlightActivityGroupsListResponse
  8297  	raw := NoMethod(*s)
  8298  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8299  }
  8300  
  8301  // FloodlightActivityPublisherDynamicTag: Publisher Dynamic Tag
  8302  type FloodlightActivityPublisherDynamicTag struct {
  8303  	// ClickThrough: Whether this tag is applicable only for click-throughs.
  8304  	ClickThrough bool `json:"clickThrough,omitempty"`
  8305  
  8306  	// DirectorySiteId: Directory site ID of this dynamic tag. This is a
  8307  	// write-only field that can be used as an alternative to the siteId
  8308  	// field. When this resource is retrieved, only the siteId field will be
  8309  	// populated.
  8310  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  8311  
  8312  	// DynamicTag: Dynamic floodlight tag.
  8313  	DynamicTag *FloodlightActivityDynamicTag `json:"dynamicTag,omitempty"`
  8314  
  8315  	// SiteId: Site ID of this dynamic tag.
  8316  	SiteId int64 `json:"siteId,omitempty,string"`
  8317  
  8318  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
  8319  	// a read-only, auto-generated field.
  8320  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
  8321  
  8322  	// ViewThrough: Whether this tag is applicable only for view-throughs.
  8323  	ViewThrough bool `json:"viewThrough,omitempty"`
  8324  
  8325  	// ForceSendFields is a list of field names (e.g. "ClickThrough") to
  8326  	// unconditionally include in API requests. By default, fields with
  8327  	// empty or default values are omitted from API requests. However, any
  8328  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8329  	// sent to the server regardless of whether the field is empty or not.
  8330  	// This may be used to include empty fields in Patch requests.
  8331  	ForceSendFields []string `json:"-"`
  8332  
  8333  	// NullFields is a list of field names (e.g. "ClickThrough") to include
  8334  	// in API requests with the JSON null value. By default, fields with
  8335  	// empty values are omitted from API requests. However, any field with
  8336  	// an empty value appearing in NullFields will be sent to the server as
  8337  	// null. It is an error if a field in this list has a non-empty value.
  8338  	// This may be used to include null fields in Patch requests.
  8339  	NullFields []string `json:"-"`
  8340  }
  8341  
  8342  func (s *FloodlightActivityPublisherDynamicTag) MarshalJSON() ([]byte, error) {
  8343  	type NoMethod FloodlightActivityPublisherDynamicTag
  8344  	raw := NoMethod(*s)
  8345  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8346  }
  8347  
  8348  // FloodlightConfiguration: Contains properties of a Floodlight
  8349  // configuration.
  8350  type FloodlightConfiguration struct {
  8351  	// AccountId: Account ID of this floodlight configuration. This is a
  8352  	// read-only field that can be left blank.
  8353  	AccountId int64 `json:"accountId,omitempty,string"`
  8354  
  8355  	// AdvertiserId: Advertiser ID of the parent advertiser of this
  8356  	// floodlight configuration.
  8357  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8358  
  8359  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  8360  	// advertiser. This is a read-only, auto-generated field.
  8361  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  8362  
  8363  	// AnalyticsDataSharingEnabled: Whether advertiser data is shared with
  8364  	// Google Analytics.
  8365  	AnalyticsDataSharingEnabled bool `json:"analyticsDataSharingEnabled,omitempty"`
  8366  
  8367  	// CustomViewabilityMetric: Custom Viewability metric for the floodlight
  8368  	// configuration.
  8369  	CustomViewabilityMetric *CustomViewabilityMetric `json:"customViewabilityMetric,omitempty"`
  8370  
  8371  	// ExposureToConversionEnabled: Whether the exposure-to-conversion
  8372  	// report is enabled. This report shows detailed pathway information on
  8373  	// up to 10 of the most recent ad exposures seen by a user before
  8374  	// converting.
  8375  	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
  8376  
  8377  	// FirstDayOfWeek: Day that will be counted as the first day of the week
  8378  	// in reports. This is a required field.
  8379  	//
  8380  	// Possible values:
  8381  	//   "MONDAY"
  8382  	//   "SUNDAY"
  8383  	FirstDayOfWeek string `json:"firstDayOfWeek,omitempty"`
  8384  
  8385  	// Id: ID of this floodlight configuration. This is a read-only,
  8386  	// auto-generated field.
  8387  	Id int64 `json:"id,omitempty,string"`
  8388  
  8389  	// IdDimensionValue: Dimension value for the ID of this floodlight
  8390  	// configuration. This is a read-only, auto-generated field.
  8391  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  8392  
  8393  	// InAppAttributionTrackingEnabled: Whether in-app attribution tracking
  8394  	// is enabled.
  8395  	InAppAttributionTrackingEnabled bool `json:"inAppAttributionTrackingEnabled,omitempty"`
  8396  
  8397  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8398  	// string "dfareporting#floodlightConfiguration".
  8399  	Kind string `json:"kind,omitempty"`
  8400  
  8401  	// LookbackConfiguration: Lookback window settings for this floodlight
  8402  	// configuration.
  8403  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  8404  
  8405  	// NaturalSearchConversionAttributionOption: Types of attribution
  8406  	// options for natural search conversions.
  8407  	//
  8408  	// Possible values:
  8409  	//   "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
  8410  	//   "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
  8411  	//   "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
  8412  	NaturalSearchConversionAttributionOption string `json:"naturalSearchConversionAttributionOption,omitempty"`
  8413  
  8414  	// OmnitureSettings: Settings for Campaign Manager Omniture integration.
  8415  	OmnitureSettings *OmnitureSettings `json:"omnitureSettings,omitempty"`
  8416  
  8417  	// SubaccountId: Subaccount ID of this floodlight configuration. This is
  8418  	// a read-only field that can be left blank.
  8419  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  8420  
  8421  	// TagSettings: Configuration settings for dynamic and image floodlight
  8422  	// tags.
  8423  	TagSettings *TagSettings `json:"tagSettings,omitempty"`
  8424  
  8425  	// ThirdPartyAuthenticationTokens: List of third-party authentication
  8426  	// tokens enabled for this configuration.
  8427  	ThirdPartyAuthenticationTokens []*ThirdPartyAuthenticationToken `json:"thirdPartyAuthenticationTokens,omitempty"`
  8428  
  8429  	// UserDefinedVariableConfigurations: List of user defined variables
  8430  	// enabled for this configuration.
  8431  	UserDefinedVariableConfigurations []*UserDefinedVariableConfiguration `json:"userDefinedVariableConfigurations,omitempty"`
  8432  
  8433  	// ServerResponse contains the HTTP response code and headers from the
  8434  	// server.
  8435  	googleapi.ServerResponse `json:"-"`
  8436  
  8437  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  8438  	// unconditionally include in API requests. By default, fields with
  8439  	// empty or default values are omitted from API requests. However, any
  8440  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8441  	// sent to the server regardless of whether the field is empty or not.
  8442  	// This may be used to include empty fields in Patch requests.
  8443  	ForceSendFields []string `json:"-"`
  8444  
  8445  	// NullFields is a list of field names (e.g. "AccountId") to include in
  8446  	// API requests with the JSON null value. By default, fields with empty
  8447  	// values are omitted from API requests. However, any field with an
  8448  	// empty value appearing in NullFields will be sent to the server as
  8449  	// null. It is an error if a field in this list has a non-empty value.
  8450  	// This may be used to include null fields in Patch requests.
  8451  	NullFields []string `json:"-"`
  8452  }
  8453  
  8454  func (s *FloodlightConfiguration) MarshalJSON() ([]byte, error) {
  8455  	type NoMethod FloodlightConfiguration
  8456  	raw := NoMethod(*s)
  8457  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8458  }
  8459  
  8460  // FloodlightConfigurationsListResponse: Floodlight Configuration List
  8461  // Response
  8462  type FloodlightConfigurationsListResponse struct {
  8463  	// FloodlightConfigurations: Floodlight configuration collection.
  8464  	FloodlightConfigurations []*FloodlightConfiguration `json:"floodlightConfigurations,omitempty"`
  8465  
  8466  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8467  	// string "dfareporting#floodlightConfigurationsListResponse".
  8468  	Kind string `json:"kind,omitempty"`
  8469  
  8470  	// ServerResponse contains the HTTP response code and headers from the
  8471  	// server.
  8472  	googleapi.ServerResponse `json:"-"`
  8473  
  8474  	// ForceSendFields is a list of field names (e.g.
  8475  	// "FloodlightConfigurations") to unconditionally include in API
  8476  	// requests. By default, fields with empty or default values are omitted
  8477  	// from API requests. However, any non-pointer, non-interface field
  8478  	// appearing in ForceSendFields will be sent to the server regardless of
  8479  	// whether the field is empty or not. This may be used to include empty
  8480  	// fields in Patch requests.
  8481  	ForceSendFields []string `json:"-"`
  8482  
  8483  	// NullFields is a list of field names (e.g. "FloodlightConfigurations")
  8484  	// to include in API requests with the JSON null value. By default,
  8485  	// fields with empty values are omitted from API requests. However, any
  8486  	// field with an empty value appearing in NullFields will be sent to the
  8487  	// server as null. It is an error if a field in this list has a
  8488  	// non-empty value. This may be used to include null fields in Patch
  8489  	// requests.
  8490  	NullFields []string `json:"-"`
  8491  }
  8492  
  8493  func (s *FloodlightConfigurationsListResponse) MarshalJSON() ([]byte, error) {
  8494  	type NoMethod FloodlightConfigurationsListResponse
  8495  	raw := NoMethod(*s)
  8496  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8497  }
  8498  
  8499  // FloodlightReportCompatibleFields: Represents fields that are
  8500  // compatible to be selected for a report of type "FlOODLIGHT".
  8501  type FloodlightReportCompatibleFields struct {
  8502  	// DimensionFilters: Dimensions which are compatible to be selected in
  8503  	// the "dimensionFilters" section of the report.
  8504  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
  8505  
  8506  	// Dimensions: Dimensions which are compatible to be selected in the
  8507  	// "dimensions" section of the report.
  8508  	Dimensions []*Dimension `json:"dimensions,omitempty"`
  8509  
  8510  	// Kind: The kind of resource this is, in this case
  8511  	// dfareporting#floodlightReportCompatibleFields.
  8512  	Kind string `json:"kind,omitempty"`
  8513  
  8514  	// Metrics: Metrics which are compatible to be selected in the
  8515  	// "metricNames" section of the report.
  8516  	Metrics []*Metric `json:"metrics,omitempty"`
  8517  
  8518  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
  8519  	// unconditionally include in API requests. By default, fields with
  8520  	// empty or default values are omitted from API requests. However, any
  8521  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8522  	// sent to the server regardless of whether the field is empty or not.
  8523  	// This may be used to include empty fields in Patch requests.
  8524  	ForceSendFields []string `json:"-"`
  8525  
  8526  	// NullFields is a list of field names (e.g. "DimensionFilters") to
  8527  	// include in API requests with the JSON null value. By default, fields
  8528  	// with empty values are omitted from API requests. However, any field
  8529  	// with an empty value appearing in NullFields will be sent to the
  8530  	// server as null. It is an error if a field in this list has a
  8531  	// non-empty value. This may be used to include null fields in Patch
  8532  	// requests.
  8533  	NullFields []string `json:"-"`
  8534  }
  8535  
  8536  func (s *FloodlightReportCompatibleFields) MarshalJSON() ([]byte, error) {
  8537  	type NoMethod FloodlightReportCompatibleFields
  8538  	raw := NoMethod(*s)
  8539  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8540  }
  8541  
  8542  // FrequencyCap: Frequency Cap.
  8543  type FrequencyCap struct {
  8544  	// Duration: Duration of time, in seconds, for this frequency cap. The
  8545  	// maximum duration is 90 days. Acceptable values are 1 to 7776000,
  8546  	// inclusive.
  8547  	Duration int64 `json:"duration,omitempty,string"`
  8548  
  8549  	// Impressions: Number of times an individual user can be served the ad
  8550  	// within the specified duration. Acceptable values are 1 to 15,
  8551  	// inclusive.
  8552  	Impressions int64 `json:"impressions,omitempty,string"`
  8553  
  8554  	// ForceSendFields is a list of field names (e.g. "Duration") to
  8555  	// unconditionally include in API requests. By default, fields with
  8556  	// empty or default values are omitted from API requests. However, any
  8557  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8558  	// sent to the server regardless of whether the field is empty or not.
  8559  	// This may be used to include empty fields in Patch requests.
  8560  	ForceSendFields []string `json:"-"`
  8561  
  8562  	// NullFields is a list of field names (e.g. "Duration") to include in
  8563  	// API requests with the JSON null value. By default, fields with empty
  8564  	// values are omitted from API requests. However, any field with an
  8565  	// empty value appearing in NullFields will be sent to the server as
  8566  	// null. It is an error if a field in this list has a non-empty value.
  8567  	// This may be used to include null fields in Patch requests.
  8568  	NullFields []string `json:"-"`
  8569  }
  8570  
  8571  func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
  8572  	type NoMethod FrequencyCap
  8573  	raw := NoMethod(*s)
  8574  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8575  }
  8576  
  8577  // FsCommand: FsCommand.
  8578  type FsCommand struct {
  8579  	// Left: Distance from the left of the browser.Applicable when
  8580  	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
  8581  	Left int64 `json:"left,omitempty"`
  8582  
  8583  	// PositionOption: Position in the browser where the window will open.
  8584  	//
  8585  	// Possible values:
  8586  	//   "CENTERED"
  8587  	//   "DISTANCE_FROM_TOP_LEFT_CORNER"
  8588  	PositionOption string `json:"positionOption,omitempty"`
  8589  
  8590  	// Top: Distance from the top of the browser. Applicable when
  8591  	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
  8592  	Top int64 `json:"top,omitempty"`
  8593  
  8594  	// WindowHeight: Height of the window.
  8595  	WindowHeight int64 `json:"windowHeight,omitempty"`
  8596  
  8597  	// WindowWidth: Width of the window.
  8598  	WindowWidth int64 `json:"windowWidth,omitempty"`
  8599  
  8600  	// ForceSendFields is a list of field names (e.g. "Left") to
  8601  	// unconditionally include in API requests. By default, fields with
  8602  	// empty or default values are omitted from API requests. However, any
  8603  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8604  	// sent to the server regardless of whether the field is empty or not.
  8605  	// This may be used to include empty fields in Patch requests.
  8606  	ForceSendFields []string `json:"-"`
  8607  
  8608  	// NullFields is a list of field names (e.g. "Left") to include in API
  8609  	// requests with the JSON null value. By default, fields with empty
  8610  	// values are omitted from API requests. However, any field with an
  8611  	// empty value appearing in NullFields will be sent to the server as
  8612  	// null. It is an error if a field in this list has a non-empty value.
  8613  	// This may be used to include null fields in Patch requests.
  8614  	NullFields []string `json:"-"`
  8615  }
  8616  
  8617  func (s *FsCommand) MarshalJSON() ([]byte, error) {
  8618  	type NoMethod FsCommand
  8619  	raw := NoMethod(*s)
  8620  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8621  }
  8622  
  8623  // GeoTargeting: Geographical Targeting.
  8624  type GeoTargeting struct {
  8625  	// Cities: Cities to be targeted. For each city only dartId is required.
  8626  	// The other fields are populated automatically when the ad is inserted
  8627  	// or updated. If targeting a city, do not target or exclude the country
  8628  	// of the city, and do not target the metro or region of the city.
  8629  	Cities []*City `json:"cities,omitempty"`
  8630  
  8631  	// Countries: Countries to be targeted or excluded from targeting,
  8632  	// depending on the setting of the excludeCountries field. For each
  8633  	// country only dartId is required. The other fields are populated
  8634  	// automatically when the ad is inserted or updated. If targeting or
  8635  	// excluding a country, do not target regions, cities, metros, or postal
  8636  	// codes in the same country.
  8637  	Countries []*Country `json:"countries,omitempty"`
  8638  
  8639  	// ExcludeCountries: Whether or not to exclude the countries in the
  8640  	// countries field from targeting. If false, the countries field refers
  8641  	// to countries which will be targeted by the ad.
  8642  	ExcludeCountries bool `json:"excludeCountries,omitempty"`
  8643  
  8644  	// Metros: Metros to be targeted. For each metro only dmaId is required.
  8645  	// The other fields are populated automatically when the ad is inserted
  8646  	// or updated. If targeting a metro, do not target or exclude the
  8647  	// country of the metro.
  8648  	Metros []*Metro `json:"metros,omitempty"`
  8649  
  8650  	// PostalCodes: Postal codes to be targeted. For each postal code only
  8651  	// id is required. The other fields are populated automatically when the
  8652  	// ad is inserted or updated. If targeting a postal code, do not target
  8653  	// or exclude the country of the postal code.
  8654  	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
  8655  
  8656  	// Regions: Regions to be targeted. For each region only dartId is
  8657  	// required. The other fields are populated automatically when the ad is
  8658  	// inserted or updated. If targeting a region, do not target or exclude
  8659  	// the country of the region.
  8660  	Regions []*Region `json:"regions,omitempty"`
  8661  
  8662  	// ForceSendFields is a list of field names (e.g. "Cities") to
  8663  	// unconditionally include in API requests. By default, fields with
  8664  	// empty or default values are omitted from API requests. However, any
  8665  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8666  	// sent to the server regardless of whether the field is empty or not.
  8667  	// This may be used to include empty fields in Patch requests.
  8668  	ForceSendFields []string `json:"-"`
  8669  
  8670  	// NullFields is a list of field names (e.g. "Cities") to include in API
  8671  	// requests with the JSON null value. By default, fields with empty
  8672  	// values are omitted from API requests. However, any field with an
  8673  	// empty value appearing in NullFields will be sent to the server as
  8674  	// null. It is an error if a field in this list has a non-empty value.
  8675  	// This may be used to include null fields in Patch requests.
  8676  	NullFields []string `json:"-"`
  8677  }
  8678  
  8679  func (s *GeoTargeting) MarshalJSON() ([]byte, error) {
  8680  	type NoMethod GeoTargeting
  8681  	raw := NoMethod(*s)
  8682  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8683  }
  8684  
  8685  // InventoryItem: Represents a buy from the Planning inventory store.
  8686  type InventoryItem struct {
  8687  	// AccountId: Account ID of this inventory item.
  8688  	AccountId int64 `json:"accountId,omitempty,string"`
  8689  
  8690  	// AdSlots: Ad slots of this inventory item. If this inventory item
  8691  	// represents a standalone placement, there will be exactly one ad slot.
  8692  	// If this inventory item represents a placement group, there will be
  8693  	// more than one ad slot, each representing one child placement in that
  8694  	// placement group.
  8695  	AdSlots []*AdSlot `json:"adSlots,omitempty"`
  8696  
  8697  	// AdvertiserId: Advertiser ID of this inventory item.
  8698  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8699  
  8700  	// ContentCategoryId: Content category ID of this inventory item.
  8701  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  8702  
  8703  	// EstimatedClickThroughRate: Estimated click-through rate of this
  8704  	// inventory item.
  8705  	EstimatedClickThroughRate int64 `json:"estimatedClickThroughRate,omitempty,string"`
  8706  
  8707  	// EstimatedConversionRate: Estimated conversion rate of this inventory
  8708  	// item.
  8709  	EstimatedConversionRate int64 `json:"estimatedConversionRate,omitempty,string"`
  8710  
  8711  	// Id: ID of this inventory item.
  8712  	Id int64 `json:"id,omitempty,string"`
  8713  
  8714  	// InPlan: Whether this inventory item is in plan.
  8715  	InPlan bool `json:"inPlan,omitempty"`
  8716  
  8717  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8718  	// string "dfareporting#inventoryItem".
  8719  	Kind string `json:"kind,omitempty"`
  8720  
  8721  	// LastModifiedInfo: Information about the most recent modification of
  8722  	// this inventory item.
  8723  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  8724  
  8725  	// Name: Name of this inventory item. For standalone inventory items,
  8726  	// this is the same name as that of its only ad slot. For group
  8727  	// inventory items, this can differ from the name of any of its ad
  8728  	// slots.
  8729  	Name string `json:"name,omitempty"`
  8730  
  8731  	// NegotiationChannelId: Negotiation channel ID of this inventory item.
  8732  	NegotiationChannelId int64 `json:"negotiationChannelId,omitempty,string"`
  8733  
  8734  	// OrderId: Order ID of this inventory item.
  8735  	OrderId int64 `json:"orderId,omitempty,string"`
  8736  
  8737  	// PlacementStrategyId: Placement strategy ID of this inventory item.
  8738  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
  8739  
  8740  	// Pricing: Pricing of this inventory item.
  8741  	Pricing *Pricing `json:"pricing,omitempty"`
  8742  
  8743  	// ProjectId: Project ID of this inventory item.
  8744  	ProjectId int64 `json:"projectId,omitempty,string"`
  8745  
  8746  	// RfpId: RFP ID of this inventory item.
  8747  	RfpId int64 `json:"rfpId,omitempty,string"`
  8748  
  8749  	// SiteId: ID of the site this inventory item is associated with.
  8750  	SiteId int64 `json:"siteId,omitempty,string"`
  8751  
  8752  	// SubaccountId: Subaccount ID of this inventory item.
  8753  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  8754  
  8755  	// Type: Type of inventory item.
  8756  	//
  8757  	// Possible values:
  8758  	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
  8759  	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
  8760  	Type string `json:"type,omitempty"`
  8761  
  8762  	// ServerResponse contains the HTTP response code and headers from the
  8763  	// server.
  8764  	googleapi.ServerResponse `json:"-"`
  8765  
  8766  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  8767  	// unconditionally include in API requests. By default, fields with
  8768  	// empty or default values are omitted from API requests. However, any
  8769  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8770  	// sent to the server regardless of whether the field is empty or not.
  8771  	// This may be used to include empty fields in Patch requests.
  8772  	ForceSendFields []string `json:"-"`
  8773  
  8774  	// NullFields is a list of field names (e.g. "AccountId") to include in
  8775  	// API requests with the JSON null value. By default, fields with empty
  8776  	// values are omitted from API requests. However, any field with an
  8777  	// empty value appearing in NullFields will be sent to the server as
  8778  	// null. It is an error if a field in this list has a non-empty value.
  8779  	// This may be used to include null fields in Patch requests.
  8780  	NullFields []string `json:"-"`
  8781  }
  8782  
  8783  func (s *InventoryItem) MarshalJSON() ([]byte, error) {
  8784  	type NoMethod InventoryItem
  8785  	raw := NoMethod(*s)
  8786  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8787  }
  8788  
  8789  // InventoryItemsListResponse: Inventory item List Response
  8790  type InventoryItemsListResponse struct {
  8791  	// InventoryItems: Inventory item collection
  8792  	InventoryItems []*InventoryItem `json:"inventoryItems,omitempty"`
  8793  
  8794  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8795  	// string "dfareporting#inventoryItemsListResponse".
  8796  	Kind string `json:"kind,omitempty"`
  8797  
  8798  	// NextPageToken: Pagination token to be used for the next list
  8799  	// operation.
  8800  	NextPageToken string `json:"nextPageToken,omitempty"`
  8801  
  8802  	// ServerResponse contains the HTTP response code and headers from the
  8803  	// server.
  8804  	googleapi.ServerResponse `json:"-"`
  8805  
  8806  	// ForceSendFields is a list of field names (e.g. "InventoryItems") to
  8807  	// unconditionally include in API requests. By default, fields with
  8808  	// empty or default values are omitted from API requests. However, any
  8809  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8810  	// sent to the server regardless of whether the field is empty or not.
  8811  	// This may be used to include empty fields in Patch requests.
  8812  	ForceSendFields []string `json:"-"`
  8813  
  8814  	// NullFields is a list of field names (e.g. "InventoryItems") to
  8815  	// include in API requests with the JSON null value. By default, fields
  8816  	// with empty values are omitted from API requests. However, any field
  8817  	// with an empty value appearing in NullFields will be sent to the
  8818  	// server as null. It is an error if a field in this list has a
  8819  	// non-empty value. This may be used to include null fields in Patch
  8820  	// requests.
  8821  	NullFields []string `json:"-"`
  8822  }
  8823  
  8824  func (s *InventoryItemsListResponse) MarshalJSON() ([]byte, error) {
  8825  	type NoMethod InventoryItemsListResponse
  8826  	raw := NoMethod(*s)
  8827  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8828  }
  8829  
  8830  // KeyValueTargetingExpression: Key Value Targeting Expression.
  8831  type KeyValueTargetingExpression struct {
  8832  	// Expression: Keyword expression being targeted by the ad.
  8833  	Expression string `json:"expression,omitempty"`
  8834  
  8835  	// ForceSendFields is a list of field names (e.g. "Expression") 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. "Expression") to include in
  8844  	// API requests with the JSON null value. By default, fields with empty
  8845  	// values are omitted from API requests. However, any field with an
  8846  	// 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 *KeyValueTargetingExpression) MarshalJSON() ([]byte, error) {
  8853  	type NoMethod KeyValueTargetingExpression
  8854  	raw := NoMethod(*s)
  8855  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8856  }
  8857  
  8858  // LandingPage: Contains information about where a user's browser is
  8859  // taken after the user clicks an ad.
  8860  type LandingPage struct {
  8861  	// AdvertiserId: Advertiser ID of this landing page. This is a required
  8862  	// field.
  8863  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8864  
  8865  	// Archived: Whether this landing page has been archived.
  8866  	Archived bool `json:"archived,omitempty"`
  8867  
  8868  	// DeepLinks: Links that will direct the user to a mobile app, if
  8869  	// installed.
  8870  	DeepLinks []*DeepLink `json:"deepLinks,omitempty"`
  8871  
  8872  	// Id: ID of this landing page. This is a read-only, auto-generated
  8873  	// field.
  8874  	Id int64 `json:"id,omitempty,string"`
  8875  
  8876  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8877  	// string "dfareporting#landingPage".
  8878  	Kind string `json:"kind,omitempty"`
  8879  
  8880  	// Name: Name of this landing page. This is a required field. It must be
  8881  	// less than 256 characters long.
  8882  	Name string `json:"name,omitempty"`
  8883  
  8884  	// Url: URL of this landing page. This is a required field.
  8885  	Url string `json:"url,omitempty"`
  8886  
  8887  	// ServerResponse contains the HTTP response code and headers from the
  8888  	// server.
  8889  	googleapi.ServerResponse `json:"-"`
  8890  
  8891  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  8892  	// unconditionally include in API requests. By default, fields with
  8893  	// empty or default values are omitted from API requests. However, any
  8894  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8895  	// sent to the server regardless of whether the field is empty or not.
  8896  	// This may be used to include empty fields in Patch requests.
  8897  	ForceSendFields []string `json:"-"`
  8898  
  8899  	// NullFields is a list of field names (e.g. "AdvertiserId") to include
  8900  	// in API requests with the JSON null value. By default, fields with
  8901  	// empty values are omitted from API requests. However, any field with
  8902  	// an empty value appearing in NullFields will be sent to the server as
  8903  	// null. It is an error if a field in this list has a non-empty value.
  8904  	// This may be used to include null fields in Patch requests.
  8905  	NullFields []string `json:"-"`
  8906  }
  8907  
  8908  func (s *LandingPage) MarshalJSON() ([]byte, error) {
  8909  	type NoMethod LandingPage
  8910  	raw := NoMethod(*s)
  8911  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8912  }
  8913  
  8914  // Language: Contains information about a language that can be targeted
  8915  // by ads.
  8916  type Language struct {
  8917  	// Id: Language ID of this language. This is the ID used for targeting
  8918  	// and generating reports.
  8919  	Id int64 `json:"id,omitempty,string"`
  8920  
  8921  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8922  	// string "dfareporting#language".
  8923  	Kind string `json:"kind,omitempty"`
  8924  
  8925  	// LanguageCode: Format of language code is an ISO 639 two-letter
  8926  	// language code optionally followed by an underscore followed by an ISO
  8927  	// 3166 code. Examples are "en" for English or "zh_CN" for Simplified
  8928  	// Chinese.
  8929  	LanguageCode string `json:"languageCode,omitempty"`
  8930  
  8931  	// Name: Name of this language.
  8932  	Name string `json:"name,omitempty"`
  8933  
  8934  	// ForceSendFields is a list of field names (e.g. "Id") to
  8935  	// unconditionally include in API requests. By default, fields with
  8936  	// empty or default values are omitted from API requests. However, any
  8937  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8938  	// sent to the server regardless of whether the field is empty or not.
  8939  	// This may be used to include empty fields in Patch requests.
  8940  	ForceSendFields []string `json:"-"`
  8941  
  8942  	// NullFields is a list of field names (e.g. "Id") to include in API
  8943  	// requests with the JSON null value. By default, fields with empty
  8944  	// values are omitted from API requests. However, any field with an
  8945  	// empty value appearing in NullFields will be sent to the server as
  8946  	// null. It is an error if a field in this list has a non-empty value.
  8947  	// This may be used to include null fields in Patch requests.
  8948  	NullFields []string `json:"-"`
  8949  }
  8950  
  8951  func (s *Language) MarshalJSON() ([]byte, error) {
  8952  	type NoMethod Language
  8953  	raw := NoMethod(*s)
  8954  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8955  }
  8956  
  8957  // LanguageTargeting: Language Targeting.
  8958  type LanguageTargeting struct {
  8959  	// Languages: Languages that this ad targets. For each language only
  8960  	// languageId is required. The other fields are populated automatically
  8961  	// when the ad is inserted or updated.
  8962  	Languages []*Language `json:"languages,omitempty"`
  8963  
  8964  	// ForceSendFields is a list of field names (e.g. "Languages") to
  8965  	// unconditionally include in API requests. By default, fields with
  8966  	// empty or default values are omitted from API requests. However, any
  8967  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8968  	// sent to the server regardless of whether the field is empty or not.
  8969  	// This may be used to include empty fields in Patch requests.
  8970  	ForceSendFields []string `json:"-"`
  8971  
  8972  	// NullFields is a list of field names (e.g. "Languages") to include in
  8973  	// API requests with the JSON null value. By default, fields with empty
  8974  	// values are omitted from API requests. However, any field with an
  8975  	// empty value appearing in NullFields will be sent to the server as
  8976  	// null. It is an error if a field in this list has a non-empty value.
  8977  	// This may be used to include null fields in Patch requests.
  8978  	NullFields []string `json:"-"`
  8979  }
  8980  
  8981  func (s *LanguageTargeting) MarshalJSON() ([]byte, error) {
  8982  	type NoMethod LanguageTargeting
  8983  	raw := NoMethod(*s)
  8984  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8985  }
  8986  
  8987  // LanguagesListResponse: Language List Response
  8988  type LanguagesListResponse struct {
  8989  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8990  	// string "dfareporting#languagesListResponse".
  8991  	Kind string `json:"kind,omitempty"`
  8992  
  8993  	// Languages: Language collection.
  8994  	Languages []*Language `json:"languages,omitempty"`
  8995  
  8996  	// ServerResponse contains the HTTP response code and headers from the
  8997  	// server.
  8998  	googleapi.ServerResponse `json:"-"`
  8999  
  9000  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9001  	// unconditionally include in API requests. By default, fields with
  9002  	// empty or default values are omitted from API requests. However, any
  9003  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9004  	// sent to the server regardless of whether the field is empty or not.
  9005  	// This may be used to include empty fields in Patch requests.
  9006  	ForceSendFields []string `json:"-"`
  9007  
  9008  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9009  	// requests with the JSON null value. By default, fields with empty
  9010  	// values are omitted from API requests. However, any field with an
  9011  	// empty value appearing in NullFields will be sent to the server as
  9012  	// null. It is an error if a field in this list has a non-empty value.
  9013  	// This may be used to include null fields in Patch requests.
  9014  	NullFields []string `json:"-"`
  9015  }
  9016  
  9017  func (s *LanguagesListResponse) MarshalJSON() ([]byte, error) {
  9018  	type NoMethod LanguagesListResponse
  9019  	raw := NoMethod(*s)
  9020  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9021  }
  9022  
  9023  // LastModifiedInfo: Modification timestamp.
  9024  type LastModifiedInfo struct {
  9025  	// Time: Timestamp of the last change in milliseconds since epoch.
  9026  	Time int64 `json:"time,omitempty,string"`
  9027  
  9028  	// ForceSendFields is a list of field names (e.g. "Time") to
  9029  	// unconditionally include in API requests. By default, fields with
  9030  	// empty or default values are omitted from API requests. However, any
  9031  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9032  	// sent to the server regardless of whether the field is empty or not.
  9033  	// This may be used to include empty fields in Patch requests.
  9034  	ForceSendFields []string `json:"-"`
  9035  
  9036  	// NullFields is a list of field names (e.g. "Time") to include in API
  9037  	// requests with the JSON null value. By default, fields with empty
  9038  	// values are omitted from API requests. However, any field with an
  9039  	// empty value appearing in NullFields will be sent to the server as
  9040  	// null. It is an error if a field in this list has a non-empty value.
  9041  	// This may be used to include null fields in Patch requests.
  9042  	NullFields []string `json:"-"`
  9043  }
  9044  
  9045  func (s *LastModifiedInfo) MarshalJSON() ([]byte, error) {
  9046  	type NoMethod LastModifiedInfo
  9047  	raw := NoMethod(*s)
  9048  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9049  }
  9050  
  9051  // ListPopulationClause: A group clause made up of list population terms
  9052  // representing constraints joined by ORs.
  9053  type ListPopulationClause struct {
  9054  	// Terms: Terms of this list population clause. Each clause is made up
  9055  	// of list population terms representing constraints and are joined by
  9056  	// ORs.
  9057  	Terms []*ListPopulationTerm `json:"terms,omitempty"`
  9058  
  9059  	// ForceSendFields is a list of field names (e.g. "Terms") to
  9060  	// unconditionally include in API requests. By default, fields with
  9061  	// empty or default values are omitted from API requests. However, any
  9062  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9063  	// sent to the server regardless of whether the field is empty or not.
  9064  	// This may be used to include empty fields in Patch requests.
  9065  	ForceSendFields []string `json:"-"`
  9066  
  9067  	// NullFields is a list of field names (e.g. "Terms") to include in API
  9068  	// requests with the JSON null value. By default, fields with empty
  9069  	// values are omitted from API requests. However, any field with an
  9070  	// empty value appearing in NullFields will be sent to the server as
  9071  	// null. It is an error if a field in this list has a non-empty value.
  9072  	// This may be used to include null fields in Patch requests.
  9073  	NullFields []string `json:"-"`
  9074  }
  9075  
  9076  func (s *ListPopulationClause) MarshalJSON() ([]byte, error) {
  9077  	type NoMethod ListPopulationClause
  9078  	raw := NoMethod(*s)
  9079  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9080  }
  9081  
  9082  // ListPopulationRule: Remarketing List Population Rule.
  9083  type ListPopulationRule struct {
  9084  	// FloodlightActivityId: Floodlight activity ID associated with this
  9085  	// rule. This field can be left blank.
  9086  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  9087  
  9088  	// FloodlightActivityName: Name of floodlight activity associated with
  9089  	// this rule. This is a read-only, auto-generated field.
  9090  	FloodlightActivityName string `json:"floodlightActivityName,omitempty"`
  9091  
  9092  	// ListPopulationClauses: Clauses that make up this list population
  9093  	// rule. Clauses are joined by ANDs, and the clauses themselves are made
  9094  	// up of list population terms which are joined by ORs.
  9095  	ListPopulationClauses []*ListPopulationClause `json:"listPopulationClauses,omitempty"`
  9096  
  9097  	// ForceSendFields is a list of field names (e.g.
  9098  	// "FloodlightActivityId") to unconditionally include in API requests.
  9099  	// By default, fields with empty or default values are omitted from API
  9100  	// requests. However, any non-pointer, non-interface field appearing in
  9101  	// ForceSendFields will be sent to the server regardless of whether the
  9102  	// field is empty or not. This may be used to include empty fields in
  9103  	// Patch requests.
  9104  	ForceSendFields []string `json:"-"`
  9105  
  9106  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
  9107  	// include in API requests with the JSON null value. By default, fields
  9108  	// with empty values are omitted from API requests. However, any field
  9109  	// with an empty value appearing in NullFields will be sent to the
  9110  	// server as null. It is an error if a field in this list has a
  9111  	// non-empty value. This may be used to include null fields in Patch
  9112  	// requests.
  9113  	NullFields []string `json:"-"`
  9114  }
  9115  
  9116  func (s *ListPopulationRule) MarshalJSON() ([]byte, error) {
  9117  	type NoMethod ListPopulationRule
  9118  	raw := NoMethod(*s)
  9119  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9120  }
  9121  
  9122  // ListPopulationTerm: Remarketing List Population Rule Term.
  9123  type ListPopulationTerm struct {
  9124  	// Contains: Will be true if the term should check if the user is in the
  9125  	// list and false if the term should check if the user is not in the
  9126  	// list. This field is only relevant when type is set to
  9127  	// LIST_MEMBERSHIP_TERM. False by default.
  9128  	Contains bool `json:"contains,omitempty"`
  9129  
  9130  	// Negation: Whether to negate the comparison result of this term during
  9131  	// rule evaluation. This field is only relevant when type is left unset
  9132  	// or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
  9133  	Negation bool `json:"negation,omitempty"`
  9134  
  9135  	// Operator: Comparison operator of this term. This field is only
  9136  	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
  9137  	// REFERRER_TERM.
  9138  	//
  9139  	// Possible values:
  9140  	//   "NUM_EQUALS"
  9141  	//   "NUM_LESS_THAN"
  9142  	//   "NUM_LESS_THAN_EQUAL"
  9143  	//   "NUM_GREATER_THAN"
  9144  	//   "NUM_GREATER_THAN_EQUAL"
  9145  	//   "STRING_EQUALS"
  9146  	//   "STRING_CONTAINS"
  9147  	Operator string `json:"operator,omitempty"`
  9148  
  9149  	// RemarketingListId: ID of the list in question. This field is only
  9150  	// relevant when type is set to LIST_MEMBERSHIP_TERM.
  9151  	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
  9152  
  9153  	// Type: List population term type determines the applicable fields in
  9154  	// this object. If left unset or set to CUSTOM_VARIABLE_TERM, then
  9155  	// variableName, variableFriendlyName, operator, value, and negation are
  9156  	// applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
  9157  	// contains are applicable. If set to REFERRER_TERM then operator,
  9158  	// value, and negation are applicable.
  9159  	//
  9160  	// Possible values:
  9161  	//   "CUSTOM_VARIABLE_TERM"
  9162  	//   "LIST_MEMBERSHIP_TERM"
  9163  	//   "REFERRER_TERM"
  9164  	Type string `json:"type,omitempty"`
  9165  
  9166  	// Value: Literal to compare the variable to. This field is only
  9167  	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
  9168  	// REFERRER_TERM.
  9169  	Value string `json:"value,omitempty"`
  9170  
  9171  	// VariableFriendlyName: Friendly name of this term's variable. This is
  9172  	// a read-only, auto-generated field. This field is only relevant when
  9173  	// type is left unset or set to CUSTOM_VARIABLE_TERM.
  9174  	VariableFriendlyName string `json:"variableFriendlyName,omitempty"`
  9175  
  9176  	// VariableName: Name of the variable (U1, U2, etc.) being compared in
  9177  	// this term. This field is only relevant when type is set to null,
  9178  	// CUSTOM_VARIABLE_TERM or REFERRER_TERM.
  9179  	VariableName string `json:"variableName,omitempty"`
  9180  
  9181  	// ForceSendFields is a list of field names (e.g. "Contains") to
  9182  	// unconditionally include in API requests. By default, fields with
  9183  	// empty or default values are omitted from API requests. However, any
  9184  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9185  	// sent to the server regardless of whether the field is empty or not.
  9186  	// This may be used to include empty fields in Patch requests.
  9187  	ForceSendFields []string `json:"-"`
  9188  
  9189  	// NullFields is a list of field names (e.g. "Contains") to include in
  9190  	// API requests with the JSON null value. By default, fields with empty
  9191  	// values are omitted from API requests. However, any field with an
  9192  	// empty value appearing in NullFields will be sent to the server as
  9193  	// null. It is an error if a field in this list has a non-empty value.
  9194  	// This may be used to include null fields in Patch requests.
  9195  	NullFields []string `json:"-"`
  9196  }
  9197  
  9198  func (s *ListPopulationTerm) MarshalJSON() ([]byte, error) {
  9199  	type NoMethod ListPopulationTerm
  9200  	raw := NoMethod(*s)
  9201  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9202  }
  9203  
  9204  // ListTargetingExpression: Remarketing List Targeting Expression.
  9205  type ListTargetingExpression struct {
  9206  	// Expression: Expression describing which lists are being targeted by
  9207  	// the ad.
  9208  	Expression string `json:"expression,omitempty"`
  9209  
  9210  	// ForceSendFields is a list of field names (e.g. "Expression") to
  9211  	// unconditionally include in API requests. By default, fields with
  9212  	// empty or default values are omitted from API requests. However, any
  9213  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9214  	// sent to the server regardless of whether the field is empty or not.
  9215  	// This may be used to include empty fields in Patch requests.
  9216  	ForceSendFields []string `json:"-"`
  9217  
  9218  	// NullFields is a list of field names (e.g. "Expression") to include in
  9219  	// API requests with the JSON null value. By default, fields with empty
  9220  	// values are omitted from API requests. However, any field with an
  9221  	// empty value appearing in NullFields will be sent to the server as
  9222  	// null. It is an error if a field in this list has a non-empty value.
  9223  	// This may be used to include null fields in Patch requests.
  9224  	NullFields []string `json:"-"`
  9225  }
  9226  
  9227  func (s *ListTargetingExpression) MarshalJSON() ([]byte, error) {
  9228  	type NoMethod ListTargetingExpression
  9229  	raw := NoMethod(*s)
  9230  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9231  }
  9232  
  9233  // LookbackConfiguration: Lookback configuration settings.
  9234  type LookbackConfiguration struct {
  9235  	// ClickDuration: Lookback window, in days, from the last time a given
  9236  	// user clicked on one of your ads. If you enter 0, clicks will not be
  9237  	// considered as triggering events for floodlight tracking. If you leave
  9238  	// this field blank, the default value for your account will be used.
  9239  	// Acceptable values are 0 to 90, inclusive.
  9240  	ClickDuration int64 `json:"clickDuration,omitempty"`
  9241  
  9242  	// PostImpressionActivitiesDuration: Lookback window, in days, from the
  9243  	// last time a given user viewed one of your ads. If you enter 0,
  9244  	// impressions will not be considered as triggering events for
  9245  	// floodlight tracking. If you leave this field blank, the default value
  9246  	// for your account will be used. Acceptable values are 0 to 90,
  9247  	// inclusive.
  9248  	PostImpressionActivitiesDuration int64 `json:"postImpressionActivitiesDuration,omitempty"`
  9249  
  9250  	// ForceSendFields is a list of field names (e.g. "ClickDuration") to
  9251  	// unconditionally include in API requests. By default, fields with
  9252  	// empty or default values are omitted from API requests. However, any
  9253  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9254  	// sent to the server regardless of whether the field is empty or not.
  9255  	// This may be used to include empty fields in Patch requests.
  9256  	ForceSendFields []string `json:"-"`
  9257  
  9258  	// NullFields is a list of field names (e.g. "ClickDuration") to include
  9259  	// in API requests with the JSON null value. By default, fields with
  9260  	// empty values are omitted from API requests. However, any field with
  9261  	// an empty value appearing in NullFields will be sent to the server as
  9262  	// null. It is an error if a field in this list has a non-empty value.
  9263  	// This may be used to include null fields in Patch requests.
  9264  	NullFields []string `json:"-"`
  9265  }
  9266  
  9267  func (s *LookbackConfiguration) MarshalJSON() ([]byte, error) {
  9268  	type NoMethod LookbackConfiguration
  9269  	raw := NoMethod(*s)
  9270  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9271  }
  9272  
  9273  // Metric: Represents a metric.
  9274  type Metric struct {
  9275  	// Kind: The kind of resource this is, in this case dfareporting#metric.
  9276  	Kind string `json:"kind,omitempty"`
  9277  
  9278  	// Name: The metric name, e.g. dfa:impressions
  9279  	Name string `json:"name,omitempty"`
  9280  
  9281  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9282  	// unconditionally include in API requests. By default, fields with
  9283  	// empty or default values are omitted from API requests. However, any
  9284  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9285  	// sent to the server regardless of whether the field is empty or not.
  9286  	// This may be used to include empty fields in Patch requests.
  9287  	ForceSendFields []string `json:"-"`
  9288  
  9289  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9290  	// requests with the JSON null value. By default, fields with empty
  9291  	// values are omitted from API requests. However, any field with an
  9292  	// empty value appearing in NullFields will be sent to the server as
  9293  	// null. It is an error if a field in this list has a non-empty value.
  9294  	// This may be used to include null fields in Patch requests.
  9295  	NullFields []string `json:"-"`
  9296  }
  9297  
  9298  func (s *Metric) MarshalJSON() ([]byte, error) {
  9299  	type NoMethod Metric
  9300  	raw := NoMethod(*s)
  9301  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9302  }
  9303  
  9304  // Metro: Contains information about a metro region that can be targeted
  9305  // by ads.
  9306  type Metro struct {
  9307  	// CountryCode: Country code of the country to which this metro region
  9308  	// belongs.
  9309  	CountryCode string `json:"countryCode,omitempty"`
  9310  
  9311  	// CountryDartId: DART ID of the country to which this metro region
  9312  	// belongs.
  9313  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  9314  
  9315  	// DartId: DART ID of this metro region.
  9316  	DartId int64 `json:"dartId,omitempty,string"`
  9317  
  9318  	// DmaId: DMA ID of this metro region. This is the ID used for targeting
  9319  	// and generating reports, and is equivalent to metro_code.
  9320  	DmaId int64 `json:"dmaId,omitempty,string"`
  9321  
  9322  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9323  	// string "dfareporting#metro".
  9324  	Kind string `json:"kind,omitempty"`
  9325  
  9326  	// MetroCode: Metro code of this metro region. This is equivalent to
  9327  	// dma_id.
  9328  	MetroCode string `json:"metroCode,omitempty"`
  9329  
  9330  	// Name: Name of this metro region.
  9331  	Name string `json:"name,omitempty"`
  9332  
  9333  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  9334  	// unconditionally include in API requests. By default, fields with
  9335  	// empty or default values are omitted from API requests. However, any
  9336  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9337  	// sent to the server regardless of whether the field is empty or not.
  9338  	// This may be used to include empty fields in Patch requests.
  9339  	ForceSendFields []string `json:"-"`
  9340  
  9341  	// NullFields is a list of field names (e.g. "CountryCode") to include
  9342  	// in API requests with the JSON null value. By default, fields with
  9343  	// empty values are omitted from API requests. However, any field with
  9344  	// an empty value appearing in NullFields will be sent to the server as
  9345  	// null. It is an error if a field in this list has a non-empty value.
  9346  	// This may be used to include null fields in Patch requests.
  9347  	NullFields []string `json:"-"`
  9348  }
  9349  
  9350  func (s *Metro) MarshalJSON() ([]byte, error) {
  9351  	type NoMethod Metro
  9352  	raw := NoMethod(*s)
  9353  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9354  }
  9355  
  9356  // MetrosListResponse: Metro List Response
  9357  type MetrosListResponse struct {
  9358  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9359  	// string "dfareporting#metrosListResponse".
  9360  	Kind string `json:"kind,omitempty"`
  9361  
  9362  	// Metros: Metro collection.
  9363  	Metros []*Metro `json:"metros,omitempty"`
  9364  
  9365  	// ServerResponse contains the HTTP response code and headers from the
  9366  	// server.
  9367  	googleapi.ServerResponse `json:"-"`
  9368  
  9369  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9370  	// unconditionally include in API requests. By default, fields with
  9371  	// empty or default values are omitted from API requests. However, any
  9372  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9373  	// sent to the server regardless of whether the field is empty or not.
  9374  	// This may be used to include empty fields in Patch requests.
  9375  	ForceSendFields []string `json:"-"`
  9376  
  9377  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9378  	// requests with the JSON null value. By default, fields with empty
  9379  	// values are omitted from API requests. However, any field with an
  9380  	// empty value appearing in NullFields will be sent to the server as
  9381  	// null. It is an error if a field in this list has a non-empty value.
  9382  	// This may be used to include null fields in Patch requests.
  9383  	NullFields []string `json:"-"`
  9384  }
  9385  
  9386  func (s *MetrosListResponse) MarshalJSON() ([]byte, error) {
  9387  	type NoMethod MetrosListResponse
  9388  	raw := NoMethod(*s)
  9389  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9390  }
  9391  
  9392  // MobileApp: Contains information about a mobile app. Used as a landing
  9393  // page deep link.
  9394  type MobileApp struct {
  9395  	// Directory: Mobile app directory.
  9396  	//
  9397  	// Possible values:
  9398  	//   "UNKNOWN"
  9399  	//   "APPLE_APP_STORE"
  9400  	//   "GOOGLE_PLAY_STORE"
  9401  	Directory string `json:"directory,omitempty"`
  9402  
  9403  	// Id: ID of this mobile app.
  9404  	Id string `json:"id,omitempty"`
  9405  
  9406  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9407  	// string "dfareporting#mobileApp".
  9408  	Kind string `json:"kind,omitempty"`
  9409  
  9410  	// PublisherName: Publisher name.
  9411  	PublisherName string `json:"publisherName,omitempty"`
  9412  
  9413  	// Title: Title of this mobile app.
  9414  	Title string `json:"title,omitempty"`
  9415  
  9416  	// ServerResponse contains the HTTP response code and headers from the
  9417  	// server.
  9418  	googleapi.ServerResponse `json:"-"`
  9419  
  9420  	// ForceSendFields is a list of field names (e.g. "Directory") to
  9421  	// unconditionally include in API requests. By default, fields with
  9422  	// empty or default values are omitted from API requests. However, any
  9423  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9424  	// sent to the server regardless of whether the field is empty or not.
  9425  	// This may be used to include empty fields in Patch requests.
  9426  	ForceSendFields []string `json:"-"`
  9427  
  9428  	// NullFields is a list of field names (e.g. "Directory") to include in
  9429  	// API requests with the JSON null value. By default, fields with empty
  9430  	// values are omitted from API requests. However, any field with an
  9431  	// empty value appearing in NullFields will be sent to the server as
  9432  	// null. It is an error if a field in this list has a non-empty value.
  9433  	// This may be used to include null fields in Patch requests.
  9434  	NullFields []string `json:"-"`
  9435  }
  9436  
  9437  func (s *MobileApp) MarshalJSON() ([]byte, error) {
  9438  	type NoMethod MobileApp
  9439  	raw := NoMethod(*s)
  9440  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9441  }
  9442  
  9443  // MobileAppsListResponse: Mobile app List Response
  9444  type MobileAppsListResponse struct {
  9445  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9446  	// string "dfareporting#mobileAppsListResponse".
  9447  	Kind string `json:"kind,omitempty"`
  9448  
  9449  	// MobileApps: Mobile apps collection.
  9450  	MobileApps []*MobileApp `json:"mobileApps,omitempty"`
  9451  
  9452  	// NextPageToken: Pagination token to be used for the next list
  9453  	// operation.
  9454  	NextPageToken string `json:"nextPageToken,omitempty"`
  9455  
  9456  	// ServerResponse contains the HTTP response code and headers from the
  9457  	// server.
  9458  	googleapi.ServerResponse `json:"-"`
  9459  
  9460  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9461  	// unconditionally include in API requests. By default, fields with
  9462  	// empty or default values are omitted from API requests. However, any
  9463  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9464  	// sent to the server regardless of whether the field is empty or not.
  9465  	// This may be used to include empty fields in Patch requests.
  9466  	ForceSendFields []string `json:"-"`
  9467  
  9468  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9469  	// requests with the JSON null value. By default, fields with empty
  9470  	// values are omitted from API requests. However, any field with an
  9471  	// empty value appearing in NullFields will be sent to the server as
  9472  	// null. It is an error if a field in this list has a non-empty value.
  9473  	// This may be used to include null fields in Patch requests.
  9474  	NullFields []string `json:"-"`
  9475  }
  9476  
  9477  func (s *MobileAppsListResponse) MarshalJSON() ([]byte, error) {
  9478  	type NoMethod MobileAppsListResponse
  9479  	raw := NoMethod(*s)
  9480  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9481  }
  9482  
  9483  // MobileCarrier: Contains information about a mobile carrier that can
  9484  // be targeted by ads.
  9485  type MobileCarrier struct {
  9486  	// CountryCode: Country code of the country to which this mobile carrier
  9487  	// belongs.
  9488  	CountryCode string `json:"countryCode,omitempty"`
  9489  
  9490  	// CountryDartId: DART ID of the country to which this mobile carrier
  9491  	// belongs.
  9492  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  9493  
  9494  	// Id: ID of this mobile carrier.
  9495  	Id int64 `json:"id,omitempty,string"`
  9496  
  9497  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9498  	// string "dfareporting#mobileCarrier".
  9499  	Kind string `json:"kind,omitempty"`
  9500  
  9501  	// Name: Name of this mobile carrier.
  9502  	Name string `json:"name,omitempty"`
  9503  
  9504  	// ServerResponse contains the HTTP response code and headers from the
  9505  	// server.
  9506  	googleapi.ServerResponse `json:"-"`
  9507  
  9508  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  9509  	// unconditionally include in API requests. By default, fields with
  9510  	// empty or default values are omitted from API requests. However, any
  9511  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9512  	// sent to the server regardless of whether the field is empty or not.
  9513  	// This may be used to include empty fields in Patch requests.
  9514  	ForceSendFields []string `json:"-"`
  9515  
  9516  	// NullFields is a list of field names (e.g. "CountryCode") to include
  9517  	// in API requests with the JSON null value. By default, fields with
  9518  	// empty values are omitted from API requests. However, any field with
  9519  	// an empty value appearing in NullFields will be sent to the server as
  9520  	// null. It is an error if a field in this list has a non-empty value.
  9521  	// This may be used to include null fields in Patch requests.
  9522  	NullFields []string `json:"-"`
  9523  }
  9524  
  9525  func (s *MobileCarrier) MarshalJSON() ([]byte, error) {
  9526  	type NoMethod MobileCarrier
  9527  	raw := NoMethod(*s)
  9528  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9529  }
  9530  
  9531  // MobileCarriersListResponse: Mobile Carrier List Response
  9532  type MobileCarriersListResponse struct {
  9533  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9534  	// string "dfareporting#mobileCarriersListResponse".
  9535  	Kind string `json:"kind,omitempty"`
  9536  
  9537  	// MobileCarriers: Mobile carrier collection.
  9538  	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
  9539  
  9540  	// ServerResponse contains the HTTP response code and headers from the
  9541  	// server.
  9542  	googleapi.ServerResponse `json:"-"`
  9543  
  9544  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9545  	// unconditionally include in API requests. By default, fields with
  9546  	// empty or default values are omitted from API requests. However, any
  9547  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9548  	// sent to the server regardless of whether the field is empty or not.
  9549  	// This may be used to include empty fields in Patch requests.
  9550  	ForceSendFields []string `json:"-"`
  9551  
  9552  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9553  	// requests with the JSON null value. By default, fields with empty
  9554  	// values are omitted from API requests. However, any field with an
  9555  	// empty value appearing in NullFields will be sent to the server as
  9556  	// null. It is an error if a field in this list has a non-empty value.
  9557  	// This may be used to include null fields in Patch requests.
  9558  	NullFields []string `json:"-"`
  9559  }
  9560  
  9561  func (s *MobileCarriersListResponse) MarshalJSON() ([]byte, error) {
  9562  	type NoMethod MobileCarriersListResponse
  9563  	raw := NoMethod(*s)
  9564  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9565  }
  9566  
  9567  // ObaIcon: Online Behavioral Advertiser icon.
  9568  type ObaIcon struct {
  9569  	// IconClickThroughUrl: URL to redirect to when an OBA icon is clicked.
  9570  	IconClickThroughUrl string `json:"iconClickThroughUrl,omitempty"`
  9571  
  9572  	// IconClickTrackingUrl: URL to track click when an OBA icon is clicked.
  9573  	IconClickTrackingUrl string `json:"iconClickTrackingUrl,omitempty"`
  9574  
  9575  	// IconViewTrackingUrl: URL to track view when an OBA icon is clicked.
  9576  	IconViewTrackingUrl string `json:"iconViewTrackingUrl,omitempty"`
  9577  
  9578  	// Program: Identifies the industry initiative that the icon supports.
  9579  	// For example, AdChoices.
  9580  	Program string `json:"program,omitempty"`
  9581  
  9582  	// ResourceUrl: OBA icon resource URL. Campaign Manager only supports
  9583  	// image and JavaScript icons. Learn more
  9584  	ResourceUrl string `json:"resourceUrl,omitempty"`
  9585  
  9586  	// Size: OBA icon size.
  9587  	Size *Size `json:"size,omitempty"`
  9588  
  9589  	// XPosition: OBA icon x coordinate position. Accepted values are left
  9590  	// or right.
  9591  	XPosition string `json:"xPosition,omitempty"`
  9592  
  9593  	// YPosition: OBA icon y coordinate position. Accepted values are top or
  9594  	// bottom.
  9595  	YPosition string `json:"yPosition,omitempty"`
  9596  
  9597  	// ForceSendFields is a list of field names (e.g. "IconClickThroughUrl")
  9598  	// to unconditionally include in API requests. By default, fields with
  9599  	// empty or default values are omitted from API requests. However, any
  9600  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9601  	// sent to the server regardless of whether the field is empty or not.
  9602  	// This may be used to include empty fields in Patch requests.
  9603  	ForceSendFields []string `json:"-"`
  9604  
  9605  	// NullFields is a list of field names (e.g. "IconClickThroughUrl") to
  9606  	// include in API requests with the JSON null value. By default, fields
  9607  	// with empty values are omitted from API requests. However, any field
  9608  	// with an empty value appearing in NullFields will be sent to the
  9609  	// server as null. It is an error if a field in this list has a
  9610  	// non-empty value. This may be used to include null fields in Patch
  9611  	// requests.
  9612  	NullFields []string `json:"-"`
  9613  }
  9614  
  9615  func (s *ObaIcon) MarshalJSON() ([]byte, error) {
  9616  	type NoMethod ObaIcon
  9617  	raw := NoMethod(*s)
  9618  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9619  }
  9620  
  9621  // ObjectFilter: Object Filter.
  9622  type ObjectFilter struct {
  9623  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9624  	// string "dfareporting#objectFilter".
  9625  	Kind string `json:"kind,omitempty"`
  9626  
  9627  	// ObjectIds: Applicable when status is ASSIGNED. The user has access to
  9628  	// objects with these object IDs.
  9629  	ObjectIds googleapi.Int64s `json:"objectIds,omitempty"`
  9630  
  9631  	// Status: Status of the filter. NONE means the user has access to none
  9632  	// of the objects. ALL means the user has access to all objects.
  9633  	// ASSIGNED means the user has access to the objects with IDs in the
  9634  	// objectIds list.
  9635  	//
  9636  	// Possible values:
  9637  	//   "NONE"
  9638  	//   "ASSIGNED"
  9639  	//   "ALL"
  9640  	Status string `json:"status,omitempty"`
  9641  
  9642  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9643  	// unconditionally include in API requests. By default, fields with
  9644  	// empty or default values are omitted from API requests. However, any
  9645  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9646  	// sent to the server regardless of whether the field is empty or not.
  9647  	// This may be used to include empty fields in Patch requests.
  9648  	ForceSendFields []string `json:"-"`
  9649  
  9650  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9651  	// requests with the JSON null value. By default, fields with empty
  9652  	// values are omitted from API requests. However, any field with an
  9653  	// empty value appearing in NullFields will be sent to the server as
  9654  	// null. It is an error if a field in this list has a non-empty value.
  9655  	// This may be used to include null fields in Patch requests.
  9656  	NullFields []string `json:"-"`
  9657  }
  9658  
  9659  func (s *ObjectFilter) MarshalJSON() ([]byte, error) {
  9660  	type NoMethod ObjectFilter
  9661  	raw := NoMethod(*s)
  9662  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9663  }
  9664  
  9665  // OffsetPosition: Offset Position.
  9666  type OffsetPosition struct {
  9667  	// Left: Offset distance from left side of an asset or a window.
  9668  	Left int64 `json:"left,omitempty"`
  9669  
  9670  	// Top: Offset distance from top side of an asset or a window.
  9671  	Top int64 `json:"top,omitempty"`
  9672  
  9673  	// ForceSendFields is a list of field names (e.g. "Left") to
  9674  	// unconditionally include in API requests. By default, fields with
  9675  	// empty or default values are omitted from API requests. However, any
  9676  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9677  	// sent to the server regardless of whether the field is empty or not.
  9678  	// This may be used to include empty fields in Patch requests.
  9679  	ForceSendFields []string `json:"-"`
  9680  
  9681  	// NullFields is a list of field names (e.g. "Left") to include in API
  9682  	// requests with the JSON null value. By default, fields with empty
  9683  	// values are omitted from API requests. However, any field with an
  9684  	// empty value appearing in NullFields will be sent to the server as
  9685  	// null. It is an error if a field in this list has a non-empty value.
  9686  	// This may be used to include null fields in Patch requests.
  9687  	NullFields []string `json:"-"`
  9688  }
  9689  
  9690  func (s *OffsetPosition) MarshalJSON() ([]byte, error) {
  9691  	type NoMethod OffsetPosition
  9692  	raw := NoMethod(*s)
  9693  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9694  }
  9695  
  9696  // OmnitureSettings: Omniture Integration Settings.
  9697  type OmnitureSettings struct {
  9698  	// OmnitureCostDataEnabled: Whether placement cost data will be sent to
  9699  	// Omniture. This property can be enabled only if
  9700  	// omnitureIntegrationEnabled is true.
  9701  	OmnitureCostDataEnabled bool `json:"omnitureCostDataEnabled,omitempty"`
  9702  
  9703  	// OmnitureIntegrationEnabled: Whether Omniture integration is enabled.
  9704  	// This property can be enabled only when the "Advanced Ad Serving"
  9705  	// account setting is enabled.
  9706  	OmnitureIntegrationEnabled bool `json:"omnitureIntegrationEnabled,omitempty"`
  9707  
  9708  	// ForceSendFields is a list of field names (e.g.
  9709  	// "OmnitureCostDataEnabled") to unconditionally include in API
  9710  	// requests. By default, fields with empty or default values are omitted
  9711  	// from API requests. However, any non-pointer, non-interface field
  9712  	// appearing in ForceSendFields will be sent to the server regardless of
  9713  	// whether the field is empty or not. This may be used to include empty
  9714  	// fields in Patch requests.
  9715  	ForceSendFields []string `json:"-"`
  9716  
  9717  	// NullFields is a list of field names (e.g. "OmnitureCostDataEnabled")
  9718  	// to include in API requests with the JSON null value. By default,
  9719  	// fields with empty values are omitted from API requests. However, any
  9720  	// field with an empty value appearing in NullFields will be sent to the
  9721  	// server as null. It is an error if a field in this list has a
  9722  	// non-empty value. This may be used to include null fields in Patch
  9723  	// requests.
  9724  	NullFields []string `json:"-"`
  9725  }
  9726  
  9727  func (s *OmnitureSettings) MarshalJSON() ([]byte, error) {
  9728  	type NoMethod OmnitureSettings
  9729  	raw := NoMethod(*s)
  9730  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9731  }
  9732  
  9733  // OperatingSystem: Contains information about an operating system that
  9734  // can be targeted by ads.
  9735  type OperatingSystem struct {
  9736  	// DartId: DART ID of this operating system. This is the ID used for
  9737  	// targeting.
  9738  	DartId int64 `json:"dartId,omitempty,string"`
  9739  
  9740  	// Desktop: Whether this operating system is for desktop.
  9741  	Desktop bool `json:"desktop,omitempty"`
  9742  
  9743  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9744  	// string "dfareporting#operatingSystem".
  9745  	Kind string `json:"kind,omitempty"`
  9746  
  9747  	// Mobile: Whether this operating system is for mobile.
  9748  	Mobile bool `json:"mobile,omitempty"`
  9749  
  9750  	// Name: Name of this operating system.
  9751  	Name string `json:"name,omitempty"`
  9752  
  9753  	// ServerResponse contains the HTTP response code and headers from the
  9754  	// server.
  9755  	googleapi.ServerResponse `json:"-"`
  9756  
  9757  	// ForceSendFields is a list of field names (e.g. "DartId") to
  9758  	// unconditionally include in API requests. By default, fields with
  9759  	// empty or default values are omitted from API requests. However, any
  9760  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9761  	// sent to the server regardless of whether the field is empty or not.
  9762  	// This may be used to include empty fields in Patch requests.
  9763  	ForceSendFields []string `json:"-"`
  9764  
  9765  	// NullFields is a list of field names (e.g. "DartId") to include in API
  9766  	// requests with the JSON null value. By default, fields with empty
  9767  	// values are omitted from API requests. However, any field with an
  9768  	// empty value appearing in NullFields will be sent to the server as
  9769  	// null. It is an error if a field in this list has a non-empty value.
  9770  	// This may be used to include null fields in Patch requests.
  9771  	NullFields []string `json:"-"`
  9772  }
  9773  
  9774  func (s *OperatingSystem) MarshalJSON() ([]byte, error) {
  9775  	type NoMethod OperatingSystem
  9776  	raw := NoMethod(*s)
  9777  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9778  }
  9779  
  9780  // OperatingSystemVersion: Contains information about a particular
  9781  // version of an operating system that can be targeted by ads.
  9782  type OperatingSystemVersion struct {
  9783  	// Id: ID of this operating system version.
  9784  	Id int64 `json:"id,omitempty,string"`
  9785  
  9786  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9787  	// string "dfareporting#operatingSystemVersion".
  9788  	Kind string `json:"kind,omitempty"`
  9789  
  9790  	// MajorVersion: Major version (leftmost number) of this operating
  9791  	// system version.
  9792  	MajorVersion string `json:"majorVersion,omitempty"`
  9793  
  9794  	// MinorVersion: Minor version (number after the first dot) of this
  9795  	// operating system version.
  9796  	MinorVersion string `json:"minorVersion,omitempty"`
  9797  
  9798  	// Name: Name of this operating system version.
  9799  	Name string `json:"name,omitempty"`
  9800  
  9801  	// OperatingSystem: Operating system of this operating system version.
  9802  	OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
  9803  
  9804  	// ServerResponse contains the HTTP response code and headers from the
  9805  	// server.
  9806  	googleapi.ServerResponse `json:"-"`
  9807  
  9808  	// ForceSendFields is a list of field names (e.g. "Id") to
  9809  	// unconditionally include in API requests. By default, fields with
  9810  	// empty or default values are omitted from API requests. However, any
  9811  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9812  	// sent to the server regardless of whether the field is empty or not.
  9813  	// This may be used to include empty fields in Patch requests.
  9814  	ForceSendFields []string `json:"-"`
  9815  
  9816  	// NullFields is a list of field names (e.g. "Id") to include in API
  9817  	// requests with the JSON null value. By default, fields with empty
  9818  	// values are omitted from API requests. However, any field with an
  9819  	// empty value appearing in NullFields will be sent to the server as
  9820  	// null. It is an error if a field in this list has a non-empty value.
  9821  	// This may be used to include null fields in Patch requests.
  9822  	NullFields []string `json:"-"`
  9823  }
  9824  
  9825  func (s *OperatingSystemVersion) MarshalJSON() ([]byte, error) {
  9826  	type NoMethod OperatingSystemVersion
  9827  	raw := NoMethod(*s)
  9828  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9829  }
  9830  
  9831  // OperatingSystemVersionsListResponse: Operating System Version List
  9832  // Response
  9833  type OperatingSystemVersionsListResponse struct {
  9834  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9835  	// string "dfareporting#operatingSystemVersionsListResponse".
  9836  	Kind string `json:"kind,omitempty"`
  9837  
  9838  	// OperatingSystemVersions: Operating system version collection.
  9839  	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
  9840  
  9841  	// ServerResponse contains the HTTP response code and headers from the
  9842  	// server.
  9843  	googleapi.ServerResponse `json:"-"`
  9844  
  9845  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9846  	// unconditionally include in API requests. By default, fields with
  9847  	// empty or default values are omitted from API requests. However, any
  9848  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9849  	// sent to the server regardless of whether the field is empty or not.
  9850  	// This may be used to include empty fields in Patch requests.
  9851  	ForceSendFields []string `json:"-"`
  9852  
  9853  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9854  	// requests with the JSON null value. By default, fields with empty
  9855  	// values are omitted from API requests. However, any field with an
  9856  	// empty value appearing in NullFields will be sent to the server as
  9857  	// null. It is an error if a field in this list has a non-empty value.
  9858  	// This may be used to include null fields in Patch requests.
  9859  	NullFields []string `json:"-"`
  9860  }
  9861  
  9862  func (s *OperatingSystemVersionsListResponse) MarshalJSON() ([]byte, error) {
  9863  	type NoMethod OperatingSystemVersionsListResponse
  9864  	raw := NoMethod(*s)
  9865  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9866  }
  9867  
  9868  // OperatingSystemsListResponse: Operating System List Response
  9869  type OperatingSystemsListResponse struct {
  9870  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9871  	// string "dfareporting#operatingSystemsListResponse".
  9872  	Kind string `json:"kind,omitempty"`
  9873  
  9874  	// OperatingSystems: Operating system collection.
  9875  	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
  9876  
  9877  	// ServerResponse contains the HTTP response code and headers from the
  9878  	// server.
  9879  	googleapi.ServerResponse `json:"-"`
  9880  
  9881  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9882  	// unconditionally include in API requests. By default, fields with
  9883  	// empty or default values are omitted from API requests. However, any
  9884  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9885  	// sent to the server regardless of whether the field is empty or not.
  9886  	// This may be used to include empty fields in Patch requests.
  9887  	ForceSendFields []string `json:"-"`
  9888  
  9889  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9890  	// requests with the JSON null value. By default, fields with empty
  9891  	// values are omitted from API requests. However, any field with an
  9892  	// empty value appearing in NullFields will be sent to the server as
  9893  	// null. It is an error if a field in this list has a non-empty value.
  9894  	// This may be used to include null fields in Patch requests.
  9895  	NullFields []string `json:"-"`
  9896  }
  9897  
  9898  func (s *OperatingSystemsListResponse) MarshalJSON() ([]byte, error) {
  9899  	type NoMethod OperatingSystemsListResponse
  9900  	raw := NoMethod(*s)
  9901  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9902  }
  9903  
  9904  // OptimizationActivity: Creative optimization activity.
  9905  type OptimizationActivity struct {
  9906  	// FloodlightActivityId: Floodlight activity ID of this optimization
  9907  	// activity. This is a required field.
  9908  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  9909  
  9910  	// FloodlightActivityIdDimensionValue: Dimension value for the ID of the
  9911  	// floodlight activity. This is a read-only, auto-generated field.
  9912  	FloodlightActivityIdDimensionValue *DimensionValue `json:"floodlightActivityIdDimensionValue,omitempty"`
  9913  
  9914  	// Weight: Weight associated with this optimization. The weight assigned
  9915  	// will be understood in proportion to the weights assigned to the other
  9916  	// optimization activities. Value must be greater than or equal to 1.
  9917  	Weight int64 `json:"weight,omitempty"`
  9918  
  9919  	// ForceSendFields is a list of field names (e.g.
  9920  	// "FloodlightActivityId") to unconditionally include in API requests.
  9921  	// By default, fields with empty or default values are omitted from API
  9922  	// requests. However, any non-pointer, non-interface field appearing in
  9923  	// ForceSendFields will be sent to the server regardless of whether the
  9924  	// field is empty or not. This may be used to include empty fields in
  9925  	// Patch requests.
  9926  	ForceSendFields []string `json:"-"`
  9927  
  9928  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
  9929  	// include in API requests with the JSON null value. By default, fields
  9930  	// with empty values are omitted from API requests. However, any field
  9931  	// with an empty value appearing in NullFields will be sent to the
  9932  	// server as null. It is an error if a field in this list has a
  9933  	// non-empty value. This may be used to include null fields in Patch
  9934  	// requests.
  9935  	NullFields []string `json:"-"`
  9936  }
  9937  
  9938  func (s *OptimizationActivity) MarshalJSON() ([]byte, error) {
  9939  	type NoMethod OptimizationActivity
  9940  	raw := NoMethod(*s)
  9941  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9942  }
  9943  
  9944  // Order: Describes properties of a Planning order.
  9945  type Order struct {
  9946  	// AccountId: Account ID of this order.
  9947  	AccountId int64 `json:"accountId,omitempty,string"`
  9948  
  9949  	// AdvertiserId: Advertiser ID of this order.
  9950  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9951  
  9952  	// ApproverUserProfileIds: IDs for users that have to approve documents
  9953  	// created for this order.
  9954  	ApproverUserProfileIds googleapi.Int64s `json:"approverUserProfileIds,omitempty"`
  9955  
  9956  	// BuyerInvoiceId: Buyer invoice ID associated with this order.
  9957  	BuyerInvoiceId string `json:"buyerInvoiceId,omitempty"`
  9958  
  9959  	// BuyerOrganizationName: Name of the buyer organization.
  9960  	BuyerOrganizationName string `json:"buyerOrganizationName,omitempty"`
  9961  
  9962  	// Comments: Comments in this order.
  9963  	Comments string `json:"comments,omitempty"`
  9964  
  9965  	// Contacts: Contacts for this order.
  9966  	Contacts []*OrderContact `json:"contacts,omitempty"`
  9967  
  9968  	// Id: ID of this order. This is a read-only, auto-generated field.
  9969  	Id int64 `json:"id,omitempty,string"`
  9970  
  9971  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9972  	// string "dfareporting#order".
  9973  	Kind string `json:"kind,omitempty"`
  9974  
  9975  	// LastModifiedInfo: Information about the most recent modification of
  9976  	// this order.
  9977  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9978  
  9979  	// Name: Name of this order.
  9980  	Name string `json:"name,omitempty"`
  9981  
  9982  	// Notes: Notes of this order.
  9983  	Notes string `json:"notes,omitempty"`
  9984  
  9985  	// PlanningTermId: ID of the terms and conditions template used in this
  9986  	// order.
  9987  	PlanningTermId int64 `json:"planningTermId,omitempty,string"`
  9988  
  9989  	// ProjectId: Project ID of this order.
  9990  	ProjectId int64 `json:"projectId,omitempty,string"`
  9991  
  9992  	// SellerOrderId: Seller order ID associated with this order.
  9993  	SellerOrderId string `json:"sellerOrderId,omitempty"`
  9994  
  9995  	// SellerOrganizationName: Name of the seller organization.
  9996  	SellerOrganizationName string `json:"sellerOrganizationName,omitempty"`
  9997  
  9998  	// SiteId: Site IDs this order is associated with.
  9999  	SiteId googleapi.Int64s `json:"siteId,omitempty"`
 10000  
 10001  	// SiteNames: Free-form site names this order is associated with.
 10002  	SiteNames []string `json:"siteNames,omitempty"`
 10003  
 10004  	// SubaccountId: Subaccount ID of this order.
 10005  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 10006  
 10007  	// TermsAndConditions: Terms and conditions of this order.
 10008  	TermsAndConditions string `json:"termsAndConditions,omitempty"`
 10009  
 10010  	// ServerResponse contains the HTTP response code and headers from the
 10011  	// server.
 10012  	googleapi.ServerResponse `json:"-"`
 10013  
 10014  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10015  	// unconditionally include in API requests. By default, fields with
 10016  	// empty or default values are omitted from API requests. However, any
 10017  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10018  	// sent to the server regardless of whether the field is empty or not.
 10019  	// This may be used to include empty fields in Patch requests.
 10020  	ForceSendFields []string `json:"-"`
 10021  
 10022  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10023  	// API requests with the JSON null value. By default, fields with empty
 10024  	// values are omitted from API requests. However, any field with an
 10025  	// empty value appearing in NullFields will be sent to the server as
 10026  	// null. It is an error if a field in this list has a non-empty value.
 10027  	// This may be used to include null fields in Patch requests.
 10028  	NullFields []string `json:"-"`
 10029  }
 10030  
 10031  func (s *Order) MarshalJSON() ([]byte, error) {
 10032  	type NoMethod Order
 10033  	raw := NoMethod(*s)
 10034  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10035  }
 10036  
 10037  // OrderContact: Contact of an order.
 10038  type OrderContact struct {
 10039  	// ContactInfo: Free-form information about this contact. It could be
 10040  	// any information related to this contact in addition to type, title,
 10041  	// name, and signature user profile ID.
 10042  	ContactInfo string `json:"contactInfo,omitempty"`
 10043  
 10044  	// ContactName: Name of this contact.
 10045  	ContactName string `json:"contactName,omitempty"`
 10046  
 10047  	// ContactTitle: Title of this contact.
 10048  	ContactTitle string `json:"contactTitle,omitempty"`
 10049  
 10050  	// ContactType: Type of this contact.
 10051  	//
 10052  	// Possible values:
 10053  	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
 10054  	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
 10055  	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
 10056  	ContactType string `json:"contactType,omitempty"`
 10057  
 10058  	// SignatureUserProfileId: ID of the user profile containing the
 10059  	// signature that will be embedded into order documents.
 10060  	SignatureUserProfileId int64 `json:"signatureUserProfileId,omitempty,string"`
 10061  
 10062  	// ForceSendFields is a list of field names (e.g. "ContactInfo") to
 10063  	// unconditionally include in API requests. By default, fields with
 10064  	// empty or default values are omitted from API requests. However, any
 10065  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10066  	// sent to the server regardless of whether the field is empty or not.
 10067  	// This may be used to include empty fields in Patch requests.
 10068  	ForceSendFields []string `json:"-"`
 10069  
 10070  	// NullFields is a list of field names (e.g. "ContactInfo") to include
 10071  	// in API requests with the JSON null value. By default, fields with
 10072  	// empty values are omitted from API requests. However, any field with
 10073  	// an empty value appearing in NullFields will be sent to the server as
 10074  	// null. It is an error if a field in this list has a non-empty value.
 10075  	// This may be used to include null fields in Patch requests.
 10076  	NullFields []string `json:"-"`
 10077  }
 10078  
 10079  func (s *OrderContact) MarshalJSON() ([]byte, error) {
 10080  	type NoMethod OrderContact
 10081  	raw := NoMethod(*s)
 10082  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10083  }
 10084  
 10085  // OrderDocument: Contains properties of a Planning order document.
 10086  type OrderDocument struct {
 10087  	// AccountId: Account ID of this order document.
 10088  	AccountId int64 `json:"accountId,omitempty,string"`
 10089  
 10090  	// AdvertiserId: Advertiser ID of this order document.
 10091  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 10092  
 10093  	// AmendedOrderDocumentId: The amended order document ID of this order
 10094  	// document. An order document can be created by optionally amending
 10095  	// another order document so that the change history can be preserved.
 10096  	AmendedOrderDocumentId int64 `json:"amendedOrderDocumentId,omitempty,string"`
 10097  
 10098  	// ApprovedByUserProfileIds: IDs of users who have approved this order
 10099  	// document.
 10100  	ApprovedByUserProfileIds googleapi.Int64s `json:"approvedByUserProfileIds,omitempty"`
 10101  
 10102  	// Cancelled: Whether this order document is cancelled.
 10103  	Cancelled bool `json:"cancelled,omitempty"`
 10104  
 10105  	// CreatedInfo: Information about the creation of this order document.
 10106  	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
 10107  
 10108  	EffectiveDate string `json:"effectiveDate,omitempty"`
 10109  
 10110  	// Id: ID of this order document.
 10111  	Id int64 `json:"id,omitempty,string"`
 10112  
 10113  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10114  	// string "dfareporting#orderDocument".
 10115  	Kind string `json:"kind,omitempty"`
 10116  
 10117  	// LastSentRecipients: List of email addresses that received the last
 10118  	// sent document.
 10119  	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
 10120  
 10121  	LastSentTime string `json:"lastSentTime,omitempty"`
 10122  
 10123  	// OrderId: ID of the order from which this order document is created.
 10124  	OrderId int64 `json:"orderId,omitempty,string"`
 10125  
 10126  	// ProjectId: Project ID of this order document.
 10127  	ProjectId int64 `json:"projectId,omitempty,string"`
 10128  
 10129  	// Signed: Whether this order document has been signed.
 10130  	Signed bool `json:"signed,omitempty"`
 10131  
 10132  	// SubaccountId: Subaccount ID of this order document.
 10133  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 10134  
 10135  	// Title: Title of this order document.
 10136  	Title string `json:"title,omitempty"`
 10137  
 10138  	// Type: Type of this order document
 10139  	//
 10140  	// Possible values:
 10141  	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
 10142  	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
 10143  	Type string `json:"type,omitempty"`
 10144  
 10145  	// ServerResponse contains the HTTP response code and headers from the
 10146  	// server.
 10147  	googleapi.ServerResponse `json:"-"`
 10148  
 10149  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10150  	// unconditionally include in API requests. By default, fields with
 10151  	// empty or default values are omitted from API requests. However, any
 10152  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10153  	// sent to the server regardless of whether the field is empty or not.
 10154  	// This may be used to include empty fields in Patch requests.
 10155  	ForceSendFields []string `json:"-"`
 10156  
 10157  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10158  	// API requests with the JSON null value. By default, fields with empty
 10159  	// values are omitted from API requests. However, any field with an
 10160  	// empty value appearing in NullFields will be sent to the server as
 10161  	// null. It is an error if a field in this list has a non-empty value.
 10162  	// This may be used to include null fields in Patch requests.
 10163  	NullFields []string `json:"-"`
 10164  }
 10165  
 10166  func (s *OrderDocument) MarshalJSON() ([]byte, error) {
 10167  	type NoMethod OrderDocument
 10168  	raw := NoMethod(*s)
 10169  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10170  }
 10171  
 10172  // OrderDocumentsListResponse: Order document List Response
 10173  type OrderDocumentsListResponse struct {
 10174  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10175  	// string "dfareporting#orderDocumentsListResponse".
 10176  	Kind string `json:"kind,omitempty"`
 10177  
 10178  	// NextPageToken: Pagination token to be used for the next list
 10179  	// operation.
 10180  	NextPageToken string `json:"nextPageToken,omitempty"`
 10181  
 10182  	// OrderDocuments: Order document collection
 10183  	OrderDocuments []*OrderDocument `json:"orderDocuments,omitempty"`
 10184  
 10185  	// ServerResponse contains the HTTP response code and headers from the
 10186  	// server.
 10187  	googleapi.ServerResponse `json:"-"`
 10188  
 10189  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10190  	// unconditionally include in API requests. By default, fields with
 10191  	// empty or default values are omitted from API requests. However, any
 10192  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10193  	// sent to the server regardless of whether the field is empty or not.
 10194  	// This may be used to include empty fields in Patch requests.
 10195  	ForceSendFields []string `json:"-"`
 10196  
 10197  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10198  	// requests with the JSON null value. By default, fields with empty
 10199  	// values are omitted from API requests. However, any field with an
 10200  	// empty value appearing in NullFields will be sent to the server as
 10201  	// null. It is an error if a field in this list has a non-empty value.
 10202  	// This may be used to include null fields in Patch requests.
 10203  	NullFields []string `json:"-"`
 10204  }
 10205  
 10206  func (s *OrderDocumentsListResponse) MarshalJSON() ([]byte, error) {
 10207  	type NoMethod OrderDocumentsListResponse
 10208  	raw := NoMethod(*s)
 10209  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10210  }
 10211  
 10212  // OrdersListResponse: Order List Response
 10213  type OrdersListResponse struct {
 10214  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10215  	// string "dfareporting#ordersListResponse".
 10216  	Kind string `json:"kind,omitempty"`
 10217  
 10218  	// NextPageToken: Pagination token to be used for the next list
 10219  	// operation.
 10220  	NextPageToken string `json:"nextPageToken,omitempty"`
 10221  
 10222  	// Orders: Order collection.
 10223  	Orders []*Order `json:"orders,omitempty"`
 10224  
 10225  	// ServerResponse contains the HTTP response code and headers from the
 10226  	// server.
 10227  	googleapi.ServerResponse `json:"-"`
 10228  
 10229  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10230  	// unconditionally include in API requests. By default, fields with
 10231  	// empty or default values are omitted from API requests. However, any
 10232  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10233  	// sent to the server regardless of whether the field is empty or not.
 10234  	// This may be used to include empty fields in Patch requests.
 10235  	ForceSendFields []string `json:"-"`
 10236  
 10237  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10238  	// requests with the JSON null value. By default, fields with empty
 10239  	// values are omitted from API requests. However, any field with an
 10240  	// empty value appearing in NullFields will be sent to the server as
 10241  	// null. It is an error if a field in this list has a non-empty value.
 10242  	// This may be used to include null fields in Patch requests.
 10243  	NullFields []string `json:"-"`
 10244  }
 10245  
 10246  func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
 10247  	type NoMethod OrdersListResponse
 10248  	raw := NoMethod(*s)
 10249  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10250  }
 10251  
 10252  // PathFilter: Represents a DfaReporting path filter.
 10253  type PathFilter struct {
 10254  	// EventFilters: Event filters in path report.
 10255  	EventFilters []*EventFilter `json:"eventFilters,omitempty"`
 10256  
 10257  	// Kind: The kind of resource this is, in this case
 10258  	// dfareporting#pathFilter.
 10259  	Kind string `json:"kind,omitempty"`
 10260  
 10261  	// PathMatchPosition: Determines how the 'value' field is matched when
 10262  	// filtering. If not specified, defaults to EXACT. If set to
 10263  	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
 10264  	// length character sequences, and it can be escaped with a backslash.
 10265  	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
 10266  	// matchType other than EXACT.
 10267  	//
 10268  	// Possible values:
 10269  	//   "PATH_MATCH_POSITION_UNSPECIFIED"
 10270  	//   "ANY"
 10271  	//   "FIRST"
 10272  	//   "LAST"
 10273  	PathMatchPosition string `json:"pathMatchPosition,omitempty"`
 10274  
 10275  	// ForceSendFields is a list of field names (e.g. "EventFilters") to
 10276  	// unconditionally include in API requests. By default, fields with
 10277  	// empty or default values are omitted from API requests. However, any
 10278  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10279  	// sent to the server regardless of whether the field is empty or not.
 10280  	// This may be used to include empty fields in Patch requests.
 10281  	ForceSendFields []string `json:"-"`
 10282  
 10283  	// NullFields is a list of field names (e.g. "EventFilters") to include
 10284  	// in API requests with the JSON null value. By default, fields with
 10285  	// empty values are omitted from API requests. However, any field with
 10286  	// an empty value appearing in NullFields will be sent to the server as
 10287  	// null. It is an error if a field in this list has a non-empty value.
 10288  	// This may be used to include null fields in Patch requests.
 10289  	NullFields []string `json:"-"`
 10290  }
 10291  
 10292  func (s *PathFilter) MarshalJSON() ([]byte, error) {
 10293  	type NoMethod PathFilter
 10294  	raw := NoMethod(*s)
 10295  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10296  }
 10297  
 10298  // PathReportCompatibleFields: Represents fields that are compatible to
 10299  // be selected for a report of type "PATH".
 10300  type PathReportCompatibleFields struct {
 10301  	// ChannelGroupings: Dimensions which are compatible to be selected in
 10302  	// the "channelGroupings" section of the report.
 10303  	ChannelGroupings []*Dimension `json:"channelGroupings,omitempty"`
 10304  
 10305  	// Dimensions: Dimensions which are compatible to be selected in the
 10306  	// "dimensions" section of the report.
 10307  	Dimensions []*Dimension `json:"dimensions,omitempty"`
 10308  
 10309  	// Kind: The kind of resource this is, in this case
 10310  	// dfareporting#pathReportCompatibleFields.
 10311  	Kind string `json:"kind,omitempty"`
 10312  
 10313  	// Metrics: Metrics which are compatible to be selected in the
 10314  	// "metricNames" section of the report.
 10315  	Metrics []*Metric `json:"metrics,omitempty"`
 10316  
 10317  	// PathFilters: Dimensions which are compatible to be selected in the
 10318  	// "pathFilters" section of the report.
 10319  	PathFilters []*Dimension `json:"pathFilters,omitempty"`
 10320  
 10321  	// ForceSendFields is a list of field names (e.g. "ChannelGroupings") to
 10322  	// unconditionally include in API requests. By default, fields with
 10323  	// empty or default values are omitted from API requests. However, any
 10324  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10325  	// sent to the server regardless of whether the field is empty or not.
 10326  	// This may be used to include empty fields in Patch requests.
 10327  	ForceSendFields []string `json:"-"`
 10328  
 10329  	// NullFields is a list of field names (e.g. "ChannelGroupings") to
 10330  	// include in API requests with the JSON null value. By default, fields
 10331  	// with empty values are omitted from API requests. However, any field
 10332  	// with an empty value appearing in NullFields will be sent to the
 10333  	// server as null. It is an error if a field in this list has a
 10334  	// non-empty value. This may be used to include null fields in Patch
 10335  	// requests.
 10336  	NullFields []string `json:"-"`
 10337  }
 10338  
 10339  func (s *PathReportCompatibleFields) MarshalJSON() ([]byte, error) {
 10340  	type NoMethod PathReportCompatibleFields
 10341  	raw := NoMethod(*s)
 10342  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10343  }
 10344  
 10345  // PathReportDimensionValue: Represents a PathReportDimensionValue
 10346  // resource.
 10347  type PathReportDimensionValue struct {
 10348  	// DimensionName: The name of the dimension.
 10349  	DimensionName string `json:"dimensionName,omitempty"`
 10350  
 10351  	// Ids: The possible ID's associated with the value if available.
 10352  	Ids []string `json:"ids,omitempty"`
 10353  
 10354  	// Kind: The kind of resource this is, in this case
 10355  	// dfareporting#pathReportDimensionValue.
 10356  	Kind string `json:"kind,omitempty"`
 10357  
 10358  	// MatchType: Determines how the 'value' field is matched when
 10359  	// filtering. If not specified, defaults to EXACT. If set to
 10360  	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
 10361  	// length character sequences, and it can be escaped with a backslash.
 10362  	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
 10363  	// matchType other than EXACT.
 10364  	//
 10365  	// Possible values:
 10366  	//   "EXACT"
 10367  	//   "BEGINS_WITH"
 10368  	//   "CONTAINS"
 10369  	//   "WILDCARD_EXPRESSION"
 10370  	MatchType string `json:"matchType,omitempty"`
 10371  
 10372  	// Values: The possible values of the dimension.
 10373  	Values []string `json:"values,omitempty"`
 10374  
 10375  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
 10376  	// unconditionally include in API requests. By default, fields with
 10377  	// empty or default values are omitted from API requests. However, any
 10378  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10379  	// sent to the server regardless of whether the field is empty or not.
 10380  	// This may be used to include empty fields in Patch requests.
 10381  	ForceSendFields []string `json:"-"`
 10382  
 10383  	// NullFields is a list of field names (e.g. "DimensionName") to include
 10384  	// in API requests with the JSON null value. By default, fields with
 10385  	// empty values are omitted from API requests. However, any field with
 10386  	// an empty value appearing in NullFields will be sent to the server as
 10387  	// null. It is an error if a field in this list has a non-empty value.
 10388  	// This may be used to include null fields in Patch requests.
 10389  	NullFields []string `json:"-"`
 10390  }
 10391  
 10392  func (s *PathReportDimensionValue) MarshalJSON() ([]byte, error) {
 10393  	type NoMethod PathReportDimensionValue
 10394  	raw := NoMethod(*s)
 10395  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10396  }
 10397  
 10398  // PathToConversionReportCompatibleFields: Represents fields that are
 10399  // compatible to be selected for a report of type "PATH_TO_CONVERSION".
 10400  type PathToConversionReportCompatibleFields struct {
 10401  	// ConversionDimensions: Conversion dimensions which are compatible to
 10402  	// be selected in the "conversionDimensions" section of the report.
 10403  	ConversionDimensions []*Dimension `json:"conversionDimensions,omitempty"`
 10404  
 10405  	// CustomFloodlightVariables: Custom floodlight variables which are
 10406  	// compatible to be selected in the "customFloodlightVariables" section
 10407  	// of the report.
 10408  	CustomFloodlightVariables []*Dimension `json:"customFloodlightVariables,omitempty"`
 10409  
 10410  	// Kind: The kind of resource this is, in this case
 10411  	// dfareporting#pathToConversionReportCompatibleFields.
 10412  	Kind string `json:"kind,omitempty"`
 10413  
 10414  	// Metrics: Metrics which are compatible to be selected in the
 10415  	// "metricNames" section of the report.
 10416  	Metrics []*Metric `json:"metrics,omitempty"`
 10417  
 10418  	// PerInteractionDimensions: Per-interaction dimensions which are
 10419  	// compatible to be selected in the "perInteractionDimensions" section
 10420  	// of the report.
 10421  	PerInteractionDimensions []*Dimension `json:"perInteractionDimensions,omitempty"`
 10422  
 10423  	// ForceSendFields is a list of field names (e.g.
 10424  	// "ConversionDimensions") to unconditionally include in API requests.
 10425  	// By default, fields with empty or default values are omitted from API
 10426  	// requests. However, any non-pointer, non-interface field appearing in
 10427  	// ForceSendFields will be sent to the server regardless of whether the
 10428  	// field is empty or not. This may be used to include empty fields in
 10429  	// Patch requests.
 10430  	ForceSendFields []string `json:"-"`
 10431  
 10432  	// NullFields is a list of field names (e.g. "ConversionDimensions") to
 10433  	// include in API requests with the JSON null value. By default, fields
 10434  	// with empty values are omitted from API requests. However, any field
 10435  	// with an empty value appearing in NullFields will be sent to the
 10436  	// server as null. It is an error if a field in this list has a
 10437  	// non-empty value. This may be used to include null fields in Patch
 10438  	// requests.
 10439  	NullFields []string `json:"-"`
 10440  }
 10441  
 10442  func (s *PathToConversionReportCompatibleFields) MarshalJSON() ([]byte, error) {
 10443  	type NoMethod PathToConversionReportCompatibleFields
 10444  	raw := NoMethod(*s)
 10445  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10446  }
 10447  
 10448  // Placement: Contains properties of a placement.
 10449  type Placement struct {
 10450  	// AccountId: Account ID of this placement. This field can be left
 10451  	// blank.
 10452  	AccountId int64 `json:"accountId,omitempty,string"`
 10453  
 10454  	// AdBlockingOptOut: Whether this placement opts out of ad blocking.
 10455  	// When true, ad blocking is disabled for this placement. When false,
 10456  	// the campaign and site settings take effect.
 10457  	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
 10458  
 10459  	// AdditionalSizes: Additional sizes associated with this placement.
 10460  	// When inserting or updating a placement, only the size ID field is
 10461  	// used.
 10462  	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
 10463  
 10464  	// AdvertiserId: Advertiser ID of this placement. This field can be left
 10465  	// blank.
 10466  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 10467  
 10468  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 10469  	// advertiser. This is a read-only, auto-generated field.
 10470  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 10471  
 10472  	// Archived: Whether this placement is archived.
 10473  	Archived bool `json:"archived,omitempty"`
 10474  
 10475  	// CampaignId: Campaign ID of this placement. This field is a required
 10476  	// field on insertion.
 10477  	CampaignId int64 `json:"campaignId,omitempty,string"`
 10478  
 10479  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
 10480  	// This is a read-only, auto-generated field.
 10481  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
 10482  
 10483  	// Comment: Comments for this placement.
 10484  	Comment string `json:"comment,omitempty"`
 10485  
 10486  	// Compatibility: Placement compatibility. DISPLAY and
 10487  	// DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices
 10488  	// or in mobile apps for regular or interstitial ads respectively. APP
 10489  	// and APP_INTERSTITIAL are no longer allowed for new placement
 10490  	// insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL.
 10491  	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
 10492  	// with the VAST standard. This field is required on insertion.
 10493  	//
 10494  	// Possible values:
 10495  	//   "DISPLAY"
 10496  	//   "DISPLAY_INTERSTITIAL"
 10497  	//   "APP"
 10498  	//   "APP_INTERSTITIAL"
 10499  	//   "IN_STREAM_VIDEO"
 10500  	//   "IN_STREAM_AUDIO"
 10501  	Compatibility string `json:"compatibility,omitempty"`
 10502  
 10503  	// ContentCategoryId: ID of the content category assigned to this
 10504  	// placement.
 10505  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
 10506  
 10507  	// CreateInfo: Information about the creation of this placement. This is
 10508  	// a read-only field.
 10509  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
 10510  
 10511  	// DirectorySiteId: Directory site ID of this placement. On insert, you
 10512  	// must set either this field or the siteId field to specify the site
 10513  	// associated with this placement. This is a required field that is
 10514  	// read-only after insertion.
 10515  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
 10516  
 10517  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
 10518  	// directory site. This is a read-only, auto-generated field.
 10519  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
 10520  
 10521  	// ExternalId: External ID for this placement.
 10522  	ExternalId string `json:"externalId,omitempty"`
 10523  
 10524  	// Id: ID of this placement. This is a read-only, auto-generated field.
 10525  	Id int64 `json:"id,omitempty,string"`
 10526  
 10527  	// IdDimensionValue: Dimension value for the ID of this placement. This
 10528  	// is a read-only, auto-generated field.
 10529  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
 10530  
 10531  	// KeyName: Key name of this placement. This is a read-only,
 10532  	// auto-generated field.
 10533  	KeyName string `json:"keyName,omitempty"`
 10534  
 10535  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10536  	// string "dfareporting#placement".
 10537  	Kind string `json:"kind,omitempty"`
 10538  
 10539  	// LastModifiedInfo: Information about the most recent modification of
 10540  	// this placement. This is a read-only field.
 10541  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
 10542  
 10543  	// LookbackConfiguration: Lookback window settings for this placement.
 10544  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
 10545  
 10546  	// Name: Name of this placement.This is a required field and must be
 10547  	// less than or equal to 256 characters long.
 10548  	Name string `json:"name,omitempty"`
 10549  
 10550  	// PaymentApproved: Whether payment was approved for this placement.
 10551  	// This is a read-only field relevant only to publisher-paid placements.
 10552  	PaymentApproved bool `json:"paymentApproved,omitempty"`
 10553  
 10554  	// PaymentSource: Payment source for this placement. This is a required
 10555  	// field that is read-only after insertion.
 10556  	//
 10557  	// Possible values:
 10558  	//   "PLACEMENT_AGENCY_PAID"
 10559  	//   "PLACEMENT_PUBLISHER_PAID"
 10560  	PaymentSource string `json:"paymentSource,omitempty"`
 10561  
 10562  	// PlacementGroupId: ID of this placement's group, if applicable.
 10563  	PlacementGroupId int64 `json:"placementGroupId,omitempty,string"`
 10564  
 10565  	// PlacementGroupIdDimensionValue: Dimension value for the ID of the
 10566  	// placement group. This is a read-only, auto-generated field.
 10567  	PlacementGroupIdDimensionValue *DimensionValue `json:"placementGroupIdDimensionValue,omitempty"`
 10568  
 10569  	// PlacementStrategyId: ID of the placement strategy assigned to this
 10570  	// placement.
 10571  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
 10572  
 10573  	// PricingSchedule: Pricing schedule of this placement. This field is
 10574  	// required on insertion, specifically subfields startDate, endDate and
 10575  	// pricingType.
 10576  	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
 10577  
 10578  	// Primary: Whether this placement is the primary placement of a
 10579  	// roadblock (placement group). You cannot change this field from true
 10580  	// to false. Setting this field to true will automatically set the
 10581  	// primary field on the original primary placement of the roadblock to
 10582  	// false, and it will automatically set the roadblock's
 10583  	// primaryPlacementId field to the ID of this placement.
 10584  	Primary bool `json:"primary,omitempty"`
 10585  
 10586  	// PublisherUpdateInfo: Information about the last publisher update.
 10587  	// This is a read-only field.
 10588  	PublisherUpdateInfo *LastModifiedInfo `json:"publisherUpdateInfo,omitempty"`
 10589  
 10590  	// SiteId: Site ID associated with this placement. On insert, you must
 10591  	// set either this field or the directorySiteId field to specify the
 10592  	// site associated with this placement. This is a required field that is
 10593  	// read-only after insertion.
 10594  	SiteId int64 `json:"siteId,omitempty,string"`
 10595  
 10596  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
 10597  	// a read-only, auto-generated field.
 10598  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
 10599  
 10600  	// Size: Size associated with this placement. When inserting or updating
 10601  	// a placement, only the size ID field is used. This field is required
 10602  	// on insertion.
 10603  	Size *Size `json:"size,omitempty"`
 10604  
 10605  	// SslRequired: Whether creatives assigned to this placement must be
 10606  	// SSL-compliant.
 10607  	SslRequired bool `json:"sslRequired,omitempty"`
 10608  
 10609  	// Status: Third-party placement status.
 10610  	//
 10611  	// Possible values:
 10612  	//   "PENDING_REVIEW"
 10613  	//   "PAYMENT_ACCEPTED"
 10614  	//   "PAYMENT_REJECTED"
 10615  	//   "ACKNOWLEDGE_REJECTION"
 10616  	//   "ACKNOWLEDGE_ACCEPTANCE"
 10617  	//   "DRAFT"
 10618  	Status string `json:"status,omitempty"`
 10619  
 10620  	// SubaccountId: Subaccount ID of this placement. This field can be left
 10621  	// blank.
 10622  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 10623  
 10624  	// TagFormats: Tag formats to generate for this placement. This field is
 10625  	// required on insertion. Acceptable values are: -
 10626  	// "PLACEMENT_TAG_STANDARD" - "PLACEMENT_TAG_IFRAME_JAVASCRIPT" -
 10627  	// "PLACEMENT_TAG_IFRAME_ILAYER" - "PLACEMENT_TAG_INTERNAL_REDIRECT" -
 10628  	// "PLACEMENT_TAG_JAVASCRIPT" -
 10629  	// "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" -
 10630  	// "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" -
 10631  	// "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" -
 10632  	// "PLACEMENT_TAG_CLICK_COMMANDS" -
 10633  	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" -
 10634  	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" -
 10635  	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" -
 10636  	// "PLACEMENT_TAG_TRACKING" - "PLACEMENT_TAG_TRACKING_IFRAME" -
 10637  	// "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 10638  	//
 10639  	// Possible values:
 10640  	//   "PLACEMENT_TAG_STANDARD"
 10641  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 10642  	//   "PLACEMENT_TAG_IFRAME_ILAYER"
 10643  	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
 10644  	//   "PLACEMENT_TAG_JAVASCRIPT"
 10645  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 10646  	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 10647  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 10648  	//   "PLACEMENT_TAG_CLICK_COMMANDS"
 10649  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 10650  	//   "PLACEMENT_TAG_TRACKING"
 10651  	//   "PLACEMENT_TAG_TRACKING_IFRAME"
 10652  	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 10653  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 10654  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 10655  	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 10656  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 10657  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 10658  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 10659  	//   "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT"
 10660  	TagFormats []string `json:"tagFormats,omitempty"`
 10661  
 10662  	// TagSetting: Tag settings for this placement.
 10663  	TagSetting *TagSetting `json:"tagSetting,omitempty"`
 10664  
 10665  	// VideoActiveViewOptOut: Whether Verification and ActiveView are
 10666  	// disabled for in-stream video creatives for this placement. The same
 10667  	// setting videoActiveViewOptOut exists on the site level -- the opt out
 10668  	// occurs if either of these settings are true. These settings are
 10669  	// distinct from DirectorySites.settings.activeViewOptOut or
 10670  	// Sites.siteSettings.activeViewOptOut which only apply to display ads.
 10671  	// However, Accounts.activeViewOptOut opts out both video traffic, as
 10672  	// well as display ads, from Verification and ActiveView.
 10673  	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
 10674  
 10675  	// VideoSettings: A collection of settings which affect video creatives
 10676  	// served through this placement. Applicable to placements with
 10677  	// IN_STREAM_VIDEO compatibility.
 10678  	VideoSettings *VideoSettings `json:"videoSettings,omitempty"`
 10679  
 10680  	// VpaidAdapterChoice: VPAID adapter setting for this placement.
 10681  	// Controls which VPAID format the measurement adapter will use for
 10682  	// in-stream video creatives assigned to this placement. *Note:* Flash
 10683  	// is no longer supported. This field now defaults to HTML5 when the
 10684  	// following values are provided: FLASH, BOTH.
 10685  	//
 10686  	// Possible values:
 10687  	//   "DEFAULT"
 10688  	//   "FLASH"
 10689  	//   "HTML5"
 10690  	//   "BOTH"
 10691  	VpaidAdapterChoice string `json:"vpaidAdapterChoice,omitempty"`
 10692  
 10693  	// ServerResponse contains the HTTP response code and headers from the
 10694  	// server.
 10695  	googleapi.ServerResponse `json:"-"`
 10696  
 10697  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10698  	// unconditionally include in API requests. By default, fields with
 10699  	// empty or default values are omitted from API requests. However, any
 10700  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10701  	// sent to the server regardless of whether the field is empty or not.
 10702  	// This may be used to include empty fields in Patch requests.
 10703  	ForceSendFields []string `json:"-"`
 10704  
 10705  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10706  	// API requests with the JSON null value. By default, fields with empty
 10707  	// values are omitted from API requests. However, any field with an
 10708  	// empty value appearing in NullFields will be sent to the server as
 10709  	// null. It is an error if a field in this list has a non-empty value.
 10710  	// This may be used to include null fields in Patch requests.
 10711  	NullFields []string `json:"-"`
 10712  }
 10713  
 10714  func (s *Placement) MarshalJSON() ([]byte, error) {
 10715  	type NoMethod Placement
 10716  	raw := NoMethod(*s)
 10717  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10718  }
 10719  
 10720  // PlacementAssignment: Placement Assignment.
 10721  type PlacementAssignment struct {
 10722  	// Active: Whether this placement assignment is active. When true, the
 10723  	// placement will be included in the ad's rotation.
 10724  	Active bool `json:"active,omitempty"`
 10725  
 10726  	// PlacementId: ID of the placement to be assigned. This is a required
 10727  	// field.
 10728  	PlacementId int64 `json:"placementId,omitempty,string"`
 10729  
 10730  	// PlacementIdDimensionValue: Dimension value for the ID of the
 10731  	// placement. This is a read-only, auto-generated field.
 10732  	PlacementIdDimensionValue *DimensionValue `json:"placementIdDimensionValue,omitempty"`
 10733  
 10734  	// SslRequired: Whether the placement to be assigned requires SSL. This
 10735  	// is a read-only field that is auto-generated when the ad is inserted
 10736  	// or updated.
 10737  	SslRequired bool `json:"sslRequired,omitempty"`
 10738  
 10739  	// ForceSendFields is a list of field names (e.g. "Active") to
 10740  	// unconditionally include in API requests. By default, fields with
 10741  	// empty or default values are omitted from API requests. However, any
 10742  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10743  	// sent to the server regardless of whether the field is empty or not.
 10744  	// This may be used to include empty fields in Patch requests.
 10745  	ForceSendFields []string `json:"-"`
 10746  
 10747  	// NullFields is a list of field names (e.g. "Active") to include in API
 10748  	// requests with the JSON null value. By default, fields with empty
 10749  	// values are omitted from API requests. However, any field with an
 10750  	// empty value appearing in NullFields will be sent to the server as
 10751  	// null. It is an error if a field in this list has a non-empty value.
 10752  	// This may be used to include null fields in Patch requests.
 10753  	NullFields []string `json:"-"`
 10754  }
 10755  
 10756  func (s *PlacementAssignment) MarshalJSON() ([]byte, error) {
 10757  	type NoMethod PlacementAssignment
 10758  	raw := NoMethod(*s)
 10759  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10760  }
 10761  
 10762  // PlacementGroup: Contains properties of a package or roadblock.
 10763  type PlacementGroup struct {
 10764  	// AccountId: Account ID of this placement group. This is a read-only
 10765  	// field that can be left blank.
 10766  	AccountId int64 `json:"accountId,omitempty,string"`
 10767  
 10768  	// AdvertiserId: Advertiser ID of this placement group. This is a
 10769  	// required field on insertion.
 10770  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 10771  
 10772  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 10773  	// advertiser. This is a read-only, auto-generated field.
 10774  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 10775  
 10776  	// Archived: Whether this placement group is archived.
 10777  	Archived bool `json:"archived,omitempty"`
 10778  
 10779  	// CampaignId: Campaign ID of this placement group. This field is
 10780  	// required on insertion.
 10781  	CampaignId int64 `json:"campaignId,omitempty,string"`
 10782  
 10783  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
 10784  	// This is a read-only, auto-generated field.
 10785  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
 10786  
 10787  	// ChildPlacementIds: IDs of placements which are assigned to this
 10788  	// placement group. This is a read-only, auto-generated field.
 10789  	ChildPlacementIds googleapi.Int64s `json:"childPlacementIds,omitempty"`
 10790  
 10791  	// Comment: Comments for this placement group.
 10792  	Comment string `json:"comment,omitempty"`
 10793  
 10794  	// ContentCategoryId: ID of the content category assigned to this
 10795  	// placement group.
 10796  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
 10797  
 10798  	// CreateInfo: Information about the creation of this placement group.
 10799  	// This is a read-only field.
 10800  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
 10801  
 10802  	// DirectorySiteId: Directory site ID associated with this placement
 10803  	// group. On insert, you must set either this field or the site_id field
 10804  	// to specify the site associated with this placement group. This is a
 10805  	// required field that is read-only after insertion.
 10806  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
 10807  
 10808  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
 10809  	// directory site. This is a read-only, auto-generated field.
 10810  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
 10811  
 10812  	// ExternalId: External ID for this placement.
 10813  	ExternalId string `json:"externalId,omitempty"`
 10814  
 10815  	// Id: ID of this placement group. This is a read-only, auto-generated
 10816  	// field.
 10817  	Id int64 `json:"id,omitempty,string"`
 10818  
 10819  	// IdDimensionValue: Dimension value for the ID of this placement group.
 10820  	// This is a read-only, auto-generated field.
 10821  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
 10822  
 10823  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10824  	// string "dfareporting#placementGroup".
 10825  	Kind string `json:"kind,omitempty"`
 10826  
 10827  	// LastModifiedInfo: Information about the most recent modification of
 10828  	// this placement group. This is a read-only field.
 10829  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
 10830  
 10831  	// Name: Name of this placement group. This is a required field and must
 10832  	// be less than 256 characters long.
 10833  	Name string `json:"name,omitempty"`
 10834  
 10835  	// PlacementGroupType: Type of this placement group. A package is a
 10836  	// simple group of placements that acts as a single pricing point for a
 10837  	// group of tags. A roadblock is a group of placements that not only
 10838  	// acts as a single pricing point, but also assumes that all the tags in
 10839  	// it will be served at the same time. A roadblock requires one of its
 10840  	// assigned placements to be marked as primary for reporting. This field
 10841  	// is required on insertion.
 10842  	//
 10843  	// Possible values:
 10844  	//   "PLACEMENT_PACKAGE"
 10845  	//   "PLACEMENT_ROADBLOCK"
 10846  	PlacementGroupType string `json:"placementGroupType,omitempty"`
 10847  
 10848  	// PlacementStrategyId: ID of the placement strategy assigned to this
 10849  	// placement group.
 10850  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
 10851  
 10852  	// PricingSchedule: Pricing schedule of this placement group. This field
 10853  	// is required on insertion.
 10854  	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
 10855  
 10856  	// PrimaryPlacementId: ID of the primary placement, used to calculate
 10857  	// the media cost of a roadblock (placement group). Modifying this field
 10858  	// will automatically modify the primary field on all affected roadblock
 10859  	// child placements.
 10860  	PrimaryPlacementId int64 `json:"primaryPlacementId,omitempty,string"`
 10861  
 10862  	// PrimaryPlacementIdDimensionValue: Dimension value for the ID of the
 10863  	// primary placement. This is a read-only, auto-generated field.
 10864  	PrimaryPlacementIdDimensionValue *DimensionValue `json:"primaryPlacementIdDimensionValue,omitempty"`
 10865  
 10866  	// SiteId: Site ID associated with this placement group. On insert, you
 10867  	// must set either this field or the directorySiteId field to specify
 10868  	// the site associated with this placement group. This is a required
 10869  	// field that is read-only after insertion.
 10870  	SiteId int64 `json:"siteId,omitempty,string"`
 10871  
 10872  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
 10873  	// a read-only, auto-generated field.
 10874  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
 10875  
 10876  	// SubaccountId: Subaccount ID of this placement group. This is a
 10877  	// read-only field that can be left blank.
 10878  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 10879  
 10880  	// ServerResponse contains the HTTP response code and headers from the
 10881  	// server.
 10882  	googleapi.ServerResponse `json:"-"`
 10883  
 10884  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10885  	// unconditionally include in API requests. By default, fields with
 10886  	// empty or default values are omitted from API requests. However, any
 10887  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10888  	// sent to the server regardless of whether the field is empty or not.
 10889  	// This may be used to include empty fields in Patch requests.
 10890  	ForceSendFields []string `json:"-"`
 10891  
 10892  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10893  	// API requests with the JSON null value. By default, fields with empty
 10894  	// values are omitted from API requests. However, any field with an
 10895  	// empty value appearing in NullFields will be sent to the server as
 10896  	// null. It is an error if a field in this list has a non-empty value.
 10897  	// This may be used to include null fields in Patch requests.
 10898  	NullFields []string `json:"-"`
 10899  }
 10900  
 10901  func (s *PlacementGroup) MarshalJSON() ([]byte, error) {
 10902  	type NoMethod PlacementGroup
 10903  	raw := NoMethod(*s)
 10904  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10905  }
 10906  
 10907  // PlacementGroupsListResponse: Placement Group List Response
 10908  type PlacementGroupsListResponse struct {
 10909  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10910  	// string "dfareporting#placementGroupsListResponse".
 10911  	Kind string `json:"kind,omitempty"`
 10912  
 10913  	// NextPageToken: Pagination token to be used for the next list
 10914  	// operation.
 10915  	NextPageToken string `json:"nextPageToken,omitempty"`
 10916  
 10917  	// PlacementGroups: Placement group collection.
 10918  	PlacementGroups []*PlacementGroup `json:"placementGroups,omitempty"`
 10919  
 10920  	// ServerResponse contains the HTTP response code and headers from the
 10921  	// server.
 10922  	googleapi.ServerResponse `json:"-"`
 10923  
 10924  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10925  	// unconditionally include in API requests. By default, fields with
 10926  	// empty or default values are omitted from API requests. However, any
 10927  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10928  	// sent to the server regardless of whether the field is empty or not.
 10929  	// This may be used to include empty fields in Patch requests.
 10930  	ForceSendFields []string `json:"-"`
 10931  
 10932  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10933  	// requests with the JSON null value. By default, fields with empty
 10934  	// values are omitted from API requests. However, any field with an
 10935  	// empty value appearing in NullFields will be sent to the server as
 10936  	// null. It is an error if a field in this list has a non-empty value.
 10937  	// This may be used to include null fields in Patch requests.
 10938  	NullFields []string `json:"-"`
 10939  }
 10940  
 10941  func (s *PlacementGroupsListResponse) MarshalJSON() ([]byte, error) {
 10942  	type NoMethod PlacementGroupsListResponse
 10943  	raw := NoMethod(*s)
 10944  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10945  }
 10946  
 10947  // PlacementStrategiesListResponse: Placement Strategy List Response
 10948  type PlacementStrategiesListResponse struct {
 10949  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10950  	// string "dfareporting#placementStrategiesListResponse".
 10951  	Kind string `json:"kind,omitempty"`
 10952  
 10953  	// NextPageToken: Pagination token to be used for the next list
 10954  	// operation.
 10955  	NextPageToken string `json:"nextPageToken,omitempty"`
 10956  
 10957  	// PlacementStrategies: Placement strategy collection.
 10958  	PlacementStrategies []*PlacementStrategy `json:"placementStrategies,omitempty"`
 10959  
 10960  	// ServerResponse contains the HTTP response code and headers from the
 10961  	// server.
 10962  	googleapi.ServerResponse `json:"-"`
 10963  
 10964  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10965  	// unconditionally include in API requests. By default, fields with
 10966  	// empty or default values are omitted from API requests. However, any
 10967  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10968  	// sent to the server regardless of whether the field is empty or not.
 10969  	// This may be used to include empty fields in Patch requests.
 10970  	ForceSendFields []string `json:"-"`
 10971  
 10972  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10973  	// requests with the JSON null value. By default, fields with empty
 10974  	// values are omitted from API requests. However, any field with an
 10975  	// empty value appearing in NullFields will be sent to the server as
 10976  	// null. It is an error if a field in this list has a non-empty value.
 10977  	// This may be used to include null fields in Patch requests.
 10978  	NullFields []string `json:"-"`
 10979  }
 10980  
 10981  func (s *PlacementStrategiesListResponse) MarshalJSON() ([]byte, error) {
 10982  	type NoMethod PlacementStrategiesListResponse
 10983  	raw := NoMethod(*s)
 10984  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10985  }
 10986  
 10987  // PlacementStrategy: Contains properties of a placement strategy.
 10988  type PlacementStrategy struct {
 10989  	// AccountId: Account ID of this placement strategy.This is a read-only
 10990  	// field that can be left blank.
 10991  	AccountId int64 `json:"accountId,omitempty,string"`
 10992  
 10993  	// Id: ID of this placement strategy. This is a read-only,
 10994  	// auto-generated field.
 10995  	Id int64 `json:"id,omitempty,string"`
 10996  
 10997  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10998  	// string "dfareporting#placementStrategy".
 10999  	Kind string `json:"kind,omitempty"`
 11000  
 11001  	// Name: Name of this placement strategy. This is a required field. It
 11002  	// must be less than 256 characters long and unique among placement
 11003  	// strategies of the same account.
 11004  	Name string `json:"name,omitempty"`
 11005  
 11006  	// ServerResponse contains the HTTP response code and headers from the
 11007  	// server.
 11008  	googleapi.ServerResponse `json:"-"`
 11009  
 11010  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11011  	// unconditionally include in API requests. By default, fields with
 11012  	// empty or default values are omitted from API requests. However, any
 11013  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11014  	// sent to the server regardless of whether the field is empty or not.
 11015  	// This may be used to include empty fields in Patch requests.
 11016  	ForceSendFields []string `json:"-"`
 11017  
 11018  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11019  	// API requests with the JSON null value. By default, fields with empty
 11020  	// values are omitted from API requests. However, any field with an
 11021  	// empty value appearing in NullFields will be sent to the server as
 11022  	// null. It is an error if a field in this list has a non-empty value.
 11023  	// This may be used to include null fields in Patch requests.
 11024  	NullFields []string `json:"-"`
 11025  }
 11026  
 11027  func (s *PlacementStrategy) MarshalJSON() ([]byte, error) {
 11028  	type NoMethod PlacementStrategy
 11029  	raw := NoMethod(*s)
 11030  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11031  }
 11032  
 11033  // PlacementTag: Placement Tag
 11034  type PlacementTag struct {
 11035  	// PlacementId: Placement ID
 11036  	PlacementId int64 `json:"placementId,omitempty,string"`
 11037  
 11038  	// TagDatas: Tags generated for this placement.
 11039  	TagDatas []*TagData `json:"tagDatas,omitempty"`
 11040  
 11041  	// ForceSendFields is a list of field names (e.g. "PlacementId") to
 11042  	// unconditionally include in API requests. By default, fields with
 11043  	// empty or default values are omitted from API requests. However, any
 11044  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11045  	// sent to the server regardless of whether the field is empty or not.
 11046  	// This may be used to include empty fields in Patch requests.
 11047  	ForceSendFields []string `json:"-"`
 11048  
 11049  	// NullFields is a list of field names (e.g. "PlacementId") to include
 11050  	// in API requests with the JSON null value. By default, fields with
 11051  	// empty values are omitted from API requests. However, any field with
 11052  	// an empty value appearing in NullFields will be sent to the server as
 11053  	// null. It is an error if a field in this list has a non-empty value.
 11054  	// This may be used to include null fields in Patch requests.
 11055  	NullFields []string `json:"-"`
 11056  }
 11057  
 11058  func (s *PlacementTag) MarshalJSON() ([]byte, error) {
 11059  	type NoMethod PlacementTag
 11060  	raw := NoMethod(*s)
 11061  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11062  }
 11063  
 11064  // PlacementsGenerateTagsResponse: Placement GenerateTags Response
 11065  type PlacementsGenerateTagsResponse struct {
 11066  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11067  	// string "dfareporting#placementsGenerateTagsResponse".
 11068  	Kind string `json:"kind,omitempty"`
 11069  
 11070  	// PlacementTags: Set of generated tags for the specified placements.
 11071  	PlacementTags []*PlacementTag `json:"placementTags,omitempty"`
 11072  
 11073  	// ServerResponse contains the HTTP response code and headers from the
 11074  	// server.
 11075  	googleapi.ServerResponse `json:"-"`
 11076  
 11077  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11078  	// unconditionally include in API requests. By default, fields with
 11079  	// empty or default values are omitted from API requests. However, any
 11080  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11081  	// sent to the server regardless of whether the field is empty or not.
 11082  	// This may be used to include empty fields in Patch requests.
 11083  	ForceSendFields []string `json:"-"`
 11084  
 11085  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11086  	// requests with the JSON null value. By default, fields with empty
 11087  	// values are omitted from API requests. However, any field with an
 11088  	// empty value appearing in NullFields will be sent to the server as
 11089  	// null. It is an error if a field in this list has a non-empty value.
 11090  	// This may be used to include null fields in Patch requests.
 11091  	NullFields []string `json:"-"`
 11092  }
 11093  
 11094  func (s *PlacementsGenerateTagsResponse) MarshalJSON() ([]byte, error) {
 11095  	type NoMethod PlacementsGenerateTagsResponse
 11096  	raw := NoMethod(*s)
 11097  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11098  }
 11099  
 11100  // PlacementsListResponse: Placement List Response
 11101  type PlacementsListResponse struct {
 11102  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11103  	// string "dfareporting#placementsListResponse".
 11104  	Kind string `json:"kind,omitempty"`
 11105  
 11106  	// NextPageToken: Pagination token to be used for the next list
 11107  	// operation.
 11108  	NextPageToken string `json:"nextPageToken,omitempty"`
 11109  
 11110  	// Placements: Placement collection.
 11111  	Placements []*Placement `json:"placements,omitempty"`
 11112  
 11113  	// ServerResponse contains the HTTP response code and headers from the
 11114  	// server.
 11115  	googleapi.ServerResponse `json:"-"`
 11116  
 11117  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11118  	// unconditionally include in API requests. By default, fields with
 11119  	// empty or default values are omitted from API requests. However, any
 11120  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11121  	// sent to the server regardless of whether the field is empty or not.
 11122  	// This may be used to include empty fields in Patch requests.
 11123  	ForceSendFields []string `json:"-"`
 11124  
 11125  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11126  	// requests with the JSON null value. By default, fields with empty
 11127  	// values are omitted from API requests. However, any field with an
 11128  	// empty value appearing in NullFields will be sent to the server as
 11129  	// null. It is an error if a field in this list has a non-empty value.
 11130  	// This may be used to include null fields in Patch requests.
 11131  	NullFields []string `json:"-"`
 11132  }
 11133  
 11134  func (s *PlacementsListResponse) MarshalJSON() ([]byte, error) {
 11135  	type NoMethod PlacementsListResponse
 11136  	raw := NoMethod(*s)
 11137  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11138  }
 11139  
 11140  // PlatformType: Contains information about a platform type that can be
 11141  // targeted by ads.
 11142  type PlatformType struct {
 11143  	// Id: ID of this platform type.
 11144  	Id int64 `json:"id,omitempty,string"`
 11145  
 11146  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11147  	// string "dfareporting#platformType".
 11148  	Kind string `json:"kind,omitempty"`
 11149  
 11150  	// Name: Name of this platform type.
 11151  	Name string `json:"name,omitempty"`
 11152  
 11153  	// ServerResponse contains the HTTP response code and headers from the
 11154  	// server.
 11155  	googleapi.ServerResponse `json:"-"`
 11156  
 11157  	// ForceSendFields is a list of field names (e.g. "Id") to
 11158  	// unconditionally include in API requests. By default, fields with
 11159  	// empty or default values are omitted from API requests. However, any
 11160  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11161  	// sent to the server regardless of whether the field is empty or not.
 11162  	// This may be used to include empty fields in Patch requests.
 11163  	ForceSendFields []string `json:"-"`
 11164  
 11165  	// NullFields is a list of field names (e.g. "Id") to include in API
 11166  	// requests with the JSON null value. By default, fields with empty
 11167  	// values are omitted from API requests. However, any field with an
 11168  	// empty value appearing in NullFields will be sent to the server as
 11169  	// null. It is an error if a field in this list has a non-empty value.
 11170  	// This may be used to include null fields in Patch requests.
 11171  	NullFields []string `json:"-"`
 11172  }
 11173  
 11174  func (s *PlatformType) MarshalJSON() ([]byte, error) {
 11175  	type NoMethod PlatformType
 11176  	raw := NoMethod(*s)
 11177  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11178  }
 11179  
 11180  // PlatformTypesListResponse: Platform Type List Response
 11181  type PlatformTypesListResponse struct {
 11182  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11183  	// string "dfareporting#platformTypesListResponse".
 11184  	Kind string `json:"kind,omitempty"`
 11185  
 11186  	// PlatformTypes: Platform type collection.
 11187  	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
 11188  
 11189  	// ServerResponse contains the HTTP response code and headers from the
 11190  	// server.
 11191  	googleapi.ServerResponse `json:"-"`
 11192  
 11193  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11194  	// unconditionally include in API requests. By default, fields with
 11195  	// empty or default values are omitted from API requests. However, any
 11196  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11197  	// sent to the server regardless of whether the field is empty or not.
 11198  	// This may be used to include empty fields in Patch requests.
 11199  	ForceSendFields []string `json:"-"`
 11200  
 11201  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11202  	// requests with the JSON null value. By default, fields with empty
 11203  	// values are omitted from API requests. However, any field with an
 11204  	// empty value appearing in NullFields will be sent to the server as
 11205  	// null. It is an error if a field in this list has a non-empty value.
 11206  	// This may be used to include null fields in Patch requests.
 11207  	NullFields []string `json:"-"`
 11208  }
 11209  
 11210  func (s *PlatformTypesListResponse) MarshalJSON() ([]byte, error) {
 11211  	type NoMethod PlatformTypesListResponse
 11212  	raw := NoMethod(*s)
 11213  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11214  }
 11215  
 11216  // PopupWindowProperties: Popup Window Properties.
 11217  type PopupWindowProperties struct {
 11218  	// Dimension: Popup dimension for a creative. This is a read-only field.
 11219  	// Applicable to the following creative types: all RICH_MEDIA and all
 11220  	// VPAID
 11221  	Dimension *Size `json:"dimension,omitempty"`
 11222  
 11223  	// Offset: Upper-left corner coordinates of the popup window. Applicable
 11224  	// if positionType is COORDINATES.
 11225  	Offset *OffsetPosition `json:"offset,omitempty"`
 11226  
 11227  	// PositionType: Popup window position either centered or at specific
 11228  	// coordinate.
 11229  	//
 11230  	// Possible values:
 11231  	//   "CENTER"
 11232  	//   "COORDINATES"
 11233  	PositionType string `json:"positionType,omitempty"`
 11234  
 11235  	// ShowAddressBar: Whether to display the browser address bar.
 11236  	ShowAddressBar bool `json:"showAddressBar,omitempty"`
 11237  
 11238  	// ShowMenuBar: Whether to display the browser menu bar.
 11239  	ShowMenuBar bool `json:"showMenuBar,omitempty"`
 11240  
 11241  	// ShowScrollBar: Whether to display the browser scroll bar.
 11242  	ShowScrollBar bool `json:"showScrollBar,omitempty"`
 11243  
 11244  	// ShowStatusBar: Whether to display the browser status bar.
 11245  	ShowStatusBar bool `json:"showStatusBar,omitempty"`
 11246  
 11247  	// ShowToolBar: Whether to display the browser tool bar.
 11248  	ShowToolBar bool `json:"showToolBar,omitempty"`
 11249  
 11250  	// Title: Title of popup window.
 11251  	Title string `json:"title,omitempty"`
 11252  
 11253  	// ForceSendFields is a list of field names (e.g. "Dimension") to
 11254  	// unconditionally include in API requests. By default, fields with
 11255  	// empty or default values are omitted from API requests. However, any
 11256  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11257  	// sent to the server regardless of whether the field is empty or not.
 11258  	// This may be used to include empty fields in Patch requests.
 11259  	ForceSendFields []string `json:"-"`
 11260  
 11261  	// NullFields is a list of field names (e.g. "Dimension") to include in
 11262  	// API requests with the JSON null value. By default, fields with empty
 11263  	// values are omitted from API requests. However, any field with an
 11264  	// empty value appearing in NullFields will be sent to the server as
 11265  	// null. It is an error if a field in this list has a non-empty value.
 11266  	// This may be used to include null fields in Patch requests.
 11267  	NullFields []string `json:"-"`
 11268  }
 11269  
 11270  func (s *PopupWindowProperties) MarshalJSON() ([]byte, error) {
 11271  	type NoMethod PopupWindowProperties
 11272  	raw := NoMethod(*s)
 11273  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11274  }
 11275  
 11276  // PostalCode: Contains information about a postal code that can be
 11277  // targeted by ads.
 11278  type PostalCode struct {
 11279  	// Code: Postal code. This is equivalent to the id field.
 11280  	Code string `json:"code,omitempty"`
 11281  
 11282  	// CountryCode: Country code of the country to which this postal code
 11283  	// belongs.
 11284  	CountryCode string `json:"countryCode,omitempty"`
 11285  
 11286  	// CountryDartId: DART ID of the country to which this postal code
 11287  	// belongs.
 11288  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
 11289  
 11290  	// Id: ID of this postal code.
 11291  	Id string `json:"id,omitempty"`
 11292  
 11293  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11294  	// string "dfareporting#postalCode".
 11295  	Kind string `json:"kind,omitempty"`
 11296  
 11297  	// ServerResponse contains the HTTP response code and headers from the
 11298  	// server.
 11299  	googleapi.ServerResponse `json:"-"`
 11300  
 11301  	// ForceSendFields is a list of field names (e.g. "Code") to
 11302  	// unconditionally include in API requests. By default, fields with
 11303  	// empty or default values are omitted from API requests. However, any
 11304  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11305  	// sent to the server regardless of whether the field is empty or not.
 11306  	// This may be used to include empty fields in Patch requests.
 11307  	ForceSendFields []string `json:"-"`
 11308  
 11309  	// NullFields is a list of field names (e.g. "Code") to include in API
 11310  	// requests with the JSON null value. By default, fields with empty
 11311  	// values are omitted from API requests. However, any field with an
 11312  	// empty value appearing in NullFields will be sent to the server as
 11313  	// null. It is an error if a field in this list has a non-empty value.
 11314  	// This may be used to include null fields in Patch requests.
 11315  	NullFields []string `json:"-"`
 11316  }
 11317  
 11318  func (s *PostalCode) MarshalJSON() ([]byte, error) {
 11319  	type NoMethod PostalCode
 11320  	raw := NoMethod(*s)
 11321  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11322  }
 11323  
 11324  // PostalCodesListResponse: Postal Code List Response
 11325  type PostalCodesListResponse struct {
 11326  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11327  	// string "dfareporting#postalCodesListResponse".
 11328  	Kind string `json:"kind,omitempty"`
 11329  
 11330  	// PostalCodes: Postal code collection.
 11331  	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
 11332  
 11333  	// ServerResponse contains the HTTP response code and headers from the
 11334  	// server.
 11335  	googleapi.ServerResponse `json:"-"`
 11336  
 11337  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11338  	// unconditionally include in API requests. By default, fields with
 11339  	// empty or default values are omitted from API requests. However, any
 11340  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11341  	// sent to the server regardless of whether the field is empty or not.
 11342  	// This may be used to include empty fields in Patch requests.
 11343  	ForceSendFields []string `json:"-"`
 11344  
 11345  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11346  	// requests with the JSON null value. By default, fields with empty
 11347  	// values are omitted from API requests. However, any field with an
 11348  	// empty value appearing in NullFields will be sent to the server as
 11349  	// null. It is an error if a field in this list has a non-empty value.
 11350  	// This may be used to include null fields in Patch requests.
 11351  	NullFields []string `json:"-"`
 11352  }
 11353  
 11354  func (s *PostalCodesListResponse) MarshalJSON() ([]byte, error) {
 11355  	type NoMethod PostalCodesListResponse
 11356  	raw := NoMethod(*s)
 11357  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11358  }
 11359  
 11360  // Pricing: Pricing Information
 11361  type Pricing struct {
 11362  	// CapCostType: Cap cost type of this inventory item.
 11363  	//
 11364  	// Possible values:
 11365  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
 11366  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
 11367  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
 11368  	CapCostType string `json:"capCostType,omitempty"`
 11369  
 11370  	EndDate string `json:"endDate,omitempty"`
 11371  
 11372  	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
 11373  	// period) represents the inventory item pricing information for a
 11374  	// specific period of time.
 11375  	Flights []*Flight `json:"flights,omitempty"`
 11376  
 11377  	// GroupType: Group type of this inventory item if it represents a
 11378  	// placement group. Is null otherwise. There are two type of placement
 11379  	// groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of
 11380  	// inventory items that acts as a single pricing point for a group of
 11381  	// tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory
 11382  	// items that not only acts as a single pricing point, but also assumes
 11383  	// that all the tags in it will be served at the same time. A roadblock
 11384  	// requires one of its assigned inventory items to be marked as primary.
 11385  	//
 11386  	// Possible values:
 11387  	//   "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"
 11388  	//   "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
 11389  	GroupType string `json:"groupType,omitempty"`
 11390  
 11391  	// PricingType: Pricing type of this inventory item.
 11392  	//
 11393  	// Possible values:
 11394  	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
 11395  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
 11396  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
 11397  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
 11398  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
 11399  	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 11400  	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
 11401  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
 11402  	PricingType string `json:"pricingType,omitempty"`
 11403  
 11404  	StartDate string `json:"startDate,omitempty"`
 11405  
 11406  	// ForceSendFields is a list of field names (e.g. "CapCostType") to
 11407  	// unconditionally include in API requests. By default, fields with
 11408  	// empty or default values are omitted from API requests. However, any
 11409  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11410  	// sent to the server regardless of whether the field is empty or not.
 11411  	// This may be used to include empty fields in Patch requests.
 11412  	ForceSendFields []string `json:"-"`
 11413  
 11414  	// NullFields is a list of field names (e.g. "CapCostType") to include
 11415  	// in API requests with the JSON null value. By default, fields with
 11416  	// empty values are omitted from API requests. However, any field with
 11417  	// an empty value appearing in NullFields will be sent to the server as
 11418  	// null. It is an error if a field in this list has a non-empty value.
 11419  	// This may be used to include null fields in Patch requests.
 11420  	NullFields []string `json:"-"`
 11421  }
 11422  
 11423  func (s *Pricing) MarshalJSON() ([]byte, error) {
 11424  	type NoMethod Pricing
 11425  	raw := NoMethod(*s)
 11426  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11427  }
 11428  
 11429  // PricingSchedule: Pricing Schedule
 11430  type PricingSchedule struct {
 11431  	// CapCostOption: Placement cap cost option.
 11432  	//
 11433  	// Possible values:
 11434  	//   "CAP_COST_NONE"
 11435  	//   "CAP_COST_MONTHLY"
 11436  	//   "CAP_COST_CUMULATIVE"
 11437  	CapCostOption string `json:"capCostOption,omitempty"`
 11438  
 11439  	EndDate string `json:"endDate,omitempty"`
 11440  
 11441  	// Flighted: Whether this placement is flighted. If true, pricing
 11442  	// periods will be computed automatically.
 11443  	Flighted bool `json:"flighted,omitempty"`
 11444  
 11445  	// FloodlightActivityId: Floodlight activity ID associated with this
 11446  	// placement. This field should be set when placement pricing type is
 11447  	// set to PRICING_TYPE_CPA.
 11448  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
 11449  
 11450  	// PricingPeriods: Pricing periods for this placement.
 11451  	PricingPeriods []*PricingSchedulePricingPeriod `json:"pricingPeriods,omitempty"`
 11452  
 11453  	// PricingType: Placement pricing type. This field is required on
 11454  	// insertion.
 11455  	//
 11456  	// Possible values:
 11457  	//   "PRICING_TYPE_CPM"
 11458  	//   "PRICING_TYPE_CPC"
 11459  	//   "PRICING_TYPE_CPA"
 11460  	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 11461  	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
 11462  	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
 11463  	PricingType string `json:"pricingType,omitempty"`
 11464  
 11465  	StartDate string `json:"startDate,omitempty"`
 11466  
 11467  	TestingStartDate string `json:"testingStartDate,omitempty"`
 11468  
 11469  	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
 11470  	// unconditionally include in API requests. By default, fields with
 11471  	// empty or default values are omitted from API requests. However, any
 11472  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11473  	// sent to the server regardless of whether the field is empty or not.
 11474  	// This may be used to include empty fields in Patch requests.
 11475  	ForceSendFields []string `json:"-"`
 11476  
 11477  	// NullFields is a list of field names (e.g. "CapCostOption") to include
 11478  	// in API requests with the JSON null value. By default, fields with
 11479  	// empty values are omitted from API requests. However, any field with
 11480  	// an empty value appearing in NullFields will be sent to the server as
 11481  	// null. It is an error if a field in this list has a non-empty value.
 11482  	// This may be used to include null fields in Patch requests.
 11483  	NullFields []string `json:"-"`
 11484  }
 11485  
 11486  func (s *PricingSchedule) MarshalJSON() ([]byte, error) {
 11487  	type NoMethod PricingSchedule
 11488  	raw := NoMethod(*s)
 11489  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11490  }
 11491  
 11492  // PricingSchedulePricingPeriod: Pricing Period
 11493  type PricingSchedulePricingPeriod struct {
 11494  	EndDate string `json:"endDate,omitempty"`
 11495  
 11496  	// PricingComment: Comments for this pricing period.
 11497  	PricingComment string `json:"pricingComment,omitempty"`
 11498  
 11499  	// RateOrCostNanos: Rate or cost of this pricing period in nanos (i.e.,
 11500  	// multipled by 1000000000). Acceptable values are 0 to
 11501  	// 1000000000000000000, inclusive.
 11502  	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
 11503  
 11504  	StartDate string `json:"startDate,omitempty"`
 11505  
 11506  	// Units: Units of this pricing period. Acceptable values are 0 to
 11507  	// 10000000000, inclusive.
 11508  	Units int64 `json:"units,omitempty,string"`
 11509  
 11510  	// ForceSendFields is a list of field names (e.g. "EndDate") to
 11511  	// unconditionally include in API requests. By default, fields with
 11512  	// empty or default values are omitted from API requests. However, any
 11513  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11514  	// sent to the server regardless of whether the field is empty or not.
 11515  	// This may be used to include empty fields in Patch requests.
 11516  	ForceSendFields []string `json:"-"`
 11517  
 11518  	// NullFields is a list of field names (e.g. "EndDate") to include in
 11519  	// API requests with the JSON null value. By default, fields with empty
 11520  	// values are omitted from API requests. However, any field with an
 11521  	// empty value appearing in NullFields will be sent to the server as
 11522  	// null. It is an error if a field in this list has a non-empty value.
 11523  	// This may be used to include null fields in Patch requests.
 11524  	NullFields []string `json:"-"`
 11525  }
 11526  
 11527  func (s *PricingSchedulePricingPeriod) MarshalJSON() ([]byte, error) {
 11528  	type NoMethod PricingSchedulePricingPeriod
 11529  	raw := NoMethod(*s)
 11530  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11531  }
 11532  
 11533  // Project: Contains properties of a Planning project.
 11534  type Project struct {
 11535  	// AccountId: Account ID of this project.
 11536  	AccountId int64 `json:"accountId,omitempty,string"`
 11537  
 11538  	// AdvertiserId: Advertiser ID of this project.
 11539  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 11540  
 11541  	// AudienceAgeGroup: Audience age group of this project.
 11542  	//
 11543  	// Possible values:
 11544  	//   "PLANNING_AUDIENCE_AGE_18_24"
 11545  	//   "PLANNING_AUDIENCE_AGE_25_34"
 11546  	//   "PLANNING_AUDIENCE_AGE_35_44"
 11547  	//   "PLANNING_AUDIENCE_AGE_45_54"
 11548  	//   "PLANNING_AUDIENCE_AGE_55_64"
 11549  	//   "PLANNING_AUDIENCE_AGE_65_OR_MORE"
 11550  	//   "PLANNING_AUDIENCE_AGE_UNKNOWN"
 11551  	AudienceAgeGroup string `json:"audienceAgeGroup,omitempty"`
 11552  
 11553  	// AudienceGender: Audience gender of this project.
 11554  	//
 11555  	// Possible values:
 11556  	//   "PLANNING_AUDIENCE_GENDER_MALE"
 11557  	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
 11558  	AudienceGender string `json:"audienceGender,omitempty"`
 11559  
 11560  	// Budget: Budget of this project in the currency specified by the
 11561  	// current account. The value stored in this field represents only the
 11562  	// non-fractional amount. For example, for USD, the smallest value that
 11563  	// can be represented by this field is 1 US dollar.
 11564  	Budget int64 `json:"budget,omitempty,string"`
 11565  
 11566  	// ClientBillingCode: Client billing code of this project.
 11567  	ClientBillingCode string `json:"clientBillingCode,omitempty"`
 11568  
 11569  	// ClientName: Name of the project client.
 11570  	ClientName string `json:"clientName,omitempty"`
 11571  
 11572  	EndDate string `json:"endDate,omitempty"`
 11573  
 11574  	// Id: ID of this project. This is a read-only, auto-generated field.
 11575  	Id int64 `json:"id,omitempty,string"`
 11576  
 11577  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11578  	// string "dfareporting#project".
 11579  	Kind string `json:"kind,omitempty"`
 11580  
 11581  	// LastModifiedInfo: Information about the most recent modification of
 11582  	// this project.
 11583  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
 11584  
 11585  	// Name: Name of this project.
 11586  	Name string `json:"name,omitempty"`
 11587  
 11588  	// Overview: Overview of this project.
 11589  	Overview string `json:"overview,omitempty"`
 11590  
 11591  	StartDate string `json:"startDate,omitempty"`
 11592  
 11593  	// SubaccountId: Subaccount ID of this project.
 11594  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 11595  
 11596  	// TargetClicks: Number of clicks that the advertiser is targeting.
 11597  	TargetClicks int64 `json:"targetClicks,omitempty,string"`
 11598  
 11599  	// TargetConversions: Number of conversions that the advertiser is
 11600  	// targeting.
 11601  	TargetConversions int64 `json:"targetConversions,omitempty,string"`
 11602  
 11603  	// TargetCpaNanos: CPA that the advertiser is targeting.
 11604  	TargetCpaNanos int64 `json:"targetCpaNanos,omitempty,string"`
 11605  
 11606  	// TargetCpcNanos: CPC that the advertiser is targeting.
 11607  	TargetCpcNanos int64 `json:"targetCpcNanos,omitempty,string"`
 11608  
 11609  	// TargetCpmActiveViewNanos: vCPM from Active View that the advertiser
 11610  	// is targeting.
 11611  	TargetCpmActiveViewNanos int64 `json:"targetCpmActiveViewNanos,omitempty,string"`
 11612  
 11613  	// TargetCpmNanos: CPM that the advertiser is targeting.
 11614  	TargetCpmNanos int64 `json:"targetCpmNanos,omitempty,string"`
 11615  
 11616  	// TargetImpressions: Number of impressions that the advertiser is
 11617  	// targeting.
 11618  	TargetImpressions int64 `json:"targetImpressions,omitempty,string"`
 11619  
 11620  	// ServerResponse contains the HTTP response code and headers from the
 11621  	// server.
 11622  	googleapi.ServerResponse `json:"-"`
 11623  
 11624  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11625  	// unconditionally include in API requests. By default, fields with
 11626  	// empty or default values are omitted from API requests. However, any
 11627  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11628  	// sent to the server regardless of whether the field is empty or not.
 11629  	// This may be used to include empty fields in Patch requests.
 11630  	ForceSendFields []string `json:"-"`
 11631  
 11632  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11633  	// API requests with the JSON null value. By default, fields with empty
 11634  	// values are omitted from API requests. However, any field with an
 11635  	// empty value appearing in NullFields will be sent to the server as
 11636  	// null. It is an error if a field in this list has a non-empty value.
 11637  	// This may be used to include null fields in Patch requests.
 11638  	NullFields []string `json:"-"`
 11639  }
 11640  
 11641  func (s *Project) MarshalJSON() ([]byte, error) {
 11642  	type NoMethod Project
 11643  	raw := NoMethod(*s)
 11644  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11645  }
 11646  
 11647  // ProjectsListResponse: Project List Response
 11648  type ProjectsListResponse struct {
 11649  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11650  	// string "dfareporting#projectsListResponse".
 11651  	Kind string `json:"kind,omitempty"`
 11652  
 11653  	// NextPageToken: Pagination token to be used for the next list
 11654  	// operation.
 11655  	NextPageToken string `json:"nextPageToken,omitempty"`
 11656  
 11657  	// Projects: Project collection.
 11658  	Projects []*Project `json:"projects,omitempty"`
 11659  
 11660  	// ServerResponse contains the HTTP response code and headers from the
 11661  	// server.
 11662  	googleapi.ServerResponse `json:"-"`
 11663  
 11664  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11665  	// unconditionally include in API requests. By default, fields with
 11666  	// empty or default values are omitted from API requests. However, any
 11667  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11668  	// sent to the server regardless of whether the field is empty or not.
 11669  	// This may be used to include empty fields in Patch requests.
 11670  	ForceSendFields []string `json:"-"`
 11671  
 11672  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11673  	// requests with the JSON null value. By default, fields with empty
 11674  	// values are omitted from API requests. However, any field with an
 11675  	// empty value appearing in NullFields will be sent to the server as
 11676  	// null. It is an error if a field in this list has a non-empty value.
 11677  	// This may be used to include null fields in Patch requests.
 11678  	NullFields []string `json:"-"`
 11679  }
 11680  
 11681  func (s *ProjectsListResponse) MarshalJSON() ([]byte, error) {
 11682  	type NoMethod ProjectsListResponse
 11683  	raw := NoMethod(*s)
 11684  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11685  }
 11686  
 11687  // ReachReportCompatibleFields: Represents fields that are compatible to
 11688  // be selected for a report of type "REACH".
 11689  type ReachReportCompatibleFields struct {
 11690  	// DimensionFilters: Dimensions which are compatible to be selected in
 11691  	// the "dimensionFilters" section of the report.
 11692  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
 11693  
 11694  	// Dimensions: Dimensions which are compatible to be selected in the
 11695  	// "dimensions" section of the report.
 11696  	Dimensions []*Dimension `json:"dimensions,omitempty"`
 11697  
 11698  	// Kind: The kind of resource this is, in this case
 11699  	// dfareporting#reachReportCompatibleFields.
 11700  	Kind string `json:"kind,omitempty"`
 11701  
 11702  	// Metrics: Metrics which are compatible to be selected in the
 11703  	// "metricNames" section of the report.
 11704  	Metrics []*Metric `json:"metrics,omitempty"`
 11705  
 11706  	// PivotedActivityMetrics: Metrics which are compatible to be selected
 11707  	// as activity metrics to pivot on in the "activities" section of the
 11708  	// report.
 11709  	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
 11710  
 11711  	// ReachByFrequencyMetrics: Metrics which are compatible to be selected
 11712  	// in the "reachByFrequencyMetricNames" section of the report.
 11713  	ReachByFrequencyMetrics []*Metric `json:"reachByFrequencyMetrics,omitempty"`
 11714  
 11715  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
 11716  	// unconditionally include in API requests. By default, fields with
 11717  	// empty or default values are omitted from API requests. However, any
 11718  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11719  	// sent to the server regardless of whether the field is empty or not.
 11720  	// This may be used to include empty fields in Patch requests.
 11721  	ForceSendFields []string `json:"-"`
 11722  
 11723  	// NullFields is a list of field names (e.g. "DimensionFilters") to
 11724  	// include in API requests with the JSON null value. By default, fields
 11725  	// with empty values are omitted from API requests. However, any field
 11726  	// with an empty value appearing in NullFields will be sent to the
 11727  	// server as null. It is an error if a field in this list has a
 11728  	// non-empty value. This may be used to include null fields in Patch
 11729  	// requests.
 11730  	NullFields []string `json:"-"`
 11731  }
 11732  
 11733  func (s *ReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
 11734  	type NoMethod ReachReportCompatibleFields
 11735  	raw := NoMethod(*s)
 11736  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11737  }
 11738  
 11739  // Recipient: Represents a recipient.
 11740  type Recipient struct {
 11741  	// DeliveryType: The delivery type for the recipient.
 11742  	//
 11743  	// Possible values:
 11744  	//   "LINK"
 11745  	//   "ATTACHMENT"
 11746  	DeliveryType string `json:"deliveryType,omitempty"`
 11747  
 11748  	// Email: The email address of the recipient.
 11749  	Email string `json:"email,omitempty"`
 11750  
 11751  	// Kind: The kind of resource this is, in this case
 11752  	// dfareporting#recipient.
 11753  	Kind string `json:"kind,omitempty"`
 11754  
 11755  	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
 11756  	// unconditionally include in API requests. By default, fields with
 11757  	// empty or default values are omitted from API requests. However, any
 11758  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11759  	// sent to the server regardless of whether the field is empty or not.
 11760  	// This may be used to include empty fields in Patch requests.
 11761  	ForceSendFields []string `json:"-"`
 11762  
 11763  	// NullFields is a list of field names (e.g. "DeliveryType") to include
 11764  	// in API requests with the JSON null value. By default, fields with
 11765  	// empty values are omitted from API requests. However, any field with
 11766  	// an empty value appearing in NullFields will be sent to the server as
 11767  	// null. It is an error if a field in this list has a non-empty value.
 11768  	// This may be used to include null fields in Patch requests.
 11769  	NullFields []string `json:"-"`
 11770  }
 11771  
 11772  func (s *Recipient) MarshalJSON() ([]byte, error) {
 11773  	type NoMethod Recipient
 11774  	raw := NoMethod(*s)
 11775  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11776  }
 11777  
 11778  // Region: Contains information about a region that can be targeted by
 11779  // ads.
 11780  type Region struct {
 11781  	// CountryCode: Country code of the country to which this region
 11782  	// belongs.
 11783  	CountryCode string `json:"countryCode,omitempty"`
 11784  
 11785  	// CountryDartId: DART ID of the country to which this region belongs.
 11786  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
 11787  
 11788  	// DartId: DART ID of this region.
 11789  	DartId int64 `json:"dartId,omitempty,string"`
 11790  
 11791  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11792  	// string "dfareporting#region".
 11793  	Kind string `json:"kind,omitempty"`
 11794  
 11795  	// Name: Name of this region.
 11796  	Name string `json:"name,omitempty"`
 11797  
 11798  	// RegionCode: Region code.
 11799  	RegionCode string `json:"regionCode,omitempty"`
 11800  
 11801  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
 11802  	// unconditionally include in API requests. By default, fields with
 11803  	// empty or default values are omitted from API requests. However, any
 11804  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11805  	// sent to the server regardless of whether the field is empty or not.
 11806  	// This may be used to include empty fields in Patch requests.
 11807  	ForceSendFields []string `json:"-"`
 11808  
 11809  	// NullFields is a list of field names (e.g. "CountryCode") to include
 11810  	// in API requests with the JSON null value. By default, fields with
 11811  	// empty values are omitted from API requests. However, any field with
 11812  	// an empty value appearing in NullFields will be sent to the server as
 11813  	// null. It is an error if a field in this list has a non-empty value.
 11814  	// This may be used to include null fields in Patch requests.
 11815  	NullFields []string `json:"-"`
 11816  }
 11817  
 11818  func (s *Region) MarshalJSON() ([]byte, error) {
 11819  	type NoMethod Region
 11820  	raw := NoMethod(*s)
 11821  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11822  }
 11823  
 11824  // RegionsListResponse: Region List Response
 11825  type RegionsListResponse struct {
 11826  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11827  	// string "dfareporting#regionsListResponse".
 11828  	Kind string `json:"kind,omitempty"`
 11829  
 11830  	// Regions: Region collection.
 11831  	Regions []*Region `json:"regions,omitempty"`
 11832  
 11833  	// ServerResponse contains the HTTP response code and headers from the
 11834  	// server.
 11835  	googleapi.ServerResponse `json:"-"`
 11836  
 11837  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11838  	// unconditionally include in API requests. By default, fields with
 11839  	// empty or default values are omitted from API requests. However, any
 11840  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11841  	// sent to the server regardless of whether the field is empty or not.
 11842  	// This may be used to include empty fields in Patch requests.
 11843  	ForceSendFields []string `json:"-"`
 11844  
 11845  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11846  	// requests with the JSON null value. By default, fields with empty
 11847  	// values are omitted from API requests. However, any field with an
 11848  	// empty value appearing in NullFields will be sent to the server as
 11849  	// null. It is an error if a field in this list has a non-empty value.
 11850  	// This may be used to include null fields in Patch requests.
 11851  	NullFields []string `json:"-"`
 11852  }
 11853  
 11854  func (s *RegionsListResponse) MarshalJSON() ([]byte, error) {
 11855  	type NoMethod RegionsListResponse
 11856  	raw := NoMethod(*s)
 11857  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11858  }
 11859  
 11860  // RemarketingList: Contains properties of a remarketing list.
 11861  // Remarketing enables you to create lists of users who have performed
 11862  // specific actions on a site, then target ads to members of those
 11863  // lists. This resource can be used to manage remarketing lists that are
 11864  // owned by your advertisers. To see all remarketing lists that are
 11865  // visible to your advertisers, including those that are shared to your
 11866  // advertiser or account, use the TargetableRemarketingLists resource.
 11867  type RemarketingList struct {
 11868  	// AccountId: Account ID of this remarketing list. This is a read-only,
 11869  	// auto-generated field that is only returned in GET requests.
 11870  	AccountId int64 `json:"accountId,omitempty,string"`
 11871  
 11872  	// Active: Whether this remarketing list is active.
 11873  	Active bool `json:"active,omitempty"`
 11874  
 11875  	// AdvertiserId: Dimension value for the advertiser ID that owns this
 11876  	// remarketing list. This is a required field.
 11877  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 11878  
 11879  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 11880  	// advertiser. This is a read-only, auto-generated field.
 11881  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 11882  
 11883  	// Description: Remarketing list description.
 11884  	Description string `json:"description,omitempty"`
 11885  
 11886  	// Id: Remarketing list ID. This is a read-only, auto-generated field.
 11887  	Id int64 `json:"id,omitempty,string"`
 11888  
 11889  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11890  	// string "dfareporting#remarketingList".
 11891  	Kind string `json:"kind,omitempty"`
 11892  
 11893  	// LifeSpan: Number of days that a user should remain in the remarketing
 11894  	// list without an impression. Acceptable values are 1 to 540,
 11895  	// inclusive.
 11896  	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
 11897  
 11898  	// ListPopulationRule: Rule used to populate the remarketing list with
 11899  	// users.
 11900  	ListPopulationRule *ListPopulationRule `json:"listPopulationRule,omitempty"`
 11901  
 11902  	// ListSize: Number of users currently in the list. This is a read-only
 11903  	// field.
 11904  	ListSize int64 `json:"listSize,omitempty,string"`
 11905  
 11906  	// ListSource: Product from which this remarketing list was originated.
 11907  	//
 11908  	// Possible values:
 11909  	//   "REMARKETING_LIST_SOURCE_OTHER"
 11910  	//   "REMARKETING_LIST_SOURCE_ADX"
 11911  	//   "REMARKETING_LIST_SOURCE_DFP"
 11912  	//   "REMARKETING_LIST_SOURCE_XFP"
 11913  	//   "REMARKETING_LIST_SOURCE_DFA"
 11914  	//   "REMARKETING_LIST_SOURCE_GA"
 11915  	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
 11916  	//   "REMARKETING_LIST_SOURCE_DBM"
 11917  	//   "REMARKETING_LIST_SOURCE_GPLUS"
 11918  	//   "REMARKETING_LIST_SOURCE_DMP"
 11919  	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 11920  	ListSource string `json:"listSource,omitempty"`
 11921  
 11922  	// Name: Name of the remarketing list. This is a required field. Must be
 11923  	// no greater than 128 characters long.
 11924  	Name string `json:"name,omitempty"`
 11925  
 11926  	// SubaccountId: Subaccount ID of this remarketing list. This is a
 11927  	// read-only, auto-generated field that is only returned in GET
 11928  	// requests.
 11929  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 11930  
 11931  	// ServerResponse contains the HTTP response code and headers from the
 11932  	// server.
 11933  	googleapi.ServerResponse `json:"-"`
 11934  
 11935  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11936  	// unconditionally include in API requests. By default, fields with
 11937  	// empty or default values are omitted from API requests. However, any
 11938  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11939  	// sent to the server regardless of whether the field is empty or not.
 11940  	// This may be used to include empty fields in Patch requests.
 11941  	ForceSendFields []string `json:"-"`
 11942  
 11943  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11944  	// API requests with the JSON null value. By default, fields with empty
 11945  	// values are omitted from API requests. However, any field with an
 11946  	// empty value appearing in NullFields will be sent to the server as
 11947  	// null. It is an error if a field in this list has a non-empty value.
 11948  	// This may be used to include null fields in Patch requests.
 11949  	NullFields []string `json:"-"`
 11950  }
 11951  
 11952  func (s *RemarketingList) MarshalJSON() ([]byte, error) {
 11953  	type NoMethod RemarketingList
 11954  	raw := NoMethod(*s)
 11955  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11956  }
 11957  
 11958  // RemarketingListShare: Contains properties of a remarketing list's
 11959  // sharing information. Sharing allows other accounts or advertisers to
 11960  // target to your remarketing lists. This resource can be used to manage
 11961  // remarketing list sharing to other accounts and advertisers.
 11962  type RemarketingListShare struct {
 11963  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11964  	// string "dfareporting#remarketingListShare".
 11965  	Kind string `json:"kind,omitempty"`
 11966  
 11967  	// RemarketingListId: Remarketing list ID. This is a read-only,
 11968  	// auto-generated field.
 11969  	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
 11970  
 11971  	// SharedAccountIds: Accounts that the remarketing list is shared with.
 11972  	SharedAccountIds googleapi.Int64s `json:"sharedAccountIds,omitempty"`
 11973  
 11974  	// SharedAdvertiserIds: Advertisers that the remarketing list is shared
 11975  	// with.
 11976  	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
 11977  
 11978  	// ServerResponse contains the HTTP response code and headers from the
 11979  	// server.
 11980  	googleapi.ServerResponse `json:"-"`
 11981  
 11982  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11983  	// unconditionally include in API requests. By default, fields with
 11984  	// empty or default values are omitted from API requests. However, any
 11985  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11986  	// sent to the server regardless of whether the field is empty or not.
 11987  	// This may be used to include empty fields in Patch requests.
 11988  	ForceSendFields []string `json:"-"`
 11989  
 11990  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11991  	// requests with the JSON null value. By default, fields with empty
 11992  	// values are omitted from API requests. However, any field with an
 11993  	// empty value appearing in NullFields will be sent to the server as
 11994  	// null. It is an error if a field in this list has a non-empty value.
 11995  	// This may be used to include null fields in Patch requests.
 11996  	NullFields []string `json:"-"`
 11997  }
 11998  
 11999  func (s *RemarketingListShare) MarshalJSON() ([]byte, error) {
 12000  	type NoMethod RemarketingListShare
 12001  	raw := NoMethod(*s)
 12002  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12003  }
 12004  
 12005  // RemarketingListsListResponse: Remarketing list response
 12006  type RemarketingListsListResponse struct {
 12007  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12008  	// string "dfareporting#remarketingListsListResponse".
 12009  	Kind string `json:"kind,omitempty"`
 12010  
 12011  	// NextPageToken: Pagination token to be used for the next list
 12012  	// operation.
 12013  	NextPageToken string `json:"nextPageToken,omitempty"`
 12014  
 12015  	// RemarketingLists: Remarketing list collection.
 12016  	RemarketingLists []*RemarketingList `json:"remarketingLists,omitempty"`
 12017  
 12018  	// ServerResponse contains the HTTP response code and headers from the
 12019  	// server.
 12020  	googleapi.ServerResponse `json:"-"`
 12021  
 12022  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12023  	// unconditionally include in API requests. By default, fields with
 12024  	// empty or default values are omitted from API requests. However, any
 12025  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12026  	// sent to the server regardless of whether the field is empty or not.
 12027  	// This may be used to include empty fields in Patch requests.
 12028  	ForceSendFields []string `json:"-"`
 12029  
 12030  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12031  	// requests with the JSON null value. By default, fields with empty
 12032  	// values are omitted from API requests. However, any field with an
 12033  	// empty value appearing in NullFields will be sent to the server as
 12034  	// null. It is an error if a field in this list has a non-empty value.
 12035  	// This may be used to include null fields in Patch requests.
 12036  	NullFields []string `json:"-"`
 12037  }
 12038  
 12039  func (s *RemarketingListsListResponse) MarshalJSON() ([]byte, error) {
 12040  	type NoMethod RemarketingListsListResponse
 12041  	raw := NoMethod(*s)
 12042  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12043  }
 12044  
 12045  // Report: Represents a Report resource.
 12046  type Report struct {
 12047  	// AccountId: The account ID to which this report belongs.
 12048  	AccountId int64 `json:"accountId,omitempty,string"`
 12049  
 12050  	// Criteria: The report criteria for a report of type "STANDARD".
 12051  	Criteria *ReportCriteria `json:"criteria,omitempty"`
 12052  
 12053  	// CrossDimensionReachCriteria: The report criteria for a report of type
 12054  	// "CROSS_DIMENSION_REACH".
 12055  	CrossDimensionReachCriteria *ReportCrossDimensionReachCriteria `json:"crossDimensionReachCriteria,omitempty"`
 12056  
 12057  	// Delivery: The report's email delivery settings.
 12058  	Delivery *ReportDelivery `json:"delivery,omitempty"`
 12059  
 12060  	// Etag: The eTag of this response for caching purposes.
 12061  	Etag string `json:"etag,omitempty"`
 12062  
 12063  	// FileName: The filename used when generating report files for this
 12064  	// report.
 12065  	FileName string `json:"fileName,omitempty"`
 12066  
 12067  	// FloodlightCriteria: The report criteria for a report of type
 12068  	// "FLOODLIGHT".
 12069  	FloodlightCriteria *ReportFloodlightCriteria `json:"floodlightCriteria,omitempty"`
 12070  
 12071  	// Format: The output format of the report. If not specified, default
 12072  	// format is "CSV". Note that the actual format in the completed report
 12073  	// file might differ if for instance the report's size exceeds the
 12074  	// format's capabilities. "CSV" will then be the fallback format.
 12075  	//
 12076  	// Possible values:
 12077  	//   "CSV"
 12078  	//   "EXCEL"
 12079  	Format string `json:"format,omitempty"`
 12080  
 12081  	// Id: The unique ID identifying this report resource.
 12082  	Id int64 `json:"id,omitempty,string"`
 12083  
 12084  	// Kind: The kind of resource this is, in this case dfareporting#report.
 12085  	Kind string `json:"kind,omitempty"`
 12086  
 12087  	// LastModifiedTime: The timestamp (in milliseconds since epoch) of when
 12088  	// this report was last modified.
 12089  	LastModifiedTime uint64 `json:"lastModifiedTime,omitempty,string"`
 12090  
 12091  	// Name: The name of the report.
 12092  	Name string `json:"name,omitempty"`
 12093  
 12094  	// OwnerProfileId: The user profile id of the owner of this report.
 12095  	OwnerProfileId int64 `json:"ownerProfileId,omitempty,string"`
 12096  
 12097  	// PathAttributionCriteria: The report criteria for a report of type
 12098  	// "PATH_ATTRIBUTION".
 12099  	PathAttributionCriteria *ReportPathAttributionCriteria `json:"pathAttributionCriteria,omitempty"`
 12100  
 12101  	// PathCriteria: The report criteria for a report of type "PATH".
 12102  	PathCriteria *ReportPathCriteria `json:"pathCriteria,omitempty"`
 12103  
 12104  	// PathToConversionCriteria: The report criteria for a report of type
 12105  	// "PATH_TO_CONVERSION".
 12106  	PathToConversionCriteria *ReportPathToConversionCriteria `json:"pathToConversionCriteria,omitempty"`
 12107  
 12108  	// ReachCriteria: The report criteria for a report of type "REACH".
 12109  	ReachCriteria *ReportReachCriteria `json:"reachCriteria,omitempty"`
 12110  
 12111  	// Schedule: The report's schedule. Can only be set if the report's
 12112  	// 'dateRange' is a relative date range and the relative date range is
 12113  	// not "TODAY".
 12114  	Schedule *ReportSchedule `json:"schedule,omitempty"`
 12115  
 12116  	// SubAccountId: The subaccount ID to which this report belongs if
 12117  	// applicable.
 12118  	SubAccountId int64 `json:"subAccountId,omitempty,string"`
 12119  
 12120  	// Type: The type of the report.
 12121  	//
 12122  	// Possible values:
 12123  	//   "STANDARD"
 12124  	//   "REACH"
 12125  	//   "PATH_TO_CONVERSION"
 12126  	//   "CROSS_DIMENSION_REACH"
 12127  	//   "FLOODLIGHT"
 12128  	//   "PATH"
 12129  	//   "PATH_ATTRIBUTION"
 12130  	Type string `json:"type,omitempty"`
 12131  
 12132  	// ServerResponse contains the HTTP response code and headers from the
 12133  	// server.
 12134  	googleapi.ServerResponse `json:"-"`
 12135  
 12136  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12137  	// unconditionally include in API requests. By default, fields with
 12138  	// empty or default values are omitted from API requests. However, any
 12139  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12140  	// sent to the server regardless of whether the field is empty or not.
 12141  	// This may be used to include empty fields in Patch requests.
 12142  	ForceSendFields []string `json:"-"`
 12143  
 12144  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12145  	// API requests with the JSON null value. By default, fields with empty
 12146  	// values are omitted from API requests. However, any field with an
 12147  	// empty value appearing in NullFields will be sent to the server as
 12148  	// null. It is an error if a field in this list has a non-empty value.
 12149  	// This may be used to include null fields in Patch requests.
 12150  	NullFields []string `json:"-"`
 12151  }
 12152  
 12153  func (s *Report) MarshalJSON() ([]byte, error) {
 12154  	type NoMethod Report
 12155  	raw := NoMethod(*s)
 12156  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12157  }
 12158  
 12159  // ReportCriteria: The report criteria for a report of type "STANDARD".
 12160  type ReportCriteria struct {
 12161  	// Activities: Activity group.
 12162  	Activities *Activities `json:"activities,omitempty"`
 12163  
 12164  	// CustomRichMediaEvents: Custom Rich Media Events group.
 12165  	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
 12166  
 12167  	// DateRange: The date range for which this report should be run.
 12168  	DateRange *DateRange `json:"dateRange,omitempty"`
 12169  
 12170  	// DimensionFilters: The list of filters on which dimensions are
 12171  	// filtered. Filters for different dimensions are ANDed, filters for the
 12172  	// same dimension are grouped together and ORed.
 12173  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 12174  
 12175  	// Dimensions: The list of standard dimensions the report should
 12176  	// include.
 12177  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 12178  
 12179  	// MetricNames: The list of names of metrics the report should include.
 12180  	MetricNames []string `json:"metricNames,omitempty"`
 12181  
 12182  	// ForceSendFields is a list of field names (e.g. "Activities") to
 12183  	// unconditionally include in API requests. By default, fields with
 12184  	// empty or default values are omitted from API requests. However, any
 12185  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12186  	// sent to the server regardless of whether the field is empty or not.
 12187  	// This may be used to include empty fields in Patch requests.
 12188  	ForceSendFields []string `json:"-"`
 12189  
 12190  	// NullFields is a list of field names (e.g. "Activities") to include in
 12191  	// API requests with the JSON null value. By default, fields with empty
 12192  	// values are omitted from API requests. However, any field with an
 12193  	// empty value appearing in NullFields will be sent to the server as
 12194  	// null. It is an error if a field in this list has a non-empty value.
 12195  	// This may be used to include null fields in Patch requests.
 12196  	NullFields []string `json:"-"`
 12197  }
 12198  
 12199  func (s *ReportCriteria) MarshalJSON() ([]byte, error) {
 12200  	type NoMethod ReportCriteria
 12201  	raw := NoMethod(*s)
 12202  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12203  }
 12204  
 12205  // ReportCrossDimensionReachCriteria: The report criteria for a report
 12206  // of type "CROSS_DIMENSION_REACH".
 12207  type ReportCrossDimensionReachCriteria struct {
 12208  	// Breakdown: The list of dimensions the report should include.
 12209  	Breakdown []*SortedDimension `json:"breakdown,omitempty"`
 12210  
 12211  	// DateRange: The date range this report should be run for.
 12212  	DateRange *DateRange `json:"dateRange,omitempty"`
 12213  
 12214  	// Dimension: The dimension option.
 12215  	//
 12216  	// Possible values:
 12217  	//   "ADVERTISER"
 12218  	//   "CAMPAIGN"
 12219  	//   "SITE_BY_ADVERTISER"
 12220  	//   "SITE_BY_CAMPAIGN"
 12221  	Dimension string `json:"dimension,omitempty"`
 12222  
 12223  	// DimensionFilters: The list of filters on which dimensions are
 12224  	// filtered.
 12225  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 12226  
 12227  	// MetricNames: The list of names of metrics the report should include.
 12228  	MetricNames []string `json:"metricNames,omitempty"`
 12229  
 12230  	// OverlapMetricNames: The list of names of overlap metrics the report
 12231  	// should include.
 12232  	OverlapMetricNames []string `json:"overlapMetricNames,omitempty"`
 12233  
 12234  	// Pivoted: Whether the report is pivoted or not. Defaults to true.
 12235  	Pivoted bool `json:"pivoted,omitempty"`
 12236  
 12237  	// ForceSendFields is a list of field names (e.g. "Breakdown") to
 12238  	// unconditionally include in API requests. By default, fields with
 12239  	// empty or default values are omitted from API requests. However, any
 12240  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12241  	// sent to the server regardless of whether the field is empty or not.
 12242  	// This may be used to include empty fields in Patch requests.
 12243  	ForceSendFields []string `json:"-"`
 12244  
 12245  	// NullFields is a list of field names (e.g. "Breakdown") to include in
 12246  	// API requests with the JSON null value. By default, fields with empty
 12247  	// values are omitted from API requests. However, any field with an
 12248  	// empty value appearing in NullFields will be sent to the server as
 12249  	// null. It is an error if a field in this list has a non-empty value.
 12250  	// This may be used to include null fields in Patch requests.
 12251  	NullFields []string `json:"-"`
 12252  }
 12253  
 12254  func (s *ReportCrossDimensionReachCriteria) MarshalJSON() ([]byte, error) {
 12255  	type NoMethod ReportCrossDimensionReachCriteria
 12256  	raw := NoMethod(*s)
 12257  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12258  }
 12259  
 12260  // ReportDelivery: The report's email delivery settings.
 12261  type ReportDelivery struct {
 12262  	// EmailOwner: Whether the report should be emailed to the report owner.
 12263  	EmailOwner bool `json:"emailOwner,omitempty"`
 12264  
 12265  	// EmailOwnerDeliveryType: The type of delivery for the owner to
 12266  	// receive, if enabled.
 12267  	//
 12268  	// Possible values:
 12269  	//   "LINK"
 12270  	//   "ATTACHMENT"
 12271  	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
 12272  
 12273  	// Message: The message to be sent with each email.
 12274  	Message string `json:"message,omitempty"`
 12275  
 12276  	// Recipients: The list of recipients to which to email the report.
 12277  	Recipients []*Recipient `json:"recipients,omitempty"`
 12278  
 12279  	// ForceSendFields is a list of field names (e.g. "EmailOwner") to
 12280  	// unconditionally include in API requests. By default, fields with
 12281  	// empty or default values are omitted from API requests. However, any
 12282  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12283  	// sent to the server regardless of whether the field is empty or not.
 12284  	// This may be used to include empty fields in Patch requests.
 12285  	ForceSendFields []string `json:"-"`
 12286  
 12287  	// NullFields is a list of field names (e.g. "EmailOwner") to include in
 12288  	// API requests with the JSON null value. By default, fields with empty
 12289  	// values are omitted from API requests. However, any field with an
 12290  	// empty value appearing in NullFields will be sent to the server as
 12291  	// null. It is an error if a field in this list has a non-empty value.
 12292  	// This may be used to include null fields in Patch requests.
 12293  	NullFields []string `json:"-"`
 12294  }
 12295  
 12296  func (s *ReportDelivery) MarshalJSON() ([]byte, error) {
 12297  	type NoMethod ReportDelivery
 12298  	raw := NoMethod(*s)
 12299  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12300  }
 12301  
 12302  // ReportFloodlightCriteria: The report criteria for a report of type
 12303  // "FLOODLIGHT".
 12304  type ReportFloodlightCriteria struct {
 12305  	// CustomRichMediaEvents: The list of custom rich media events to
 12306  	// include.
 12307  	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
 12308  
 12309  	// DateRange: The date range this report should be run for.
 12310  	DateRange *DateRange `json:"dateRange,omitempty"`
 12311  
 12312  	// DimensionFilters: The list of filters on which dimensions are
 12313  	// filtered. Filters for different dimensions are ANDed, filters for the
 12314  	// same dimension are grouped together and ORed.
 12315  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 12316  
 12317  	// Dimensions: The list of dimensions the report should include.
 12318  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 12319  
 12320  	// FloodlightConfigId: The floodlight ID for which to show data in this
 12321  	// report. All advertisers associated with that ID will automatically be
 12322  	// added. The dimension of the value needs to be
 12323  	// 'dfa:floodlightConfigId'.
 12324  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 12325  
 12326  	// MetricNames: The list of names of metrics the report should include.
 12327  	MetricNames []string `json:"metricNames,omitempty"`
 12328  
 12329  	// ReportProperties: The properties of the report.
 12330  	ReportProperties *ReportFloodlightCriteriaReportProperties `json:"reportProperties,omitempty"`
 12331  
 12332  	// ForceSendFields is a list of field names (e.g.
 12333  	// "CustomRichMediaEvents") to unconditionally include in API requests.
 12334  	// By default, fields with empty or default values are omitted from API
 12335  	// requests. However, any non-pointer, non-interface field appearing in
 12336  	// ForceSendFields will be sent to the server regardless of whether the
 12337  	// field is empty or not. This may be used to include empty fields in
 12338  	// Patch requests.
 12339  	ForceSendFields []string `json:"-"`
 12340  
 12341  	// NullFields is a list of field names (e.g. "CustomRichMediaEvents") to
 12342  	// include in API requests with the JSON null value. By default, fields
 12343  	// with empty values are omitted from API requests. However, any field
 12344  	// with an empty value appearing in NullFields will be sent to the
 12345  	// server as null. It is an error if a field in this list has a
 12346  	// non-empty value. This may be used to include null fields in Patch
 12347  	// requests.
 12348  	NullFields []string `json:"-"`
 12349  }
 12350  
 12351  func (s *ReportFloodlightCriteria) MarshalJSON() ([]byte, error) {
 12352  	type NoMethod ReportFloodlightCriteria
 12353  	raw := NoMethod(*s)
 12354  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12355  }
 12356  
 12357  // ReportFloodlightCriteriaReportProperties: The properties of the
 12358  // report.
 12359  type ReportFloodlightCriteriaReportProperties struct {
 12360  	// IncludeAttributedIPConversions: Include conversions that have no
 12361  	// cookie, but do have an exposure path.
 12362  	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
 12363  
 12364  	// IncludeUnattributedCookieConversions: Include conversions of users
 12365  	// with a DoubleClick cookie but without an exposure. That means the
 12366  	// user did not click or see an ad from the advertiser within the
 12367  	// Floodlight group, or that the interaction happened outside the
 12368  	// lookback window.
 12369  	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
 12370  
 12371  	// IncludeUnattributedIPConversions: Include conversions that have no
 12372  	// associated cookies and no exposures. It’s therefore impossible to
 12373  	// know how the user was exposed to your ads during the lookback window
 12374  	// prior to a conversion.
 12375  	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
 12376  
 12377  	// ForceSendFields is a list of field names (e.g.
 12378  	// "IncludeAttributedIPConversions") to unconditionally include in API
 12379  	// requests. By default, fields with empty or default values are omitted
 12380  	// from API requests. However, any non-pointer, non-interface field
 12381  	// appearing in ForceSendFields will be sent to the server regardless of
 12382  	// whether the field is empty or not. This may be used to include empty
 12383  	// fields in Patch requests.
 12384  	ForceSendFields []string `json:"-"`
 12385  
 12386  	// NullFields is a list of field names (e.g.
 12387  	// "IncludeAttributedIPConversions") to include in API requests with the
 12388  	// JSON null value. By default, fields with empty values are omitted
 12389  	// from API requests. However, any field with an empty value appearing
 12390  	// in NullFields will be sent to the server as null. It is an error if a
 12391  	// field in this list has a non-empty value. This may be used to include
 12392  	// null fields in Patch requests.
 12393  	NullFields []string `json:"-"`
 12394  }
 12395  
 12396  func (s *ReportFloodlightCriteriaReportProperties) MarshalJSON() ([]byte, error) {
 12397  	type NoMethod ReportFloodlightCriteriaReportProperties
 12398  	raw := NoMethod(*s)
 12399  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12400  }
 12401  
 12402  // ReportPathAttributionCriteria: The report criteria for a report of
 12403  // type "PATH_ATTRIBUTION".
 12404  type ReportPathAttributionCriteria struct {
 12405  	// ActivityFilters: The list of 'dfa:activity' values to filter on.
 12406  	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
 12407  
 12408  	// CustomChannelGrouping: Channel Grouping.
 12409  	CustomChannelGrouping *ChannelGrouping `json:"customChannelGrouping,omitempty"`
 12410  
 12411  	// DateRange: The date range this report should be run for.
 12412  	DateRange *DateRange `json:"dateRange,omitempty"`
 12413  
 12414  	// Dimensions: The list of dimensions the report should include.
 12415  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 12416  
 12417  	// FloodlightConfigId: The floodlight ID for which to show data in this
 12418  	// report. All advertisers associated with that ID will automatically be
 12419  	// added. The dimension of the value needs to be
 12420  	// 'dfa:floodlightConfigId'.
 12421  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 12422  
 12423  	// MetricNames: The list of names of metrics the report should include.
 12424  	MetricNames []string `json:"metricNames,omitempty"`
 12425  
 12426  	// PathFilters: Path Filters.
 12427  	PathFilters []*PathFilter `json:"pathFilters,omitempty"`
 12428  
 12429  	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
 12430  	// unconditionally include in API requests. By default, fields with
 12431  	// empty or default values are omitted from API requests. However, any
 12432  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12433  	// sent to the server regardless of whether the field is empty or not.
 12434  	// This may be used to include empty fields in Patch requests.
 12435  	ForceSendFields []string `json:"-"`
 12436  
 12437  	// NullFields is a list of field names (e.g. "ActivityFilters") to
 12438  	// include in API requests with the JSON null value. By default, fields
 12439  	// with empty values are omitted from API requests. However, any field
 12440  	// with an empty value appearing in NullFields will be sent to the
 12441  	// server as null. It is an error if a field in this list has a
 12442  	// non-empty value. This may be used to include null fields in Patch
 12443  	// requests.
 12444  	NullFields []string `json:"-"`
 12445  }
 12446  
 12447  func (s *ReportPathAttributionCriteria) MarshalJSON() ([]byte, error) {
 12448  	type NoMethod ReportPathAttributionCriteria
 12449  	raw := NoMethod(*s)
 12450  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12451  }
 12452  
 12453  // ReportPathCriteria: The report criteria for a report of type "PATH".
 12454  type ReportPathCriteria struct {
 12455  	// ActivityFilters: The list of 'dfa:activity' values to filter on.
 12456  	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
 12457  
 12458  	// CustomChannelGrouping: Channel Grouping.
 12459  	CustomChannelGrouping *ChannelGrouping `json:"customChannelGrouping,omitempty"`
 12460  
 12461  	// DateRange: The date range this report should be run for.
 12462  	DateRange *DateRange `json:"dateRange,omitempty"`
 12463  
 12464  	// Dimensions: The list of dimensions the report should include.
 12465  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 12466  
 12467  	// FloodlightConfigId: The floodlight ID for which to show data in this
 12468  	// report. All advertisers associated with that ID will automatically be
 12469  	// added. The dimension of the value needs to be
 12470  	// 'dfa:floodlightConfigId'.
 12471  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 12472  
 12473  	// MetricNames: The list of names of metrics the report should include.
 12474  	MetricNames []string `json:"metricNames,omitempty"`
 12475  
 12476  	// PathFilters: Path Filters.
 12477  	PathFilters []*PathFilter `json:"pathFilters,omitempty"`
 12478  
 12479  	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
 12480  	// unconditionally include in API requests. By default, fields with
 12481  	// empty or default values are omitted from API requests. However, any
 12482  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12483  	// sent to the server regardless of whether the field is empty or not.
 12484  	// This may be used to include empty fields in Patch requests.
 12485  	ForceSendFields []string `json:"-"`
 12486  
 12487  	// NullFields is a list of field names (e.g. "ActivityFilters") to
 12488  	// include in API requests with the JSON null value. By default, fields
 12489  	// with empty values are omitted from API requests. However, any field
 12490  	// with an empty value appearing in NullFields will be sent to the
 12491  	// server as null. It is an error if a field in this list has a
 12492  	// non-empty value. This may be used to include null fields in Patch
 12493  	// requests.
 12494  	NullFields []string `json:"-"`
 12495  }
 12496  
 12497  func (s *ReportPathCriteria) MarshalJSON() ([]byte, error) {
 12498  	type NoMethod ReportPathCriteria
 12499  	raw := NoMethod(*s)
 12500  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12501  }
 12502  
 12503  // ReportPathToConversionCriteria: The report criteria for a report of
 12504  // type "PATH_TO_CONVERSION".
 12505  type ReportPathToConversionCriteria struct {
 12506  	// ActivityFilters: The list of 'dfa:activity' values to filter on.
 12507  	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
 12508  
 12509  	// ConversionDimensions: The list of conversion dimensions the report
 12510  	// should include.
 12511  	ConversionDimensions []*SortedDimension `json:"conversionDimensions,omitempty"`
 12512  
 12513  	// CustomFloodlightVariables: The list of custom floodlight variables
 12514  	// the report should include.
 12515  	CustomFloodlightVariables []*SortedDimension `json:"customFloodlightVariables,omitempty"`
 12516  
 12517  	// CustomRichMediaEvents: The list of custom rich media events to
 12518  	// include.
 12519  	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
 12520  
 12521  	// DateRange: The date range this report should be run for.
 12522  	DateRange *DateRange `json:"dateRange,omitempty"`
 12523  
 12524  	// FloodlightConfigId: The floodlight ID for which to show data in this
 12525  	// report. All advertisers associated with that ID will automatically be
 12526  	// added. The dimension of the value needs to be
 12527  	// 'dfa:floodlightConfigId'.
 12528  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 12529  
 12530  	// MetricNames: The list of names of metrics the report should include.
 12531  	MetricNames []string `json:"metricNames,omitempty"`
 12532  
 12533  	// PerInteractionDimensions: The list of per interaction dimensions the
 12534  	// report should include.
 12535  	PerInteractionDimensions []*SortedDimension `json:"perInteractionDimensions,omitempty"`
 12536  
 12537  	// ReportProperties: The properties of the report.
 12538  	ReportProperties *ReportPathToConversionCriteriaReportProperties `json:"reportProperties,omitempty"`
 12539  
 12540  	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
 12541  	// unconditionally include in API requests. By default, fields with
 12542  	// empty or default values are omitted from API requests. However, any
 12543  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12544  	// sent to the server regardless of whether the field is empty or not.
 12545  	// This may be used to include empty fields in Patch requests.
 12546  	ForceSendFields []string `json:"-"`
 12547  
 12548  	// NullFields is a list of field names (e.g. "ActivityFilters") to
 12549  	// include in API requests with the JSON null value. By default, fields
 12550  	// with empty values are omitted from API requests. However, any field
 12551  	// with an empty value appearing in NullFields will be sent to the
 12552  	// server as null. It is an error if a field in this list has a
 12553  	// non-empty value. This may be used to include null fields in Patch
 12554  	// requests.
 12555  	NullFields []string `json:"-"`
 12556  }
 12557  
 12558  func (s *ReportPathToConversionCriteria) MarshalJSON() ([]byte, error) {
 12559  	type NoMethod ReportPathToConversionCriteria
 12560  	raw := NoMethod(*s)
 12561  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12562  }
 12563  
 12564  // ReportPathToConversionCriteriaReportProperties: The properties of the
 12565  // report.
 12566  type ReportPathToConversionCriteriaReportProperties struct {
 12567  	// ClicksLookbackWindow: CM360 checks to see if a click interaction
 12568  	// occurred within the specified period of time before a conversion. By
 12569  	// default the value is pulled from Floodlight or you can manually enter
 12570  	// a custom value. Valid values: 1-90.
 12571  	ClicksLookbackWindow int64 `json:"clicksLookbackWindow,omitempty"`
 12572  
 12573  	// ImpressionsLookbackWindow: CM360 checks to see if an impression
 12574  	// interaction occurred within the specified period of time before a
 12575  	// conversion. By default the value is pulled from Floodlight or you can
 12576  	// manually enter a custom value. Valid values: 1-90.
 12577  	ImpressionsLookbackWindow int64 `json:"impressionsLookbackWindow,omitempty"`
 12578  
 12579  	// IncludeAttributedIPConversions: Deprecated: has no effect.
 12580  	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
 12581  
 12582  	// IncludeUnattributedCookieConversions: Include conversions of users
 12583  	// with a DoubleClick cookie but without an exposure. That means the
 12584  	// user did not click or see an ad from the advertiser within the
 12585  	// Floodlight group, or that the interaction happened outside the
 12586  	// lookback window.
 12587  	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
 12588  
 12589  	// IncludeUnattributedIPConversions: Include conversions that have no
 12590  	// associated cookies and no exposures. It’s therefore impossible to
 12591  	// know how the user was exposed to your ads during the lookback window
 12592  	// prior to a conversion.
 12593  	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
 12594  
 12595  	// MaximumClickInteractions: The maximum number of click interactions to
 12596  	// include in the report. Advertisers currently paying for E2C reports
 12597  	// get up to 200 (100 clicks, 100 impressions). If another advertiser in
 12598  	// your network is paying for E2C, you can have up to 5 total exposures
 12599  	// per report.
 12600  	MaximumClickInteractions int64 `json:"maximumClickInteractions,omitempty"`
 12601  
 12602  	// MaximumImpressionInteractions: The maximum number of click
 12603  	// interactions to include in the report. Advertisers currently paying
 12604  	// for E2C reports get up to 200 (100 clicks, 100 impressions). If
 12605  	// another advertiser in your network is paying for E2C, you can have up
 12606  	// to 5 total exposures per report.
 12607  	MaximumImpressionInteractions int64 `json:"maximumImpressionInteractions,omitempty"`
 12608  
 12609  	// MaximumInteractionGap: The maximum amount of time that can take place
 12610  	// between interactions (clicks or impressions) by the same user. Valid
 12611  	// values: 1-90.
 12612  	MaximumInteractionGap int64 `json:"maximumInteractionGap,omitempty"`
 12613  
 12614  	// PivotOnInteractionPath: Enable pivoting on interaction path.
 12615  	PivotOnInteractionPath bool `json:"pivotOnInteractionPath,omitempty"`
 12616  
 12617  	// ForceSendFields is a list of field names (e.g.
 12618  	// "ClicksLookbackWindow") to unconditionally include in API requests.
 12619  	// By default, fields with empty or default values are omitted from API
 12620  	// requests. However, any non-pointer, non-interface field appearing in
 12621  	// ForceSendFields will be sent to the server regardless of whether the
 12622  	// field is empty or not. This may be used to include empty fields in
 12623  	// Patch requests.
 12624  	ForceSendFields []string `json:"-"`
 12625  
 12626  	// NullFields is a list of field names (e.g. "ClicksLookbackWindow") to
 12627  	// include in API requests with the JSON null value. By default, fields
 12628  	// with empty values are omitted from API requests. However, any field
 12629  	// with an empty value appearing in NullFields will be sent to the
 12630  	// server as null. It is an error if a field in this list has a
 12631  	// non-empty value. This may be used to include null fields in Patch
 12632  	// requests.
 12633  	NullFields []string `json:"-"`
 12634  }
 12635  
 12636  func (s *ReportPathToConversionCriteriaReportProperties) MarshalJSON() ([]byte, error) {
 12637  	type NoMethod ReportPathToConversionCriteriaReportProperties
 12638  	raw := NoMethod(*s)
 12639  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12640  }
 12641  
 12642  // ReportReachCriteria: The report criteria for a report of type
 12643  // "REACH".
 12644  type ReportReachCriteria struct {
 12645  	// Activities: Activity group.
 12646  	Activities *Activities `json:"activities,omitempty"`
 12647  
 12648  	// CustomRichMediaEvents: Custom Rich Media Events group.
 12649  	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
 12650  
 12651  	// DateRange: The date range this report should be run for.
 12652  	DateRange *DateRange `json:"dateRange,omitempty"`
 12653  
 12654  	// DimensionFilters: The list of filters on which dimensions are
 12655  	// filtered. Filters for different dimensions are ANDed, filters for the
 12656  	// same dimension are grouped together and ORed.
 12657  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 12658  
 12659  	// Dimensions: The list of dimensions the report should include.
 12660  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 12661  
 12662  	// EnableAllDimensionCombinations: Whether to enable all reach dimension
 12663  	// combinations in the report. Defaults to false. If enabled, the date
 12664  	// range of the report should be within the last 42 days.
 12665  	EnableAllDimensionCombinations bool `json:"enableAllDimensionCombinations,omitempty"`
 12666  
 12667  	// MetricNames: The list of names of metrics the report should include.
 12668  	MetricNames []string `json:"metricNames,omitempty"`
 12669  
 12670  	// ReachByFrequencyMetricNames: The list of names of Reach By Frequency
 12671  	// metrics the report should include.
 12672  	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
 12673  
 12674  	// ForceSendFields is a list of field names (e.g. "Activities") to
 12675  	// unconditionally include in API requests. By default, fields with
 12676  	// empty or default values are omitted from API requests. However, any
 12677  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12678  	// sent to the server regardless of whether the field is empty or not.
 12679  	// This may be used to include empty fields in Patch requests.
 12680  	ForceSendFields []string `json:"-"`
 12681  
 12682  	// NullFields is a list of field names (e.g. "Activities") to include in
 12683  	// API requests with the JSON null value. By default, fields with empty
 12684  	// values are omitted from API requests. However, any field with an
 12685  	// empty value appearing in NullFields will be sent to the server as
 12686  	// null. It is an error if a field in this list has a non-empty value.
 12687  	// This may be used to include null fields in Patch requests.
 12688  	NullFields []string `json:"-"`
 12689  }
 12690  
 12691  func (s *ReportReachCriteria) MarshalJSON() ([]byte, error) {
 12692  	type NoMethod ReportReachCriteria
 12693  	raw := NoMethod(*s)
 12694  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12695  }
 12696  
 12697  // ReportSchedule: The report's schedule. Can only be set if the
 12698  // report's 'dateRange' is a relative date range and the relative date
 12699  // range is not "TODAY".
 12700  type ReportSchedule struct {
 12701  	// Active: Whether the schedule is active or not. Must be set to either
 12702  	// true or false.
 12703  	Active bool `json:"active,omitempty"`
 12704  
 12705  	// Every: Defines every how many days, weeks or months the report should
 12706  	// be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
 12707  	// "MONTHLY".
 12708  	Every int64 `json:"every,omitempty"`
 12709  
 12710  	ExpirationDate string `json:"expirationDate,omitempty"`
 12711  
 12712  	// Repeats: The interval for which the report is repeated. Note: -
 12713  	// "DAILY" also requires field "every" to be set. - "WEEKLY" also
 12714  	// requires fields "every" and "repeatsOnWeekDays" to be set. -
 12715  	// "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
 12716  	// set.
 12717  	Repeats string `json:"repeats,omitempty"`
 12718  
 12719  	// RepeatsOnWeekDays: List of week days "WEEKLY" on which scheduled
 12720  	// reports should run.
 12721  	//
 12722  	// Possible values:
 12723  	//   "SUNDAY"
 12724  	//   "MONDAY"
 12725  	//   "TUESDAY"
 12726  	//   "WEDNESDAY"
 12727  	//   "THURSDAY"
 12728  	//   "FRIDAY"
 12729  	//   "SATURDAY"
 12730  	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
 12731  
 12732  	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
 12733  	// whether reports should be repeated on the same day of the month as
 12734  	// "startDate" or the same day of the week of the month. Example: If
 12735  	// 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH"
 12736  	// would run subsequent reports on the 2nd of every Month, and
 12737  	// "WEEK_OF_MONTH" would run subsequent reports on the first Monday of
 12738  	// the month.
 12739  	//
 12740  	// Possible values:
 12741  	//   "DAY_OF_MONTH"
 12742  	//   "WEEK_OF_MONTH"
 12743  	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
 12744  
 12745  	StartDate string `json:"startDate,omitempty"`
 12746  
 12747  	// ForceSendFields is a list of field names (e.g. "Active") to
 12748  	// unconditionally include in API requests. By default, fields with
 12749  	// empty or default values are omitted from API requests. However, any
 12750  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12751  	// sent to the server regardless of whether the field is empty or not.
 12752  	// This may be used to include empty fields in Patch requests.
 12753  	ForceSendFields []string `json:"-"`
 12754  
 12755  	// NullFields is a list of field names (e.g. "Active") to include in API
 12756  	// requests with the JSON null value. By default, fields with empty
 12757  	// values are omitted from API requests. However, any field with an
 12758  	// empty value appearing in NullFields will be sent to the server as
 12759  	// null. It is an error if a field in this list has a non-empty value.
 12760  	// This may be used to include null fields in Patch requests.
 12761  	NullFields []string `json:"-"`
 12762  }
 12763  
 12764  func (s *ReportSchedule) MarshalJSON() ([]byte, error) {
 12765  	type NoMethod ReportSchedule
 12766  	raw := NoMethod(*s)
 12767  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12768  }
 12769  
 12770  // ReportCompatibleFields: Represents fields that are compatible to be
 12771  // selected for a report of type "STANDARD".
 12772  type ReportCompatibleFields struct {
 12773  	// DimensionFilters: Dimensions which are compatible to be selected in
 12774  	// the "dimensionFilters" section of the report.
 12775  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
 12776  
 12777  	// Dimensions: Dimensions which are compatible to be selected in the
 12778  	// "dimensions" section of the report.
 12779  	Dimensions []*Dimension `json:"dimensions,omitempty"`
 12780  
 12781  	// Kind: The kind of resource this is, in this case
 12782  	// dfareporting#reportCompatibleFields.
 12783  	Kind string `json:"kind,omitempty"`
 12784  
 12785  	// Metrics: Metrics which are compatible to be selected in the
 12786  	// "metricNames" section of the report.
 12787  	Metrics []*Metric `json:"metrics,omitempty"`
 12788  
 12789  	// PivotedActivityMetrics: Metrics which are compatible to be selected
 12790  	// as activity metrics to pivot on in the "activities" section of the
 12791  	// report.
 12792  	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
 12793  
 12794  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
 12795  	// unconditionally include in API requests. By default, fields with
 12796  	// empty or default values are omitted from API requests. However, any
 12797  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12798  	// sent to the server regardless of whether the field is empty or not.
 12799  	// This may be used to include empty fields in Patch requests.
 12800  	ForceSendFields []string `json:"-"`
 12801  
 12802  	// NullFields is a list of field names (e.g. "DimensionFilters") to
 12803  	// include in API requests with the JSON null value. By default, fields
 12804  	// with empty values are omitted from API requests. However, any field
 12805  	// with an empty value appearing in NullFields will be sent to the
 12806  	// server as null. It is an error if a field in this list has a
 12807  	// non-empty value. This may be used to include null fields in Patch
 12808  	// requests.
 12809  	NullFields []string `json:"-"`
 12810  }
 12811  
 12812  func (s *ReportCompatibleFields) MarshalJSON() ([]byte, error) {
 12813  	type NoMethod ReportCompatibleFields
 12814  	raw := NoMethod(*s)
 12815  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12816  }
 12817  
 12818  // ReportList: Represents the list of reports.
 12819  type ReportList struct {
 12820  	// Etag: The eTag of this response for caching purposes.
 12821  	Etag string `json:"etag,omitempty"`
 12822  
 12823  	// Items: The reports returned in this response.
 12824  	Items []*Report `json:"items,omitempty"`
 12825  
 12826  	// Kind: The kind of list this is, in this case dfareporting#reportList.
 12827  	Kind string `json:"kind,omitempty"`
 12828  
 12829  	// NextPageToken: Continuation token used to page through reports. To
 12830  	// retrieve the next page of results, set the next request's "pageToken"
 12831  	// to the value of this field. The page token is only valid for a
 12832  	// limited amount of time and should not be persisted.
 12833  	NextPageToken string `json:"nextPageToken,omitempty"`
 12834  
 12835  	// ServerResponse contains the HTTP response code and headers from the
 12836  	// server.
 12837  	googleapi.ServerResponse `json:"-"`
 12838  
 12839  	// ForceSendFields is a list of field names (e.g. "Etag") to
 12840  	// unconditionally include in API requests. By default, fields with
 12841  	// empty or default values are omitted from API requests. However, any
 12842  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12843  	// sent to the server regardless of whether the field is empty or not.
 12844  	// This may be used to include empty fields in Patch requests.
 12845  	ForceSendFields []string `json:"-"`
 12846  
 12847  	// NullFields is a list of field names (e.g. "Etag") to include in API
 12848  	// requests with the JSON null value. By default, fields with empty
 12849  	// values are omitted from API requests. However, any field with an
 12850  	// empty value appearing in NullFields will be sent to the server as
 12851  	// null. It is an error if a field in this list has a non-empty value.
 12852  	// This may be used to include null fields in Patch requests.
 12853  	NullFields []string `json:"-"`
 12854  }
 12855  
 12856  func (s *ReportList) MarshalJSON() ([]byte, error) {
 12857  	type NoMethod ReportList
 12858  	raw := NoMethod(*s)
 12859  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12860  }
 12861  
 12862  // ReportsConfiguration: Reporting Configuration
 12863  type ReportsConfiguration struct {
 12864  	// ExposureToConversionEnabled: Whether the exposure to conversion
 12865  	// report is enabled. This report shows detailed pathway information on
 12866  	// up to 10 of the most recent ad exposures seen by a user before
 12867  	// converting.
 12868  	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
 12869  
 12870  	// LookbackConfiguration: Default lookback windows for new advertisers
 12871  	// in this account.
 12872  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
 12873  
 12874  	// ReportGenerationTimeZoneId: Report generation time zone ID of this
 12875  	// account. This is a required field that can only be changed by a
 12876  	// superuser. Acceptable values are: - "1" for "America/New_York" - "2"
 12877  	// for "Europe/London" - "3" for "Europe/Paris" - "4" for
 12878  	// "Africa/Johannesburg" - "5" for "Asia/Jerusalem" - "6" for
 12879  	// "Asia/Shanghai" - "7" for "Asia/Hong_Kong" - "8" for "Asia/Tokyo" -
 12880  	// "9" for "Australia/Sydney" - "10" for "Asia/Dubai" - "11" for
 12881  	// "America/Los_Angeles" - "12" for "Pacific/Auckland" - "13" for
 12882  	// "America/Sao_Paulo" - "16" for "America/Asuncion" - "17" for
 12883  	// "America/Chicago" - "18" for "America/Denver" - "19" for
 12884  	// "America/St_Johns" - "20" for "Asia/Dhaka" - "21" for "Asia/Jakarta"
 12885  	// - "22" for "Asia/Kabul" - "23" for "Asia/Karachi" - "24" for
 12886  	// "Asia/Calcutta" - "25" for "Asia/Pyongyang" - "26" for "Asia/Rangoon"
 12887  	// - "27" for "Atlantic/Cape_Verde" - "28" for "Atlantic/South_Georgia"
 12888  	// - "29" for "Australia/Adelaide" - "30" for "Australia/Lord_Howe" -
 12889  	// "31" for "Europe/Moscow" - "32" for "Pacific/Kiritimati" - "35" for
 12890  	// "Pacific/Norfolk" - "36" for "Pacific/Tongatapu"
 12891  	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
 12892  
 12893  	// ForceSendFields is a list of field names (e.g.
 12894  	// "ExposureToConversionEnabled") to unconditionally include in API
 12895  	// requests. By default, fields with empty or default values are omitted
 12896  	// from API requests. However, any non-pointer, non-interface field
 12897  	// appearing in ForceSendFields will be sent to the server regardless of
 12898  	// whether the field is empty or not. This may be used to include empty
 12899  	// fields in Patch requests.
 12900  	ForceSendFields []string `json:"-"`
 12901  
 12902  	// NullFields is a list of field names (e.g.
 12903  	// "ExposureToConversionEnabled") to include in API requests with the
 12904  	// JSON null value. By default, fields with empty values are omitted
 12905  	// from API requests. However, any field with an empty value appearing
 12906  	// in NullFields will be sent to the server as null. It is an error if a
 12907  	// field in this list has a non-empty value. This may be used to include
 12908  	// null fields in Patch requests.
 12909  	NullFields []string `json:"-"`
 12910  }
 12911  
 12912  func (s *ReportsConfiguration) MarshalJSON() ([]byte, error) {
 12913  	type NoMethod ReportsConfiguration
 12914  	raw := NoMethod(*s)
 12915  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12916  }
 12917  
 12918  // RichMediaExitOverride: Rich Media Exit Override.
 12919  type RichMediaExitOverride struct {
 12920  	// ClickThroughUrl: Click-through URL of this rich media exit override.
 12921  	// Applicable if the enabled field is set to true.
 12922  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
 12923  
 12924  	// Enabled: Whether to use the clickThroughUrl. If false, the
 12925  	// creative-level exit will be used.
 12926  	Enabled bool `json:"enabled,omitempty"`
 12927  
 12928  	// ExitId: ID for the override to refer to a specific exit in the
 12929  	// creative.
 12930  	ExitId int64 `json:"exitId,omitempty,string"`
 12931  
 12932  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
 12933  	// unconditionally include in API requests. By default, fields with
 12934  	// empty or default values are omitted from API requests. However, any
 12935  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12936  	// sent to the server regardless of whether the field is empty or not.
 12937  	// This may be used to include empty fields in Patch requests.
 12938  	ForceSendFields []string `json:"-"`
 12939  
 12940  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
 12941  	// include in API requests with the JSON null value. By default, fields
 12942  	// with empty values are omitted from API requests. However, any field
 12943  	// with an empty value appearing in NullFields will be sent to the
 12944  	// server as null. It is an error if a field in this list has a
 12945  	// non-empty value. This may be used to include null fields in Patch
 12946  	// requests.
 12947  	NullFields []string `json:"-"`
 12948  }
 12949  
 12950  func (s *RichMediaExitOverride) MarshalJSON() ([]byte, error) {
 12951  	type NoMethod RichMediaExitOverride
 12952  	raw := NoMethod(*s)
 12953  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12954  }
 12955  
 12956  // Rule: A rule associates an asset with a targeting template for
 12957  // asset-level targeting. Applicable to INSTREAM_VIDEO creatives.
 12958  type Rule struct {
 12959  	// AssetId: A creativeAssets[].id. This should refer to one of the
 12960  	// parent assets in this creative. This is a required field.
 12961  	AssetId int64 `json:"assetId,omitempty,string"`
 12962  
 12963  	// Name: A user-friendly name for this rule. This is a required field.
 12964  	Name string `json:"name,omitempty"`
 12965  
 12966  	// TargetingTemplateId: A targeting template ID. The targeting from the
 12967  	// targeting template will be used to determine whether this asset
 12968  	// should be served. This is a required field.
 12969  	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
 12970  
 12971  	// ForceSendFields is a list of field names (e.g. "AssetId") to
 12972  	// unconditionally include in API requests. By default, fields with
 12973  	// empty or default values are omitted from API requests. However, any
 12974  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12975  	// sent to the server regardless of whether the field is empty or not.
 12976  	// This may be used to include empty fields in Patch requests.
 12977  	ForceSendFields []string `json:"-"`
 12978  
 12979  	// NullFields is a list of field names (e.g. "AssetId") to include in
 12980  	// API requests with the JSON null value. By default, fields with empty
 12981  	// values are omitted from API requests. However, any field with an
 12982  	// empty value appearing in NullFields will be sent to the server as
 12983  	// null. It is an error if a field in this list has a non-empty value.
 12984  	// This may be used to include null fields in Patch requests.
 12985  	NullFields []string `json:"-"`
 12986  }
 12987  
 12988  func (s *Rule) MarshalJSON() ([]byte, error) {
 12989  	type NoMethod Rule
 12990  	raw := NoMethod(*s)
 12991  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12992  }
 12993  
 12994  // Site: Contains properties of a site.
 12995  type Site struct {
 12996  	// AccountId: Account ID of this site. This is a read-only field that
 12997  	// can be left blank.
 12998  	AccountId int64 `json:"accountId,omitempty,string"`
 12999  
 13000  	// Approved: Whether this site is approved.
 13001  	Approved bool `json:"approved,omitempty"`
 13002  
 13003  	// DirectorySiteId: Directory site associated with this site. This is a
 13004  	// required field that is read-only after insertion.
 13005  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
 13006  
 13007  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
 13008  	// directory site. This is a read-only, auto-generated field.
 13009  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
 13010  
 13011  	// Id: ID of this site. This is a read-only, auto-generated field.
 13012  	Id int64 `json:"id,omitempty,string"`
 13013  
 13014  	// IdDimensionValue: Dimension value for the ID of this site. This is a
 13015  	// read-only, auto-generated field.
 13016  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
 13017  
 13018  	// KeyName: Key name of this site. This is a read-only, auto-generated
 13019  	// field.
 13020  	KeyName string `json:"keyName,omitempty"`
 13021  
 13022  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13023  	// string "dfareporting#site".
 13024  	Kind string `json:"kind,omitempty"`
 13025  
 13026  	// Name: Name of this site.This is a required field. Must be less than
 13027  	// 128 characters long. If this site is under a subaccount, the name
 13028  	// must be unique among sites of the same subaccount. Otherwise, this
 13029  	// site is a top-level site, and the name must be unique among top-level
 13030  	// sites of the same account.
 13031  	Name string `json:"name,omitempty"`
 13032  
 13033  	// SiteContacts: Site contacts.
 13034  	SiteContacts []*SiteContact `json:"siteContacts,omitempty"`
 13035  
 13036  	// SiteSettings: Site-wide settings.
 13037  	SiteSettings *SiteSettings `json:"siteSettings,omitempty"`
 13038  
 13039  	// SubaccountId: Subaccount ID of this site. This is a read-only field
 13040  	// that can be left blank.
 13041  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 13042  
 13043  	// VideoSettings: Default video settings for new placements created
 13044  	// under this site. This value will be used to populate the
 13045  	// placements.videoSettings field, when no value is specified for the
 13046  	// new placement.
 13047  	VideoSettings *SiteVideoSettings `json:"videoSettings,omitempty"`
 13048  
 13049  	// ServerResponse contains the HTTP response code and headers from the
 13050  	// server.
 13051  	googleapi.ServerResponse `json:"-"`
 13052  
 13053  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13054  	// unconditionally include in API requests. By default, fields with
 13055  	// empty or default values are omitted from API requests. However, any
 13056  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13057  	// sent to the server regardless of whether the field is empty or not.
 13058  	// This may be used to include empty fields in Patch requests.
 13059  	ForceSendFields []string `json:"-"`
 13060  
 13061  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13062  	// API requests with the JSON null value. By default, fields with empty
 13063  	// values are omitted from API requests. However, any field with an
 13064  	// empty value appearing in NullFields will be sent to the server as
 13065  	// null. It is an error if a field in this list has a non-empty value.
 13066  	// This may be used to include null fields in Patch requests.
 13067  	NullFields []string `json:"-"`
 13068  }
 13069  
 13070  func (s *Site) MarshalJSON() ([]byte, error) {
 13071  	type NoMethod Site
 13072  	raw := NoMethod(*s)
 13073  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13074  }
 13075  
 13076  // SiteCompanionSetting: Companion Settings
 13077  type SiteCompanionSetting struct {
 13078  	// CompanionsDisabled: Whether companions are disabled for this site
 13079  	// template.
 13080  	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
 13081  
 13082  	// EnabledSizes: Allowlist of companion sizes to be served via this site
 13083  	// template. Set this list to null or empty to serve all companion
 13084  	// sizes.
 13085  	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
 13086  
 13087  	// ImageOnly: Whether to serve only static images as companions.
 13088  	ImageOnly bool `json:"imageOnly,omitempty"`
 13089  
 13090  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13091  	// string "dfareporting#siteCompanionSetting".
 13092  	Kind string `json:"kind,omitempty"`
 13093  
 13094  	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
 13095  	// to unconditionally include in API requests. By default, fields with
 13096  	// empty or default values are omitted from API requests. However, any
 13097  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13098  	// sent to the server regardless of whether the field is empty or not.
 13099  	// This may be used to include empty fields in Patch requests.
 13100  	ForceSendFields []string `json:"-"`
 13101  
 13102  	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
 13103  	// include in API requests with the JSON null value. By default, fields
 13104  	// with empty values are omitted from API requests. However, any field
 13105  	// with an empty value appearing in NullFields will be sent to the
 13106  	// server as null. It is an error if a field in this list has a
 13107  	// non-empty value. This may be used to include null fields in Patch
 13108  	// requests.
 13109  	NullFields []string `json:"-"`
 13110  }
 13111  
 13112  func (s *SiteCompanionSetting) MarshalJSON() ([]byte, error) {
 13113  	type NoMethod SiteCompanionSetting
 13114  	raw := NoMethod(*s)
 13115  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13116  }
 13117  
 13118  // SiteContact: Site Contact
 13119  type SiteContact struct {
 13120  	// Address: Address of this site contact.
 13121  	Address string `json:"address,omitempty"`
 13122  
 13123  	// ContactType: Site contact type.
 13124  	//
 13125  	// Possible values:
 13126  	//   "SALES_PERSON"
 13127  	//   "TRAFFICKER"
 13128  	ContactType string `json:"contactType,omitempty"`
 13129  
 13130  	// Email: Email address of this site contact. This is a required field.
 13131  	Email string `json:"email,omitempty"`
 13132  
 13133  	// FirstName: First name of this site contact.
 13134  	FirstName string `json:"firstName,omitempty"`
 13135  
 13136  	// Id: ID of this site contact. This is a read-only, auto-generated
 13137  	// field.
 13138  	Id int64 `json:"id,omitempty,string"`
 13139  
 13140  	// LastName: Last name of this site contact.
 13141  	LastName string `json:"lastName,omitempty"`
 13142  
 13143  	// Phone: Primary phone number of this site contact.
 13144  	Phone string `json:"phone,omitempty"`
 13145  
 13146  	// Title: Title or designation of this site contact.
 13147  	Title string `json:"title,omitempty"`
 13148  
 13149  	// ForceSendFields is a list of field names (e.g. "Address") to
 13150  	// unconditionally include in API requests. By default, fields with
 13151  	// empty or default values are omitted from API requests. However, any
 13152  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13153  	// sent to the server regardless of whether the field is empty or not.
 13154  	// This may be used to include empty fields in Patch requests.
 13155  	ForceSendFields []string `json:"-"`
 13156  
 13157  	// NullFields is a list of field names (e.g. "Address") to include in
 13158  	// API requests with the JSON null value. By default, fields with empty
 13159  	// values are omitted from API requests. However, any field with an
 13160  	// empty value appearing in NullFields will be sent to the server as
 13161  	// null. It is an error if a field in this list has a non-empty value.
 13162  	// This may be used to include null fields in Patch requests.
 13163  	NullFields []string `json:"-"`
 13164  }
 13165  
 13166  func (s *SiteContact) MarshalJSON() ([]byte, error) {
 13167  	type NoMethod SiteContact
 13168  	raw := NoMethod(*s)
 13169  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13170  }
 13171  
 13172  // SiteSettings: Site Settings
 13173  type SiteSettings struct {
 13174  	// ActiveViewOptOut: Whether active view creatives are disabled for this
 13175  	// site.
 13176  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
 13177  
 13178  	// AdBlockingOptOut: Whether this site opts out of ad blocking. When
 13179  	// true, ad blocking is disabled for all placements under the site,
 13180  	// regardless of the individual placement settings. When false, the
 13181  	// campaign and placement settings take effect.
 13182  	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
 13183  
 13184  	// DisableNewCookie: Whether new cookies are disabled for this site.
 13185  	DisableNewCookie bool `json:"disableNewCookie,omitempty"`
 13186  
 13187  	// TagSetting: Configuration settings for dynamic and image floodlight
 13188  	// tags.
 13189  	TagSetting *TagSetting `json:"tagSetting,omitempty"`
 13190  
 13191  	// VideoActiveViewOptOutTemplate: Whether Verification and ActiveView
 13192  	// for in-stream video creatives are disabled by default for new
 13193  	// placements created under this site. This value will be used to
 13194  	// populate the placement.videoActiveViewOptOut field, when no value is
 13195  	// specified for the new placement.
 13196  	VideoActiveViewOptOutTemplate bool `json:"videoActiveViewOptOutTemplate,omitempty"`
 13197  
 13198  	// VpaidAdapterChoiceTemplate: Default VPAID adapter setting for new
 13199  	// placements created under this site. This value will be used to
 13200  	// populate the placements.vpaidAdapterChoice field, when no value is
 13201  	// specified for the new placement. Controls which VPAID format the
 13202  	// measurement adapter will use for in-stream video creatives assigned
 13203  	// to the placement. The publisher's specifications will typically
 13204  	// determine this setting. For VPAID creatives, the adapter format will
 13205  	// match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter).
 13206  	// *Note:* Flash is no longer supported. This field now defaults to
 13207  	// HTML5 when the following values are provided: FLASH, BOTH.
 13208  	//
 13209  	// Possible values:
 13210  	//   "DEFAULT"
 13211  	//   "FLASH"
 13212  	//   "HTML5"
 13213  	//   "BOTH"
 13214  	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
 13215  
 13216  	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
 13217  	// unconditionally include in API requests. By default, fields with
 13218  	// empty or default values are omitted from API requests. However, any
 13219  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13220  	// sent to the server regardless of whether the field is empty or not.
 13221  	// This may be used to include empty fields in Patch requests.
 13222  	ForceSendFields []string `json:"-"`
 13223  
 13224  	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
 13225  	// include in API requests with the JSON null value. By default, fields
 13226  	// with empty values are omitted from API requests. However, any field
 13227  	// with an empty value appearing in NullFields will be sent to the
 13228  	// server as null. It is an error if a field in this list has a
 13229  	// non-empty value. This may be used to include null fields in Patch
 13230  	// requests.
 13231  	NullFields []string `json:"-"`
 13232  }
 13233  
 13234  func (s *SiteSettings) MarshalJSON() ([]byte, error) {
 13235  	type NoMethod SiteSettings
 13236  	raw := NoMethod(*s)
 13237  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13238  }
 13239  
 13240  // SiteSkippableSetting: Skippable Settings
 13241  type SiteSkippableSetting struct {
 13242  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13243  	// string "dfareporting#siteSkippableSetting".
 13244  	Kind string `json:"kind,omitempty"`
 13245  
 13246  	// ProgressOffset: Amount of time to play videos served to this site
 13247  	// template before counting a view. Applicable when skippable is true.
 13248  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
 13249  
 13250  	// SkipOffset: Amount of time to play videos served to this site before
 13251  	// the skip button should appear. Applicable when skippable is true.
 13252  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
 13253  
 13254  	// Skippable: Whether the user can skip creatives served to this site.
 13255  	// This will act as default for new placements created under this site.
 13256  	Skippable bool `json:"skippable,omitempty"`
 13257  
 13258  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13259  	// unconditionally include in API requests. By default, fields with
 13260  	// empty or default values are omitted from API requests. However, any
 13261  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13262  	// sent to the server regardless of whether the field is empty or not.
 13263  	// This may be used to include empty fields in Patch requests.
 13264  	ForceSendFields []string `json:"-"`
 13265  
 13266  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13267  	// requests with the JSON null value. By default, fields with empty
 13268  	// values are omitted from API requests. However, any field with an
 13269  	// empty value appearing in NullFields will be sent to the server as
 13270  	// null. It is an error if a field in this list has a non-empty value.
 13271  	// This may be used to include null fields in Patch requests.
 13272  	NullFields []string `json:"-"`
 13273  }
 13274  
 13275  func (s *SiteSkippableSetting) MarshalJSON() ([]byte, error) {
 13276  	type NoMethod SiteSkippableSetting
 13277  	raw := NoMethod(*s)
 13278  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13279  }
 13280  
 13281  // SiteTranscodeSetting: Transcode Settings
 13282  type SiteTranscodeSetting struct {
 13283  	// EnabledVideoFormats: Allowlist of video formats to be served to this
 13284  	// site template. Set this list to null or empty to serve all video
 13285  	// formats.
 13286  	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
 13287  
 13288  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13289  	// string "dfareporting#siteTranscodeSetting".
 13290  	Kind string `json:"kind,omitempty"`
 13291  
 13292  	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
 13293  	// to unconditionally include in API requests. By default, fields with
 13294  	// empty or default values are omitted from API requests. However, any
 13295  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13296  	// sent to the server regardless of whether the field is empty or not.
 13297  	// This may be used to include empty fields in Patch requests.
 13298  	ForceSendFields []string `json:"-"`
 13299  
 13300  	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
 13301  	// include in API requests with the JSON null value. By default, fields
 13302  	// with empty values are omitted from API requests. However, any field
 13303  	// with an empty value appearing in NullFields will be sent to the
 13304  	// server as null. It is an error if a field in this list has a
 13305  	// non-empty value. This may be used to include null fields in Patch
 13306  	// requests.
 13307  	NullFields []string `json:"-"`
 13308  }
 13309  
 13310  func (s *SiteTranscodeSetting) MarshalJSON() ([]byte, error) {
 13311  	type NoMethod SiteTranscodeSetting
 13312  	raw := NoMethod(*s)
 13313  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13314  }
 13315  
 13316  // SiteVideoSettings: Video Settings
 13317  type SiteVideoSettings struct {
 13318  	// CompanionSettings: Settings for the companion creatives of video
 13319  	// creatives served to this site.
 13320  	CompanionSettings *SiteCompanionSetting `json:"companionSettings,omitempty"`
 13321  
 13322  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13323  	// string "dfareporting#siteVideoSettings".
 13324  	Kind string `json:"kind,omitempty"`
 13325  
 13326  	// ObaEnabled: Whether OBA icons are enabled for this placement.
 13327  	ObaEnabled bool `json:"obaEnabled,omitempty"`
 13328  
 13329  	// ObaSettings: Settings for the OBA icon of video creatives served to
 13330  	// this site. This will act as default for new placements created under
 13331  	// this site.
 13332  	ObaSettings *ObaIcon `json:"obaSettings,omitempty"`
 13333  
 13334  	// Orientation: Orientation of a site template used for video. This will
 13335  	// act as default for new placements created under this site.
 13336  	//
 13337  	// Possible values:
 13338  	//   "ANY"
 13339  	//   "LANDSCAPE"
 13340  	//   "PORTRAIT"
 13341  	Orientation string `json:"orientation,omitempty"`
 13342  
 13343  	// SkippableSettings: Settings for the skippability of video creatives
 13344  	// served to this site. This will act as default for new placements
 13345  	// created under this site.
 13346  	SkippableSettings *SiteSkippableSetting `json:"skippableSettings,omitempty"`
 13347  
 13348  	// TranscodeSettings: Settings for the transcodes of video creatives
 13349  	// served to this site. This will act as default for new placements
 13350  	// created under this site.
 13351  	TranscodeSettings *SiteTranscodeSetting `json:"transcodeSettings,omitempty"`
 13352  
 13353  	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
 13354  	// to unconditionally include in API requests. By default, fields with
 13355  	// empty or default values are omitted from API requests. However, any
 13356  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13357  	// sent to the server regardless of whether the field is empty or not.
 13358  	// This may be used to include empty fields in Patch requests.
 13359  	ForceSendFields []string `json:"-"`
 13360  
 13361  	// NullFields is a list of field names (e.g. "CompanionSettings") to
 13362  	// include in API requests with the JSON null value. By default, fields
 13363  	// with empty values are omitted from API requests. However, any field
 13364  	// with an empty value appearing in NullFields will be sent to the
 13365  	// server as null. It is an error if a field in this list has a
 13366  	// non-empty value. This may be used to include null fields in Patch
 13367  	// requests.
 13368  	NullFields []string `json:"-"`
 13369  }
 13370  
 13371  func (s *SiteVideoSettings) MarshalJSON() ([]byte, error) {
 13372  	type NoMethod SiteVideoSettings
 13373  	raw := NoMethod(*s)
 13374  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13375  }
 13376  
 13377  // SitesListResponse: Site List Response
 13378  type SitesListResponse struct {
 13379  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13380  	// string "dfareporting#sitesListResponse".
 13381  	Kind string `json:"kind,omitempty"`
 13382  
 13383  	// NextPageToken: Pagination token to be used for the next list
 13384  	// operation.
 13385  	NextPageToken string `json:"nextPageToken,omitempty"`
 13386  
 13387  	// Sites: Site collection.
 13388  	Sites []*Site `json:"sites,omitempty"`
 13389  
 13390  	// ServerResponse contains the HTTP response code and headers from the
 13391  	// server.
 13392  	googleapi.ServerResponse `json:"-"`
 13393  
 13394  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13395  	// unconditionally include in API requests. By default, fields with
 13396  	// empty or default values are omitted from API requests. However, any
 13397  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13398  	// sent to the server regardless of whether the field is empty or not.
 13399  	// This may be used to include empty fields in Patch requests.
 13400  	ForceSendFields []string `json:"-"`
 13401  
 13402  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13403  	// requests with the JSON null value. By default, fields with empty
 13404  	// values are omitted from API requests. However, any field with an
 13405  	// empty value appearing in NullFields will be sent to the server as
 13406  	// null. It is an error if a field in this list has a non-empty value.
 13407  	// This may be used to include null fields in Patch requests.
 13408  	NullFields []string `json:"-"`
 13409  }
 13410  
 13411  func (s *SitesListResponse) MarshalJSON() ([]byte, error) {
 13412  	type NoMethod SitesListResponse
 13413  	raw := NoMethod(*s)
 13414  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13415  }
 13416  
 13417  // Size: Represents the dimensions of ads, placements, creatives, or
 13418  // creative assets.
 13419  type Size struct {
 13420  	// Height: Height of this size. Acceptable values are 0 to 32767,
 13421  	// inclusive.
 13422  	Height int64 `json:"height,omitempty"`
 13423  
 13424  	// Iab: IAB standard size. This is a read-only, auto-generated field.
 13425  	Iab bool `json:"iab,omitempty"`
 13426  
 13427  	// Id: ID of this size. This is a read-only, auto-generated field.
 13428  	Id int64 `json:"id,omitempty,string"`
 13429  
 13430  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13431  	// string "dfareporting#size".
 13432  	Kind string `json:"kind,omitempty"`
 13433  
 13434  	// Width: Width of this size. Acceptable values are 0 to 32767,
 13435  	// inclusive.
 13436  	Width int64 `json:"width,omitempty"`
 13437  
 13438  	// ServerResponse contains the HTTP response code and headers from the
 13439  	// server.
 13440  	googleapi.ServerResponse `json:"-"`
 13441  
 13442  	// ForceSendFields is a list of field names (e.g. "Height") to
 13443  	// unconditionally include in API requests. By default, fields with
 13444  	// empty or default values are omitted from API requests. However, any
 13445  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13446  	// sent to the server regardless of whether the field is empty or not.
 13447  	// This may be used to include empty fields in Patch requests.
 13448  	ForceSendFields []string `json:"-"`
 13449  
 13450  	// NullFields is a list of field names (e.g. "Height") to include in API
 13451  	// requests with the JSON null value. By default, fields with empty
 13452  	// values are omitted from API requests. However, any field with an
 13453  	// empty value appearing in NullFields will be sent to the server as
 13454  	// null. It is an error if a field in this list has a non-empty value.
 13455  	// This may be used to include null fields in Patch requests.
 13456  	NullFields []string `json:"-"`
 13457  }
 13458  
 13459  func (s *Size) MarshalJSON() ([]byte, error) {
 13460  	type NoMethod Size
 13461  	raw := NoMethod(*s)
 13462  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13463  }
 13464  
 13465  // SizesListResponse: Size List Response
 13466  type SizesListResponse struct {
 13467  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13468  	// string "dfareporting#sizesListResponse".
 13469  	Kind string `json:"kind,omitempty"`
 13470  
 13471  	// Sizes: Size collection.
 13472  	Sizes []*Size `json:"sizes,omitempty"`
 13473  
 13474  	// ServerResponse contains the HTTP response code and headers from the
 13475  	// server.
 13476  	googleapi.ServerResponse `json:"-"`
 13477  
 13478  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13479  	// unconditionally include in API requests. By default, fields with
 13480  	// empty or default values are omitted from API requests. However, any
 13481  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13482  	// sent to the server regardless of whether the field is empty or not.
 13483  	// This may be used to include empty fields in Patch requests.
 13484  	ForceSendFields []string `json:"-"`
 13485  
 13486  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13487  	// requests with the JSON null value. By default, fields with empty
 13488  	// values are omitted from API requests. However, any field with an
 13489  	// empty value appearing in NullFields will be sent to the server as
 13490  	// null. It is an error if a field in this list has a non-empty value.
 13491  	// This may be used to include null fields in Patch requests.
 13492  	NullFields []string `json:"-"`
 13493  }
 13494  
 13495  func (s *SizesListResponse) MarshalJSON() ([]byte, error) {
 13496  	type NoMethod SizesListResponse
 13497  	raw := NoMethod(*s)
 13498  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13499  }
 13500  
 13501  // SkippableSetting: Skippable Settings
 13502  type SkippableSetting struct {
 13503  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13504  	// string "dfareporting#skippableSetting".
 13505  	Kind string `json:"kind,omitempty"`
 13506  
 13507  	// ProgressOffset: Amount of time to play videos served to this
 13508  	// placement before counting a view. Applicable when skippable is true.
 13509  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
 13510  
 13511  	// SkipOffset: Amount of time to play videos served to this placement
 13512  	// before the skip button should appear. Applicable when skippable is
 13513  	// true.
 13514  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
 13515  
 13516  	// Skippable: Whether the user can skip creatives served to this
 13517  	// placement.
 13518  	Skippable bool `json:"skippable,omitempty"`
 13519  
 13520  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13521  	// unconditionally include in API requests. By default, fields with
 13522  	// empty or default values are omitted from API requests. However, any
 13523  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13524  	// sent to the server regardless of whether the field is empty or not.
 13525  	// This may be used to include empty fields in Patch requests.
 13526  	ForceSendFields []string `json:"-"`
 13527  
 13528  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13529  	// requests with the JSON null value. By default, fields with empty
 13530  	// values are omitted from API requests. However, any field with an
 13531  	// empty value appearing in NullFields will be sent to the server as
 13532  	// null. It is an error if a field in this list has a non-empty value.
 13533  	// This may be used to include null fields in Patch requests.
 13534  	NullFields []string `json:"-"`
 13535  }
 13536  
 13537  func (s *SkippableSetting) MarshalJSON() ([]byte, error) {
 13538  	type NoMethod SkippableSetting
 13539  	raw := NoMethod(*s)
 13540  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13541  }
 13542  
 13543  // SortedDimension: Represents a sorted dimension.
 13544  type SortedDimension struct {
 13545  	// Kind: The kind of resource this is, in this case
 13546  	// dfareporting#sortedDimension.
 13547  	Kind string `json:"kind,omitempty"`
 13548  
 13549  	// Name: The name of the dimension.
 13550  	Name string `json:"name,omitempty"`
 13551  
 13552  	// SortOrder: An optional sort order for the dimension column.
 13553  	//
 13554  	// Possible values:
 13555  	//   "ASCENDING"
 13556  	//   "DESCENDING"
 13557  	SortOrder string `json:"sortOrder,omitempty"`
 13558  
 13559  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13560  	// unconditionally include in API requests. By default, fields with
 13561  	// empty or default values are omitted from API requests. However, any
 13562  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13563  	// sent to the server regardless of whether the field is empty or not.
 13564  	// This may be used to include empty fields in Patch requests.
 13565  	ForceSendFields []string `json:"-"`
 13566  
 13567  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13568  	// requests with the JSON null value. By default, fields with empty
 13569  	// values are omitted from API requests. However, any field with an
 13570  	// empty value appearing in NullFields will be sent to the server as
 13571  	// null. It is an error if a field in this list has a non-empty value.
 13572  	// This may be used to include null fields in Patch requests.
 13573  	NullFields []string `json:"-"`
 13574  }
 13575  
 13576  func (s *SortedDimension) MarshalJSON() ([]byte, error) {
 13577  	type NoMethod SortedDimension
 13578  	raw := NoMethod(*s)
 13579  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13580  }
 13581  
 13582  // Subaccount: Contains properties of a Campaign Manager subaccount.
 13583  type Subaccount struct {
 13584  	// AccountId: ID of the account that contains this subaccount. This is a
 13585  	// read-only field that can be left blank.
 13586  	AccountId int64 `json:"accountId,omitempty,string"`
 13587  
 13588  	// AvailablePermissionIds: IDs of the available user role permissions
 13589  	// for this subaccount.
 13590  	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
 13591  
 13592  	// Id: ID of this subaccount. This is a read-only, auto-generated field.
 13593  	Id int64 `json:"id,omitempty,string"`
 13594  
 13595  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13596  	// string "dfareporting#subaccount".
 13597  	Kind string `json:"kind,omitempty"`
 13598  
 13599  	// Name: Name of this subaccount. This is a required field. Must be less
 13600  	// than 128 characters long and be unique among subaccounts of the same
 13601  	// account.
 13602  	Name string `json:"name,omitempty"`
 13603  
 13604  	// ServerResponse contains the HTTP response code and headers from the
 13605  	// server.
 13606  	googleapi.ServerResponse `json:"-"`
 13607  
 13608  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13609  	// unconditionally include in API requests. By default, fields with
 13610  	// empty or default values are omitted from API requests. However, any
 13611  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13612  	// sent to the server regardless of whether the field is empty or not.
 13613  	// This may be used to include empty fields in Patch requests.
 13614  	ForceSendFields []string `json:"-"`
 13615  
 13616  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13617  	// API requests with the JSON null value. By default, fields with empty
 13618  	// values are omitted from API requests. However, any field with an
 13619  	// empty value appearing in NullFields will be sent to the server as
 13620  	// null. It is an error if a field in this list has a non-empty value.
 13621  	// This may be used to include null fields in Patch requests.
 13622  	NullFields []string `json:"-"`
 13623  }
 13624  
 13625  func (s *Subaccount) MarshalJSON() ([]byte, error) {
 13626  	type NoMethod Subaccount
 13627  	raw := NoMethod(*s)
 13628  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13629  }
 13630  
 13631  // SubaccountsListResponse: Subaccount List Response
 13632  type SubaccountsListResponse struct {
 13633  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13634  	// string "dfareporting#subaccountsListResponse".
 13635  	Kind string `json:"kind,omitempty"`
 13636  
 13637  	// NextPageToken: Pagination token to be used for the next list
 13638  	// operation.
 13639  	NextPageToken string `json:"nextPageToken,omitempty"`
 13640  
 13641  	// Subaccounts: Subaccount collection.
 13642  	Subaccounts []*Subaccount `json:"subaccounts,omitempty"`
 13643  
 13644  	// ServerResponse contains the HTTP response code and headers from the
 13645  	// server.
 13646  	googleapi.ServerResponse `json:"-"`
 13647  
 13648  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13649  	// unconditionally include in API requests. By default, fields with
 13650  	// empty or default values are omitted from API requests. However, any
 13651  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13652  	// sent to the server regardless of whether the field is empty or not.
 13653  	// This may be used to include empty fields in Patch requests.
 13654  	ForceSendFields []string `json:"-"`
 13655  
 13656  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13657  	// requests with the JSON null value. By default, fields with empty
 13658  	// values are omitted from API requests. However, any field with an
 13659  	// empty value appearing in NullFields will be sent to the server as
 13660  	// null. It is an error if a field in this list has a non-empty value.
 13661  	// This may be used to include null fields in Patch requests.
 13662  	NullFields []string `json:"-"`
 13663  }
 13664  
 13665  func (s *SubaccountsListResponse) MarshalJSON() ([]byte, error) {
 13666  	type NoMethod SubaccountsListResponse
 13667  	raw := NoMethod(*s)
 13668  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13669  }
 13670  
 13671  // TagData: Placement Tag Data
 13672  type TagData struct {
 13673  	// AdId: Ad associated with this placement tag. Applicable only when
 13674  	// format is PLACEMENT_TAG_TRACKING.
 13675  	AdId int64 `json:"adId,omitempty,string"`
 13676  
 13677  	// ClickTag: Tag string to record a click.
 13678  	ClickTag string `json:"clickTag,omitempty"`
 13679  
 13680  	// CreativeId: Creative associated with this placement tag. Applicable
 13681  	// only when format is PLACEMENT_TAG_TRACKING.
 13682  	CreativeId int64 `json:"creativeId,omitempty,string"`
 13683  
 13684  	// Format: TagData tag format of this tag.
 13685  	//
 13686  	// Possible values:
 13687  	//   "PLACEMENT_TAG_STANDARD"
 13688  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 13689  	//   "PLACEMENT_TAG_IFRAME_ILAYER"
 13690  	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
 13691  	//   "PLACEMENT_TAG_JAVASCRIPT"
 13692  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 13693  	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 13694  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 13695  	//   "PLACEMENT_TAG_CLICK_COMMANDS"
 13696  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 13697  	//   "PLACEMENT_TAG_TRACKING"
 13698  	//   "PLACEMENT_TAG_TRACKING_IFRAME"
 13699  	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 13700  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 13701  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 13702  	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 13703  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 13704  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 13705  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 13706  	//   "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT"
 13707  	Format string `json:"format,omitempty"`
 13708  
 13709  	// ImpressionTag: Tag string for serving an ad.
 13710  	ImpressionTag string `json:"impressionTag,omitempty"`
 13711  
 13712  	// ForceSendFields is a list of field names (e.g. "AdId") to
 13713  	// unconditionally include in API requests. By default, fields with
 13714  	// empty or default values are omitted from API requests. However, any
 13715  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13716  	// sent to the server regardless of whether the field is empty or not.
 13717  	// This may be used to include empty fields in Patch requests.
 13718  	ForceSendFields []string `json:"-"`
 13719  
 13720  	// NullFields is a list of field names (e.g. "AdId") to include in API
 13721  	// requests with the JSON null value. By default, fields with empty
 13722  	// values are omitted from API requests. However, any field with an
 13723  	// empty value appearing in NullFields will be sent to the server as
 13724  	// null. It is an error if a field in this list has a non-empty value.
 13725  	// This may be used to include null fields in Patch requests.
 13726  	NullFields []string `json:"-"`
 13727  }
 13728  
 13729  func (s *TagData) MarshalJSON() ([]byte, error) {
 13730  	type NoMethod TagData
 13731  	raw := NoMethod(*s)
 13732  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13733  }
 13734  
 13735  // TagSetting: Tag Settings
 13736  type TagSetting struct {
 13737  	// AdditionalKeyValues: Additional key-values to be included in tags.
 13738  	// Each key-value pair must be of the form key=value, and pairs must be
 13739  	// separated by a semicolon (;). Keys and values must not contain
 13740  	// commas. For example, id=2;color=red is a valid value for this field.
 13741  	AdditionalKeyValues string `json:"additionalKeyValues,omitempty"`
 13742  
 13743  	// IncludeClickThroughUrls: Whether static landing page URLs should be
 13744  	// included in the tags. This setting applies only to placements.
 13745  	IncludeClickThroughUrls bool `json:"includeClickThroughUrls,omitempty"`
 13746  
 13747  	// IncludeClickTracking: Whether click-tracking string should be
 13748  	// included in the tags.
 13749  	IncludeClickTracking bool `json:"includeClickTracking,omitempty"`
 13750  
 13751  	// KeywordOption: Option specifying how keywords are embedded in ad
 13752  	// tags. This setting can be used to specify whether keyword
 13753  	// placeholders are inserted in placement tags for this site. Publishers
 13754  	// can then add keywords to those placeholders.
 13755  	//
 13756  	// Possible values:
 13757  	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
 13758  	//   "IGNORE"
 13759  	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
 13760  	KeywordOption string `json:"keywordOption,omitempty"`
 13761  
 13762  	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
 13763  	// to 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. "AdditionalKeyValues") to
 13771  	// include in API requests with the JSON null value. By default, fields
 13772  	// with empty values are omitted from API requests. However, any field
 13773  	// with an empty value appearing in NullFields will be sent to the
 13774  	// server as null. It is an error if a field in this list has a
 13775  	// non-empty value. This may be used to include null fields in Patch
 13776  	// requests.
 13777  	NullFields []string `json:"-"`
 13778  }
 13779  
 13780  func (s *TagSetting) MarshalJSON() ([]byte, error) {
 13781  	type NoMethod TagSetting
 13782  	raw := NoMethod(*s)
 13783  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13784  }
 13785  
 13786  // TagSettings: Dynamic and Image Tag Settings.
 13787  type TagSettings struct {
 13788  	// DynamicTagEnabled: Whether dynamic floodlight tags are enabled.
 13789  	DynamicTagEnabled bool `json:"dynamicTagEnabled,omitempty"`
 13790  
 13791  	// ImageTagEnabled: Whether image tags are enabled.
 13792  	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
 13793  
 13794  	// ForceSendFields is a list of field names (e.g. "DynamicTagEnabled")
 13795  	// to unconditionally include in API requests. By default, fields with
 13796  	// empty or default values are omitted from API requests. However, any
 13797  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13798  	// sent to the server regardless of whether the field is empty or not.
 13799  	// This may be used to include empty fields in Patch requests.
 13800  	ForceSendFields []string `json:"-"`
 13801  
 13802  	// NullFields is a list of field names (e.g. "DynamicTagEnabled") to
 13803  	// include in API requests with the JSON null value. By default, fields
 13804  	// with empty values are omitted from API requests. However, any field
 13805  	// with an empty value appearing in NullFields will be sent to the
 13806  	// server as null. It is an error if a field in this list has a
 13807  	// non-empty value. This may be used to include null fields in Patch
 13808  	// requests.
 13809  	NullFields []string `json:"-"`
 13810  }
 13811  
 13812  func (s *TagSettings) MarshalJSON() ([]byte, error) {
 13813  	type NoMethod TagSettings
 13814  	raw := NoMethod(*s)
 13815  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13816  }
 13817  
 13818  // TargetWindow: Target Window.
 13819  type TargetWindow struct {
 13820  	// CustomHtml: User-entered value.
 13821  	CustomHtml string `json:"customHtml,omitempty"`
 13822  
 13823  	// TargetWindowOption: Type of browser window for which the backup image
 13824  	// of the flash creative can be displayed.
 13825  	//
 13826  	// Possible values:
 13827  	//   "NEW_WINDOW"
 13828  	//   "CURRENT_WINDOW"
 13829  	//   "CUSTOM"
 13830  	TargetWindowOption string `json:"targetWindowOption,omitempty"`
 13831  
 13832  	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
 13833  	// unconditionally include in API requests. By default, fields with
 13834  	// empty or default values are omitted from API requests. However, any
 13835  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13836  	// sent to the server regardless of whether the field is empty or not.
 13837  	// This may be used to include empty fields in Patch requests.
 13838  	ForceSendFields []string `json:"-"`
 13839  
 13840  	// NullFields is a list of field names (e.g. "CustomHtml") to include in
 13841  	// API requests with the JSON null value. By default, fields with empty
 13842  	// values are omitted from API requests. However, any field with an
 13843  	// empty value appearing in NullFields will be sent to the server as
 13844  	// null. It is an error if a field in this list has a non-empty value.
 13845  	// This may be used to include null fields in Patch requests.
 13846  	NullFields []string `json:"-"`
 13847  }
 13848  
 13849  func (s *TargetWindow) MarshalJSON() ([]byte, error) {
 13850  	type NoMethod TargetWindow
 13851  	raw := NoMethod(*s)
 13852  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13853  }
 13854  
 13855  // TargetableRemarketingList: Contains properties of a targetable
 13856  // remarketing list. Remarketing enables you to create lists of users
 13857  // who have performed specific actions on a site, then target ads to
 13858  // members of those lists. This resource is a read-only view of a
 13859  // remarketing list to be used to faciliate targeting ads to specific
 13860  // lists. Remarketing lists that are owned by your advertisers and those
 13861  // that are shared to your advertisers or account are accessible via
 13862  // this resource. To manage remarketing lists that are owned by your
 13863  // advertisers, use the RemarketingLists resource.
 13864  type TargetableRemarketingList struct {
 13865  	// AccountId: Account ID of this remarketing list. This is a read-only,
 13866  	// auto-generated field that is only returned in GET requests.
 13867  	AccountId int64 `json:"accountId,omitempty,string"`
 13868  
 13869  	// Active: Whether this targetable remarketing list is active.
 13870  	Active bool `json:"active,omitempty"`
 13871  
 13872  	// AdvertiserId: Dimension value for the advertiser ID that owns this
 13873  	// targetable remarketing list.
 13874  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 13875  
 13876  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 13877  	// advertiser.
 13878  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 13879  
 13880  	// Description: Targetable remarketing list description.
 13881  	Description string `json:"description,omitempty"`
 13882  
 13883  	// Id: Targetable remarketing list ID.
 13884  	Id int64 `json:"id,omitempty,string"`
 13885  
 13886  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13887  	// string "dfareporting#targetableRemarketingList".
 13888  	Kind string `json:"kind,omitempty"`
 13889  
 13890  	// LifeSpan: Number of days that a user should remain in the targetable
 13891  	// remarketing list without an impression.
 13892  	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
 13893  
 13894  	// ListSize: Number of users currently in the list. This is a read-only
 13895  	// field.
 13896  	ListSize int64 `json:"listSize,omitempty,string"`
 13897  
 13898  	// ListSource: Product from which this targetable remarketing list was
 13899  	// originated.
 13900  	//
 13901  	// Possible values:
 13902  	//   "REMARKETING_LIST_SOURCE_OTHER"
 13903  	//   "REMARKETING_LIST_SOURCE_ADX"
 13904  	//   "REMARKETING_LIST_SOURCE_DFP"
 13905  	//   "REMARKETING_LIST_SOURCE_XFP"
 13906  	//   "REMARKETING_LIST_SOURCE_DFA"
 13907  	//   "REMARKETING_LIST_SOURCE_GA"
 13908  	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
 13909  	//   "REMARKETING_LIST_SOURCE_DBM"
 13910  	//   "REMARKETING_LIST_SOURCE_GPLUS"
 13911  	//   "REMARKETING_LIST_SOURCE_DMP"
 13912  	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 13913  	ListSource string `json:"listSource,omitempty"`
 13914  
 13915  	// Name: Name of the targetable remarketing list. Is no greater than 128
 13916  	// characters long.
 13917  	Name string `json:"name,omitempty"`
 13918  
 13919  	// SubaccountId: Subaccount ID of this remarketing list. This is a
 13920  	// read-only, auto-generated field that is only returned in GET
 13921  	// requests.
 13922  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 13923  
 13924  	// ServerResponse contains the HTTP response code and headers from the
 13925  	// server.
 13926  	googleapi.ServerResponse `json:"-"`
 13927  
 13928  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13929  	// unconditionally include in API requests. By default, fields with
 13930  	// empty or default values are omitted from API requests. However, any
 13931  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13932  	// sent to the server regardless of whether the field is empty or not.
 13933  	// This may be used to include empty fields in Patch requests.
 13934  	ForceSendFields []string `json:"-"`
 13935  
 13936  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13937  	// API requests with the JSON null value. By default, fields with empty
 13938  	// values are omitted from API requests. However, any field with an
 13939  	// empty value appearing in NullFields will be sent to the server as
 13940  	// null. It is an error if a field in this list has a non-empty value.
 13941  	// This may be used to include null fields in Patch requests.
 13942  	NullFields []string `json:"-"`
 13943  }
 13944  
 13945  func (s *TargetableRemarketingList) MarshalJSON() ([]byte, error) {
 13946  	type NoMethod TargetableRemarketingList
 13947  	raw := NoMethod(*s)
 13948  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13949  }
 13950  
 13951  // TargetableRemarketingListsListResponse: Targetable remarketing list
 13952  // response
 13953  type TargetableRemarketingListsListResponse struct {
 13954  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13955  	// string "dfareporting#targetableRemarketingListsListResponse".
 13956  	Kind string `json:"kind,omitempty"`
 13957  
 13958  	// NextPageToken: Pagination token to be used for the next list
 13959  	// operation.
 13960  	NextPageToken string `json:"nextPageToken,omitempty"`
 13961  
 13962  	// TargetableRemarketingLists: Targetable remarketing list collection.
 13963  	TargetableRemarketingLists []*TargetableRemarketingList `json:"targetableRemarketingLists,omitempty"`
 13964  
 13965  	// ServerResponse contains the HTTP response code and headers from the
 13966  	// server.
 13967  	googleapi.ServerResponse `json:"-"`
 13968  
 13969  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13970  	// unconditionally include in API requests. By default, fields with
 13971  	// empty or default values are omitted from API requests. However, any
 13972  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13973  	// sent to the server regardless of whether the field is empty or not.
 13974  	// This may be used to include empty fields in Patch requests.
 13975  	ForceSendFields []string `json:"-"`
 13976  
 13977  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13978  	// requests with the JSON null value. By default, fields with empty
 13979  	// values are omitted from API requests. However, any field with an
 13980  	// empty value appearing in NullFields will be sent to the server as
 13981  	// null. It is an error if a field in this list has a non-empty value.
 13982  	// This may be used to include null fields in Patch requests.
 13983  	NullFields []string `json:"-"`
 13984  }
 13985  
 13986  func (s *TargetableRemarketingListsListResponse) MarshalJSON() ([]byte, error) {
 13987  	type NoMethod TargetableRemarketingListsListResponse
 13988  	raw := NoMethod(*s)
 13989  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13990  }
 13991  
 13992  // TargetingTemplate: Contains properties of a targeting template. A
 13993  // targeting template encapsulates targeting information which can be
 13994  // reused across multiple ads.
 13995  type TargetingTemplate struct {
 13996  	// AccountId: Account ID of this targeting template. This field, if left
 13997  	// unset, will be auto-generated on insert and is read-only after
 13998  	// insert.
 13999  	AccountId int64 `json:"accountId,omitempty,string"`
 14000  
 14001  	// AdvertiserId: Advertiser ID of this targeting template. This is a
 14002  	// required field on insert and is read-only after insert.
 14003  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 14004  
 14005  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 14006  	// advertiser. This is a read-only, auto-generated field.
 14007  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 14008  
 14009  	// DayPartTargeting: Time and day targeting criteria.
 14010  	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
 14011  
 14012  	// GeoTargeting: Geographical targeting criteria.
 14013  	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
 14014  
 14015  	// Id: ID of this targeting template. This is a read-only,
 14016  	// auto-generated field.
 14017  	Id int64 `json:"id,omitempty,string"`
 14018  
 14019  	// KeyValueTargetingExpression: Key-value targeting criteria.
 14020  	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
 14021  
 14022  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14023  	// string "dfareporting#targetingTemplate".
 14024  	Kind string `json:"kind,omitempty"`
 14025  
 14026  	// LanguageTargeting: Language targeting criteria.
 14027  	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
 14028  
 14029  	// ListTargetingExpression: Remarketing list targeting criteria.
 14030  	ListTargetingExpression *ListTargetingExpression `json:"listTargetingExpression,omitempty"`
 14031  
 14032  	// Name: Name of this targeting template. This field is required. It
 14033  	// must be less than 256 characters long and unique within an
 14034  	// advertiser.
 14035  	Name string `json:"name,omitempty"`
 14036  
 14037  	// SubaccountId: Subaccount ID of this targeting template. This field,
 14038  	// if left unset, will be auto-generated on insert and is read-only
 14039  	// after insert.
 14040  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 14041  
 14042  	// TechnologyTargeting: Technology platform targeting criteria.
 14043  	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
 14044  
 14045  	// ServerResponse contains the HTTP response code and headers from the
 14046  	// server.
 14047  	googleapi.ServerResponse `json:"-"`
 14048  
 14049  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 14050  	// unconditionally include in API requests. By default, fields with
 14051  	// empty or default values are omitted from API requests. However, any
 14052  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14053  	// sent to the server regardless of whether the field is empty or not.
 14054  	// This may be used to include empty fields in Patch requests.
 14055  	ForceSendFields []string `json:"-"`
 14056  
 14057  	// NullFields is a list of field names (e.g. "AccountId") to include in
 14058  	// API requests with the JSON null value. By default, fields with empty
 14059  	// values are omitted from API requests. However, any field with an
 14060  	// empty value appearing in NullFields will be sent to the server as
 14061  	// null. It is an error if a field in this list has a non-empty value.
 14062  	// This may be used to include null fields in Patch requests.
 14063  	NullFields []string `json:"-"`
 14064  }
 14065  
 14066  func (s *TargetingTemplate) MarshalJSON() ([]byte, error) {
 14067  	type NoMethod TargetingTemplate
 14068  	raw := NoMethod(*s)
 14069  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14070  }
 14071  
 14072  // TargetingTemplatesListResponse: Targeting Template List Response
 14073  type TargetingTemplatesListResponse struct {
 14074  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14075  	// string "dfareporting#targetingTemplatesListResponse".
 14076  	Kind string `json:"kind,omitempty"`
 14077  
 14078  	// NextPageToken: Pagination token to be used for the next list
 14079  	// operation.
 14080  	NextPageToken string `json:"nextPageToken,omitempty"`
 14081  
 14082  	// TargetingTemplates: Targeting template collection.
 14083  	TargetingTemplates []*TargetingTemplate `json:"targetingTemplates,omitempty"`
 14084  
 14085  	// ServerResponse contains the HTTP response code and headers from the
 14086  	// server.
 14087  	googleapi.ServerResponse `json:"-"`
 14088  
 14089  	// ForceSendFields is a list of field names (e.g. "Kind") to
 14090  	// unconditionally include in API requests. By default, fields with
 14091  	// empty or default values are omitted from API requests. However, any
 14092  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14093  	// sent to the server regardless of whether the field is empty or not.
 14094  	// This may be used to include empty fields in Patch requests.
 14095  	ForceSendFields []string `json:"-"`
 14096  
 14097  	// NullFields is a list of field names (e.g. "Kind") to include in API
 14098  	// requests with the JSON null value. By default, fields with empty
 14099  	// values are omitted from API requests. However, any field with an
 14100  	// empty value appearing in NullFields will be sent to the server as
 14101  	// null. It is an error if a field in this list has a non-empty value.
 14102  	// This may be used to include null fields in Patch requests.
 14103  	NullFields []string `json:"-"`
 14104  }
 14105  
 14106  func (s *TargetingTemplatesListResponse) MarshalJSON() ([]byte, error) {
 14107  	type NoMethod TargetingTemplatesListResponse
 14108  	raw := NoMethod(*s)
 14109  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14110  }
 14111  
 14112  // TechnologyTargeting: Technology Targeting.
 14113  type TechnologyTargeting struct {
 14114  	// Browsers: Browsers that this ad targets. For each browser either set
 14115  	// browserVersionId or dartId along with the version numbers. If both
 14116  	// are specified, only browserVersionId will be used. The other fields
 14117  	// are populated automatically when the ad is inserted or updated.
 14118  	Browsers []*Browser `json:"browsers,omitempty"`
 14119  
 14120  	// ConnectionTypes: Connection types that this ad targets. For each
 14121  	// connection type only id is required. The other fields are populated
 14122  	// automatically when the ad is inserted or updated.
 14123  	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
 14124  
 14125  	// MobileCarriers: Mobile carriers that this ad targets. For each mobile
 14126  	// carrier only id is required, and the other fields are populated
 14127  	// automatically when the ad is inserted or updated. If targeting a
 14128  	// mobile carrier, do not set targeting for any zip codes.
 14129  	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
 14130  
 14131  	// OperatingSystemVersions: Operating system versions that this ad
 14132  	// targets. To target all versions, use operatingSystems. For each
 14133  	// operating system version, only id is required. The other fields are
 14134  	// populated automatically when the ad is inserted or updated. If
 14135  	// targeting an operating system version, do not set targeting for the
 14136  	// corresponding operating system in operatingSystems.
 14137  	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
 14138  
 14139  	// OperatingSystems: Operating systems that this ad targets. To target
 14140  	// specific versions, use operatingSystemVersions. For each operating
 14141  	// system only dartId is required. The other fields are populated
 14142  	// automatically when the ad is inserted or updated. If targeting an
 14143  	// operating system, do not set targeting for operating system versions
 14144  	// for the same operating system.
 14145  	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
 14146  
 14147  	// PlatformTypes: Platform types that this ad targets. For example,
 14148  	// desktop, mobile, or tablet. For each platform type, only id is
 14149  	// required, and the other fields are populated automatically when the
 14150  	// ad is inserted or updated.
 14151  	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
 14152  
 14153  	// ForceSendFields is a list of field names (e.g. "Browsers") to
 14154  	// unconditionally include in API requests. By default, fields with
 14155  	// empty or default values are omitted from API requests. However, any
 14156  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14157  	// sent to the server regardless of whether the field is empty or not.
 14158  	// This may be used to include empty fields in Patch requests.
 14159  	ForceSendFields []string `json:"-"`
 14160  
 14161  	// NullFields is a list of field names (e.g. "Browsers") to include in
 14162  	// API requests with the JSON null value. By default, fields with empty
 14163  	// values are omitted from API requests. However, any field with an
 14164  	// empty value appearing in NullFields will be sent to the server as
 14165  	// null. It is an error if a field in this list has a non-empty value.
 14166  	// This may be used to include null fields in Patch requests.
 14167  	NullFields []string `json:"-"`
 14168  }
 14169  
 14170  func (s *TechnologyTargeting) MarshalJSON() ([]byte, error) {
 14171  	type NoMethod TechnologyTargeting
 14172  	raw := NoMethod(*s)
 14173  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14174  }
 14175  
 14176  // ThirdPartyAuthenticationToken: Third Party Authentication Token
 14177  type ThirdPartyAuthenticationToken struct {
 14178  	// Name: Name of the third-party authentication token.
 14179  	Name string `json:"name,omitempty"`
 14180  
 14181  	// Value: Value of the third-party authentication token. This is a
 14182  	// read-only, auto-generated field.
 14183  	Value string `json:"value,omitempty"`
 14184  
 14185  	// ForceSendFields is a list of field names (e.g. "Name") to
 14186  	// unconditionally include in API requests. By default, fields with
 14187  	// empty or default values are omitted from API requests. However, any
 14188  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14189  	// sent to the server regardless of whether the field is empty or not.
 14190  	// This may be used to include empty fields in Patch requests.
 14191  	ForceSendFields []string `json:"-"`
 14192  
 14193  	// NullFields is a list of field names (e.g. "Name") to include in API
 14194  	// requests with the JSON null value. By default, fields with empty
 14195  	// values are omitted from API requests. However, any field with an
 14196  	// empty value appearing in NullFields will be sent to the server as
 14197  	// null. It is an error if a field in this list has a non-empty value.
 14198  	// This may be used to include null fields in Patch requests.
 14199  	NullFields []string `json:"-"`
 14200  }
 14201  
 14202  func (s *ThirdPartyAuthenticationToken) MarshalJSON() ([]byte, error) {
 14203  	type NoMethod ThirdPartyAuthenticationToken
 14204  	raw := NoMethod(*s)
 14205  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14206  }
 14207  
 14208  // ThirdPartyTrackingUrl: Third-party Tracking URL.
 14209  type ThirdPartyTrackingUrl struct {
 14210  	// ThirdPartyUrlType: Third-party URL type for in-stream video and
 14211  	// in-stream audio creatives.
 14212  	//
 14213  	// Possible values:
 14214  	//   "IMPRESSION"
 14215  	//   "CLICK_TRACKING"
 14216  	//   "VIDEO_START"
 14217  	//   "VIDEO_FIRST_QUARTILE"
 14218  	//   "VIDEO_MIDPOINT"
 14219  	//   "VIDEO_THIRD_QUARTILE"
 14220  	//   "VIDEO_COMPLETE"
 14221  	//   "VIDEO_MUTE"
 14222  	//   "VIDEO_PAUSE"
 14223  	//   "VIDEO_REWIND"
 14224  	//   "VIDEO_FULLSCREEN"
 14225  	//   "VIDEO_STOP"
 14226  	//   "VIDEO_CUSTOM"
 14227  	//   "SURVEY"
 14228  	//   "RICH_MEDIA_IMPRESSION"
 14229  	//   "RICH_MEDIA_RM_IMPRESSION"
 14230  	//   "RICH_MEDIA_BACKUP_IMPRESSION"
 14231  	//   "VIDEO_SKIP"
 14232  	//   "VIDEO_PROGRESS"
 14233  	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
 14234  
 14235  	// Url: URL for the specified third-party URL type.
 14236  	Url string `json:"url,omitempty"`
 14237  
 14238  	// ForceSendFields is a list of field names (e.g. "ThirdPartyUrlType")
 14239  	// to unconditionally include in API requests. By default, fields with
 14240  	// empty or default values are omitted from API requests. However, any
 14241  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14242  	// sent to the server regardless of whether the field is empty or not.
 14243  	// This may be used to include empty fields in Patch requests.
 14244  	ForceSendFields []string `json:"-"`
 14245  
 14246  	// NullFields is a list of field names (e.g. "ThirdPartyUrlType") to
 14247  	// include in API requests with the JSON null value. By default, fields
 14248  	// with empty values are omitted from API requests. However, any field
 14249  	// with an empty value appearing in NullFields will be sent to the
 14250  	// server as null. It is an error if a field in this list has a
 14251  	// non-empty value. This may be used to include null fields in Patch
 14252  	// requests.
 14253  	NullFields []string `json:"-"`
 14254  }
 14255  
 14256  func (s *ThirdPartyTrackingUrl) MarshalJSON() ([]byte, error) {
 14257  	type NoMethod ThirdPartyTrackingUrl
 14258  	raw := NoMethod(*s)
 14259  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14260  }
 14261  
 14262  // TranscodeSetting: Transcode Settings
 14263  type TranscodeSetting struct {
 14264  	// EnabledVideoFormats: Allowlist of video formats to be served to this
 14265  	// placement. Set this list to null or empty to serve all video formats.
 14266  	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
 14267  
 14268  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14269  	// string "dfareporting#transcodeSetting".
 14270  	Kind string `json:"kind,omitempty"`
 14271  
 14272  	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
 14273  	// to unconditionally include in API requests. By default, fields with
 14274  	// empty or default values are omitted from API requests. However, any
 14275  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14276  	// sent to the server regardless of whether the field is empty or not.
 14277  	// This may be used to include empty fields in Patch requests.
 14278  	ForceSendFields []string `json:"-"`
 14279  
 14280  	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
 14281  	// include in API requests with the JSON null value. By default, fields
 14282  	// with empty values are omitted from API requests. However, any field
 14283  	// with an empty value appearing in NullFields will be sent to the
 14284  	// server as null. It is an error if a field in this list has a
 14285  	// non-empty value. This may be used to include null fields in Patch
 14286  	// requests.
 14287  	NullFields []string `json:"-"`
 14288  }
 14289  
 14290  func (s *TranscodeSetting) MarshalJSON() ([]byte, error) {
 14291  	type NoMethod TranscodeSetting
 14292  	raw := NoMethod(*s)
 14293  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14294  }
 14295  
 14296  // UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
 14297  // to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and
 14298  // VPAID.
 14299  type UniversalAdId struct {
 14300  	// Registry: Registry used for the Ad ID value.
 14301  	//
 14302  	// Possible values:
 14303  	//   "OTHER"
 14304  	//   "AD_ID_OFFICIAL"
 14305  	//   "CLEARCAST"
 14306  	//   "DCM"
 14307  	Registry string `json:"registry,omitempty"`
 14308  
 14309  	// Value: ID value for this creative. Only alphanumeric characters and
 14310  	// the following symbols are valid: "_/\-". Maximum length is 64
 14311  	// characters. Read only when registry is DCM.
 14312  	Value string `json:"value,omitempty"`
 14313  
 14314  	// ForceSendFields is a list of field names (e.g. "Registry") to
 14315  	// unconditionally include in API requests. By default, fields with
 14316  	// empty or default values are omitted from API requests. However, any
 14317  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14318  	// sent to the server regardless of whether the field is empty or not.
 14319  	// This may be used to include empty fields in Patch requests.
 14320  	ForceSendFields []string `json:"-"`
 14321  
 14322  	// NullFields is a list of field names (e.g. "Registry") to include in
 14323  	// API requests with the JSON null value. By default, fields with empty
 14324  	// values are omitted from API requests. However, any field with an
 14325  	// empty value appearing in NullFields will be sent to the server as
 14326  	// null. It is an error if a field in this list has a non-empty value.
 14327  	// This may be used to include null fields in Patch requests.
 14328  	NullFields []string `json:"-"`
 14329  }
 14330  
 14331  func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
 14332  	type NoMethod UniversalAdId
 14333  	raw := NoMethod(*s)
 14334  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14335  }
 14336  
 14337  // UserDefinedVariableConfiguration: User Defined Variable
 14338  // configuration.
 14339  type UserDefinedVariableConfiguration struct {
 14340  	// DataType: Data type for the variable. This is a required field.
 14341  	//
 14342  	// Possible values:
 14343  	//   "STRING"
 14344  	//   "NUMBER"
 14345  	DataType string `json:"dataType,omitempty"`
 14346  
 14347  	// ReportName: User-friendly name for the variable which will appear in
 14348  	// reports. This is a required field, must be less than 64 characters
 14349  	// long, and cannot contain the following characters: ""<>".
 14350  	ReportName string `json:"reportName,omitempty"`
 14351  
 14352  	// VariableType: Variable name in the tag. This is a required field.
 14353  	//
 14354  	// Possible values:
 14355  	//   "U1"
 14356  	//   "U2"
 14357  	//   "U3"
 14358  	//   "U4"
 14359  	//   "U5"
 14360  	//   "U6"
 14361  	//   "U7"
 14362  	//   "U8"
 14363  	//   "U9"
 14364  	//   "U10"
 14365  	//   "U11"
 14366  	//   "U12"
 14367  	//   "U13"
 14368  	//   "U14"
 14369  	//   "U15"
 14370  	//   "U16"
 14371  	//   "U17"
 14372  	//   "U18"
 14373  	//   "U19"
 14374  	//   "U20"
 14375  	//   "U21"
 14376  	//   "U22"
 14377  	//   "U23"
 14378  	//   "U24"
 14379  	//   "U25"
 14380  	//   "U26"
 14381  	//   "U27"
 14382  	//   "U28"
 14383  	//   "U29"
 14384  	//   "U30"
 14385  	//   "U31"
 14386  	//   "U32"
 14387  	//   "U33"
 14388  	//   "U34"
 14389  	//   "U35"
 14390  	//   "U36"
 14391  	//   "U37"
 14392  	//   "U38"
 14393  	//   "U39"
 14394  	//   "U40"
 14395  	//   "U41"
 14396  	//   "U42"
 14397  	//   "U43"
 14398  	//   "U44"
 14399  	//   "U45"
 14400  	//   "U46"
 14401  	//   "U47"
 14402  	//   "U48"
 14403  	//   "U49"
 14404  	//   "U50"
 14405  	//   "U51"
 14406  	//   "U52"
 14407  	//   "U53"
 14408  	//   "U54"
 14409  	//   "U55"
 14410  	//   "U56"
 14411  	//   "U57"
 14412  	//   "U58"
 14413  	//   "U59"
 14414  	//   "U60"
 14415  	//   "U61"
 14416  	//   "U62"
 14417  	//   "U63"
 14418  	//   "U64"
 14419  	//   "U65"
 14420  	//   "U66"
 14421  	//   "U67"
 14422  	//   "U68"
 14423  	//   "U69"
 14424  	//   "U70"
 14425  	//   "U71"
 14426  	//   "U72"
 14427  	//   "U73"
 14428  	//   "U74"
 14429  	//   "U75"
 14430  	//   "U76"
 14431  	//   "U77"
 14432  	//   "U78"
 14433  	//   "U79"
 14434  	//   "U80"
 14435  	//   "U81"
 14436  	//   "U82"
 14437  	//   "U83"
 14438  	//   "U84"
 14439  	//   "U85"
 14440  	//   "U86"
 14441  	//   "U87"
 14442  	//   "U88"
 14443  	//   "U89"
 14444  	//   "U90"
 14445  	//   "U91"
 14446  	//   "U92"
 14447  	//   "U93"
 14448  	//   "U94"
 14449  	//   "U95"
 14450  	//   "U96"
 14451  	//   "U97"
 14452  	//   "U98"
 14453  	//   "U99"
 14454  	//   "U100"
 14455  	VariableType string `json:"variableType,omitempty"`
 14456  
 14457  	// ForceSendFields is a list of field names (e.g. "DataType") to
 14458  	// unconditionally include in API requests. By default, fields with
 14459  	// empty or default values are omitted from API requests. However, any
 14460  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14461  	// sent to the server regardless of whether the field is empty or not.
 14462  	// This may be used to include empty fields in Patch requests.
 14463  	ForceSendFields []string `json:"-"`
 14464  
 14465  	// NullFields is a list of field names (e.g. "DataType") to include in
 14466  	// API requests with the JSON null value. By default, fields with empty
 14467  	// values are omitted from API requests. However, any field with an
 14468  	// empty value appearing in NullFields will be sent to the server as
 14469  	// null. It is an error if a field in this list has a non-empty value.
 14470  	// This may be used to include null fields in Patch requests.
 14471  	NullFields []string `json:"-"`
 14472  }
 14473  
 14474  func (s *UserDefinedVariableConfiguration) MarshalJSON() ([]byte, error) {
 14475  	type NoMethod UserDefinedVariableConfiguration
 14476  	raw := NoMethod(*s)
 14477  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14478  }
 14479  
 14480  // UserProfile: A UserProfile resource lets you list all DFA user
 14481  // profiles that are associated with a Google user account. The
 14482  // profile_id needs to be specified in other API requests.
 14483  type UserProfile struct {
 14484  	// AccountId: The account ID to which this profile belongs.
 14485  	AccountId int64 `json:"accountId,omitempty,string"`
 14486  
 14487  	// AccountName: The account name this profile belongs to.
 14488  	AccountName string `json:"accountName,omitempty"`
 14489  
 14490  	// Etag: Etag of this resource.
 14491  	Etag string `json:"etag,omitempty"`
 14492  
 14493  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14494  	// string "dfareporting#userProfile".
 14495  	Kind string `json:"kind,omitempty"`
 14496  
 14497  	// ProfileId: The unique ID of the user profile.
 14498  	ProfileId int64 `json:"profileId,omitempty,string"`
 14499  
 14500  	// SubAccountId: The sub account ID this profile belongs to if
 14501  	// applicable.
 14502  	SubAccountId int64 `json:"subAccountId,omitempty,string"`
 14503  
 14504  	// SubAccountName: The sub account name this profile belongs to if
 14505  	// applicable.
 14506  	SubAccountName string `json:"subAccountName,omitempty"`
 14507  
 14508  	// UserName: The user name.
 14509  	UserName string `json:"userName,omitempty"`
 14510  
 14511  	// ServerResponse contains the HTTP response code and headers from the
 14512  	// server.
 14513  	googleapi.ServerResponse `json:"-"`
 14514  
 14515  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 14516  	// unconditionally include in API requests. By default, fields with
 14517  	// empty or default values are omitted from API requests. However, any
 14518  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14519  	// sent to the server regardless of whether the field is empty or not.
 14520  	// This may be used to include empty fields in Patch requests.
 14521  	ForceSendFields []string `json:"-"`
 14522  
 14523  	// NullFields is a list of field names (e.g. "AccountId") to include in
 14524  	// API requests with the JSON null value. By default, fields with empty
 14525  	// values are omitted from API requests. However, any field with an
 14526  	// empty value appearing in NullFields will be sent to the server as
 14527  	// null. It is an error if a field in this list has a non-empty value.
 14528  	// This may be used to include null fields in Patch requests.
 14529  	NullFields []string `json:"-"`
 14530  }
 14531  
 14532  func (s *UserProfile) MarshalJSON() ([]byte, error) {
 14533  	type NoMethod UserProfile
 14534  	raw := NoMethod(*s)
 14535  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14536  }
 14537  
 14538  // UserProfileList: Represents the list of user profiles.
 14539  type UserProfileList struct {
 14540  	// Etag: Etag of this resource.
 14541  	Etag string `json:"etag,omitempty"`
 14542  
 14543  	// Items: The user profiles returned in this response.
 14544  	Items []*UserProfile `json:"items,omitempty"`
 14545  
 14546  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14547  	// string "dfareporting#userProfileList".
 14548  	Kind string `json:"kind,omitempty"`
 14549  
 14550  	// ServerResponse contains the HTTP response code and headers from the
 14551  	// server.
 14552  	googleapi.ServerResponse `json:"-"`
 14553  
 14554  	// ForceSendFields is a list of field names (e.g. "Etag") to
 14555  	// unconditionally include in API requests. By default, fields with
 14556  	// empty or default values are omitted from API requests. However, any
 14557  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14558  	// sent to the server regardless of whether the field is empty or not.
 14559  	// This may be used to include empty fields in Patch requests.
 14560  	ForceSendFields []string `json:"-"`
 14561  
 14562  	// NullFields is a list of field names (e.g. "Etag") to include in API
 14563  	// requests with the JSON null value. By default, fields with empty
 14564  	// values are omitted from API requests. However, any field with an
 14565  	// empty value appearing in NullFields will be sent to the server as
 14566  	// null. It is an error if a field in this list has a non-empty value.
 14567  	// This may be used to include null fields in Patch requests.
 14568  	NullFields []string `json:"-"`
 14569  }
 14570  
 14571  func (s *UserProfileList) MarshalJSON() ([]byte, error) {
 14572  	type NoMethod UserProfileList
 14573  	raw := NoMethod(*s)
 14574  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14575  }
 14576  
 14577  // UserRole: Contains properties of auser role, which is used to manage
 14578  // user access.
 14579  type UserRole struct {
 14580  	// AccountId: Account ID of this user role. This is a read-only field
 14581  	// that can be left blank.
 14582  	AccountId int64 `json:"accountId,omitempty,string"`
 14583  
 14584  	// DefaultUserRole: Whether this is a default user role. Default user
 14585  	// roles are created by the system for the account/subaccount and cannot
 14586  	// be modified or deleted. Each default user role comes with a basic set
 14587  	// of preassigned permissions.
 14588  	DefaultUserRole bool `json:"defaultUserRole,omitempty"`
 14589  
 14590  	// Id: ID of this user role. This is a read-only, auto-generated field.
 14591  	Id int64 `json:"id,omitempty,string"`
 14592  
 14593  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14594  	// string "dfareporting#userRole".
 14595  	Kind string `json:"kind,omitempty"`
 14596  
 14597  	// Name: Name of this user role. This is a required field. Must be less
 14598  	// than 256 characters long. If this user role is under a subaccount,
 14599  	// the name must be unique among sites of the same subaccount.
 14600  	// Otherwise, this user role is a top-level user role, and the name must
 14601  	// be unique among top-level user roles of the same account.
 14602  	Name string `json:"name,omitempty"`
 14603  
 14604  	// ParentUserRoleId: ID of the user role that this user role is based on
 14605  	// or copied from. This is a required field.
 14606  	ParentUserRoleId int64 `json:"parentUserRoleId,omitempty,string"`
 14607  
 14608  	// Permissions: List of permissions associated with this user role.
 14609  	Permissions []*UserRolePermission `json:"permissions,omitempty"`
 14610  
 14611  	// SubaccountId: Subaccount ID of this user role. This is a read-only
 14612  	// field that can be left blank.
 14613  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 14614  
 14615  	// ServerResponse contains the HTTP response code and headers from the
 14616  	// server.
 14617  	googleapi.ServerResponse `json:"-"`
 14618  
 14619  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 14620  	// unconditionally include in API requests. By default, fields with
 14621  	// empty or default values are omitted from API requests. However, any
 14622  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14623  	// sent to the server regardless of whether the field is empty or not.
 14624  	// This may be used to include empty fields in Patch requests.
 14625  	ForceSendFields []string `json:"-"`
 14626  
 14627  	// NullFields is a list of field names (e.g. "AccountId") to include in
 14628  	// API requests with the JSON null value. By default, fields with empty
 14629  	// values are omitted from API requests. However, any field with an
 14630  	// empty value appearing in NullFields will be sent to the server as
 14631  	// null. It is an error if a field in this list has a non-empty value.
 14632  	// This may be used to include null fields in Patch requests.
 14633  	NullFields []string `json:"-"`
 14634  }
 14635  
 14636  func (s *UserRole) MarshalJSON() ([]byte, error) {
 14637  	type NoMethod UserRole
 14638  	raw := NoMethod(*s)
 14639  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14640  }
 14641  
 14642  // UserRolePermission: Contains properties of a user role permission.
 14643  type UserRolePermission struct {
 14644  	// Availability: Levels of availability for a user role permission.
 14645  	//
 14646  	// Possible values:
 14647  	//   "NOT_AVAILABLE_BY_DEFAULT"
 14648  	//   "ACCOUNT_BY_DEFAULT"
 14649  	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
 14650  	//   "ACCOUNT_ALWAYS"
 14651  	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
 14652  	//   "USER_PROFILE_ONLY"
 14653  	Availability string `json:"availability,omitempty"`
 14654  
 14655  	// Id: ID of this user role permission.
 14656  	Id int64 `json:"id,omitempty,string"`
 14657  
 14658  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14659  	// string "dfareporting#userRolePermission".
 14660  	Kind string `json:"kind,omitempty"`
 14661  
 14662  	// Name: Name of this user role permission.
 14663  	Name string `json:"name,omitempty"`
 14664  
 14665  	// PermissionGroupId: ID of the permission group that this user role
 14666  	// permission belongs to.
 14667  	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
 14668  
 14669  	// ServerResponse contains the HTTP response code and headers from the
 14670  	// server.
 14671  	googleapi.ServerResponse `json:"-"`
 14672  
 14673  	// ForceSendFields is a list of field names (e.g. "Availability") to
 14674  	// unconditionally include in API requests. By default, fields with
 14675  	// empty or default values are omitted from API requests. However, any
 14676  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14677  	// sent to the server regardless of whether the field is empty or not.
 14678  	// This may be used to include empty fields in Patch requests.
 14679  	ForceSendFields []string `json:"-"`
 14680  
 14681  	// NullFields is a list of field names (e.g. "Availability") to include
 14682  	// in API requests with the JSON null value. By default, fields with
 14683  	// empty values are omitted from API requests. However, any field with
 14684  	// an empty value appearing in NullFields will be sent to the server as
 14685  	// null. It is an error if a field in this list has a non-empty value.
 14686  	// This may be used to include null fields in Patch requests.
 14687  	NullFields []string `json:"-"`
 14688  }
 14689  
 14690  func (s *UserRolePermission) MarshalJSON() ([]byte, error) {
 14691  	type NoMethod UserRolePermission
 14692  	raw := NoMethod(*s)
 14693  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14694  }
 14695  
 14696  // UserRolePermissionGroup: Represents a grouping of related user role
 14697  // permissions.
 14698  type UserRolePermissionGroup struct {
 14699  	// Id: ID of this user role permission.
 14700  	Id int64 `json:"id,omitempty,string"`
 14701  
 14702  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14703  	// string "dfareporting#userRolePermissionGroup".
 14704  	Kind string `json:"kind,omitempty"`
 14705  
 14706  	// Name: Name of this user role permission group.
 14707  	Name string `json:"name,omitempty"`
 14708  
 14709  	// ServerResponse contains the HTTP response code and headers from the
 14710  	// server.
 14711  	googleapi.ServerResponse `json:"-"`
 14712  
 14713  	// ForceSendFields is a list of field names (e.g. "Id") to
 14714  	// unconditionally include in API requests. By default, fields with
 14715  	// empty or default values are omitted from API requests. However, any
 14716  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14717  	// sent to the server regardless of whether the field is empty or not.
 14718  	// This may be used to include empty fields in Patch requests.
 14719  	ForceSendFields []string `json:"-"`
 14720  
 14721  	// NullFields is a list of field names (e.g. "Id") to include in API
 14722  	// requests with the JSON null value. By default, fields with empty
 14723  	// values are omitted from API requests. However, any field with an
 14724  	// empty value appearing in NullFields will be sent to the server as
 14725  	// null. It is an error if a field in this list has a non-empty value.
 14726  	// This may be used to include null fields in Patch requests.
 14727  	NullFields []string `json:"-"`
 14728  }
 14729  
 14730  func (s *UserRolePermissionGroup) MarshalJSON() ([]byte, error) {
 14731  	type NoMethod UserRolePermissionGroup
 14732  	raw := NoMethod(*s)
 14733  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14734  }
 14735  
 14736  // UserRolePermissionGroupsListResponse: User Role Permission Group List
 14737  // Response
 14738  type UserRolePermissionGroupsListResponse struct {
 14739  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14740  	// string "dfareporting#userRolePermissionGroupsListResponse".
 14741  	Kind string `json:"kind,omitempty"`
 14742  
 14743  	// UserRolePermissionGroups: User role permission group collection.
 14744  	UserRolePermissionGroups []*UserRolePermissionGroup `json:"userRolePermissionGroups,omitempty"`
 14745  
 14746  	// ServerResponse contains the HTTP response code and headers from the
 14747  	// server.
 14748  	googleapi.ServerResponse `json:"-"`
 14749  
 14750  	// ForceSendFields is a list of field names (e.g. "Kind") to
 14751  	// unconditionally include in API requests. By default, fields with
 14752  	// empty or default values are omitted from API requests. However, any
 14753  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14754  	// sent to the server regardless of whether the field is empty or not.
 14755  	// This may be used to include empty fields in Patch requests.
 14756  	ForceSendFields []string `json:"-"`
 14757  
 14758  	// NullFields is a list of field names (e.g. "Kind") to include in API
 14759  	// requests with the JSON null value. By default, fields with empty
 14760  	// values are omitted from API requests. However, any field with an
 14761  	// empty value appearing in NullFields will be sent to the server as
 14762  	// null. It is an error if a field in this list has a non-empty value.
 14763  	// This may be used to include null fields in Patch requests.
 14764  	NullFields []string `json:"-"`
 14765  }
 14766  
 14767  func (s *UserRolePermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
 14768  	type NoMethod UserRolePermissionGroupsListResponse
 14769  	raw := NoMethod(*s)
 14770  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14771  }
 14772  
 14773  // UserRolePermissionsListResponse: User Role Permission List Response
 14774  type UserRolePermissionsListResponse struct {
 14775  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14776  	// string "dfareporting#userRolePermissionsListResponse".
 14777  	Kind string `json:"kind,omitempty"`
 14778  
 14779  	// UserRolePermissions: User role permission collection.
 14780  	UserRolePermissions []*UserRolePermission `json:"userRolePermissions,omitempty"`
 14781  
 14782  	// ServerResponse contains the HTTP response code and headers from the
 14783  	// server.
 14784  	googleapi.ServerResponse `json:"-"`
 14785  
 14786  	// ForceSendFields is a list of field names (e.g. "Kind") to
 14787  	// unconditionally include in API requests. By default, fields with
 14788  	// empty or default values are omitted from API requests. However, any
 14789  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14790  	// sent to the server regardless of whether the field is empty or not.
 14791  	// This may be used to include empty fields in Patch requests.
 14792  	ForceSendFields []string `json:"-"`
 14793  
 14794  	// NullFields is a list of field names (e.g. "Kind") to include in API
 14795  	// requests with the JSON null value. By default, fields with empty
 14796  	// values are omitted from API requests. However, any field with an
 14797  	// empty value appearing in NullFields will be sent to the server as
 14798  	// null. It is an error if a field in this list has a non-empty value.
 14799  	// This may be used to include null fields in Patch requests.
 14800  	NullFields []string `json:"-"`
 14801  }
 14802  
 14803  func (s *UserRolePermissionsListResponse) MarshalJSON() ([]byte, error) {
 14804  	type NoMethod UserRolePermissionsListResponse
 14805  	raw := NoMethod(*s)
 14806  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14807  }
 14808  
 14809  // UserRolesListResponse: User Role List Response
 14810  type UserRolesListResponse struct {
 14811  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14812  	// string "dfareporting#userRolesListResponse".
 14813  	Kind string `json:"kind,omitempty"`
 14814  
 14815  	// NextPageToken: Pagination token to be used for the next list
 14816  	// operation.
 14817  	NextPageToken string `json:"nextPageToken,omitempty"`
 14818  
 14819  	// UserRoles: User role collection.
 14820  	UserRoles []*UserRole `json:"userRoles,omitempty"`
 14821  
 14822  	// ServerResponse contains the HTTP response code and headers from the
 14823  	// server.
 14824  	googleapi.ServerResponse `json:"-"`
 14825  
 14826  	// ForceSendFields is a list of field names (e.g. "Kind") to
 14827  	// unconditionally include in API requests. By default, fields with
 14828  	// empty or default values are omitted from API requests. However, any
 14829  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14830  	// sent to the server regardless of whether the field is empty or not.
 14831  	// This may be used to include empty fields in Patch requests.
 14832  	ForceSendFields []string `json:"-"`
 14833  
 14834  	// NullFields is a list of field names (e.g. "Kind") to include in API
 14835  	// requests with the JSON null value. By default, fields with empty
 14836  	// values are omitted from API requests. However, any field with an
 14837  	// empty value appearing in NullFields will be sent to the server as
 14838  	// null. It is an error if a field in this list has a non-empty value.
 14839  	// This may be used to include null fields in Patch requests.
 14840  	NullFields []string `json:"-"`
 14841  }
 14842  
 14843  func (s *UserRolesListResponse) MarshalJSON() ([]byte, error) {
 14844  	type NoMethod UserRolesListResponse
 14845  	raw := NoMethod(*s)
 14846  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14847  }
 14848  
 14849  // VideoFormat: Contains information about supported video formats.
 14850  type VideoFormat struct {
 14851  	// FileType: File type of the video format.
 14852  	//
 14853  	// Possible values:
 14854  	//   "FLV"
 14855  	//   "THREEGPP"
 14856  	//   "MP4"
 14857  	//   "WEBM"
 14858  	//   "M3U8"
 14859  	FileType string `json:"fileType,omitempty"`
 14860  
 14861  	// Id: ID of the video format.
 14862  	Id int64 `json:"id,omitempty"`
 14863  
 14864  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14865  	// string "dfareporting#videoFormat".
 14866  	Kind string `json:"kind,omitempty"`
 14867  
 14868  	// Resolution: The resolution of this video format.
 14869  	Resolution *Size `json:"resolution,omitempty"`
 14870  
 14871  	// TargetBitRate: The target bit rate of this video format.
 14872  	TargetBitRate int64 `json:"targetBitRate,omitempty"`
 14873  
 14874  	// ServerResponse contains the HTTP response code and headers from the
 14875  	// server.
 14876  	googleapi.ServerResponse `json:"-"`
 14877  
 14878  	// ForceSendFields is a list of field names (e.g. "FileType") to
 14879  	// unconditionally include in API requests. By default, fields with
 14880  	// empty or default values are omitted from API requests. However, any
 14881  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14882  	// sent to the server regardless of whether the field is empty or not.
 14883  	// This may be used to include empty fields in Patch requests.
 14884  	ForceSendFields []string `json:"-"`
 14885  
 14886  	// NullFields is a list of field names (e.g. "FileType") to include in
 14887  	// API requests with the JSON null value. By default, fields with empty
 14888  	// values are omitted from API requests. However, any field with an
 14889  	// empty value appearing in NullFields will be sent to the server as
 14890  	// null. It is an error if a field in this list has a non-empty value.
 14891  	// This may be used to include null fields in Patch requests.
 14892  	NullFields []string `json:"-"`
 14893  }
 14894  
 14895  func (s *VideoFormat) MarshalJSON() ([]byte, error) {
 14896  	type NoMethod VideoFormat
 14897  	raw := NoMethod(*s)
 14898  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14899  }
 14900  
 14901  // VideoFormatsListResponse: Video Format List Response
 14902  type VideoFormatsListResponse struct {
 14903  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14904  	// string "dfareporting#videoFormatsListResponse".
 14905  	Kind string `json:"kind,omitempty"`
 14906  
 14907  	// VideoFormats: Video format collection.
 14908  	VideoFormats []*VideoFormat `json:"videoFormats,omitempty"`
 14909  
 14910  	// ServerResponse contains the HTTP response code and headers from the
 14911  	// server.
 14912  	googleapi.ServerResponse `json:"-"`
 14913  
 14914  	// ForceSendFields is a list of field names (e.g. "Kind") to
 14915  	// unconditionally include in API requests. By default, fields with
 14916  	// empty or default values are omitted from API requests. However, any
 14917  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14918  	// sent to the server regardless of whether the field is empty or not.
 14919  	// This may be used to include empty fields in Patch requests.
 14920  	ForceSendFields []string `json:"-"`
 14921  
 14922  	// NullFields is a list of field names (e.g. "Kind") to include in API
 14923  	// requests with the JSON null value. By default, fields with empty
 14924  	// values are omitted from API requests. However, any field with an
 14925  	// empty value appearing in NullFields will be sent to the server as
 14926  	// null. It is an error if a field in this list has a non-empty value.
 14927  	// This may be used to include null fields in Patch requests.
 14928  	NullFields []string `json:"-"`
 14929  }
 14930  
 14931  func (s *VideoFormatsListResponse) MarshalJSON() ([]byte, error) {
 14932  	type NoMethod VideoFormatsListResponse
 14933  	raw := NoMethod(*s)
 14934  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14935  }
 14936  
 14937  // VideoOffset: Video Offset
 14938  type VideoOffset struct {
 14939  	// OffsetPercentage: Duration, as a percentage of video duration. Do not
 14940  	// set when offsetSeconds is set. Acceptable values are 0 to 100,
 14941  	// inclusive.
 14942  	OffsetPercentage int64 `json:"offsetPercentage,omitempty"`
 14943  
 14944  	// OffsetSeconds: Duration, in seconds. Do not set when offsetPercentage
 14945  	// is set. Acceptable values are 0 to 86399, inclusive.
 14946  	OffsetSeconds int64 `json:"offsetSeconds,omitempty"`
 14947  
 14948  	// ForceSendFields is a list of field names (e.g. "OffsetPercentage") to
 14949  	// unconditionally include in API requests. By default, fields with
 14950  	// empty or default values are omitted from API requests. However, any
 14951  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14952  	// sent to the server regardless of whether the field is empty or not.
 14953  	// This may be used to include empty fields in Patch requests.
 14954  	ForceSendFields []string `json:"-"`
 14955  
 14956  	// NullFields is a list of field names (e.g. "OffsetPercentage") to
 14957  	// include in API requests with the JSON null value. By default, fields
 14958  	// with empty values are omitted from API requests. However, any field
 14959  	// with an empty value appearing in NullFields will be sent to the
 14960  	// server as null. It is an error if a field in this list has a
 14961  	// non-empty value. This may be used to include null fields in Patch
 14962  	// requests.
 14963  	NullFields []string `json:"-"`
 14964  }
 14965  
 14966  func (s *VideoOffset) MarshalJSON() ([]byte, error) {
 14967  	type NoMethod VideoOffset
 14968  	raw := NoMethod(*s)
 14969  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14970  }
 14971  
 14972  // VideoSettings: Video Settings
 14973  type VideoSettings struct {
 14974  	// CompanionSettings: Settings for the companion creatives of video
 14975  	// creatives served to this placement.
 14976  	CompanionSettings *CompanionSetting `json:"companionSettings,omitempty"`
 14977  
 14978  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14979  	// string "dfareporting#videoSettings".
 14980  	Kind string `json:"kind,omitempty"`
 14981  
 14982  	// ObaEnabled: Whether OBA icons are enabled for this placement.
 14983  	ObaEnabled bool `json:"obaEnabled,omitempty"`
 14984  
 14985  	// ObaSettings: Settings for the OBA icon of video creatives served to
 14986  	// this placement. If this object is provided, the creative-level OBA
 14987  	// settings will be overridden.
 14988  	ObaSettings *ObaIcon `json:"obaSettings,omitempty"`
 14989  
 14990  	// Orientation: Orientation of a video placement. If this value is set,
 14991  	// placement will return assets matching the specified orientation.
 14992  	//
 14993  	// Possible values:
 14994  	//   "ANY"
 14995  	//   "LANDSCAPE"
 14996  	//   "PORTRAIT"
 14997  	Orientation string `json:"orientation,omitempty"`
 14998  
 14999  	// SkippableSettings: Settings for the skippability of video creatives
 15000  	// served to this placement. If this object is provided, the
 15001  	// creative-level skippable settings will be overridden.
 15002  	SkippableSettings *SkippableSetting `json:"skippableSettings,omitempty"`
 15003  
 15004  	// TranscodeSettings: Settings for the transcodes of video creatives
 15005  	// served to this placement. If this object is provided, the
 15006  	// creative-level transcode settings will be overridden.
 15007  	TranscodeSettings *TranscodeSetting `json:"transcodeSettings,omitempty"`
 15008  
 15009  	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
 15010  	// to unconditionally include in API requests. By default, fields with
 15011  	// empty or default values are omitted from API requests. However, any
 15012  	// non-pointer, non-interface field appearing in ForceSendFields will be
 15013  	// sent to the server regardless of whether the field is empty or not.
 15014  	// This may be used to include empty fields in Patch requests.
 15015  	ForceSendFields []string `json:"-"`
 15016  
 15017  	// NullFields is a list of field names (e.g. "CompanionSettings") to
 15018  	// include in API requests with the JSON null value. By default, fields
 15019  	// with empty values are omitted from API requests. However, any field
 15020  	// with an empty value appearing in NullFields will be sent to the
 15021  	// server as null. It is an error if a field in this list has a
 15022  	// non-empty value. This may be used to include null fields in Patch
 15023  	// requests.
 15024  	NullFields []string `json:"-"`
 15025  }
 15026  
 15027  func (s *VideoSettings) MarshalJSON() ([]byte, error) {
 15028  	type NoMethod VideoSettings
 15029  	raw := NoMethod(*s)
 15030  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 15031  }
 15032  
 15033  // method id "dfareporting.accountActiveAdSummaries.get":
 15034  
 15035  type AccountActiveAdSummariesGetCall struct {
 15036  	s                *Service
 15037  	profileId        int64
 15038  	summaryAccountId int64
 15039  	urlParams_       gensupport.URLParams
 15040  	ifNoneMatch_     string
 15041  	ctx_             context.Context
 15042  	header_          http.Header
 15043  }
 15044  
 15045  // Get: Gets the account's active ad summary by account ID.
 15046  //
 15047  // - profileId: User profile ID associated with this request.
 15048  // - summaryAccountId: Account ID.
 15049  func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
 15050  	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15051  	c.profileId = profileId
 15052  	c.summaryAccountId = summaryAccountId
 15053  	return c
 15054  }
 15055  
 15056  // Fields allows partial responses to be retrieved. See
 15057  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15058  // for more information.
 15059  func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
 15060  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15061  	return c
 15062  }
 15063  
 15064  // IfNoneMatch sets the optional parameter which makes the operation
 15065  // fail if the object's ETag matches the given value. This is useful for
 15066  // getting updates only after the object has changed since the last
 15067  // request. Use googleapi.IsNotModified to check whether the response
 15068  // error from Do is the result of In-None-Match.
 15069  func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
 15070  	c.ifNoneMatch_ = entityTag
 15071  	return c
 15072  }
 15073  
 15074  // Context sets the context to be used in this call's Do method. Any
 15075  // pending HTTP request will be aborted if the provided context is
 15076  // canceled.
 15077  func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
 15078  	c.ctx_ = ctx
 15079  	return c
 15080  }
 15081  
 15082  // Header returns an http.Header that can be modified by the caller to
 15083  // add HTTP headers to the request.
 15084  func (c *AccountActiveAdSummariesGetCall) Header() http.Header {
 15085  	if c.header_ == nil {
 15086  		c.header_ = make(http.Header)
 15087  	}
 15088  	return c.header_
 15089  }
 15090  
 15091  func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
 15092  	reqHeaders := make(http.Header)
 15093  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 15094  	for k, v := range c.header_ {
 15095  		reqHeaders[k] = v
 15096  	}
 15097  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15098  	if c.ifNoneMatch_ != "" {
 15099  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15100  	}
 15101  	var body io.Reader = nil
 15102  	c.urlParams_.Set("alt", alt)
 15103  	c.urlParams_.Set("prettyPrint", "false")
 15104  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
 15105  	urls += "?" + c.urlParams_.Encode()
 15106  	req, err := http.NewRequest("GET", urls, body)
 15107  	if err != nil {
 15108  		return nil, err
 15109  	}
 15110  	req.Header = reqHeaders
 15111  	googleapi.Expand(req.URL, map[string]string{
 15112  		"profileId":        strconv.FormatInt(c.profileId, 10),
 15113  		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
 15114  	})
 15115  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15116  }
 15117  
 15118  // Do executes the "dfareporting.accountActiveAdSummaries.get" call.
 15119  // Exactly one of *AccountActiveAdSummary or error will be non-nil. Any
 15120  // non-2xx status code is an error. Response headers are in either
 15121  // *AccountActiveAdSummary.ServerResponse.Header or (if a response was
 15122  // returned at all) in error.(*googleapi.Error).Header. Use
 15123  // googleapi.IsNotModified to check whether the returned error was
 15124  // because http.StatusNotModified was returned.
 15125  func (c *AccountActiveAdSummariesGetCall) Do(opts ...googleapi.CallOption) (*AccountActiveAdSummary, error) {
 15126  	gensupport.SetOptions(c.urlParams_, opts...)
 15127  	res, err := c.doRequest("json")
 15128  	if res != nil && res.StatusCode == http.StatusNotModified {
 15129  		if res.Body != nil {
 15130  			res.Body.Close()
 15131  		}
 15132  		return nil, &googleapi.Error{
 15133  			Code:   res.StatusCode,
 15134  			Header: res.Header,
 15135  		}
 15136  	}
 15137  	if err != nil {
 15138  		return nil, err
 15139  	}
 15140  	defer googleapi.CloseBody(res)
 15141  	if err := googleapi.CheckResponse(res); err != nil {
 15142  		return nil, err
 15143  	}
 15144  	ret := &AccountActiveAdSummary{
 15145  		ServerResponse: googleapi.ServerResponse{
 15146  			Header:         res.Header,
 15147  			HTTPStatusCode: res.StatusCode,
 15148  		},
 15149  	}
 15150  	target := &ret
 15151  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15152  		return nil, err
 15153  	}
 15154  	return ret, nil
 15155  	// {
 15156  	//   "description": "Gets the account's active ad summary by account ID.",
 15157  	//   "flatPath": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
 15158  	//   "httpMethod": "GET",
 15159  	//   "id": "dfareporting.accountActiveAdSummaries.get",
 15160  	//   "parameterOrder": [
 15161  	//     "profileId",
 15162  	//     "summaryAccountId"
 15163  	//   ],
 15164  	//   "parameters": {
 15165  	//     "profileId": {
 15166  	//       "description": "User profile ID associated with this request.",
 15167  	//       "format": "int64",
 15168  	//       "location": "path",
 15169  	//       "required": true,
 15170  	//       "type": "string"
 15171  	//     },
 15172  	//     "summaryAccountId": {
 15173  	//       "description": "Account ID.",
 15174  	//       "format": "int64",
 15175  	//       "location": "path",
 15176  	//       "required": true,
 15177  	//       "type": "string"
 15178  	//     }
 15179  	//   },
 15180  	//   "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
 15181  	//   "response": {
 15182  	//     "$ref": "AccountActiveAdSummary"
 15183  	//   },
 15184  	//   "scopes": [
 15185  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15186  	//   ]
 15187  	// }
 15188  
 15189  }
 15190  
 15191  // method id "dfareporting.accountPermissionGroups.get":
 15192  
 15193  type AccountPermissionGroupsGetCall struct {
 15194  	s            *Service
 15195  	profileId    int64
 15196  	id           int64
 15197  	urlParams_   gensupport.URLParams
 15198  	ifNoneMatch_ string
 15199  	ctx_         context.Context
 15200  	header_      http.Header
 15201  }
 15202  
 15203  // Get: Gets one account permission group by ID.
 15204  //
 15205  // - id: Account permission group ID.
 15206  // - profileId: User profile ID associated with this request.
 15207  func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
 15208  	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15209  	c.profileId = profileId
 15210  	c.id = id
 15211  	return c
 15212  }
 15213  
 15214  // Fields allows partial responses to be retrieved. See
 15215  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15216  // for more information.
 15217  func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
 15218  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15219  	return c
 15220  }
 15221  
 15222  // IfNoneMatch sets the optional parameter which makes the operation
 15223  // fail if the object's ETag matches the given value. This is useful for
 15224  // getting updates only after the object has changed since the last
 15225  // request. Use googleapi.IsNotModified to check whether the response
 15226  // error from Do is the result of In-None-Match.
 15227  func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
 15228  	c.ifNoneMatch_ = entityTag
 15229  	return c
 15230  }
 15231  
 15232  // Context sets the context to be used in this call's Do method. Any
 15233  // pending HTTP request will be aborted if the provided context is
 15234  // canceled.
 15235  func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
 15236  	c.ctx_ = ctx
 15237  	return c
 15238  }
 15239  
 15240  // Header returns an http.Header that can be modified by the caller to
 15241  // add HTTP headers to the request.
 15242  func (c *AccountPermissionGroupsGetCall) Header() http.Header {
 15243  	if c.header_ == nil {
 15244  		c.header_ = make(http.Header)
 15245  	}
 15246  	return c.header_
 15247  }
 15248  
 15249  func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 15250  	reqHeaders := make(http.Header)
 15251  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 15252  	for k, v := range c.header_ {
 15253  		reqHeaders[k] = v
 15254  	}
 15255  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15256  	if c.ifNoneMatch_ != "" {
 15257  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15258  	}
 15259  	var body io.Reader = nil
 15260  	c.urlParams_.Set("alt", alt)
 15261  	c.urlParams_.Set("prettyPrint", "false")
 15262  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
 15263  	urls += "?" + c.urlParams_.Encode()
 15264  	req, err := http.NewRequest("GET", urls, body)
 15265  	if err != nil {
 15266  		return nil, err
 15267  	}
 15268  	req.Header = reqHeaders
 15269  	googleapi.Expand(req.URL, map[string]string{
 15270  		"profileId": strconv.FormatInt(c.profileId, 10),
 15271  		"id":        strconv.FormatInt(c.id, 10),
 15272  	})
 15273  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15274  }
 15275  
 15276  // Do executes the "dfareporting.accountPermissionGroups.get" call.
 15277  // Exactly one of *AccountPermissionGroup or error will be non-nil. Any
 15278  // non-2xx status code is an error. Response headers are in either
 15279  // *AccountPermissionGroup.ServerResponse.Header or (if a response was
 15280  // returned at all) in error.(*googleapi.Error).Header. Use
 15281  // googleapi.IsNotModified to check whether the returned error was
 15282  // because http.StatusNotModified was returned.
 15283  func (c *AccountPermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroup, error) {
 15284  	gensupport.SetOptions(c.urlParams_, opts...)
 15285  	res, err := c.doRequest("json")
 15286  	if res != nil && res.StatusCode == http.StatusNotModified {
 15287  		if res.Body != nil {
 15288  			res.Body.Close()
 15289  		}
 15290  		return nil, &googleapi.Error{
 15291  			Code:   res.StatusCode,
 15292  			Header: res.Header,
 15293  		}
 15294  	}
 15295  	if err != nil {
 15296  		return nil, err
 15297  	}
 15298  	defer googleapi.CloseBody(res)
 15299  	if err := googleapi.CheckResponse(res); err != nil {
 15300  		return nil, err
 15301  	}
 15302  	ret := &AccountPermissionGroup{
 15303  		ServerResponse: googleapi.ServerResponse{
 15304  			Header:         res.Header,
 15305  			HTTPStatusCode: res.StatusCode,
 15306  		},
 15307  	}
 15308  	target := &ret
 15309  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15310  		return nil, err
 15311  	}
 15312  	return ret, nil
 15313  	// {
 15314  	//   "description": "Gets one account permission group by ID.",
 15315  	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups/{id}",
 15316  	//   "httpMethod": "GET",
 15317  	//   "id": "dfareporting.accountPermissionGroups.get",
 15318  	//   "parameterOrder": [
 15319  	//     "profileId",
 15320  	//     "id"
 15321  	//   ],
 15322  	//   "parameters": {
 15323  	//     "id": {
 15324  	//       "description": "Account permission group ID.",
 15325  	//       "format": "int64",
 15326  	//       "location": "path",
 15327  	//       "required": true,
 15328  	//       "type": "string"
 15329  	//     },
 15330  	//     "profileId": {
 15331  	//       "description": "User profile ID associated with this request.",
 15332  	//       "format": "int64",
 15333  	//       "location": "path",
 15334  	//       "required": true,
 15335  	//       "type": "string"
 15336  	//     }
 15337  	//   },
 15338  	//   "path": "userprofiles/{profileId}/accountPermissionGroups/{id}",
 15339  	//   "response": {
 15340  	//     "$ref": "AccountPermissionGroup"
 15341  	//   },
 15342  	//   "scopes": [
 15343  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15344  	//   ]
 15345  	// }
 15346  
 15347  }
 15348  
 15349  // method id "dfareporting.accountPermissionGroups.list":
 15350  
 15351  type AccountPermissionGroupsListCall struct {
 15352  	s            *Service
 15353  	profileId    int64
 15354  	urlParams_   gensupport.URLParams
 15355  	ifNoneMatch_ string
 15356  	ctx_         context.Context
 15357  	header_      http.Header
 15358  }
 15359  
 15360  // List: Retrieves the list of account permission groups.
 15361  //
 15362  // - profileId: User profile ID associated with this request.
 15363  func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
 15364  	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15365  	c.profileId = profileId
 15366  	return c
 15367  }
 15368  
 15369  // Fields allows partial responses to be retrieved. See
 15370  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15371  // for more information.
 15372  func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
 15373  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15374  	return c
 15375  }
 15376  
 15377  // IfNoneMatch sets the optional parameter which makes the operation
 15378  // fail if the object's ETag matches the given value. This is useful for
 15379  // getting updates only after the object has changed since the last
 15380  // request. Use googleapi.IsNotModified to check whether the response
 15381  // error from Do is the result of In-None-Match.
 15382  func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
 15383  	c.ifNoneMatch_ = entityTag
 15384  	return c
 15385  }
 15386  
 15387  // Context sets the context to be used in this call's Do method. Any
 15388  // pending HTTP request will be aborted if the provided context is
 15389  // canceled.
 15390  func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
 15391  	c.ctx_ = ctx
 15392  	return c
 15393  }
 15394  
 15395  // Header returns an http.Header that can be modified by the caller to
 15396  // add HTTP headers to the request.
 15397  func (c *AccountPermissionGroupsListCall) Header() http.Header {
 15398  	if c.header_ == nil {
 15399  		c.header_ = make(http.Header)
 15400  	}
 15401  	return c.header_
 15402  }
 15403  
 15404  func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 15405  	reqHeaders := make(http.Header)
 15406  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 15407  	for k, v := range c.header_ {
 15408  		reqHeaders[k] = v
 15409  	}
 15410  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15411  	if c.ifNoneMatch_ != "" {
 15412  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15413  	}
 15414  	var body io.Reader = nil
 15415  	c.urlParams_.Set("alt", alt)
 15416  	c.urlParams_.Set("prettyPrint", "false")
 15417  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
 15418  	urls += "?" + c.urlParams_.Encode()
 15419  	req, err := http.NewRequest("GET", urls, body)
 15420  	if err != nil {
 15421  		return nil, err
 15422  	}
 15423  	req.Header = reqHeaders
 15424  	googleapi.Expand(req.URL, map[string]string{
 15425  		"profileId": strconv.FormatInt(c.profileId, 10),
 15426  	})
 15427  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15428  }
 15429  
 15430  // Do executes the "dfareporting.accountPermissionGroups.list" call.
 15431  // Exactly one of *AccountPermissionGroupsListResponse or error will be
 15432  // non-nil. Any non-2xx status code is an error. Response headers are in
 15433  // either *AccountPermissionGroupsListResponse.ServerResponse.Header or
 15434  // (if a response was returned at all) in
 15435  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15436  // whether the returned error was because http.StatusNotModified was
 15437  // returned.
 15438  func (c *AccountPermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroupsListResponse, error) {
 15439  	gensupport.SetOptions(c.urlParams_, opts...)
 15440  	res, err := c.doRequest("json")
 15441  	if res != nil && res.StatusCode == http.StatusNotModified {
 15442  		if res.Body != nil {
 15443  			res.Body.Close()
 15444  		}
 15445  		return nil, &googleapi.Error{
 15446  			Code:   res.StatusCode,
 15447  			Header: res.Header,
 15448  		}
 15449  	}
 15450  	if err != nil {
 15451  		return nil, err
 15452  	}
 15453  	defer googleapi.CloseBody(res)
 15454  	if err := googleapi.CheckResponse(res); err != nil {
 15455  		return nil, err
 15456  	}
 15457  	ret := &AccountPermissionGroupsListResponse{
 15458  		ServerResponse: googleapi.ServerResponse{
 15459  			Header:         res.Header,
 15460  			HTTPStatusCode: res.StatusCode,
 15461  		},
 15462  	}
 15463  	target := &ret
 15464  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15465  		return nil, err
 15466  	}
 15467  	return ret, nil
 15468  	// {
 15469  	//   "description": "Retrieves the list of account permission groups.",
 15470  	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups",
 15471  	//   "httpMethod": "GET",
 15472  	//   "id": "dfareporting.accountPermissionGroups.list",
 15473  	//   "parameterOrder": [
 15474  	//     "profileId"
 15475  	//   ],
 15476  	//   "parameters": {
 15477  	//     "profileId": {
 15478  	//       "description": "User profile ID associated with this request.",
 15479  	//       "format": "int64",
 15480  	//       "location": "path",
 15481  	//       "required": true,
 15482  	//       "type": "string"
 15483  	//     }
 15484  	//   },
 15485  	//   "path": "userprofiles/{profileId}/accountPermissionGroups",
 15486  	//   "response": {
 15487  	//     "$ref": "AccountPermissionGroupsListResponse"
 15488  	//   },
 15489  	//   "scopes": [
 15490  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15491  	//   ]
 15492  	// }
 15493  
 15494  }
 15495  
 15496  // method id "dfareporting.accountPermissions.get":
 15497  
 15498  type AccountPermissionsGetCall struct {
 15499  	s            *Service
 15500  	profileId    int64
 15501  	id           int64
 15502  	urlParams_   gensupport.URLParams
 15503  	ifNoneMatch_ string
 15504  	ctx_         context.Context
 15505  	header_      http.Header
 15506  }
 15507  
 15508  // Get: Gets one account permission by ID.
 15509  //
 15510  // - id: Account permission ID.
 15511  // - profileId: User profile ID associated with this request.
 15512  func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
 15513  	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15514  	c.profileId = profileId
 15515  	c.id = id
 15516  	return c
 15517  }
 15518  
 15519  // Fields allows partial responses to be retrieved. See
 15520  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15521  // for more information.
 15522  func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
 15523  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15524  	return c
 15525  }
 15526  
 15527  // IfNoneMatch sets the optional parameter which makes the operation
 15528  // fail if the object's ETag matches the given value. This is useful for
 15529  // getting updates only after the object has changed since the last
 15530  // request. Use googleapi.IsNotModified to check whether the response
 15531  // error from Do is the result of In-None-Match.
 15532  func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
 15533  	c.ifNoneMatch_ = entityTag
 15534  	return c
 15535  }
 15536  
 15537  // Context sets the context to be used in this call's Do method. Any
 15538  // pending HTTP request will be aborted if the provided context is
 15539  // canceled.
 15540  func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
 15541  	c.ctx_ = ctx
 15542  	return c
 15543  }
 15544  
 15545  // Header returns an http.Header that can be modified by the caller to
 15546  // add HTTP headers to the request.
 15547  func (c *AccountPermissionsGetCall) Header() http.Header {
 15548  	if c.header_ == nil {
 15549  		c.header_ = make(http.Header)
 15550  	}
 15551  	return c.header_
 15552  }
 15553  
 15554  func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 15555  	reqHeaders := make(http.Header)
 15556  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 15557  	for k, v := range c.header_ {
 15558  		reqHeaders[k] = v
 15559  	}
 15560  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15561  	if c.ifNoneMatch_ != "" {
 15562  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15563  	}
 15564  	var body io.Reader = nil
 15565  	c.urlParams_.Set("alt", alt)
 15566  	c.urlParams_.Set("prettyPrint", "false")
 15567  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
 15568  	urls += "?" + c.urlParams_.Encode()
 15569  	req, err := http.NewRequest("GET", urls, body)
 15570  	if err != nil {
 15571  		return nil, err
 15572  	}
 15573  	req.Header = reqHeaders
 15574  	googleapi.Expand(req.URL, map[string]string{
 15575  		"profileId": strconv.FormatInt(c.profileId, 10),
 15576  		"id":        strconv.FormatInt(c.id, 10),
 15577  	})
 15578  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15579  }
 15580  
 15581  // Do executes the "dfareporting.accountPermissions.get" call.
 15582  // Exactly one of *AccountPermission or error will be non-nil. Any
 15583  // non-2xx status code is an error. Response headers are in either
 15584  // *AccountPermission.ServerResponse.Header or (if a response was
 15585  // returned at all) in error.(*googleapi.Error).Header. Use
 15586  // googleapi.IsNotModified to check whether the returned error was
 15587  // because http.StatusNotModified was returned.
 15588  func (c *AccountPermissionsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermission, error) {
 15589  	gensupport.SetOptions(c.urlParams_, opts...)
 15590  	res, err := c.doRequest("json")
 15591  	if res != nil && res.StatusCode == http.StatusNotModified {
 15592  		if res.Body != nil {
 15593  			res.Body.Close()
 15594  		}
 15595  		return nil, &googleapi.Error{
 15596  			Code:   res.StatusCode,
 15597  			Header: res.Header,
 15598  		}
 15599  	}
 15600  	if err != nil {
 15601  		return nil, err
 15602  	}
 15603  	defer googleapi.CloseBody(res)
 15604  	if err := googleapi.CheckResponse(res); err != nil {
 15605  		return nil, err
 15606  	}
 15607  	ret := &AccountPermission{
 15608  		ServerResponse: googleapi.ServerResponse{
 15609  			Header:         res.Header,
 15610  			HTTPStatusCode: res.StatusCode,
 15611  		},
 15612  	}
 15613  	target := &ret
 15614  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15615  		return nil, err
 15616  	}
 15617  	return ret, nil
 15618  	// {
 15619  	//   "description": "Gets one account permission by ID.",
 15620  	//   "flatPath": "userprofiles/{profileId}/accountPermissions/{id}",
 15621  	//   "httpMethod": "GET",
 15622  	//   "id": "dfareporting.accountPermissions.get",
 15623  	//   "parameterOrder": [
 15624  	//     "profileId",
 15625  	//     "id"
 15626  	//   ],
 15627  	//   "parameters": {
 15628  	//     "id": {
 15629  	//       "description": "Account permission ID.",
 15630  	//       "format": "int64",
 15631  	//       "location": "path",
 15632  	//       "required": true,
 15633  	//       "type": "string"
 15634  	//     },
 15635  	//     "profileId": {
 15636  	//       "description": "User profile ID associated with this request.",
 15637  	//       "format": "int64",
 15638  	//       "location": "path",
 15639  	//       "required": true,
 15640  	//       "type": "string"
 15641  	//     }
 15642  	//   },
 15643  	//   "path": "userprofiles/{profileId}/accountPermissions/{id}",
 15644  	//   "response": {
 15645  	//     "$ref": "AccountPermission"
 15646  	//   },
 15647  	//   "scopes": [
 15648  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15649  	//   ]
 15650  	// }
 15651  
 15652  }
 15653  
 15654  // method id "dfareporting.accountPermissions.list":
 15655  
 15656  type AccountPermissionsListCall struct {
 15657  	s            *Service
 15658  	profileId    int64
 15659  	urlParams_   gensupport.URLParams
 15660  	ifNoneMatch_ string
 15661  	ctx_         context.Context
 15662  	header_      http.Header
 15663  }
 15664  
 15665  // List: Retrieves the list of account permissions.
 15666  //
 15667  // - profileId: User profile ID associated with this request.
 15668  func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
 15669  	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15670  	c.profileId = profileId
 15671  	return c
 15672  }
 15673  
 15674  // Fields allows partial responses to be retrieved. See
 15675  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15676  // for more information.
 15677  func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
 15678  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15679  	return c
 15680  }
 15681  
 15682  // IfNoneMatch sets the optional parameter which makes the operation
 15683  // fail if the object's ETag matches the given value. This is useful for
 15684  // getting updates only after the object has changed since the last
 15685  // request. Use googleapi.IsNotModified to check whether the response
 15686  // error from Do is the result of In-None-Match.
 15687  func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
 15688  	c.ifNoneMatch_ = entityTag
 15689  	return c
 15690  }
 15691  
 15692  // Context sets the context to be used in this call's Do method. Any
 15693  // pending HTTP request will be aborted if the provided context is
 15694  // canceled.
 15695  func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
 15696  	c.ctx_ = ctx
 15697  	return c
 15698  }
 15699  
 15700  // Header returns an http.Header that can be modified by the caller to
 15701  // add HTTP headers to the request.
 15702  func (c *AccountPermissionsListCall) Header() http.Header {
 15703  	if c.header_ == nil {
 15704  		c.header_ = make(http.Header)
 15705  	}
 15706  	return c.header_
 15707  }
 15708  
 15709  func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 15710  	reqHeaders := make(http.Header)
 15711  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 15712  	for k, v := range c.header_ {
 15713  		reqHeaders[k] = v
 15714  	}
 15715  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15716  	if c.ifNoneMatch_ != "" {
 15717  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15718  	}
 15719  	var body io.Reader = nil
 15720  	c.urlParams_.Set("alt", alt)
 15721  	c.urlParams_.Set("prettyPrint", "false")
 15722  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
 15723  	urls += "?" + c.urlParams_.Encode()
 15724  	req, err := http.NewRequest("GET", urls, body)
 15725  	if err != nil {
 15726  		return nil, err
 15727  	}
 15728  	req.Header = reqHeaders
 15729  	googleapi.Expand(req.URL, map[string]string{
 15730  		"profileId": strconv.FormatInt(c.profileId, 10),
 15731  	})
 15732  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15733  }
 15734  
 15735  // Do executes the "dfareporting.accountPermissions.list" call.
 15736  // Exactly one of *AccountPermissionsListResponse or error will be
 15737  // non-nil. Any non-2xx status code is an error. Response headers are in
 15738  // either *AccountPermissionsListResponse.ServerResponse.Header or (if a
 15739  // response was returned at all) in error.(*googleapi.Error).Header. Use
 15740  // googleapi.IsNotModified to check whether the returned error was
 15741  // because http.StatusNotModified was returned.
 15742  func (c *AccountPermissionsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionsListResponse, error) {
 15743  	gensupport.SetOptions(c.urlParams_, opts...)
 15744  	res, err := c.doRequest("json")
 15745  	if res != nil && res.StatusCode == http.StatusNotModified {
 15746  		if res.Body != nil {
 15747  			res.Body.Close()
 15748  		}
 15749  		return nil, &googleapi.Error{
 15750  			Code:   res.StatusCode,
 15751  			Header: res.Header,
 15752  		}
 15753  	}
 15754  	if err != nil {
 15755  		return nil, err
 15756  	}
 15757  	defer googleapi.CloseBody(res)
 15758  	if err := googleapi.CheckResponse(res); err != nil {
 15759  		return nil, err
 15760  	}
 15761  	ret := &AccountPermissionsListResponse{
 15762  		ServerResponse: googleapi.ServerResponse{
 15763  			Header:         res.Header,
 15764  			HTTPStatusCode: res.StatusCode,
 15765  		},
 15766  	}
 15767  	target := &ret
 15768  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15769  		return nil, err
 15770  	}
 15771  	return ret, nil
 15772  	// {
 15773  	//   "description": "Retrieves the list of account permissions.",
 15774  	//   "flatPath": "userprofiles/{profileId}/accountPermissions",
 15775  	//   "httpMethod": "GET",
 15776  	//   "id": "dfareporting.accountPermissions.list",
 15777  	//   "parameterOrder": [
 15778  	//     "profileId"
 15779  	//   ],
 15780  	//   "parameters": {
 15781  	//     "profileId": {
 15782  	//       "description": "User profile ID associated with this request.",
 15783  	//       "format": "int64",
 15784  	//       "location": "path",
 15785  	//       "required": true,
 15786  	//       "type": "string"
 15787  	//     }
 15788  	//   },
 15789  	//   "path": "userprofiles/{profileId}/accountPermissions",
 15790  	//   "response": {
 15791  	//     "$ref": "AccountPermissionsListResponse"
 15792  	//   },
 15793  	//   "scopes": [
 15794  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15795  	//   ]
 15796  	// }
 15797  
 15798  }
 15799  
 15800  // method id "dfareporting.accountUserProfiles.get":
 15801  
 15802  type AccountUserProfilesGetCall struct {
 15803  	s            *Service
 15804  	profileId    int64
 15805  	id           int64
 15806  	urlParams_   gensupport.URLParams
 15807  	ifNoneMatch_ string
 15808  	ctx_         context.Context
 15809  	header_      http.Header
 15810  }
 15811  
 15812  // Get: Gets one account user profile by ID.
 15813  //
 15814  // - id: User profile ID.
 15815  // - profileId: User profile ID associated with this request.
 15816  func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
 15817  	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15818  	c.profileId = profileId
 15819  	c.id = id
 15820  	return c
 15821  }
 15822  
 15823  // Fields allows partial responses to be retrieved. See
 15824  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15825  // for more information.
 15826  func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
 15827  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15828  	return c
 15829  }
 15830  
 15831  // IfNoneMatch sets the optional parameter which makes the operation
 15832  // fail if the object's ETag matches the given value. This is useful for
 15833  // getting updates only after the object has changed since the last
 15834  // request. Use googleapi.IsNotModified to check whether the response
 15835  // error from Do is the result of In-None-Match.
 15836  func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
 15837  	c.ifNoneMatch_ = entityTag
 15838  	return c
 15839  }
 15840  
 15841  // Context sets the context to be used in this call's Do method. Any
 15842  // pending HTTP request will be aborted if the provided context is
 15843  // canceled.
 15844  func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
 15845  	c.ctx_ = ctx
 15846  	return c
 15847  }
 15848  
 15849  // Header returns an http.Header that can be modified by the caller to
 15850  // add HTTP headers to the request.
 15851  func (c *AccountUserProfilesGetCall) Header() http.Header {
 15852  	if c.header_ == nil {
 15853  		c.header_ = make(http.Header)
 15854  	}
 15855  	return c.header_
 15856  }
 15857  
 15858  func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 15859  	reqHeaders := make(http.Header)
 15860  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 15861  	for k, v := range c.header_ {
 15862  		reqHeaders[k] = v
 15863  	}
 15864  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15865  	if c.ifNoneMatch_ != "" {
 15866  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15867  	}
 15868  	var body io.Reader = nil
 15869  	c.urlParams_.Set("alt", alt)
 15870  	c.urlParams_.Set("prettyPrint", "false")
 15871  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
 15872  	urls += "?" + c.urlParams_.Encode()
 15873  	req, err := http.NewRequest("GET", urls, body)
 15874  	if err != nil {
 15875  		return nil, err
 15876  	}
 15877  	req.Header = reqHeaders
 15878  	googleapi.Expand(req.URL, map[string]string{
 15879  		"profileId": strconv.FormatInt(c.profileId, 10),
 15880  		"id":        strconv.FormatInt(c.id, 10),
 15881  	})
 15882  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15883  }
 15884  
 15885  // Do executes the "dfareporting.accountUserProfiles.get" call.
 15886  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15887  // non-2xx status code is an error. Response headers are in either
 15888  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15889  // returned at all) in error.(*googleapi.Error).Header. Use
 15890  // googleapi.IsNotModified to check whether the returned error was
 15891  // because http.StatusNotModified was returned.
 15892  func (c *AccountUserProfilesGetCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15893  	gensupport.SetOptions(c.urlParams_, opts...)
 15894  	res, err := c.doRequest("json")
 15895  	if res != nil && res.StatusCode == http.StatusNotModified {
 15896  		if res.Body != nil {
 15897  			res.Body.Close()
 15898  		}
 15899  		return nil, &googleapi.Error{
 15900  			Code:   res.StatusCode,
 15901  			Header: res.Header,
 15902  		}
 15903  	}
 15904  	if err != nil {
 15905  		return nil, err
 15906  	}
 15907  	defer googleapi.CloseBody(res)
 15908  	if err := googleapi.CheckResponse(res); err != nil {
 15909  		return nil, err
 15910  	}
 15911  	ret := &AccountUserProfile{
 15912  		ServerResponse: googleapi.ServerResponse{
 15913  			Header:         res.Header,
 15914  			HTTPStatusCode: res.StatusCode,
 15915  		},
 15916  	}
 15917  	target := &ret
 15918  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15919  		return nil, err
 15920  	}
 15921  	return ret, nil
 15922  	// {
 15923  	//   "description": "Gets one account user profile by ID.",
 15924  	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles/{id}",
 15925  	//   "httpMethod": "GET",
 15926  	//   "id": "dfareporting.accountUserProfiles.get",
 15927  	//   "parameterOrder": [
 15928  	//     "profileId",
 15929  	//     "id"
 15930  	//   ],
 15931  	//   "parameters": {
 15932  	//     "id": {
 15933  	//       "description": "User profile ID.",
 15934  	//       "format": "int64",
 15935  	//       "location": "path",
 15936  	//       "required": true,
 15937  	//       "type": "string"
 15938  	//     },
 15939  	//     "profileId": {
 15940  	//       "description": "User profile ID associated with this request.",
 15941  	//       "format": "int64",
 15942  	//       "location": "path",
 15943  	//       "required": true,
 15944  	//       "type": "string"
 15945  	//     }
 15946  	//   },
 15947  	//   "path": "userprofiles/{profileId}/accountUserProfiles/{id}",
 15948  	//   "response": {
 15949  	//     "$ref": "AccountUserProfile"
 15950  	//   },
 15951  	//   "scopes": [
 15952  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15953  	//   ]
 15954  	// }
 15955  
 15956  }
 15957  
 15958  // method id "dfareporting.accountUserProfiles.insert":
 15959  
 15960  type AccountUserProfilesInsertCall struct {
 15961  	s                  *Service
 15962  	profileId          int64
 15963  	accountuserprofile *AccountUserProfile
 15964  	urlParams_         gensupport.URLParams
 15965  	ctx_               context.Context
 15966  	header_            http.Header
 15967  }
 15968  
 15969  // Insert: Inserts a new account user profile.
 15970  //
 15971  // - profileId: User profile ID associated with this request.
 15972  func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
 15973  	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15974  	c.profileId = profileId
 15975  	c.accountuserprofile = accountuserprofile
 15976  	return c
 15977  }
 15978  
 15979  // Fields allows partial responses to be retrieved. See
 15980  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15981  // for more information.
 15982  func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
 15983  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15984  	return c
 15985  }
 15986  
 15987  // Context sets the context to be used in this call's Do method. Any
 15988  // pending HTTP request will be aborted if the provided context is
 15989  // canceled.
 15990  func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
 15991  	c.ctx_ = ctx
 15992  	return c
 15993  }
 15994  
 15995  // Header returns an http.Header that can be modified by the caller to
 15996  // add HTTP headers to the request.
 15997  func (c *AccountUserProfilesInsertCall) Header() http.Header {
 15998  	if c.header_ == nil {
 15999  		c.header_ = make(http.Header)
 16000  	}
 16001  	return c.header_
 16002  }
 16003  
 16004  func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
 16005  	reqHeaders := make(http.Header)
 16006  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 16007  	for k, v := range c.header_ {
 16008  		reqHeaders[k] = v
 16009  	}
 16010  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16011  	var body io.Reader = nil
 16012  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 16013  	if err != nil {
 16014  		return nil, err
 16015  	}
 16016  	reqHeaders.Set("Content-Type", "application/json")
 16017  	c.urlParams_.Set("alt", alt)
 16018  	c.urlParams_.Set("prettyPrint", "false")
 16019  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 16020  	urls += "?" + c.urlParams_.Encode()
 16021  	req, err := http.NewRequest("POST", 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.accountUserProfiles.insert" call.
 16033  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 16034  // non-2xx status code is an error. Response headers are in either
 16035  // *AccountUserProfile.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 *AccountUserProfilesInsertCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, 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 := &AccountUserProfile{
 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": "Inserts a new account user profile.",
 16071  	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
 16072  	//   "httpMethod": "POST",
 16073  	//   "id": "dfareporting.accountUserProfiles.insert",
 16074  	//   "parameterOrder": [
 16075  	//     "profileId"
 16076  	//   ],
 16077  	//   "parameters": {
 16078  	//     "profileId": {
 16079  	//       "description": "User profile ID associated with this request.",
 16080  	//       "format": "int64",
 16081  	//       "location": "path",
 16082  	//       "required": true,
 16083  	//       "type": "string"
 16084  	//     }
 16085  	//   },
 16086  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 16087  	//   "request": {
 16088  	//     "$ref": "AccountUserProfile"
 16089  	//   },
 16090  	//   "response": {
 16091  	//     "$ref": "AccountUserProfile"
 16092  	//   },
 16093  	//   "scopes": [
 16094  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16095  	//   ]
 16096  	// }
 16097  
 16098  }
 16099  
 16100  // method id "dfareporting.accountUserProfiles.list":
 16101  
 16102  type AccountUserProfilesListCall struct {
 16103  	s            *Service
 16104  	profileId    int64
 16105  	urlParams_   gensupport.URLParams
 16106  	ifNoneMatch_ string
 16107  	ctx_         context.Context
 16108  	header_      http.Header
 16109  }
 16110  
 16111  // List: Retrieves a list of account user profiles, possibly filtered.
 16112  // This method supports paging.
 16113  //
 16114  // - profileId: User profile ID associated with this request.
 16115  func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
 16116  	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16117  	c.profileId = profileId
 16118  	return c
 16119  }
 16120  
 16121  // Active sets the optional parameter "active": Select only active user
 16122  // profiles.
 16123  func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
 16124  	c.urlParams_.Set("active", fmt.Sprint(active))
 16125  	return c
 16126  }
 16127  
 16128  // Ids sets the optional parameter "ids": Select only user profiles with
 16129  // these IDs.
 16130  func (c *AccountUserProfilesListCall) Ids(ids ...int64) *AccountUserProfilesListCall {
 16131  	var ids_ []string
 16132  	for _, v := range ids {
 16133  		ids_ = append(ids_, fmt.Sprint(v))
 16134  	}
 16135  	c.urlParams_.SetMulti("ids", ids_)
 16136  	return c
 16137  }
 16138  
 16139  // MaxResults sets the optional parameter "maxResults": Maximum number
 16140  // of results to return.
 16141  func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
 16142  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 16143  	return c
 16144  }
 16145  
 16146  // PageToken sets the optional parameter "pageToken": Value of the
 16147  // nextPageToken from the previous result page.
 16148  func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
 16149  	c.urlParams_.Set("pageToken", pageToken)
 16150  	return c
 16151  }
 16152  
 16153  // SearchString sets the optional parameter "searchString": Allows
 16154  // searching for objects by name, ID or email. Wildcards (*) are
 16155  // allowed. For example, "user profile*2015" will return objects with
 16156  // names like "user profile June 2015", "user profile April 2015", or
 16157  // simply "user profile 2015". Most of the searches also add wildcards
 16158  // implicitly at the start and the end of the search string. For
 16159  // example, a search string of "user profile" will match objects with
 16160  // name "my user profile", "user profile 2015", or simply "user
 16161  // profile".
 16162  func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
 16163  	c.urlParams_.Set("searchString", searchString)
 16164  	return c
 16165  }
 16166  
 16167  // SortField sets the optional parameter "sortField": Field by which to
 16168  // sort the list.
 16169  //
 16170  // Possible values:
 16171  //
 16172  //	"ID" (default)
 16173  //	"NAME"
 16174  func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
 16175  	c.urlParams_.Set("sortField", sortField)
 16176  	return c
 16177  }
 16178  
 16179  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 16180  // results.
 16181  //
 16182  // Possible values:
 16183  //
 16184  //	"ASCENDING" (default)
 16185  //	"DESCENDING"
 16186  func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
 16187  	c.urlParams_.Set("sortOrder", sortOrder)
 16188  	return c
 16189  }
 16190  
 16191  // SubaccountId sets the optional parameter "subaccountId": Select only
 16192  // user profiles with the specified subaccount ID.
 16193  func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
 16194  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 16195  	return c
 16196  }
 16197  
 16198  // UserRoleId sets the optional parameter "userRoleId": Select only user
 16199  // profiles with the specified user role ID.
 16200  func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
 16201  	c.urlParams_.Set("userRoleId", fmt.Sprint(userRoleId))
 16202  	return c
 16203  }
 16204  
 16205  // Fields allows partial responses to be retrieved. See
 16206  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16207  // for more information.
 16208  func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
 16209  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16210  	return c
 16211  }
 16212  
 16213  // IfNoneMatch sets the optional parameter which makes the operation
 16214  // fail if the object's ETag matches the given value. This is useful for
 16215  // getting updates only after the object has changed since the last
 16216  // request. Use googleapi.IsNotModified to check whether the response
 16217  // error from Do is the result of In-None-Match.
 16218  func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
 16219  	c.ifNoneMatch_ = entityTag
 16220  	return c
 16221  }
 16222  
 16223  // Context sets the context to be used in this call's Do method. Any
 16224  // pending HTTP request will be aborted if the provided context is
 16225  // canceled.
 16226  func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
 16227  	c.ctx_ = ctx
 16228  	return c
 16229  }
 16230  
 16231  // Header returns an http.Header that can be modified by the caller to
 16232  // add HTTP headers to the request.
 16233  func (c *AccountUserProfilesListCall) Header() http.Header {
 16234  	if c.header_ == nil {
 16235  		c.header_ = make(http.Header)
 16236  	}
 16237  	return c.header_
 16238  }
 16239  
 16240  func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 16241  	reqHeaders := make(http.Header)
 16242  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 16243  	for k, v := range c.header_ {
 16244  		reqHeaders[k] = v
 16245  	}
 16246  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16247  	if c.ifNoneMatch_ != "" {
 16248  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16249  	}
 16250  	var body io.Reader = nil
 16251  	c.urlParams_.Set("alt", alt)
 16252  	c.urlParams_.Set("prettyPrint", "false")
 16253  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 16254  	urls += "?" + c.urlParams_.Encode()
 16255  	req, err := http.NewRequest("GET", urls, body)
 16256  	if err != nil {
 16257  		return nil, err
 16258  	}
 16259  	req.Header = reqHeaders
 16260  	googleapi.Expand(req.URL, map[string]string{
 16261  		"profileId": strconv.FormatInt(c.profileId, 10),
 16262  	})
 16263  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16264  }
 16265  
 16266  // Do executes the "dfareporting.accountUserProfiles.list" call.
 16267  // Exactly one of *AccountUserProfilesListResponse or error will be
 16268  // non-nil. Any non-2xx status code is an error. Response headers are in
 16269  // either *AccountUserProfilesListResponse.ServerResponse.Header or (if
 16270  // a response was returned at all) in error.(*googleapi.Error).Header.
 16271  // Use googleapi.IsNotModified to check whether the returned error was
 16272  // because http.StatusNotModified was returned.
 16273  func (c *AccountUserProfilesListCall) Do(opts ...googleapi.CallOption) (*AccountUserProfilesListResponse, error) {
 16274  	gensupport.SetOptions(c.urlParams_, opts...)
 16275  	res, err := c.doRequest("json")
 16276  	if res != nil && res.StatusCode == http.StatusNotModified {
 16277  		if res.Body != nil {
 16278  			res.Body.Close()
 16279  		}
 16280  		return nil, &googleapi.Error{
 16281  			Code:   res.StatusCode,
 16282  			Header: res.Header,
 16283  		}
 16284  	}
 16285  	if err != nil {
 16286  		return nil, err
 16287  	}
 16288  	defer googleapi.CloseBody(res)
 16289  	if err := googleapi.CheckResponse(res); err != nil {
 16290  		return nil, err
 16291  	}
 16292  	ret := &AccountUserProfilesListResponse{
 16293  		ServerResponse: googleapi.ServerResponse{
 16294  			Header:         res.Header,
 16295  			HTTPStatusCode: res.StatusCode,
 16296  		},
 16297  	}
 16298  	target := &ret
 16299  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16300  		return nil, err
 16301  	}
 16302  	return ret, nil
 16303  	// {
 16304  	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
 16305  	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
 16306  	//   "httpMethod": "GET",
 16307  	//   "id": "dfareporting.accountUserProfiles.list",
 16308  	//   "parameterOrder": [
 16309  	//     "profileId"
 16310  	//   ],
 16311  	//   "parameters": {
 16312  	//     "active": {
 16313  	//       "description": "Select only active user profiles.",
 16314  	//       "location": "query",
 16315  	//       "type": "boolean"
 16316  	//     },
 16317  	//     "ids": {
 16318  	//       "description": "Select only user profiles with these IDs.",
 16319  	//       "format": "int64",
 16320  	//       "location": "query",
 16321  	//       "repeated": true,
 16322  	//       "type": "string"
 16323  	//     },
 16324  	//     "maxResults": {
 16325  	//       "default": "1000",
 16326  	//       "description": "Maximum number of results to return.",
 16327  	//       "format": "int32",
 16328  	//       "location": "query",
 16329  	//       "maximum": "1000",
 16330  	//       "minimum": "0",
 16331  	//       "type": "integer"
 16332  	//     },
 16333  	//     "pageToken": {
 16334  	//       "description": "Value of the nextPageToken from the previous result page.",
 16335  	//       "location": "query",
 16336  	//       "type": "string"
 16337  	//     },
 16338  	//     "profileId": {
 16339  	//       "description": "User profile ID associated with this request.",
 16340  	//       "format": "int64",
 16341  	//       "location": "path",
 16342  	//       "required": true,
 16343  	//       "type": "string"
 16344  	//     },
 16345  	//     "searchString": {
 16346  	//       "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\".",
 16347  	//       "location": "query",
 16348  	//       "type": "string"
 16349  	//     },
 16350  	//     "sortField": {
 16351  	//       "default": "ID",
 16352  	//       "description": "Field by which to sort the list.",
 16353  	//       "enum": [
 16354  	//         "ID",
 16355  	//         "NAME"
 16356  	//       ],
 16357  	//       "enumDescriptions": [
 16358  	//         "",
 16359  	//         ""
 16360  	//       ],
 16361  	//       "location": "query",
 16362  	//       "type": "string"
 16363  	//     },
 16364  	//     "sortOrder": {
 16365  	//       "default": "ASCENDING",
 16366  	//       "description": "Order of sorted results.",
 16367  	//       "enum": [
 16368  	//         "ASCENDING",
 16369  	//         "DESCENDING"
 16370  	//       ],
 16371  	//       "enumDescriptions": [
 16372  	//         "",
 16373  	//         ""
 16374  	//       ],
 16375  	//       "location": "query",
 16376  	//       "type": "string"
 16377  	//     },
 16378  	//     "subaccountId": {
 16379  	//       "description": "Select only user profiles with the specified subaccount ID.",
 16380  	//       "format": "int64",
 16381  	//       "location": "query",
 16382  	//       "type": "string"
 16383  	//     },
 16384  	//     "userRoleId": {
 16385  	//       "description": "Select only user profiles with the specified user role ID.",
 16386  	//       "format": "int64",
 16387  	//       "location": "query",
 16388  	//       "type": "string"
 16389  	//     }
 16390  	//   },
 16391  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 16392  	//   "response": {
 16393  	//     "$ref": "AccountUserProfilesListResponse"
 16394  	//   },
 16395  	//   "scopes": [
 16396  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16397  	//   ]
 16398  	// }
 16399  
 16400  }
 16401  
 16402  // Pages invokes f for each page of results.
 16403  // A non-nil error returned from f will halt the iteration.
 16404  // The provided context supersedes any context provided to the Context method.
 16405  func (c *AccountUserProfilesListCall) Pages(ctx context.Context, f func(*AccountUserProfilesListResponse) error) error {
 16406  	c.ctx_ = ctx
 16407  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 16408  	for {
 16409  		x, err := c.Do()
 16410  		if err != nil {
 16411  			return err
 16412  		}
 16413  		if err := f(x); err != nil {
 16414  			return err
 16415  		}
 16416  		if x.NextPageToken == "" {
 16417  			return nil
 16418  		}
 16419  		c.PageToken(x.NextPageToken)
 16420  	}
 16421  }
 16422  
 16423  // method id "dfareporting.accountUserProfiles.patch":
 16424  
 16425  type AccountUserProfilesPatchCall struct {
 16426  	s                  *Service
 16427  	profileId          int64
 16428  	accountuserprofile *AccountUserProfile
 16429  	urlParams_         gensupport.URLParams
 16430  	ctx_               context.Context
 16431  	header_            http.Header
 16432  }
 16433  
 16434  // Patch: Updates an existing account user profile. This method supports
 16435  // patch semantics.
 16436  //
 16437  // - id: AccountUserProfile ID.
 16438  // - profileId: User profile ID associated with this request.
 16439  func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
 16440  	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16441  	c.profileId = profileId
 16442  	c.urlParams_.Set("id", fmt.Sprint(id))
 16443  	c.accountuserprofile = accountuserprofile
 16444  	return c
 16445  }
 16446  
 16447  // Fields allows partial responses to be retrieved. See
 16448  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16449  // for more information.
 16450  func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
 16451  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16452  	return c
 16453  }
 16454  
 16455  // Context sets the context to be used in this call's Do method. Any
 16456  // pending HTTP request will be aborted if the provided context is
 16457  // canceled.
 16458  func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
 16459  	c.ctx_ = ctx
 16460  	return c
 16461  }
 16462  
 16463  // Header returns an http.Header that can be modified by the caller to
 16464  // add HTTP headers to the request.
 16465  func (c *AccountUserProfilesPatchCall) Header() http.Header {
 16466  	if c.header_ == nil {
 16467  		c.header_ = make(http.Header)
 16468  	}
 16469  	return c.header_
 16470  }
 16471  
 16472  func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
 16473  	reqHeaders := make(http.Header)
 16474  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 16475  	for k, v := range c.header_ {
 16476  		reqHeaders[k] = v
 16477  	}
 16478  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16479  	var body io.Reader = nil
 16480  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 16481  	if err != nil {
 16482  		return nil, err
 16483  	}
 16484  	reqHeaders.Set("Content-Type", "application/json")
 16485  	c.urlParams_.Set("alt", alt)
 16486  	c.urlParams_.Set("prettyPrint", "false")
 16487  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 16488  	urls += "?" + c.urlParams_.Encode()
 16489  	req, err := http.NewRequest("PATCH", urls, body)
 16490  	if err != nil {
 16491  		return nil, err
 16492  	}
 16493  	req.Header = reqHeaders
 16494  	googleapi.Expand(req.URL, map[string]string{
 16495  		"profileId": strconv.FormatInt(c.profileId, 10),
 16496  	})
 16497  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16498  }
 16499  
 16500  // Do executes the "dfareporting.accountUserProfiles.patch" call.
 16501  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 16502  // non-2xx status code is an error. Response headers are in either
 16503  // *AccountUserProfile.ServerResponse.Header or (if a response was
 16504  // returned at all) in error.(*googleapi.Error).Header. Use
 16505  // googleapi.IsNotModified to check whether the returned error was
 16506  // because http.StatusNotModified was returned.
 16507  func (c *AccountUserProfilesPatchCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 16508  	gensupport.SetOptions(c.urlParams_, opts...)
 16509  	res, err := c.doRequest("json")
 16510  	if res != nil && res.StatusCode == http.StatusNotModified {
 16511  		if res.Body != nil {
 16512  			res.Body.Close()
 16513  		}
 16514  		return nil, &googleapi.Error{
 16515  			Code:   res.StatusCode,
 16516  			Header: res.Header,
 16517  		}
 16518  	}
 16519  	if err != nil {
 16520  		return nil, err
 16521  	}
 16522  	defer googleapi.CloseBody(res)
 16523  	if err := googleapi.CheckResponse(res); err != nil {
 16524  		return nil, err
 16525  	}
 16526  	ret := &AccountUserProfile{
 16527  		ServerResponse: googleapi.ServerResponse{
 16528  			Header:         res.Header,
 16529  			HTTPStatusCode: res.StatusCode,
 16530  		},
 16531  	}
 16532  	target := &ret
 16533  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16534  		return nil, err
 16535  	}
 16536  	return ret, nil
 16537  	// {
 16538  	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
 16539  	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
 16540  	//   "httpMethod": "PATCH",
 16541  	//   "id": "dfareporting.accountUserProfiles.patch",
 16542  	//   "parameterOrder": [
 16543  	//     "profileId",
 16544  	//     "id"
 16545  	//   ],
 16546  	//   "parameters": {
 16547  	//     "id": {
 16548  	//       "description": "AccountUserProfile ID.",
 16549  	//       "format": "int64",
 16550  	//       "location": "query",
 16551  	//       "required": true,
 16552  	//       "type": "string"
 16553  	//     },
 16554  	//     "profileId": {
 16555  	//       "description": "User profile ID associated with this request.",
 16556  	//       "format": "int64",
 16557  	//       "location": "path",
 16558  	//       "required": true,
 16559  	//       "type": "string"
 16560  	//     }
 16561  	//   },
 16562  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 16563  	//   "request": {
 16564  	//     "$ref": "AccountUserProfile"
 16565  	//   },
 16566  	//   "response": {
 16567  	//     "$ref": "AccountUserProfile"
 16568  	//   },
 16569  	//   "scopes": [
 16570  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16571  	//   ]
 16572  	// }
 16573  
 16574  }
 16575  
 16576  // method id "dfareporting.accountUserProfiles.update":
 16577  
 16578  type AccountUserProfilesUpdateCall struct {
 16579  	s                  *Service
 16580  	profileId          int64
 16581  	accountuserprofile *AccountUserProfile
 16582  	urlParams_         gensupport.URLParams
 16583  	ctx_               context.Context
 16584  	header_            http.Header
 16585  }
 16586  
 16587  // Update: Updates an existing account user profile.
 16588  //
 16589  // - profileId: User profile ID associated with this request.
 16590  func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
 16591  	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16592  	c.profileId = profileId
 16593  	c.accountuserprofile = accountuserprofile
 16594  	return c
 16595  }
 16596  
 16597  // Fields allows partial responses to be retrieved. See
 16598  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16599  // for more information.
 16600  func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
 16601  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16602  	return c
 16603  }
 16604  
 16605  // Context sets the context to be used in this call's Do method. Any
 16606  // pending HTTP request will be aborted if the provided context is
 16607  // canceled.
 16608  func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
 16609  	c.ctx_ = ctx
 16610  	return c
 16611  }
 16612  
 16613  // Header returns an http.Header that can be modified by the caller to
 16614  // add HTTP headers to the request.
 16615  func (c *AccountUserProfilesUpdateCall) Header() http.Header {
 16616  	if c.header_ == nil {
 16617  		c.header_ = make(http.Header)
 16618  	}
 16619  	return c.header_
 16620  }
 16621  
 16622  func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 16623  	reqHeaders := make(http.Header)
 16624  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 16625  	for k, v := range c.header_ {
 16626  		reqHeaders[k] = v
 16627  	}
 16628  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16629  	var body io.Reader = nil
 16630  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 16631  	if err != nil {
 16632  		return nil, err
 16633  	}
 16634  	reqHeaders.Set("Content-Type", "application/json")
 16635  	c.urlParams_.Set("alt", alt)
 16636  	c.urlParams_.Set("prettyPrint", "false")
 16637  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 16638  	urls += "?" + c.urlParams_.Encode()
 16639  	req, err := http.NewRequest("PUT", urls, body)
 16640  	if err != nil {
 16641  		return nil, err
 16642  	}
 16643  	req.Header = reqHeaders
 16644  	googleapi.Expand(req.URL, map[string]string{
 16645  		"profileId": strconv.FormatInt(c.profileId, 10),
 16646  	})
 16647  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16648  }
 16649  
 16650  // Do executes the "dfareporting.accountUserProfiles.update" call.
 16651  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 16652  // non-2xx status code is an error. Response headers are in either
 16653  // *AccountUserProfile.ServerResponse.Header or (if a response was
 16654  // returned at all) in error.(*googleapi.Error).Header. Use
 16655  // googleapi.IsNotModified to check whether the returned error was
 16656  // because http.StatusNotModified was returned.
 16657  func (c *AccountUserProfilesUpdateCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 16658  	gensupport.SetOptions(c.urlParams_, opts...)
 16659  	res, err := c.doRequest("json")
 16660  	if res != nil && res.StatusCode == http.StatusNotModified {
 16661  		if res.Body != nil {
 16662  			res.Body.Close()
 16663  		}
 16664  		return nil, &googleapi.Error{
 16665  			Code:   res.StatusCode,
 16666  			Header: res.Header,
 16667  		}
 16668  	}
 16669  	if err != nil {
 16670  		return nil, err
 16671  	}
 16672  	defer googleapi.CloseBody(res)
 16673  	if err := googleapi.CheckResponse(res); err != nil {
 16674  		return nil, err
 16675  	}
 16676  	ret := &AccountUserProfile{
 16677  		ServerResponse: googleapi.ServerResponse{
 16678  			Header:         res.Header,
 16679  			HTTPStatusCode: res.StatusCode,
 16680  		},
 16681  	}
 16682  	target := &ret
 16683  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16684  		return nil, err
 16685  	}
 16686  	return ret, nil
 16687  	// {
 16688  	//   "description": "Updates an existing account user profile.",
 16689  	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
 16690  	//   "httpMethod": "PUT",
 16691  	//   "id": "dfareporting.accountUserProfiles.update",
 16692  	//   "parameterOrder": [
 16693  	//     "profileId"
 16694  	//   ],
 16695  	//   "parameters": {
 16696  	//     "profileId": {
 16697  	//       "description": "User profile ID associated with this request.",
 16698  	//       "format": "int64",
 16699  	//       "location": "path",
 16700  	//       "required": true,
 16701  	//       "type": "string"
 16702  	//     }
 16703  	//   },
 16704  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 16705  	//   "request": {
 16706  	//     "$ref": "AccountUserProfile"
 16707  	//   },
 16708  	//   "response": {
 16709  	//     "$ref": "AccountUserProfile"
 16710  	//   },
 16711  	//   "scopes": [
 16712  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16713  	//   ]
 16714  	// }
 16715  
 16716  }
 16717  
 16718  // method id "dfareporting.accounts.get":
 16719  
 16720  type AccountsGetCall struct {
 16721  	s            *Service
 16722  	profileId    int64
 16723  	id           int64
 16724  	urlParams_   gensupport.URLParams
 16725  	ifNoneMatch_ string
 16726  	ctx_         context.Context
 16727  	header_      http.Header
 16728  }
 16729  
 16730  // Get: Gets one account by ID.
 16731  //
 16732  // - id: Account ID.
 16733  // - profileId: User profile ID associated with this request.
 16734  func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
 16735  	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16736  	c.profileId = profileId
 16737  	c.id = id
 16738  	return c
 16739  }
 16740  
 16741  // Fields allows partial responses to be retrieved. See
 16742  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16743  // for more information.
 16744  func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
 16745  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16746  	return c
 16747  }
 16748  
 16749  // IfNoneMatch sets the optional parameter which makes the operation
 16750  // fail if the object's ETag matches the given value. This is useful for
 16751  // getting updates only after the object has changed since the last
 16752  // request. Use googleapi.IsNotModified to check whether the response
 16753  // error from Do is the result of In-None-Match.
 16754  func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
 16755  	c.ifNoneMatch_ = entityTag
 16756  	return c
 16757  }
 16758  
 16759  // Context sets the context to be used in this call's Do method. Any
 16760  // pending HTTP request will be aborted if the provided context is
 16761  // canceled.
 16762  func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 16763  	c.ctx_ = ctx
 16764  	return c
 16765  }
 16766  
 16767  // Header returns an http.Header that can be modified by the caller to
 16768  // add HTTP headers to the request.
 16769  func (c *AccountsGetCall) Header() http.Header {
 16770  	if c.header_ == nil {
 16771  		c.header_ = make(http.Header)
 16772  	}
 16773  	return c.header_
 16774  }
 16775  
 16776  func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 16777  	reqHeaders := make(http.Header)
 16778  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 16779  	for k, v := range c.header_ {
 16780  		reqHeaders[k] = v
 16781  	}
 16782  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16783  	if c.ifNoneMatch_ != "" {
 16784  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16785  	}
 16786  	var body io.Reader = nil
 16787  	c.urlParams_.Set("alt", alt)
 16788  	c.urlParams_.Set("prettyPrint", "false")
 16789  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
 16790  	urls += "?" + c.urlParams_.Encode()
 16791  	req, err := http.NewRequest("GET", urls, body)
 16792  	if err != nil {
 16793  		return nil, err
 16794  	}
 16795  	req.Header = reqHeaders
 16796  	googleapi.Expand(req.URL, map[string]string{
 16797  		"profileId": strconv.FormatInt(c.profileId, 10),
 16798  		"id":        strconv.FormatInt(c.id, 10),
 16799  	})
 16800  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16801  }
 16802  
 16803  // Do executes the "dfareporting.accounts.get" call.
 16804  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 16805  // code is an error. Response headers are in either
 16806  // *Account.ServerResponse.Header or (if a response was returned at all)
 16807  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16808  // check whether the returned error was because http.StatusNotModified
 16809  // was returned.
 16810  func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 16811  	gensupport.SetOptions(c.urlParams_, opts...)
 16812  	res, err := c.doRequest("json")
 16813  	if res != nil && res.StatusCode == http.StatusNotModified {
 16814  		if res.Body != nil {
 16815  			res.Body.Close()
 16816  		}
 16817  		return nil, &googleapi.Error{
 16818  			Code:   res.StatusCode,
 16819  			Header: res.Header,
 16820  		}
 16821  	}
 16822  	if err != nil {
 16823  		return nil, err
 16824  	}
 16825  	defer googleapi.CloseBody(res)
 16826  	if err := googleapi.CheckResponse(res); err != nil {
 16827  		return nil, err
 16828  	}
 16829  	ret := &Account{
 16830  		ServerResponse: googleapi.ServerResponse{
 16831  			Header:         res.Header,
 16832  			HTTPStatusCode: res.StatusCode,
 16833  		},
 16834  	}
 16835  	target := &ret
 16836  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16837  		return nil, err
 16838  	}
 16839  	return ret, nil
 16840  	// {
 16841  	//   "description": "Gets one account by ID.",
 16842  	//   "flatPath": "userprofiles/{profileId}/accounts/{id}",
 16843  	//   "httpMethod": "GET",
 16844  	//   "id": "dfareporting.accounts.get",
 16845  	//   "parameterOrder": [
 16846  	//     "profileId",
 16847  	//     "id"
 16848  	//   ],
 16849  	//   "parameters": {
 16850  	//     "id": {
 16851  	//       "description": "Account ID.",
 16852  	//       "format": "int64",
 16853  	//       "location": "path",
 16854  	//       "required": true,
 16855  	//       "type": "string"
 16856  	//     },
 16857  	//     "profileId": {
 16858  	//       "description": "User profile ID associated with this request.",
 16859  	//       "format": "int64",
 16860  	//       "location": "path",
 16861  	//       "required": true,
 16862  	//       "type": "string"
 16863  	//     }
 16864  	//   },
 16865  	//   "path": "userprofiles/{profileId}/accounts/{id}",
 16866  	//   "response": {
 16867  	//     "$ref": "Account"
 16868  	//   },
 16869  	//   "scopes": [
 16870  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16871  	//   ]
 16872  	// }
 16873  
 16874  }
 16875  
 16876  // method id "dfareporting.accounts.list":
 16877  
 16878  type AccountsListCall struct {
 16879  	s            *Service
 16880  	profileId    int64
 16881  	urlParams_   gensupport.URLParams
 16882  	ifNoneMatch_ string
 16883  	ctx_         context.Context
 16884  	header_      http.Header
 16885  }
 16886  
 16887  // List: Retrieves the list of accounts, possibly filtered. This method
 16888  // supports paging.
 16889  //
 16890  // - profileId: User profile ID associated with this request.
 16891  func (r *AccountsService) List(profileId int64) *AccountsListCall {
 16892  	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16893  	c.profileId = profileId
 16894  	return c
 16895  }
 16896  
 16897  // Active sets the optional parameter "active": Select only active
 16898  // accounts. Don't set this field to select both active and non-active
 16899  // accounts.
 16900  func (c *AccountsListCall) Active(active bool) *AccountsListCall {
 16901  	c.urlParams_.Set("active", fmt.Sprint(active))
 16902  	return c
 16903  }
 16904  
 16905  // Ids sets the optional parameter "ids": Select only accounts with
 16906  // these IDs.
 16907  func (c *AccountsListCall) Ids(ids ...int64) *AccountsListCall {
 16908  	var ids_ []string
 16909  	for _, v := range ids {
 16910  		ids_ = append(ids_, fmt.Sprint(v))
 16911  	}
 16912  	c.urlParams_.SetMulti("ids", ids_)
 16913  	return c
 16914  }
 16915  
 16916  // MaxResults sets the optional parameter "maxResults": Maximum number
 16917  // of results to return.
 16918  func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
 16919  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 16920  	return c
 16921  }
 16922  
 16923  // PageToken sets the optional parameter "pageToken": Value of the
 16924  // nextPageToken from the previous result page.
 16925  func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
 16926  	c.urlParams_.Set("pageToken", pageToken)
 16927  	return c
 16928  }
 16929  
 16930  // SearchString sets the optional parameter "searchString": Allows
 16931  // searching for objects by name or ID. Wildcards (*) are allowed. For
 16932  // example, "account*2015" will return objects with names like "account
 16933  // June 2015", "account April 2015", or simply "account 2015". Most of
 16934  // the searches also add wildcards implicitly at the start and the end
 16935  // of the search string. For example, a search string of "account" will
 16936  // match objects with name "my account", "account 2015", or simply
 16937  // "account".
 16938  func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
 16939  	c.urlParams_.Set("searchString", searchString)
 16940  	return c
 16941  }
 16942  
 16943  // SortField sets the optional parameter "sortField": Field by which to
 16944  // sort the list.
 16945  //
 16946  // Possible values:
 16947  //
 16948  //	"ID" (default)
 16949  //	"NAME"
 16950  func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
 16951  	c.urlParams_.Set("sortField", sortField)
 16952  	return c
 16953  }
 16954  
 16955  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 16956  // results.
 16957  //
 16958  // Possible values:
 16959  //
 16960  //	"ASCENDING" (default)
 16961  //	"DESCENDING"
 16962  func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
 16963  	c.urlParams_.Set("sortOrder", sortOrder)
 16964  	return c
 16965  }
 16966  
 16967  // Fields allows partial responses to be retrieved. See
 16968  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16969  // for more information.
 16970  func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
 16971  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16972  	return c
 16973  }
 16974  
 16975  // IfNoneMatch sets the optional parameter which makes the operation
 16976  // fail if the object's ETag matches the given value. This is useful for
 16977  // getting updates only after the object has changed since the last
 16978  // request. Use googleapi.IsNotModified to check whether the response
 16979  // error from Do is the result of In-None-Match.
 16980  func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
 16981  	c.ifNoneMatch_ = entityTag
 16982  	return c
 16983  }
 16984  
 16985  // Context sets the context to be used in this call's Do method. Any
 16986  // pending HTTP request will be aborted if the provided context is
 16987  // canceled.
 16988  func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 16989  	c.ctx_ = ctx
 16990  	return c
 16991  }
 16992  
 16993  // Header returns an http.Header that can be modified by the caller to
 16994  // add HTTP headers to the request.
 16995  func (c *AccountsListCall) Header() http.Header {
 16996  	if c.header_ == nil {
 16997  		c.header_ = make(http.Header)
 16998  	}
 16999  	return c.header_
 17000  }
 17001  
 17002  func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 17003  	reqHeaders := make(http.Header)
 17004  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 17005  	for k, v := range c.header_ {
 17006  		reqHeaders[k] = v
 17007  	}
 17008  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17009  	if c.ifNoneMatch_ != "" {
 17010  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17011  	}
 17012  	var body io.Reader = nil
 17013  	c.urlParams_.Set("alt", alt)
 17014  	c.urlParams_.Set("prettyPrint", "false")
 17015  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 17016  	urls += "?" + c.urlParams_.Encode()
 17017  	req, err := http.NewRequest("GET", urls, body)
 17018  	if err != nil {
 17019  		return nil, err
 17020  	}
 17021  	req.Header = reqHeaders
 17022  	googleapi.Expand(req.URL, map[string]string{
 17023  		"profileId": strconv.FormatInt(c.profileId, 10),
 17024  	})
 17025  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17026  }
 17027  
 17028  // Do executes the "dfareporting.accounts.list" call.
 17029  // Exactly one of *AccountsListResponse or error will be non-nil. Any
 17030  // non-2xx status code is an error. Response headers are in either
 17031  // *AccountsListResponse.ServerResponse.Header or (if a response was
 17032  // returned at all) in error.(*googleapi.Error).Header. Use
 17033  // googleapi.IsNotModified to check whether the returned error was
 17034  // because http.StatusNotModified was returned.
 17035  func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
 17036  	gensupport.SetOptions(c.urlParams_, opts...)
 17037  	res, err := c.doRequest("json")
 17038  	if res != nil && res.StatusCode == http.StatusNotModified {
 17039  		if res.Body != nil {
 17040  			res.Body.Close()
 17041  		}
 17042  		return nil, &googleapi.Error{
 17043  			Code:   res.StatusCode,
 17044  			Header: res.Header,
 17045  		}
 17046  	}
 17047  	if err != nil {
 17048  		return nil, err
 17049  	}
 17050  	defer googleapi.CloseBody(res)
 17051  	if err := googleapi.CheckResponse(res); err != nil {
 17052  		return nil, err
 17053  	}
 17054  	ret := &AccountsListResponse{
 17055  		ServerResponse: googleapi.ServerResponse{
 17056  			Header:         res.Header,
 17057  			HTTPStatusCode: res.StatusCode,
 17058  		},
 17059  	}
 17060  	target := &ret
 17061  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17062  		return nil, err
 17063  	}
 17064  	return ret, nil
 17065  	// {
 17066  	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
 17067  	//   "flatPath": "userprofiles/{profileId}/accounts",
 17068  	//   "httpMethod": "GET",
 17069  	//   "id": "dfareporting.accounts.list",
 17070  	//   "parameterOrder": [
 17071  	//     "profileId"
 17072  	//   ],
 17073  	//   "parameters": {
 17074  	//     "active": {
 17075  	//       "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
 17076  	//       "location": "query",
 17077  	//       "type": "boolean"
 17078  	//     },
 17079  	//     "ids": {
 17080  	//       "description": "Select only accounts with these IDs.",
 17081  	//       "format": "int64",
 17082  	//       "location": "query",
 17083  	//       "repeated": true,
 17084  	//       "type": "string"
 17085  	//     },
 17086  	//     "maxResults": {
 17087  	//       "default": "1000",
 17088  	//       "description": "Maximum number of results to return.",
 17089  	//       "format": "int32",
 17090  	//       "location": "query",
 17091  	//       "maximum": "1000",
 17092  	//       "minimum": "0",
 17093  	//       "type": "integer"
 17094  	//     },
 17095  	//     "pageToken": {
 17096  	//       "description": "Value of the nextPageToken from the previous result page.",
 17097  	//       "location": "query",
 17098  	//       "type": "string"
 17099  	//     },
 17100  	//     "profileId": {
 17101  	//       "description": "User profile ID associated with this request.",
 17102  	//       "format": "int64",
 17103  	//       "location": "path",
 17104  	//       "required": true,
 17105  	//       "type": "string"
 17106  	//     },
 17107  	//     "searchString": {
 17108  	//       "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\".",
 17109  	//       "location": "query",
 17110  	//       "type": "string"
 17111  	//     },
 17112  	//     "sortField": {
 17113  	//       "default": "ID",
 17114  	//       "description": "Field by which to sort the list.",
 17115  	//       "enum": [
 17116  	//         "ID",
 17117  	//         "NAME"
 17118  	//       ],
 17119  	//       "enumDescriptions": [
 17120  	//         "",
 17121  	//         ""
 17122  	//       ],
 17123  	//       "location": "query",
 17124  	//       "type": "string"
 17125  	//     },
 17126  	//     "sortOrder": {
 17127  	//       "default": "ASCENDING",
 17128  	//       "description": "Order of sorted results.",
 17129  	//       "enum": [
 17130  	//         "ASCENDING",
 17131  	//         "DESCENDING"
 17132  	//       ],
 17133  	//       "enumDescriptions": [
 17134  	//         "",
 17135  	//         ""
 17136  	//       ],
 17137  	//       "location": "query",
 17138  	//       "type": "string"
 17139  	//     }
 17140  	//   },
 17141  	//   "path": "userprofiles/{profileId}/accounts",
 17142  	//   "response": {
 17143  	//     "$ref": "AccountsListResponse"
 17144  	//   },
 17145  	//   "scopes": [
 17146  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17147  	//   ]
 17148  	// }
 17149  
 17150  }
 17151  
 17152  // Pages invokes f for each page of results.
 17153  // A non-nil error returned from f will halt the iteration.
 17154  // The provided context supersedes any context provided to the Context method.
 17155  func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
 17156  	c.ctx_ = ctx
 17157  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 17158  	for {
 17159  		x, err := c.Do()
 17160  		if err != nil {
 17161  			return err
 17162  		}
 17163  		if err := f(x); err != nil {
 17164  			return err
 17165  		}
 17166  		if x.NextPageToken == "" {
 17167  			return nil
 17168  		}
 17169  		c.PageToken(x.NextPageToken)
 17170  	}
 17171  }
 17172  
 17173  // method id "dfareporting.accounts.patch":
 17174  
 17175  type AccountsPatchCall struct {
 17176  	s          *Service
 17177  	profileId  int64
 17178  	account    *Account
 17179  	urlParams_ gensupport.URLParams
 17180  	ctx_       context.Context
 17181  	header_    http.Header
 17182  }
 17183  
 17184  // Patch: Updates an existing account. This method supports patch
 17185  // semantics.
 17186  //
 17187  // - id: Account ID.
 17188  // - profileId: User profile ID associated with this request.
 17189  func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
 17190  	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17191  	c.profileId = profileId
 17192  	c.urlParams_.Set("id", fmt.Sprint(id))
 17193  	c.account = account
 17194  	return c
 17195  }
 17196  
 17197  // Fields allows partial responses to be retrieved. See
 17198  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17199  // for more information.
 17200  func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
 17201  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17202  	return c
 17203  }
 17204  
 17205  // Context sets the context to be used in this call's Do method. Any
 17206  // pending HTTP request will be aborted if the provided context is
 17207  // canceled.
 17208  func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
 17209  	c.ctx_ = ctx
 17210  	return c
 17211  }
 17212  
 17213  // Header returns an http.Header that can be modified by the caller to
 17214  // add HTTP headers to the request.
 17215  func (c *AccountsPatchCall) Header() http.Header {
 17216  	if c.header_ == nil {
 17217  		c.header_ = make(http.Header)
 17218  	}
 17219  	return c.header_
 17220  }
 17221  
 17222  func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 17223  	reqHeaders := make(http.Header)
 17224  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 17225  	for k, v := range c.header_ {
 17226  		reqHeaders[k] = v
 17227  	}
 17228  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17229  	var body io.Reader = nil
 17230  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
 17231  	if err != nil {
 17232  		return nil, err
 17233  	}
 17234  	reqHeaders.Set("Content-Type", "application/json")
 17235  	c.urlParams_.Set("alt", alt)
 17236  	c.urlParams_.Set("prettyPrint", "false")
 17237  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 17238  	urls += "?" + c.urlParams_.Encode()
 17239  	req, err := http.NewRequest("PATCH", urls, body)
 17240  	if err != nil {
 17241  		return nil, err
 17242  	}
 17243  	req.Header = reqHeaders
 17244  	googleapi.Expand(req.URL, map[string]string{
 17245  		"profileId": strconv.FormatInt(c.profileId, 10),
 17246  	})
 17247  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17248  }
 17249  
 17250  // Do executes the "dfareporting.accounts.patch" call.
 17251  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 17252  // code is an error. Response headers are in either
 17253  // *Account.ServerResponse.Header or (if a response was returned at all)
 17254  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 17255  // check whether the returned error was because http.StatusNotModified
 17256  // was returned.
 17257  func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 17258  	gensupport.SetOptions(c.urlParams_, opts...)
 17259  	res, err := c.doRequest("json")
 17260  	if res != nil && res.StatusCode == http.StatusNotModified {
 17261  		if res.Body != nil {
 17262  			res.Body.Close()
 17263  		}
 17264  		return nil, &googleapi.Error{
 17265  			Code:   res.StatusCode,
 17266  			Header: res.Header,
 17267  		}
 17268  	}
 17269  	if err != nil {
 17270  		return nil, err
 17271  	}
 17272  	defer googleapi.CloseBody(res)
 17273  	if err := googleapi.CheckResponse(res); err != nil {
 17274  		return nil, err
 17275  	}
 17276  	ret := &Account{
 17277  		ServerResponse: googleapi.ServerResponse{
 17278  			Header:         res.Header,
 17279  			HTTPStatusCode: res.StatusCode,
 17280  		},
 17281  	}
 17282  	target := &ret
 17283  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17284  		return nil, err
 17285  	}
 17286  	return ret, nil
 17287  	// {
 17288  	//   "description": "Updates an existing account. This method supports patch semantics.",
 17289  	//   "flatPath": "userprofiles/{profileId}/accounts",
 17290  	//   "httpMethod": "PATCH",
 17291  	//   "id": "dfareporting.accounts.patch",
 17292  	//   "parameterOrder": [
 17293  	//     "profileId",
 17294  	//     "id"
 17295  	//   ],
 17296  	//   "parameters": {
 17297  	//     "id": {
 17298  	//       "description": "Account ID.",
 17299  	//       "format": "int64",
 17300  	//       "location": "query",
 17301  	//       "required": true,
 17302  	//       "type": "string"
 17303  	//     },
 17304  	//     "profileId": {
 17305  	//       "description": "User profile ID associated with this request.",
 17306  	//       "format": "int64",
 17307  	//       "location": "path",
 17308  	//       "required": true,
 17309  	//       "type": "string"
 17310  	//     }
 17311  	//   },
 17312  	//   "path": "userprofiles/{profileId}/accounts",
 17313  	//   "request": {
 17314  	//     "$ref": "Account"
 17315  	//   },
 17316  	//   "response": {
 17317  	//     "$ref": "Account"
 17318  	//   },
 17319  	//   "scopes": [
 17320  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17321  	//   ]
 17322  	// }
 17323  
 17324  }
 17325  
 17326  // method id "dfareporting.accounts.update":
 17327  
 17328  type AccountsUpdateCall struct {
 17329  	s          *Service
 17330  	profileId  int64
 17331  	account    *Account
 17332  	urlParams_ gensupport.URLParams
 17333  	ctx_       context.Context
 17334  	header_    http.Header
 17335  }
 17336  
 17337  // Update: Updates an existing account.
 17338  //
 17339  // - profileId: User profile ID associated with this request.
 17340  func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
 17341  	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17342  	c.profileId = profileId
 17343  	c.account = account
 17344  	return c
 17345  }
 17346  
 17347  // Fields allows partial responses to be retrieved. See
 17348  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17349  // for more information.
 17350  func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
 17351  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17352  	return c
 17353  }
 17354  
 17355  // Context sets the context to be used in this call's Do method. Any
 17356  // pending HTTP request will be aborted if the provided context is
 17357  // canceled.
 17358  func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 17359  	c.ctx_ = ctx
 17360  	return c
 17361  }
 17362  
 17363  // Header returns an http.Header that can be modified by the caller to
 17364  // add HTTP headers to the request.
 17365  func (c *AccountsUpdateCall) Header() http.Header {
 17366  	if c.header_ == nil {
 17367  		c.header_ = make(http.Header)
 17368  	}
 17369  	return c.header_
 17370  }
 17371  
 17372  func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 17373  	reqHeaders := make(http.Header)
 17374  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 17375  	for k, v := range c.header_ {
 17376  		reqHeaders[k] = v
 17377  	}
 17378  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17379  	var body io.Reader = nil
 17380  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
 17381  	if err != nil {
 17382  		return nil, err
 17383  	}
 17384  	reqHeaders.Set("Content-Type", "application/json")
 17385  	c.urlParams_.Set("alt", alt)
 17386  	c.urlParams_.Set("prettyPrint", "false")
 17387  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 17388  	urls += "?" + c.urlParams_.Encode()
 17389  	req, err := http.NewRequest("PUT", urls, body)
 17390  	if err != nil {
 17391  		return nil, err
 17392  	}
 17393  	req.Header = reqHeaders
 17394  	googleapi.Expand(req.URL, map[string]string{
 17395  		"profileId": strconv.FormatInt(c.profileId, 10),
 17396  	})
 17397  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17398  }
 17399  
 17400  // Do executes the "dfareporting.accounts.update" call.
 17401  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 17402  // code is an error. Response headers are in either
 17403  // *Account.ServerResponse.Header or (if a response was returned at all)
 17404  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 17405  // check whether the returned error was because http.StatusNotModified
 17406  // was returned.
 17407  func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 17408  	gensupport.SetOptions(c.urlParams_, opts...)
 17409  	res, err := c.doRequest("json")
 17410  	if res != nil && res.StatusCode == http.StatusNotModified {
 17411  		if res.Body != nil {
 17412  			res.Body.Close()
 17413  		}
 17414  		return nil, &googleapi.Error{
 17415  			Code:   res.StatusCode,
 17416  			Header: res.Header,
 17417  		}
 17418  	}
 17419  	if err != nil {
 17420  		return nil, err
 17421  	}
 17422  	defer googleapi.CloseBody(res)
 17423  	if err := googleapi.CheckResponse(res); err != nil {
 17424  		return nil, err
 17425  	}
 17426  	ret := &Account{
 17427  		ServerResponse: googleapi.ServerResponse{
 17428  			Header:         res.Header,
 17429  			HTTPStatusCode: res.StatusCode,
 17430  		},
 17431  	}
 17432  	target := &ret
 17433  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17434  		return nil, err
 17435  	}
 17436  	return ret, nil
 17437  	// {
 17438  	//   "description": "Updates an existing account.",
 17439  	//   "flatPath": "userprofiles/{profileId}/accounts",
 17440  	//   "httpMethod": "PUT",
 17441  	//   "id": "dfareporting.accounts.update",
 17442  	//   "parameterOrder": [
 17443  	//     "profileId"
 17444  	//   ],
 17445  	//   "parameters": {
 17446  	//     "profileId": {
 17447  	//       "description": "User profile ID associated with this request.",
 17448  	//       "format": "int64",
 17449  	//       "location": "path",
 17450  	//       "required": true,
 17451  	//       "type": "string"
 17452  	//     }
 17453  	//   },
 17454  	//   "path": "userprofiles/{profileId}/accounts",
 17455  	//   "request": {
 17456  	//     "$ref": "Account"
 17457  	//   },
 17458  	//   "response": {
 17459  	//     "$ref": "Account"
 17460  	//   },
 17461  	//   "scopes": [
 17462  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17463  	//   ]
 17464  	// }
 17465  
 17466  }
 17467  
 17468  // method id "dfareporting.ads.get":
 17469  
 17470  type AdsGetCall struct {
 17471  	s            *Service
 17472  	profileId    int64
 17473  	id           int64
 17474  	urlParams_   gensupport.URLParams
 17475  	ifNoneMatch_ string
 17476  	ctx_         context.Context
 17477  	header_      http.Header
 17478  }
 17479  
 17480  // Get: Gets one ad by ID.
 17481  //
 17482  // - id: Ad ID.
 17483  // - profileId: User profile ID associated with this request.
 17484  func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
 17485  	c := &AdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17486  	c.profileId = profileId
 17487  	c.id = id
 17488  	return c
 17489  }
 17490  
 17491  // Fields allows partial responses to be retrieved. See
 17492  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17493  // for more information.
 17494  func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
 17495  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17496  	return c
 17497  }
 17498  
 17499  // IfNoneMatch sets the optional parameter which makes the operation
 17500  // fail if the object's ETag matches the given value. This is useful for
 17501  // getting updates only after the object has changed since the last
 17502  // request. Use googleapi.IsNotModified to check whether the response
 17503  // error from Do is the result of In-None-Match.
 17504  func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
 17505  	c.ifNoneMatch_ = entityTag
 17506  	return c
 17507  }
 17508  
 17509  // Context sets the context to be used in this call's Do method. Any
 17510  // pending HTTP request will be aborted if the provided context is
 17511  // canceled.
 17512  func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
 17513  	c.ctx_ = ctx
 17514  	return c
 17515  }
 17516  
 17517  // Header returns an http.Header that can be modified by the caller to
 17518  // add HTTP headers to the request.
 17519  func (c *AdsGetCall) Header() http.Header {
 17520  	if c.header_ == nil {
 17521  		c.header_ = make(http.Header)
 17522  	}
 17523  	return c.header_
 17524  }
 17525  
 17526  func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
 17527  	reqHeaders := make(http.Header)
 17528  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 17529  	for k, v := range c.header_ {
 17530  		reqHeaders[k] = v
 17531  	}
 17532  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17533  	if c.ifNoneMatch_ != "" {
 17534  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17535  	}
 17536  	var body io.Reader = nil
 17537  	c.urlParams_.Set("alt", alt)
 17538  	c.urlParams_.Set("prettyPrint", "false")
 17539  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
 17540  	urls += "?" + c.urlParams_.Encode()
 17541  	req, err := http.NewRequest("GET", urls, body)
 17542  	if err != nil {
 17543  		return nil, err
 17544  	}
 17545  	req.Header = reqHeaders
 17546  	googleapi.Expand(req.URL, map[string]string{
 17547  		"profileId": strconv.FormatInt(c.profileId, 10),
 17548  		"id":        strconv.FormatInt(c.id, 10),
 17549  	})
 17550  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17551  }
 17552  
 17553  // Do executes the "dfareporting.ads.get" call.
 17554  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 17555  // is an error. Response headers are in either *Ad.ServerResponse.Header
 17556  // or (if a response was returned at all) in
 17557  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17558  // whether the returned error was because http.StatusNotModified was
 17559  // returned.
 17560  func (c *AdsGetCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 17561  	gensupport.SetOptions(c.urlParams_, opts...)
 17562  	res, err := c.doRequest("json")
 17563  	if res != nil && res.StatusCode == http.StatusNotModified {
 17564  		if res.Body != nil {
 17565  			res.Body.Close()
 17566  		}
 17567  		return nil, &googleapi.Error{
 17568  			Code:   res.StatusCode,
 17569  			Header: res.Header,
 17570  		}
 17571  	}
 17572  	if err != nil {
 17573  		return nil, err
 17574  	}
 17575  	defer googleapi.CloseBody(res)
 17576  	if err := googleapi.CheckResponse(res); err != nil {
 17577  		return nil, err
 17578  	}
 17579  	ret := &Ad{
 17580  		ServerResponse: googleapi.ServerResponse{
 17581  			Header:         res.Header,
 17582  			HTTPStatusCode: res.StatusCode,
 17583  		},
 17584  	}
 17585  	target := &ret
 17586  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17587  		return nil, err
 17588  	}
 17589  	return ret, nil
 17590  	// {
 17591  	//   "description": "Gets one ad by ID.",
 17592  	//   "flatPath": "userprofiles/{profileId}/ads/{id}",
 17593  	//   "httpMethod": "GET",
 17594  	//   "id": "dfareporting.ads.get",
 17595  	//   "parameterOrder": [
 17596  	//     "profileId",
 17597  	//     "id"
 17598  	//   ],
 17599  	//   "parameters": {
 17600  	//     "id": {
 17601  	//       "description": "Ad ID.",
 17602  	//       "format": "int64",
 17603  	//       "location": "path",
 17604  	//       "required": true,
 17605  	//       "type": "string"
 17606  	//     },
 17607  	//     "profileId": {
 17608  	//       "description": "User profile ID associated with this request.",
 17609  	//       "format": "int64",
 17610  	//       "location": "path",
 17611  	//       "required": true,
 17612  	//       "type": "string"
 17613  	//     }
 17614  	//   },
 17615  	//   "path": "userprofiles/{profileId}/ads/{id}",
 17616  	//   "response": {
 17617  	//     "$ref": "Ad"
 17618  	//   },
 17619  	//   "scopes": [
 17620  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17621  	//   ]
 17622  	// }
 17623  
 17624  }
 17625  
 17626  // method id "dfareporting.ads.insert":
 17627  
 17628  type AdsInsertCall struct {
 17629  	s          *Service
 17630  	profileId  int64
 17631  	ad         *Ad
 17632  	urlParams_ gensupport.URLParams
 17633  	ctx_       context.Context
 17634  	header_    http.Header
 17635  }
 17636  
 17637  // Insert: Inserts a new ad.
 17638  //
 17639  // - profileId: User profile ID associated with this request.
 17640  func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
 17641  	c := &AdsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17642  	c.profileId = profileId
 17643  	c.ad = ad
 17644  	return c
 17645  }
 17646  
 17647  // Fields allows partial responses to be retrieved. See
 17648  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17649  // for more information.
 17650  func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
 17651  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17652  	return c
 17653  }
 17654  
 17655  // Context sets the context to be used in this call's Do method. Any
 17656  // pending HTTP request will be aborted if the provided context is
 17657  // canceled.
 17658  func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
 17659  	c.ctx_ = ctx
 17660  	return c
 17661  }
 17662  
 17663  // Header returns an http.Header that can be modified by the caller to
 17664  // add HTTP headers to the request.
 17665  func (c *AdsInsertCall) Header() http.Header {
 17666  	if c.header_ == nil {
 17667  		c.header_ = make(http.Header)
 17668  	}
 17669  	return c.header_
 17670  }
 17671  
 17672  func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
 17673  	reqHeaders := make(http.Header)
 17674  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 17675  	for k, v := range c.header_ {
 17676  		reqHeaders[k] = v
 17677  	}
 17678  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17679  	var body io.Reader = nil
 17680  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 17681  	if err != nil {
 17682  		return nil, err
 17683  	}
 17684  	reqHeaders.Set("Content-Type", "application/json")
 17685  	c.urlParams_.Set("alt", alt)
 17686  	c.urlParams_.Set("prettyPrint", "false")
 17687  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17688  	urls += "?" + c.urlParams_.Encode()
 17689  	req, err := http.NewRequest("POST", urls, body)
 17690  	if err != nil {
 17691  		return nil, err
 17692  	}
 17693  	req.Header = reqHeaders
 17694  	googleapi.Expand(req.URL, map[string]string{
 17695  		"profileId": strconv.FormatInt(c.profileId, 10),
 17696  	})
 17697  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17698  }
 17699  
 17700  // Do executes the "dfareporting.ads.insert" call.
 17701  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 17702  // is an error. Response headers are in either *Ad.ServerResponse.Header
 17703  // or (if a response was returned at all) in
 17704  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17705  // whether the returned error was because http.StatusNotModified was
 17706  // returned.
 17707  func (c *AdsInsertCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 17708  	gensupport.SetOptions(c.urlParams_, opts...)
 17709  	res, err := c.doRequest("json")
 17710  	if res != nil && res.StatusCode == http.StatusNotModified {
 17711  		if res.Body != nil {
 17712  			res.Body.Close()
 17713  		}
 17714  		return nil, &googleapi.Error{
 17715  			Code:   res.StatusCode,
 17716  			Header: res.Header,
 17717  		}
 17718  	}
 17719  	if err != nil {
 17720  		return nil, err
 17721  	}
 17722  	defer googleapi.CloseBody(res)
 17723  	if err := googleapi.CheckResponse(res); err != nil {
 17724  		return nil, err
 17725  	}
 17726  	ret := &Ad{
 17727  		ServerResponse: googleapi.ServerResponse{
 17728  			Header:         res.Header,
 17729  			HTTPStatusCode: res.StatusCode,
 17730  		},
 17731  	}
 17732  	target := &ret
 17733  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17734  		return nil, err
 17735  	}
 17736  	return ret, nil
 17737  	// {
 17738  	//   "description": "Inserts a new ad.",
 17739  	//   "flatPath": "userprofiles/{profileId}/ads",
 17740  	//   "httpMethod": "POST",
 17741  	//   "id": "dfareporting.ads.insert",
 17742  	//   "parameterOrder": [
 17743  	//     "profileId"
 17744  	//   ],
 17745  	//   "parameters": {
 17746  	//     "profileId": {
 17747  	//       "description": "User profile ID associated with this request.",
 17748  	//       "format": "int64",
 17749  	//       "location": "path",
 17750  	//       "required": true,
 17751  	//       "type": "string"
 17752  	//     }
 17753  	//   },
 17754  	//   "path": "userprofiles/{profileId}/ads",
 17755  	//   "request": {
 17756  	//     "$ref": "Ad"
 17757  	//   },
 17758  	//   "response": {
 17759  	//     "$ref": "Ad"
 17760  	//   },
 17761  	//   "scopes": [
 17762  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17763  	//   ]
 17764  	// }
 17765  
 17766  }
 17767  
 17768  // method id "dfareporting.ads.list":
 17769  
 17770  type AdsListCall struct {
 17771  	s            *Service
 17772  	profileId    int64
 17773  	urlParams_   gensupport.URLParams
 17774  	ifNoneMatch_ string
 17775  	ctx_         context.Context
 17776  	header_      http.Header
 17777  }
 17778  
 17779  // List: Retrieves a list of ads, possibly filtered. This method
 17780  // supports paging.
 17781  //
 17782  // - profileId: User profile ID associated with this request.
 17783  func (r *AdsService) List(profileId int64) *AdsListCall {
 17784  	c := &AdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17785  	c.profileId = profileId
 17786  	return c
 17787  }
 17788  
 17789  // Active sets the optional parameter "active": Select only active ads.
 17790  func (c *AdsListCall) Active(active bool) *AdsListCall {
 17791  	c.urlParams_.Set("active", fmt.Sprint(active))
 17792  	return c
 17793  }
 17794  
 17795  // AdvertiserId sets the optional parameter "advertiserId": Select only
 17796  // ads with this advertiser ID.
 17797  func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
 17798  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 17799  	return c
 17800  }
 17801  
 17802  // Archived sets the optional parameter "archived": Select only archived
 17803  // ads.
 17804  func (c *AdsListCall) Archived(archived bool) *AdsListCall {
 17805  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 17806  	return c
 17807  }
 17808  
 17809  // AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
 17810  // Select only ads with these audience segment IDs.
 17811  func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds ...int64) *AdsListCall {
 17812  	var audienceSegmentIds_ []string
 17813  	for _, v := range audienceSegmentIds {
 17814  		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprint(v))
 17815  	}
 17816  	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
 17817  	return c
 17818  }
 17819  
 17820  // CampaignIds sets the optional parameter "campaignIds": Select only
 17821  // ads with these campaign IDs.
 17822  func (c *AdsListCall) CampaignIds(campaignIds ...int64) *AdsListCall {
 17823  	var campaignIds_ []string
 17824  	for _, v := range campaignIds {
 17825  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 17826  	}
 17827  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 17828  	return c
 17829  }
 17830  
 17831  // Compatibility sets the optional parameter "compatibility": Select
 17832  // default ads with the specified compatibility. Applicable when type is
 17833  // AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
 17834  // rendering either on desktop or on mobile devices for regular or
 17835  // interstitial ads, respectively. APP and APP_INTERSTITIAL are for
 17836  // rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
 17837  // in-stream video ads developed with the VAST standard.
 17838  //
 17839  // Possible values:
 17840  //
 17841  //	"DISPLAY"
 17842  //	"DISPLAY_INTERSTITIAL"
 17843  //	"APP"
 17844  //	"APP_INTERSTITIAL"
 17845  //	"IN_STREAM_VIDEO"
 17846  //	"IN_STREAM_AUDIO"
 17847  func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
 17848  	c.urlParams_.Set("compatibility", compatibility)
 17849  	return c
 17850  }
 17851  
 17852  // CreativeIds sets the optional parameter "creativeIds": Select only
 17853  // ads with these creative IDs assigned.
 17854  func (c *AdsListCall) CreativeIds(creativeIds ...int64) *AdsListCall {
 17855  	var creativeIds_ []string
 17856  	for _, v := range creativeIds {
 17857  		creativeIds_ = append(creativeIds_, fmt.Sprint(v))
 17858  	}
 17859  	c.urlParams_.SetMulti("creativeIds", creativeIds_)
 17860  	return c
 17861  }
 17862  
 17863  // CreativeOptimizationConfigurationIds sets the optional parameter
 17864  // "creativeOptimizationConfigurationIds": Select only ads with these
 17865  // creative optimization configuration IDs.
 17866  func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds ...int64) *AdsListCall {
 17867  	var creativeOptimizationConfigurationIds_ []string
 17868  	for _, v := range creativeOptimizationConfigurationIds {
 17869  		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprint(v))
 17870  	}
 17871  	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
 17872  	return c
 17873  }
 17874  
 17875  // DynamicClickTracker sets the optional parameter
 17876  // "dynamicClickTracker": Select only dynamic click trackers. Applicable
 17877  // when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click
 17878  // trackers. If false, select static click trackers. Leave unset to
 17879  // select both.
 17880  func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
 17881  	c.urlParams_.Set("dynamicClickTracker", fmt.Sprint(dynamicClickTracker))
 17882  	return c
 17883  }
 17884  
 17885  // Ids sets the optional parameter "ids": Select only ads with these
 17886  // IDs.
 17887  func (c *AdsListCall) Ids(ids ...int64) *AdsListCall {
 17888  	var ids_ []string
 17889  	for _, v := range ids {
 17890  		ids_ = append(ids_, fmt.Sprint(v))
 17891  	}
 17892  	c.urlParams_.SetMulti("ids", ids_)
 17893  	return c
 17894  }
 17895  
 17896  // LandingPageIds sets the optional parameter "landingPageIds": Select
 17897  // only ads with these landing page IDs.
 17898  func (c *AdsListCall) LandingPageIds(landingPageIds ...int64) *AdsListCall {
 17899  	var landingPageIds_ []string
 17900  	for _, v := range landingPageIds {
 17901  		landingPageIds_ = append(landingPageIds_, fmt.Sprint(v))
 17902  	}
 17903  	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
 17904  	return c
 17905  }
 17906  
 17907  // MaxResults sets the optional parameter "maxResults": Maximum number
 17908  // of results to return.
 17909  func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
 17910  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 17911  	return c
 17912  }
 17913  
 17914  // OverriddenEventTagId sets the optional parameter
 17915  // "overriddenEventTagId": Select only ads with this event tag override
 17916  // ID.
 17917  func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
 17918  	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
 17919  	return c
 17920  }
 17921  
 17922  // PageToken sets the optional parameter "pageToken": Value of the
 17923  // nextPageToken from the previous result page.
 17924  func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
 17925  	c.urlParams_.Set("pageToken", pageToken)
 17926  	return c
 17927  }
 17928  
 17929  // PlacementIds sets the optional parameter "placementIds": Select only
 17930  // ads with these placement IDs assigned.
 17931  func (c *AdsListCall) PlacementIds(placementIds ...int64) *AdsListCall {
 17932  	var placementIds_ []string
 17933  	for _, v := range placementIds {
 17934  		placementIds_ = append(placementIds_, fmt.Sprint(v))
 17935  	}
 17936  	c.urlParams_.SetMulti("placementIds", placementIds_)
 17937  	return c
 17938  }
 17939  
 17940  // RemarketingListIds sets the optional parameter "remarketingListIds":
 17941  // Select only ads whose list targeting expression use these remarketing
 17942  // list IDs.
 17943  func (c *AdsListCall) RemarketingListIds(remarketingListIds ...int64) *AdsListCall {
 17944  	var remarketingListIds_ []string
 17945  	for _, v := range remarketingListIds {
 17946  		remarketingListIds_ = append(remarketingListIds_, fmt.Sprint(v))
 17947  	}
 17948  	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
 17949  	return c
 17950  }
 17951  
 17952  // SearchString sets the optional parameter "searchString": Allows
 17953  // searching for objects by name or ID. Wildcards (*) are allowed. For
 17954  // example, "ad*2015" will return objects with names like "ad June
 17955  // 2015", "ad April 2015", or simply "ad 2015". Most of the searches
 17956  // also add wildcards implicitly at the start and the end of the search
 17957  // string. For example, a search string of "ad" will match objects with
 17958  // name "my ad", "ad 2015", or simply "ad".
 17959  func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
 17960  	c.urlParams_.Set("searchString", searchString)
 17961  	return c
 17962  }
 17963  
 17964  // SizeIds sets the optional parameter "sizeIds": Select only ads with
 17965  // these size IDs.
 17966  func (c *AdsListCall) SizeIds(sizeIds ...int64) *AdsListCall {
 17967  	var sizeIds_ []string
 17968  	for _, v := range sizeIds {
 17969  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 17970  	}
 17971  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 17972  	return c
 17973  }
 17974  
 17975  // SortField sets the optional parameter "sortField": Field by which to
 17976  // sort the list.
 17977  //
 17978  // Possible values:
 17979  //
 17980  //	"ID" (default)
 17981  //	"NAME"
 17982  func (c *AdsListCall) SortField(sortField string) *AdsListCall {
 17983  	c.urlParams_.Set("sortField", sortField)
 17984  	return c
 17985  }
 17986  
 17987  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 17988  // results.
 17989  //
 17990  // Possible values:
 17991  //
 17992  //	"ASCENDING" (default)
 17993  //	"DESCENDING"
 17994  func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
 17995  	c.urlParams_.Set("sortOrder", sortOrder)
 17996  	return c
 17997  }
 17998  
 17999  // SslCompliant sets the optional parameter "sslCompliant": Select only
 18000  // ads that are SSL-compliant.
 18001  func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
 18002  	c.urlParams_.Set("sslCompliant", fmt.Sprint(sslCompliant))
 18003  	return c
 18004  }
 18005  
 18006  // SslRequired sets the optional parameter "sslRequired": Select only
 18007  // ads that require SSL.
 18008  func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
 18009  	c.urlParams_.Set("sslRequired", fmt.Sprint(sslRequired))
 18010  	return c
 18011  }
 18012  
 18013  // Type sets the optional parameter "type": Select only ads with these
 18014  // types.
 18015  //
 18016  // Possible values:
 18017  //
 18018  //	"AD_SERVING_STANDARD_AD"
 18019  //	"AD_SERVING_DEFAULT_AD"
 18020  //	"AD_SERVING_CLICK_TRACKER"
 18021  //	"AD_SERVING_TRACKING"
 18022  //	"AD_SERVING_BRAND_SAFE_AD"
 18023  func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
 18024  	c.urlParams_.SetMulti("type", append([]string{}, type_...))
 18025  	return c
 18026  }
 18027  
 18028  // Fields allows partial responses to be retrieved. See
 18029  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18030  // for more information.
 18031  func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
 18032  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18033  	return c
 18034  }
 18035  
 18036  // IfNoneMatch sets the optional parameter which makes the operation
 18037  // fail if the object's ETag matches the given value. This is useful for
 18038  // getting updates only after the object has changed since the last
 18039  // request. Use googleapi.IsNotModified to check whether the response
 18040  // error from Do is the result of In-None-Match.
 18041  func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
 18042  	c.ifNoneMatch_ = entityTag
 18043  	return c
 18044  }
 18045  
 18046  // Context sets the context to be used in this call's Do method. Any
 18047  // pending HTTP request will be aborted if the provided context is
 18048  // canceled.
 18049  func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
 18050  	c.ctx_ = ctx
 18051  	return c
 18052  }
 18053  
 18054  // Header returns an http.Header that can be modified by the caller to
 18055  // add HTTP headers to the request.
 18056  func (c *AdsListCall) Header() http.Header {
 18057  	if c.header_ == nil {
 18058  		c.header_ = make(http.Header)
 18059  	}
 18060  	return c.header_
 18061  }
 18062  
 18063  func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
 18064  	reqHeaders := make(http.Header)
 18065  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 18066  	for k, v := range c.header_ {
 18067  		reqHeaders[k] = v
 18068  	}
 18069  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18070  	if c.ifNoneMatch_ != "" {
 18071  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18072  	}
 18073  	var body io.Reader = nil
 18074  	c.urlParams_.Set("alt", alt)
 18075  	c.urlParams_.Set("prettyPrint", "false")
 18076  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 18077  	urls += "?" + c.urlParams_.Encode()
 18078  	req, err := http.NewRequest("GET", urls, body)
 18079  	if err != nil {
 18080  		return nil, err
 18081  	}
 18082  	req.Header = reqHeaders
 18083  	googleapi.Expand(req.URL, map[string]string{
 18084  		"profileId": strconv.FormatInt(c.profileId, 10),
 18085  	})
 18086  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18087  }
 18088  
 18089  // Do executes the "dfareporting.ads.list" call.
 18090  // Exactly one of *AdsListResponse or error will be non-nil. Any non-2xx
 18091  // status code is an error. Response headers are in either
 18092  // *AdsListResponse.ServerResponse.Header or (if a response was returned
 18093  // at all) in error.(*googleapi.Error).Header. Use
 18094  // googleapi.IsNotModified to check whether the returned error was
 18095  // because http.StatusNotModified was returned.
 18096  func (c *AdsListCall) Do(opts ...googleapi.CallOption) (*AdsListResponse, error) {
 18097  	gensupport.SetOptions(c.urlParams_, opts...)
 18098  	res, err := c.doRequest("json")
 18099  	if res != nil && res.StatusCode == http.StatusNotModified {
 18100  		if res.Body != nil {
 18101  			res.Body.Close()
 18102  		}
 18103  		return nil, &googleapi.Error{
 18104  			Code:   res.StatusCode,
 18105  			Header: res.Header,
 18106  		}
 18107  	}
 18108  	if err != nil {
 18109  		return nil, err
 18110  	}
 18111  	defer googleapi.CloseBody(res)
 18112  	if err := googleapi.CheckResponse(res); err != nil {
 18113  		return nil, err
 18114  	}
 18115  	ret := &AdsListResponse{
 18116  		ServerResponse: googleapi.ServerResponse{
 18117  			Header:         res.Header,
 18118  			HTTPStatusCode: res.StatusCode,
 18119  		},
 18120  	}
 18121  	target := &ret
 18122  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18123  		return nil, err
 18124  	}
 18125  	return ret, nil
 18126  	// {
 18127  	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
 18128  	//   "flatPath": "userprofiles/{profileId}/ads",
 18129  	//   "httpMethod": "GET",
 18130  	//   "id": "dfareporting.ads.list",
 18131  	//   "parameterOrder": [
 18132  	//     "profileId"
 18133  	//   ],
 18134  	//   "parameters": {
 18135  	//     "active": {
 18136  	//       "description": "Select only active ads.",
 18137  	//       "location": "query",
 18138  	//       "type": "boolean"
 18139  	//     },
 18140  	//     "advertiserId": {
 18141  	//       "description": "Select only ads with this advertiser ID.",
 18142  	//       "format": "int64",
 18143  	//       "location": "query",
 18144  	//       "type": "string"
 18145  	//     },
 18146  	//     "archived": {
 18147  	//       "description": "Select only archived ads.",
 18148  	//       "location": "query",
 18149  	//       "type": "boolean"
 18150  	//     },
 18151  	//     "audienceSegmentIds": {
 18152  	//       "description": "Select only ads with these audience segment IDs.",
 18153  	//       "format": "int64",
 18154  	//       "location": "query",
 18155  	//       "repeated": true,
 18156  	//       "type": "string"
 18157  	//     },
 18158  	//     "campaignIds": {
 18159  	//       "description": "Select only ads with these campaign IDs.",
 18160  	//       "format": "int64",
 18161  	//       "location": "query",
 18162  	//       "repeated": true,
 18163  	//       "type": "string"
 18164  	//     },
 18165  	//     "compatibility": {
 18166  	//       "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.",
 18167  	//       "enum": [
 18168  	//         "DISPLAY",
 18169  	//         "DISPLAY_INTERSTITIAL",
 18170  	//         "APP",
 18171  	//         "APP_INTERSTITIAL",
 18172  	//         "IN_STREAM_VIDEO",
 18173  	//         "IN_STREAM_AUDIO"
 18174  	//       ],
 18175  	//       "enumDescriptions": [
 18176  	//         "",
 18177  	//         "",
 18178  	//         "",
 18179  	//         "",
 18180  	//         "",
 18181  	//         ""
 18182  	//       ],
 18183  	//       "location": "query",
 18184  	//       "type": "string"
 18185  	//     },
 18186  	//     "creativeIds": {
 18187  	//       "description": "Select only ads with these creative IDs assigned.",
 18188  	//       "format": "int64",
 18189  	//       "location": "query",
 18190  	//       "repeated": true,
 18191  	//       "type": "string"
 18192  	//     },
 18193  	//     "creativeOptimizationConfigurationIds": {
 18194  	//       "description": "Select only ads with these creative optimization configuration IDs.",
 18195  	//       "format": "int64",
 18196  	//       "location": "query",
 18197  	//       "repeated": true,
 18198  	//       "type": "string"
 18199  	//     },
 18200  	//     "dynamicClickTracker": {
 18201  	//       "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.",
 18202  	//       "location": "query",
 18203  	//       "type": "boolean"
 18204  	//     },
 18205  	//     "ids": {
 18206  	//       "description": "Select only ads with these IDs.",
 18207  	//       "format": "int64",
 18208  	//       "location": "query",
 18209  	//       "repeated": true,
 18210  	//       "type": "string"
 18211  	//     },
 18212  	//     "landingPageIds": {
 18213  	//       "description": "Select only ads with these landing page IDs.",
 18214  	//       "format": "int64",
 18215  	//       "location": "query",
 18216  	//       "repeated": true,
 18217  	//       "type": "string"
 18218  	//     },
 18219  	//     "maxResults": {
 18220  	//       "default": "1000",
 18221  	//       "description": "Maximum number of results to return.",
 18222  	//       "format": "int32",
 18223  	//       "location": "query",
 18224  	//       "maximum": "1000",
 18225  	//       "minimum": "0",
 18226  	//       "type": "integer"
 18227  	//     },
 18228  	//     "overriddenEventTagId": {
 18229  	//       "description": "Select only ads with this event tag override ID.",
 18230  	//       "format": "int64",
 18231  	//       "location": "query",
 18232  	//       "type": "string"
 18233  	//     },
 18234  	//     "pageToken": {
 18235  	//       "description": "Value of the nextPageToken from the previous result page.",
 18236  	//       "location": "query",
 18237  	//       "type": "string"
 18238  	//     },
 18239  	//     "placementIds": {
 18240  	//       "description": "Select only ads with these placement IDs assigned.",
 18241  	//       "format": "int64",
 18242  	//       "location": "query",
 18243  	//       "repeated": true,
 18244  	//       "type": "string"
 18245  	//     },
 18246  	//     "profileId": {
 18247  	//       "description": "User profile ID associated with this request.",
 18248  	//       "format": "int64",
 18249  	//       "location": "path",
 18250  	//       "required": true,
 18251  	//       "type": "string"
 18252  	//     },
 18253  	//     "remarketingListIds": {
 18254  	//       "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
 18255  	//       "format": "int64",
 18256  	//       "location": "query",
 18257  	//       "repeated": true,
 18258  	//       "type": "string"
 18259  	//     },
 18260  	//     "searchString": {
 18261  	//       "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\".",
 18262  	//       "location": "query",
 18263  	//       "type": "string"
 18264  	//     },
 18265  	//     "sizeIds": {
 18266  	//       "description": "Select only ads with these size IDs.",
 18267  	//       "format": "int64",
 18268  	//       "location": "query",
 18269  	//       "repeated": true,
 18270  	//       "type": "string"
 18271  	//     },
 18272  	//     "sortField": {
 18273  	//       "default": "ID",
 18274  	//       "description": "Field by which to sort the list.",
 18275  	//       "enum": [
 18276  	//         "ID",
 18277  	//         "NAME"
 18278  	//       ],
 18279  	//       "enumDescriptions": [
 18280  	//         "",
 18281  	//         ""
 18282  	//       ],
 18283  	//       "location": "query",
 18284  	//       "type": "string"
 18285  	//     },
 18286  	//     "sortOrder": {
 18287  	//       "default": "ASCENDING",
 18288  	//       "description": "Order of sorted results.",
 18289  	//       "enum": [
 18290  	//         "ASCENDING",
 18291  	//         "DESCENDING"
 18292  	//       ],
 18293  	//       "enumDescriptions": [
 18294  	//         "",
 18295  	//         ""
 18296  	//       ],
 18297  	//       "location": "query",
 18298  	//       "type": "string"
 18299  	//     },
 18300  	//     "sslCompliant": {
 18301  	//       "description": "Select only ads that are SSL-compliant.",
 18302  	//       "location": "query",
 18303  	//       "type": "boolean"
 18304  	//     },
 18305  	//     "sslRequired": {
 18306  	//       "description": "Select only ads that require SSL.",
 18307  	//       "location": "query",
 18308  	//       "type": "boolean"
 18309  	//     },
 18310  	//     "type": {
 18311  	//       "description": "Select only ads with these types.",
 18312  	//       "enum": [
 18313  	//         "AD_SERVING_STANDARD_AD",
 18314  	//         "AD_SERVING_DEFAULT_AD",
 18315  	//         "AD_SERVING_CLICK_TRACKER",
 18316  	//         "AD_SERVING_TRACKING",
 18317  	//         "AD_SERVING_BRAND_SAFE_AD"
 18318  	//       ],
 18319  	//       "enumDescriptions": [
 18320  	//         "",
 18321  	//         "",
 18322  	//         "",
 18323  	//         "",
 18324  	//         ""
 18325  	//       ],
 18326  	//       "location": "query",
 18327  	//       "repeated": true,
 18328  	//       "type": "string"
 18329  	//     }
 18330  	//   },
 18331  	//   "path": "userprofiles/{profileId}/ads",
 18332  	//   "response": {
 18333  	//     "$ref": "AdsListResponse"
 18334  	//   },
 18335  	//   "scopes": [
 18336  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18337  	//   ]
 18338  	// }
 18339  
 18340  }
 18341  
 18342  // Pages invokes f for each page of results.
 18343  // A non-nil error returned from f will halt the iteration.
 18344  // The provided context supersedes any context provided to the Context method.
 18345  func (c *AdsListCall) Pages(ctx context.Context, f func(*AdsListResponse) error) error {
 18346  	c.ctx_ = ctx
 18347  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 18348  	for {
 18349  		x, err := c.Do()
 18350  		if err != nil {
 18351  			return err
 18352  		}
 18353  		if err := f(x); err != nil {
 18354  			return err
 18355  		}
 18356  		if x.NextPageToken == "" {
 18357  			return nil
 18358  		}
 18359  		c.PageToken(x.NextPageToken)
 18360  	}
 18361  }
 18362  
 18363  // method id "dfareporting.ads.patch":
 18364  
 18365  type AdsPatchCall struct {
 18366  	s          *Service
 18367  	profileId  int64
 18368  	ad         *Ad
 18369  	urlParams_ gensupport.URLParams
 18370  	ctx_       context.Context
 18371  	header_    http.Header
 18372  }
 18373  
 18374  // Patch: Updates an existing ad. This method supports patch semantics.
 18375  //
 18376  // - id: Ad ID.
 18377  // - profileId: User profile ID associated with this request.
 18378  func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
 18379  	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18380  	c.profileId = profileId
 18381  	c.urlParams_.Set("id", fmt.Sprint(id))
 18382  	c.ad = ad
 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 *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
 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 *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
 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 *AdsPatchCall) Header() http.Header {
 18405  	if c.header_ == nil {
 18406  		c.header_ = make(http.Header)
 18407  	}
 18408  	return c.header_
 18409  }
 18410  
 18411  func (c *AdsPatchCall) 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.ad)
 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}/ads")
 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.ads.patch" call.
 18440  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 18441  // is an error. Response headers are in either *Ad.ServerResponse.Header
 18442  // or (if a response was returned at all) in
 18443  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18444  // whether the returned error was because http.StatusNotModified was
 18445  // returned.
 18446  func (c *AdsPatchCall) Do(opts ...googleapi.CallOption) (*Ad, 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 := &Ad{
 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 ad. This method supports patch semantics.",
 18478  	//   "flatPath": "userprofiles/{profileId}/ads",
 18479  	//   "httpMethod": "PATCH",
 18480  	//   "id": "dfareporting.ads.patch",
 18481  	//   "parameterOrder": [
 18482  	//     "profileId",
 18483  	//     "id"
 18484  	//   ],
 18485  	//   "parameters": {
 18486  	//     "id": {
 18487  	//       "description": "Ad 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}/ads",
 18502  	//   "request": {
 18503  	//     "$ref": "Ad"
 18504  	//   },
 18505  	//   "response": {
 18506  	//     "$ref": "Ad"
 18507  	//   },
 18508  	//   "scopes": [
 18509  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18510  	//   ]
 18511  	// }
 18512  
 18513  }
 18514  
 18515  // method id "dfareporting.ads.update":
 18516  
 18517  type AdsUpdateCall struct {
 18518  	s          *Service
 18519  	profileId  int64
 18520  	ad         *Ad
 18521  	urlParams_ gensupport.URLParams
 18522  	ctx_       context.Context
 18523  	header_    http.Header
 18524  }
 18525  
 18526  // Update: Updates an existing ad.
 18527  //
 18528  // - profileId: User profile ID associated with this request.
 18529  func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
 18530  	c := &AdsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18531  	c.profileId = profileId
 18532  	c.ad = ad
 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 *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
 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 *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
 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 *AdsUpdateCall) Header() http.Header {
 18555  	if c.header_ == nil {
 18556  		c.header_ = make(http.Header)
 18557  	}
 18558  	return c.header_
 18559  }
 18560  
 18561  func (c *AdsUpdateCall) 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.ad)
 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}/ads")
 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.ads.update" call.
 18590  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 18591  // is an error. Response headers are in either *Ad.ServerResponse.Header
 18592  // or (if a response was returned at all) in
 18593  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18594  // whether the returned error was because http.StatusNotModified was
 18595  // returned.
 18596  func (c *AdsUpdateCall) Do(opts ...googleapi.CallOption) (*Ad, 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 := &Ad{
 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 ad.",
 18628  	//   "flatPath": "userprofiles/{profileId}/ads",
 18629  	//   "httpMethod": "PUT",
 18630  	//   "id": "dfareporting.ads.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}/ads",
 18644  	//   "request": {
 18645  	//     "$ref": "Ad"
 18646  	//   },
 18647  	//   "response": {
 18648  	//     "$ref": "Ad"
 18649  	//   },
 18650  	//   "scopes": [
 18651  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18652  	//   ]
 18653  	// }
 18654  
 18655  }
 18656  
 18657  // method id "dfareporting.advertiserGroups.delete":
 18658  
 18659  type AdvertiserGroupsDeleteCall struct {
 18660  	s          *Service
 18661  	profileId  int64
 18662  	id         int64
 18663  	urlParams_ gensupport.URLParams
 18664  	ctx_       context.Context
 18665  	header_    http.Header
 18666  }
 18667  
 18668  // Delete: Deletes an existing advertiser group.
 18669  //
 18670  // - id: Advertiser group ID.
 18671  // - profileId: User profile ID associated with this request.
 18672  func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
 18673  	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18674  	c.profileId = profileId
 18675  	c.id = id
 18676  	return c
 18677  }
 18678  
 18679  // Fields allows partial responses to be retrieved. See
 18680  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18681  // for more information.
 18682  func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
 18683  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18684  	return c
 18685  }
 18686  
 18687  // Context sets the context to be used in this call's Do method. Any
 18688  // pending HTTP request will be aborted if the provided context is
 18689  // canceled.
 18690  func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
 18691  	c.ctx_ = ctx
 18692  	return c
 18693  }
 18694  
 18695  // Header returns an http.Header that can be modified by the caller to
 18696  // add HTTP headers to the request.
 18697  func (c *AdvertiserGroupsDeleteCall) Header() http.Header {
 18698  	if c.header_ == nil {
 18699  		c.header_ = make(http.Header)
 18700  	}
 18701  	return c.header_
 18702  }
 18703  
 18704  func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 18705  	reqHeaders := make(http.Header)
 18706  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 18707  	for k, v := range c.header_ {
 18708  		reqHeaders[k] = v
 18709  	}
 18710  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18711  	var body io.Reader = nil
 18712  	c.urlParams_.Set("alt", alt)
 18713  	c.urlParams_.Set("prettyPrint", "false")
 18714  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
 18715  	urls += "?" + c.urlParams_.Encode()
 18716  	req, err := http.NewRequest("DELETE", urls, body)
 18717  	if err != nil {
 18718  		return nil, err
 18719  	}
 18720  	req.Header = reqHeaders
 18721  	googleapi.Expand(req.URL, map[string]string{
 18722  		"profileId": strconv.FormatInt(c.profileId, 10),
 18723  		"id":        strconv.FormatInt(c.id, 10),
 18724  	})
 18725  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18726  }
 18727  
 18728  // Do executes the "dfareporting.advertiserGroups.delete" call.
 18729  func (c *AdvertiserGroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
 18730  	gensupport.SetOptions(c.urlParams_, opts...)
 18731  	res, err := c.doRequest("json")
 18732  	if err != nil {
 18733  		return err
 18734  	}
 18735  	defer googleapi.CloseBody(res)
 18736  	if err := googleapi.CheckResponse(res); err != nil {
 18737  		return err
 18738  	}
 18739  	return nil
 18740  	// {
 18741  	//   "description": "Deletes an existing advertiser group.",
 18742  	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
 18743  	//   "httpMethod": "DELETE",
 18744  	//   "id": "dfareporting.advertiserGroups.delete",
 18745  	//   "parameterOrder": [
 18746  	//     "profileId",
 18747  	//     "id"
 18748  	//   ],
 18749  	//   "parameters": {
 18750  	//     "id": {
 18751  	//       "description": "Advertiser group ID.",
 18752  	//       "format": "int64",
 18753  	//       "location": "path",
 18754  	//       "required": true,
 18755  	//       "type": "string"
 18756  	//     },
 18757  	//     "profileId": {
 18758  	//       "description": "User profile ID associated with this request.",
 18759  	//       "format": "int64",
 18760  	//       "location": "path",
 18761  	//       "required": true,
 18762  	//       "type": "string"
 18763  	//     }
 18764  	//   },
 18765  	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
 18766  	//   "scopes": [
 18767  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18768  	//   ]
 18769  	// }
 18770  
 18771  }
 18772  
 18773  // method id "dfareporting.advertiserGroups.get":
 18774  
 18775  type AdvertiserGroupsGetCall struct {
 18776  	s            *Service
 18777  	profileId    int64
 18778  	id           int64
 18779  	urlParams_   gensupport.URLParams
 18780  	ifNoneMatch_ string
 18781  	ctx_         context.Context
 18782  	header_      http.Header
 18783  }
 18784  
 18785  // Get: Gets one advertiser group by ID.
 18786  //
 18787  // - id: Advertiser group ID.
 18788  // - profileId: User profile ID associated with this request.
 18789  func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
 18790  	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18791  	c.profileId = profileId
 18792  	c.id = id
 18793  	return c
 18794  }
 18795  
 18796  // Fields allows partial responses to be retrieved. See
 18797  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18798  // for more information.
 18799  func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
 18800  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18801  	return c
 18802  }
 18803  
 18804  // IfNoneMatch sets the optional parameter which makes the operation
 18805  // fail if the object's ETag matches the given value. This is useful for
 18806  // getting updates only after the object has changed since the last
 18807  // request. Use googleapi.IsNotModified to check whether the response
 18808  // error from Do is the result of In-None-Match.
 18809  func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
 18810  	c.ifNoneMatch_ = entityTag
 18811  	return c
 18812  }
 18813  
 18814  // Context sets the context to be used in this call's Do method. Any
 18815  // pending HTTP request will be aborted if the provided context is
 18816  // canceled.
 18817  func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
 18818  	c.ctx_ = ctx
 18819  	return c
 18820  }
 18821  
 18822  // Header returns an http.Header that can be modified by the caller to
 18823  // add HTTP headers to the request.
 18824  func (c *AdvertiserGroupsGetCall) Header() http.Header {
 18825  	if c.header_ == nil {
 18826  		c.header_ = make(http.Header)
 18827  	}
 18828  	return c.header_
 18829  }
 18830  
 18831  func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 18832  	reqHeaders := make(http.Header)
 18833  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 18834  	for k, v := range c.header_ {
 18835  		reqHeaders[k] = v
 18836  	}
 18837  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18838  	if c.ifNoneMatch_ != "" {
 18839  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18840  	}
 18841  	var body io.Reader = nil
 18842  	c.urlParams_.Set("alt", alt)
 18843  	c.urlParams_.Set("prettyPrint", "false")
 18844  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
 18845  	urls += "?" + c.urlParams_.Encode()
 18846  	req, err := http.NewRequest("GET", urls, body)
 18847  	if err != nil {
 18848  		return nil, err
 18849  	}
 18850  	req.Header = reqHeaders
 18851  	googleapi.Expand(req.URL, map[string]string{
 18852  		"profileId": strconv.FormatInt(c.profileId, 10),
 18853  		"id":        strconv.FormatInt(c.id, 10),
 18854  	})
 18855  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18856  }
 18857  
 18858  // Do executes the "dfareporting.advertiserGroups.get" call.
 18859  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 18860  // status code is an error. Response headers are in either
 18861  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 18862  // at all) in error.(*googleapi.Error).Header. Use
 18863  // googleapi.IsNotModified to check whether the returned error was
 18864  // because http.StatusNotModified was returned.
 18865  func (c *AdvertiserGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 18866  	gensupport.SetOptions(c.urlParams_, opts...)
 18867  	res, err := c.doRequest("json")
 18868  	if res != nil && res.StatusCode == http.StatusNotModified {
 18869  		if res.Body != nil {
 18870  			res.Body.Close()
 18871  		}
 18872  		return nil, &googleapi.Error{
 18873  			Code:   res.StatusCode,
 18874  			Header: res.Header,
 18875  		}
 18876  	}
 18877  	if err != nil {
 18878  		return nil, err
 18879  	}
 18880  	defer googleapi.CloseBody(res)
 18881  	if err := googleapi.CheckResponse(res); err != nil {
 18882  		return nil, err
 18883  	}
 18884  	ret := &AdvertiserGroup{
 18885  		ServerResponse: googleapi.ServerResponse{
 18886  			Header:         res.Header,
 18887  			HTTPStatusCode: res.StatusCode,
 18888  		},
 18889  	}
 18890  	target := &ret
 18891  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18892  		return nil, err
 18893  	}
 18894  	return ret, nil
 18895  	// {
 18896  	//   "description": "Gets one advertiser group by ID.",
 18897  	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
 18898  	//   "httpMethod": "GET",
 18899  	//   "id": "dfareporting.advertiserGroups.get",
 18900  	//   "parameterOrder": [
 18901  	//     "profileId",
 18902  	//     "id"
 18903  	//   ],
 18904  	//   "parameters": {
 18905  	//     "id": {
 18906  	//       "description": "Advertiser group ID.",
 18907  	//       "format": "int64",
 18908  	//       "location": "path",
 18909  	//       "required": true,
 18910  	//       "type": "string"
 18911  	//     },
 18912  	//     "profileId": {
 18913  	//       "description": "User profile ID associated with this request.",
 18914  	//       "format": "int64",
 18915  	//       "location": "path",
 18916  	//       "required": true,
 18917  	//       "type": "string"
 18918  	//     }
 18919  	//   },
 18920  	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
 18921  	//   "response": {
 18922  	//     "$ref": "AdvertiserGroup"
 18923  	//   },
 18924  	//   "scopes": [
 18925  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18926  	//   ]
 18927  	// }
 18928  
 18929  }
 18930  
 18931  // method id "dfareporting.advertiserGroups.insert":
 18932  
 18933  type AdvertiserGroupsInsertCall struct {
 18934  	s               *Service
 18935  	profileId       int64
 18936  	advertisergroup *AdvertiserGroup
 18937  	urlParams_      gensupport.URLParams
 18938  	ctx_            context.Context
 18939  	header_         http.Header
 18940  }
 18941  
 18942  // Insert: Inserts a new advertiser group.
 18943  //
 18944  // - profileId: User profile ID associated with this request.
 18945  func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
 18946  	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18947  	c.profileId = profileId
 18948  	c.advertisergroup = advertisergroup
 18949  	return c
 18950  }
 18951  
 18952  // Fields allows partial responses to be retrieved. See
 18953  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18954  // for more information.
 18955  func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
 18956  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18957  	return c
 18958  }
 18959  
 18960  // Context sets the context to be used in this call's Do method. Any
 18961  // pending HTTP request will be aborted if the provided context is
 18962  // canceled.
 18963  func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
 18964  	c.ctx_ = ctx
 18965  	return c
 18966  }
 18967  
 18968  // Header returns an http.Header that can be modified by the caller to
 18969  // add HTTP headers to the request.
 18970  func (c *AdvertiserGroupsInsertCall) Header() http.Header {
 18971  	if c.header_ == nil {
 18972  		c.header_ = make(http.Header)
 18973  	}
 18974  	return c.header_
 18975  }
 18976  
 18977  func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 18978  	reqHeaders := make(http.Header)
 18979  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 18980  	for k, v := range c.header_ {
 18981  		reqHeaders[k] = v
 18982  	}
 18983  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18984  	var body io.Reader = nil
 18985  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 18986  	if err != nil {
 18987  		return nil, err
 18988  	}
 18989  	reqHeaders.Set("Content-Type", "application/json")
 18990  	c.urlParams_.Set("alt", alt)
 18991  	c.urlParams_.Set("prettyPrint", "false")
 18992  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18993  	urls += "?" + c.urlParams_.Encode()
 18994  	req, err := http.NewRequest("POST", urls, body)
 18995  	if err != nil {
 18996  		return nil, err
 18997  	}
 18998  	req.Header = reqHeaders
 18999  	googleapi.Expand(req.URL, map[string]string{
 19000  		"profileId": strconv.FormatInt(c.profileId, 10),
 19001  	})
 19002  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19003  }
 19004  
 19005  // Do executes the "dfareporting.advertiserGroups.insert" call.
 19006  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 19007  // status code is an error. Response headers are in either
 19008  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 19009  // at all) in error.(*googleapi.Error).Header. Use
 19010  // googleapi.IsNotModified to check whether the returned error was
 19011  // because http.StatusNotModified was returned.
 19012  func (c *AdvertiserGroupsInsertCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 19013  	gensupport.SetOptions(c.urlParams_, opts...)
 19014  	res, err := c.doRequest("json")
 19015  	if res != nil && res.StatusCode == http.StatusNotModified {
 19016  		if res.Body != nil {
 19017  			res.Body.Close()
 19018  		}
 19019  		return nil, &googleapi.Error{
 19020  			Code:   res.StatusCode,
 19021  			Header: res.Header,
 19022  		}
 19023  	}
 19024  	if err != nil {
 19025  		return nil, err
 19026  	}
 19027  	defer googleapi.CloseBody(res)
 19028  	if err := googleapi.CheckResponse(res); err != nil {
 19029  		return nil, err
 19030  	}
 19031  	ret := &AdvertiserGroup{
 19032  		ServerResponse: googleapi.ServerResponse{
 19033  			Header:         res.Header,
 19034  			HTTPStatusCode: res.StatusCode,
 19035  		},
 19036  	}
 19037  	target := &ret
 19038  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19039  		return nil, err
 19040  	}
 19041  	return ret, nil
 19042  	// {
 19043  	//   "description": "Inserts a new advertiser group.",
 19044  	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
 19045  	//   "httpMethod": "POST",
 19046  	//   "id": "dfareporting.advertiserGroups.insert",
 19047  	//   "parameterOrder": [
 19048  	//     "profileId"
 19049  	//   ],
 19050  	//   "parameters": {
 19051  	//     "profileId": {
 19052  	//       "description": "User profile ID associated with this request.",
 19053  	//       "format": "int64",
 19054  	//       "location": "path",
 19055  	//       "required": true,
 19056  	//       "type": "string"
 19057  	//     }
 19058  	//   },
 19059  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 19060  	//   "request": {
 19061  	//     "$ref": "AdvertiserGroup"
 19062  	//   },
 19063  	//   "response": {
 19064  	//     "$ref": "AdvertiserGroup"
 19065  	//   },
 19066  	//   "scopes": [
 19067  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19068  	//   ]
 19069  	// }
 19070  
 19071  }
 19072  
 19073  // method id "dfareporting.advertiserGroups.list":
 19074  
 19075  type AdvertiserGroupsListCall struct {
 19076  	s            *Service
 19077  	profileId    int64
 19078  	urlParams_   gensupport.URLParams
 19079  	ifNoneMatch_ string
 19080  	ctx_         context.Context
 19081  	header_      http.Header
 19082  }
 19083  
 19084  // List: Retrieves a list of advertiser groups, possibly filtered. This
 19085  // method supports paging.
 19086  //
 19087  // - profileId: User profile ID associated with this request.
 19088  func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
 19089  	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19090  	c.profileId = profileId
 19091  	return c
 19092  }
 19093  
 19094  // Ids sets the optional parameter "ids": Select only advertiser groups
 19095  // with these IDs.
 19096  func (c *AdvertiserGroupsListCall) Ids(ids ...int64) *AdvertiserGroupsListCall {
 19097  	var ids_ []string
 19098  	for _, v := range ids {
 19099  		ids_ = append(ids_, fmt.Sprint(v))
 19100  	}
 19101  	c.urlParams_.SetMulti("ids", ids_)
 19102  	return c
 19103  }
 19104  
 19105  // MaxResults sets the optional parameter "maxResults": Maximum number
 19106  // of results to return.
 19107  func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
 19108  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 19109  	return c
 19110  }
 19111  
 19112  // PageToken sets the optional parameter "pageToken": Value of the
 19113  // nextPageToken from the previous result page.
 19114  func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
 19115  	c.urlParams_.Set("pageToken", pageToken)
 19116  	return c
 19117  }
 19118  
 19119  // SearchString sets the optional parameter "searchString": Allows
 19120  // searching for objects by name or ID. Wildcards (*) are allowed. For
 19121  // example, "advertiser*2015" will return objects with names like
 19122  // "advertiser group June 2015", "advertiser group April 2015", or
 19123  // simply "advertiser group 2015". Most of the searches also add
 19124  // wildcards implicitly at the start and the end of the search string.
 19125  // For example, a search string of "advertisergroup" will match objects
 19126  // with name "my advertisergroup", "advertisergroup 2015", or simply
 19127  // "advertisergroup".
 19128  func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
 19129  	c.urlParams_.Set("searchString", searchString)
 19130  	return c
 19131  }
 19132  
 19133  // SortField sets the optional parameter "sortField": Field by which to
 19134  // sort the list.
 19135  //
 19136  // Possible values:
 19137  //
 19138  //	"ID" (default)
 19139  //	"NAME"
 19140  func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
 19141  	c.urlParams_.Set("sortField", sortField)
 19142  	return c
 19143  }
 19144  
 19145  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 19146  // results.
 19147  //
 19148  // Possible values:
 19149  //
 19150  //	"ASCENDING" (default)
 19151  //	"DESCENDING"
 19152  func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
 19153  	c.urlParams_.Set("sortOrder", sortOrder)
 19154  	return c
 19155  }
 19156  
 19157  // Fields allows partial responses to be retrieved. See
 19158  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19159  // for more information.
 19160  func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
 19161  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19162  	return c
 19163  }
 19164  
 19165  // IfNoneMatch sets the optional parameter which makes the operation
 19166  // fail if the object's ETag matches the given value. This is useful for
 19167  // getting updates only after the object has changed since the last
 19168  // request. Use googleapi.IsNotModified to check whether the response
 19169  // error from Do is the result of In-None-Match.
 19170  func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
 19171  	c.ifNoneMatch_ = entityTag
 19172  	return c
 19173  }
 19174  
 19175  // Context sets the context to be used in this call's Do method. Any
 19176  // pending HTTP request will be aborted if the provided context is
 19177  // canceled.
 19178  func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
 19179  	c.ctx_ = ctx
 19180  	return c
 19181  }
 19182  
 19183  // Header returns an http.Header that can be modified by the caller to
 19184  // add HTTP headers to the request.
 19185  func (c *AdvertiserGroupsListCall) Header() http.Header {
 19186  	if c.header_ == nil {
 19187  		c.header_ = make(http.Header)
 19188  	}
 19189  	return c.header_
 19190  }
 19191  
 19192  func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
 19193  	reqHeaders := make(http.Header)
 19194  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 19195  	for k, v := range c.header_ {
 19196  		reqHeaders[k] = v
 19197  	}
 19198  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19199  	if c.ifNoneMatch_ != "" {
 19200  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19201  	}
 19202  	var body io.Reader = nil
 19203  	c.urlParams_.Set("alt", alt)
 19204  	c.urlParams_.Set("prettyPrint", "false")
 19205  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 19206  	urls += "?" + c.urlParams_.Encode()
 19207  	req, err := http.NewRequest("GET", urls, body)
 19208  	if err != nil {
 19209  		return nil, err
 19210  	}
 19211  	req.Header = reqHeaders
 19212  	googleapi.Expand(req.URL, map[string]string{
 19213  		"profileId": strconv.FormatInt(c.profileId, 10),
 19214  	})
 19215  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19216  }
 19217  
 19218  // Do executes the "dfareporting.advertiserGroups.list" call.
 19219  // Exactly one of *AdvertiserGroupsListResponse or error will be
 19220  // non-nil. Any non-2xx status code is an error. Response headers are in
 19221  // either *AdvertiserGroupsListResponse.ServerResponse.Header or (if a
 19222  // response was returned at all) in error.(*googleapi.Error).Header. Use
 19223  // googleapi.IsNotModified to check whether the returned error was
 19224  // because http.StatusNotModified was returned.
 19225  func (c *AdvertiserGroupsListCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroupsListResponse, error) {
 19226  	gensupport.SetOptions(c.urlParams_, opts...)
 19227  	res, err := c.doRequest("json")
 19228  	if res != nil && res.StatusCode == http.StatusNotModified {
 19229  		if res.Body != nil {
 19230  			res.Body.Close()
 19231  		}
 19232  		return nil, &googleapi.Error{
 19233  			Code:   res.StatusCode,
 19234  			Header: res.Header,
 19235  		}
 19236  	}
 19237  	if err != nil {
 19238  		return nil, err
 19239  	}
 19240  	defer googleapi.CloseBody(res)
 19241  	if err := googleapi.CheckResponse(res); err != nil {
 19242  		return nil, err
 19243  	}
 19244  	ret := &AdvertiserGroupsListResponse{
 19245  		ServerResponse: googleapi.ServerResponse{
 19246  			Header:         res.Header,
 19247  			HTTPStatusCode: res.StatusCode,
 19248  		},
 19249  	}
 19250  	target := &ret
 19251  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19252  		return nil, err
 19253  	}
 19254  	return ret, nil
 19255  	// {
 19256  	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
 19257  	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
 19258  	//   "httpMethod": "GET",
 19259  	//   "id": "dfareporting.advertiserGroups.list",
 19260  	//   "parameterOrder": [
 19261  	//     "profileId"
 19262  	//   ],
 19263  	//   "parameters": {
 19264  	//     "ids": {
 19265  	//       "description": "Select only advertiser groups with these IDs.",
 19266  	//       "format": "int64",
 19267  	//       "location": "query",
 19268  	//       "repeated": true,
 19269  	//       "type": "string"
 19270  	//     },
 19271  	//     "maxResults": {
 19272  	//       "default": "1000",
 19273  	//       "description": "Maximum number of results to return.",
 19274  	//       "format": "int32",
 19275  	//       "location": "query",
 19276  	//       "maximum": "1000",
 19277  	//       "minimum": "0",
 19278  	//       "type": "integer"
 19279  	//     },
 19280  	//     "pageToken": {
 19281  	//       "description": "Value of the nextPageToken from the previous result page.",
 19282  	//       "location": "query",
 19283  	//       "type": "string"
 19284  	//     },
 19285  	//     "profileId": {
 19286  	//       "description": "User profile ID associated with this request.",
 19287  	//       "format": "int64",
 19288  	//       "location": "path",
 19289  	//       "required": true,
 19290  	//       "type": "string"
 19291  	//     },
 19292  	//     "searchString": {
 19293  	//       "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\".",
 19294  	//       "location": "query",
 19295  	//       "type": "string"
 19296  	//     },
 19297  	//     "sortField": {
 19298  	//       "default": "ID",
 19299  	//       "description": "Field by which to sort the list.",
 19300  	//       "enum": [
 19301  	//         "ID",
 19302  	//         "NAME"
 19303  	//       ],
 19304  	//       "enumDescriptions": [
 19305  	//         "",
 19306  	//         ""
 19307  	//       ],
 19308  	//       "location": "query",
 19309  	//       "type": "string"
 19310  	//     },
 19311  	//     "sortOrder": {
 19312  	//       "default": "ASCENDING",
 19313  	//       "description": "Order of sorted results.",
 19314  	//       "enum": [
 19315  	//         "ASCENDING",
 19316  	//         "DESCENDING"
 19317  	//       ],
 19318  	//       "enumDescriptions": [
 19319  	//         "",
 19320  	//         ""
 19321  	//       ],
 19322  	//       "location": "query",
 19323  	//       "type": "string"
 19324  	//     }
 19325  	//   },
 19326  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 19327  	//   "response": {
 19328  	//     "$ref": "AdvertiserGroupsListResponse"
 19329  	//   },
 19330  	//   "scopes": [
 19331  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19332  	//   ]
 19333  	// }
 19334  
 19335  }
 19336  
 19337  // Pages invokes f for each page of results.
 19338  // A non-nil error returned from f will halt the iteration.
 19339  // The provided context supersedes any context provided to the Context method.
 19340  func (c *AdvertiserGroupsListCall) Pages(ctx context.Context, f func(*AdvertiserGroupsListResponse) error) error {
 19341  	c.ctx_ = ctx
 19342  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 19343  	for {
 19344  		x, err := c.Do()
 19345  		if err != nil {
 19346  			return err
 19347  		}
 19348  		if err := f(x); err != nil {
 19349  			return err
 19350  		}
 19351  		if x.NextPageToken == "" {
 19352  			return nil
 19353  		}
 19354  		c.PageToken(x.NextPageToken)
 19355  	}
 19356  }
 19357  
 19358  // method id "dfareporting.advertiserGroups.patch":
 19359  
 19360  type AdvertiserGroupsPatchCall struct {
 19361  	s               *Service
 19362  	profileId       int64
 19363  	advertisergroup *AdvertiserGroup
 19364  	urlParams_      gensupport.URLParams
 19365  	ctx_            context.Context
 19366  	header_         http.Header
 19367  }
 19368  
 19369  // Patch: Updates an existing advertiser group. This method supports
 19370  // patch semantics.
 19371  //
 19372  // - id: AdvertiserGroup ID.
 19373  // - profileId: User profile ID associated with this request.
 19374  func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
 19375  	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19376  	c.profileId = profileId
 19377  	c.urlParams_.Set("id", fmt.Sprint(id))
 19378  	c.advertisergroup = advertisergroup
 19379  	return c
 19380  }
 19381  
 19382  // Fields allows partial responses to be retrieved. See
 19383  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19384  // for more information.
 19385  func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
 19386  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19387  	return c
 19388  }
 19389  
 19390  // Context sets the context to be used in this call's Do method. Any
 19391  // pending HTTP request will be aborted if the provided context is
 19392  // canceled.
 19393  func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
 19394  	c.ctx_ = ctx
 19395  	return c
 19396  }
 19397  
 19398  // Header returns an http.Header that can be modified by the caller to
 19399  // add HTTP headers to the request.
 19400  func (c *AdvertiserGroupsPatchCall) Header() http.Header {
 19401  	if c.header_ == nil {
 19402  		c.header_ = make(http.Header)
 19403  	}
 19404  	return c.header_
 19405  }
 19406  
 19407  func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 19408  	reqHeaders := make(http.Header)
 19409  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 19410  	for k, v := range c.header_ {
 19411  		reqHeaders[k] = v
 19412  	}
 19413  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19414  	var body io.Reader = nil
 19415  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 19416  	if err != nil {
 19417  		return nil, err
 19418  	}
 19419  	reqHeaders.Set("Content-Type", "application/json")
 19420  	c.urlParams_.Set("alt", alt)
 19421  	c.urlParams_.Set("prettyPrint", "false")
 19422  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 19423  	urls += "?" + c.urlParams_.Encode()
 19424  	req, err := http.NewRequest("PATCH", urls, body)
 19425  	if err != nil {
 19426  		return nil, err
 19427  	}
 19428  	req.Header = reqHeaders
 19429  	googleapi.Expand(req.URL, map[string]string{
 19430  		"profileId": strconv.FormatInt(c.profileId, 10),
 19431  	})
 19432  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19433  }
 19434  
 19435  // Do executes the "dfareporting.advertiserGroups.patch" call.
 19436  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 19437  // status code is an error. Response headers are in either
 19438  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 19439  // at all) in error.(*googleapi.Error).Header. Use
 19440  // googleapi.IsNotModified to check whether the returned error was
 19441  // because http.StatusNotModified was returned.
 19442  func (c *AdvertiserGroupsPatchCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 19443  	gensupport.SetOptions(c.urlParams_, opts...)
 19444  	res, err := c.doRequest("json")
 19445  	if res != nil && res.StatusCode == http.StatusNotModified {
 19446  		if res.Body != nil {
 19447  			res.Body.Close()
 19448  		}
 19449  		return nil, &googleapi.Error{
 19450  			Code:   res.StatusCode,
 19451  			Header: res.Header,
 19452  		}
 19453  	}
 19454  	if err != nil {
 19455  		return nil, err
 19456  	}
 19457  	defer googleapi.CloseBody(res)
 19458  	if err := googleapi.CheckResponse(res); err != nil {
 19459  		return nil, err
 19460  	}
 19461  	ret := &AdvertiserGroup{
 19462  		ServerResponse: googleapi.ServerResponse{
 19463  			Header:         res.Header,
 19464  			HTTPStatusCode: res.StatusCode,
 19465  		},
 19466  	}
 19467  	target := &ret
 19468  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19469  		return nil, err
 19470  	}
 19471  	return ret, nil
 19472  	// {
 19473  	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
 19474  	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
 19475  	//   "httpMethod": "PATCH",
 19476  	//   "id": "dfareporting.advertiserGroups.patch",
 19477  	//   "parameterOrder": [
 19478  	//     "profileId",
 19479  	//     "id"
 19480  	//   ],
 19481  	//   "parameters": {
 19482  	//     "id": {
 19483  	//       "description": "AdvertiserGroup ID.",
 19484  	//       "format": "int64",
 19485  	//       "location": "query",
 19486  	//       "required": true,
 19487  	//       "type": "string"
 19488  	//     },
 19489  	//     "profileId": {
 19490  	//       "description": "User profile ID associated with this request.",
 19491  	//       "format": "int64",
 19492  	//       "location": "path",
 19493  	//       "required": true,
 19494  	//       "type": "string"
 19495  	//     }
 19496  	//   },
 19497  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 19498  	//   "request": {
 19499  	//     "$ref": "AdvertiserGroup"
 19500  	//   },
 19501  	//   "response": {
 19502  	//     "$ref": "AdvertiserGroup"
 19503  	//   },
 19504  	//   "scopes": [
 19505  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19506  	//   ]
 19507  	// }
 19508  
 19509  }
 19510  
 19511  // method id "dfareporting.advertiserGroups.update":
 19512  
 19513  type AdvertiserGroupsUpdateCall struct {
 19514  	s               *Service
 19515  	profileId       int64
 19516  	advertisergroup *AdvertiserGroup
 19517  	urlParams_      gensupport.URLParams
 19518  	ctx_            context.Context
 19519  	header_         http.Header
 19520  }
 19521  
 19522  // Update: Updates an existing advertiser group.
 19523  //
 19524  // - profileId: User profile ID associated with this request.
 19525  func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
 19526  	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19527  	c.profileId = profileId
 19528  	c.advertisergroup = advertisergroup
 19529  	return c
 19530  }
 19531  
 19532  // Fields allows partial responses to be retrieved. See
 19533  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19534  // for more information.
 19535  func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
 19536  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19537  	return c
 19538  }
 19539  
 19540  // Context sets the context to be used in this call's Do method. Any
 19541  // pending HTTP request will be aborted if the provided context is
 19542  // canceled.
 19543  func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
 19544  	c.ctx_ = ctx
 19545  	return c
 19546  }
 19547  
 19548  // Header returns an http.Header that can be modified by the caller to
 19549  // add HTTP headers to the request.
 19550  func (c *AdvertiserGroupsUpdateCall) Header() http.Header {
 19551  	if c.header_ == nil {
 19552  		c.header_ = make(http.Header)
 19553  	}
 19554  	return c.header_
 19555  }
 19556  
 19557  func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 19558  	reqHeaders := make(http.Header)
 19559  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 19560  	for k, v := range c.header_ {
 19561  		reqHeaders[k] = v
 19562  	}
 19563  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19564  	var body io.Reader = nil
 19565  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 19566  	if err != nil {
 19567  		return nil, err
 19568  	}
 19569  	reqHeaders.Set("Content-Type", "application/json")
 19570  	c.urlParams_.Set("alt", alt)
 19571  	c.urlParams_.Set("prettyPrint", "false")
 19572  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 19573  	urls += "?" + c.urlParams_.Encode()
 19574  	req, err := http.NewRequest("PUT", urls, body)
 19575  	if err != nil {
 19576  		return nil, err
 19577  	}
 19578  	req.Header = reqHeaders
 19579  	googleapi.Expand(req.URL, map[string]string{
 19580  		"profileId": strconv.FormatInt(c.profileId, 10),
 19581  	})
 19582  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19583  }
 19584  
 19585  // Do executes the "dfareporting.advertiserGroups.update" call.
 19586  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 19587  // status code is an error. Response headers are in either
 19588  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 19589  // at all) in error.(*googleapi.Error).Header. Use
 19590  // googleapi.IsNotModified to check whether the returned error was
 19591  // because http.StatusNotModified was returned.
 19592  func (c *AdvertiserGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 19593  	gensupport.SetOptions(c.urlParams_, opts...)
 19594  	res, err := c.doRequest("json")
 19595  	if res != nil && res.StatusCode == http.StatusNotModified {
 19596  		if res.Body != nil {
 19597  			res.Body.Close()
 19598  		}
 19599  		return nil, &googleapi.Error{
 19600  			Code:   res.StatusCode,
 19601  			Header: res.Header,
 19602  		}
 19603  	}
 19604  	if err != nil {
 19605  		return nil, err
 19606  	}
 19607  	defer googleapi.CloseBody(res)
 19608  	if err := googleapi.CheckResponse(res); err != nil {
 19609  		return nil, err
 19610  	}
 19611  	ret := &AdvertiserGroup{
 19612  		ServerResponse: googleapi.ServerResponse{
 19613  			Header:         res.Header,
 19614  			HTTPStatusCode: res.StatusCode,
 19615  		},
 19616  	}
 19617  	target := &ret
 19618  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19619  		return nil, err
 19620  	}
 19621  	return ret, nil
 19622  	// {
 19623  	//   "description": "Updates an existing advertiser group.",
 19624  	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
 19625  	//   "httpMethod": "PUT",
 19626  	//   "id": "dfareporting.advertiserGroups.update",
 19627  	//   "parameterOrder": [
 19628  	//     "profileId"
 19629  	//   ],
 19630  	//   "parameters": {
 19631  	//     "profileId": {
 19632  	//       "description": "User profile ID associated with this request.",
 19633  	//       "format": "int64",
 19634  	//       "location": "path",
 19635  	//       "required": true,
 19636  	//       "type": "string"
 19637  	//     }
 19638  	//   },
 19639  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 19640  	//   "request": {
 19641  	//     "$ref": "AdvertiserGroup"
 19642  	//   },
 19643  	//   "response": {
 19644  	//     "$ref": "AdvertiserGroup"
 19645  	//   },
 19646  	//   "scopes": [
 19647  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19648  	//   ]
 19649  	// }
 19650  
 19651  }
 19652  
 19653  // method id "dfareporting.advertiserLandingPages.get":
 19654  
 19655  type AdvertiserLandingPagesGetCall struct {
 19656  	s            *Service
 19657  	profileId    int64
 19658  	id           int64
 19659  	urlParams_   gensupport.URLParams
 19660  	ifNoneMatch_ string
 19661  	ctx_         context.Context
 19662  	header_      http.Header
 19663  }
 19664  
 19665  // Get: Gets one landing page by ID.
 19666  //
 19667  // - id: Landing page ID.
 19668  // - profileId: User profile ID associated with this request.
 19669  func (r *AdvertiserLandingPagesService) Get(profileId int64, id int64) *AdvertiserLandingPagesGetCall {
 19670  	c := &AdvertiserLandingPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19671  	c.profileId = profileId
 19672  	c.id = id
 19673  	return c
 19674  }
 19675  
 19676  // Fields allows partial responses to be retrieved. See
 19677  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19678  // for more information.
 19679  func (c *AdvertiserLandingPagesGetCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesGetCall {
 19680  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19681  	return c
 19682  }
 19683  
 19684  // IfNoneMatch sets the optional parameter which makes the operation
 19685  // fail if the object's ETag matches the given value. This is useful for
 19686  // getting updates only after the object has changed since the last
 19687  // request. Use googleapi.IsNotModified to check whether the response
 19688  // error from Do is the result of In-None-Match.
 19689  func (c *AdvertiserLandingPagesGetCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesGetCall {
 19690  	c.ifNoneMatch_ = entityTag
 19691  	return c
 19692  }
 19693  
 19694  // Context sets the context to be used in this call's Do method. Any
 19695  // pending HTTP request will be aborted if the provided context is
 19696  // canceled.
 19697  func (c *AdvertiserLandingPagesGetCall) Context(ctx context.Context) *AdvertiserLandingPagesGetCall {
 19698  	c.ctx_ = ctx
 19699  	return c
 19700  }
 19701  
 19702  // Header returns an http.Header that can be modified by the caller to
 19703  // add HTTP headers to the request.
 19704  func (c *AdvertiserLandingPagesGetCall) Header() http.Header {
 19705  	if c.header_ == nil {
 19706  		c.header_ = make(http.Header)
 19707  	}
 19708  	return c.header_
 19709  }
 19710  
 19711  func (c *AdvertiserLandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
 19712  	reqHeaders := make(http.Header)
 19713  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 19714  	for k, v := range c.header_ {
 19715  		reqHeaders[k] = v
 19716  	}
 19717  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19718  	if c.ifNoneMatch_ != "" {
 19719  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19720  	}
 19721  	var body io.Reader = nil
 19722  	c.urlParams_.Set("alt", alt)
 19723  	c.urlParams_.Set("prettyPrint", "false")
 19724  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages/{id}")
 19725  	urls += "?" + c.urlParams_.Encode()
 19726  	req, err := http.NewRequest("GET", urls, body)
 19727  	if err != nil {
 19728  		return nil, err
 19729  	}
 19730  	req.Header = reqHeaders
 19731  	googleapi.Expand(req.URL, map[string]string{
 19732  		"profileId": strconv.FormatInt(c.profileId, 10),
 19733  		"id":        strconv.FormatInt(c.id, 10),
 19734  	})
 19735  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19736  }
 19737  
 19738  // Do executes the "dfareporting.advertiserLandingPages.get" call.
 19739  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 19740  // status code is an error. Response headers are in either
 19741  // *LandingPage.ServerResponse.Header or (if a response was returned at
 19742  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19743  // to check whether the returned error was because
 19744  // http.StatusNotModified was returned.
 19745  func (c *AdvertiserLandingPagesGetCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 19746  	gensupport.SetOptions(c.urlParams_, opts...)
 19747  	res, err := c.doRequest("json")
 19748  	if res != nil && res.StatusCode == http.StatusNotModified {
 19749  		if res.Body != nil {
 19750  			res.Body.Close()
 19751  		}
 19752  		return nil, &googleapi.Error{
 19753  			Code:   res.StatusCode,
 19754  			Header: res.Header,
 19755  		}
 19756  	}
 19757  	if err != nil {
 19758  		return nil, err
 19759  	}
 19760  	defer googleapi.CloseBody(res)
 19761  	if err := googleapi.CheckResponse(res); err != nil {
 19762  		return nil, err
 19763  	}
 19764  	ret := &LandingPage{
 19765  		ServerResponse: googleapi.ServerResponse{
 19766  			Header:         res.Header,
 19767  			HTTPStatusCode: res.StatusCode,
 19768  		},
 19769  	}
 19770  	target := &ret
 19771  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19772  		return nil, err
 19773  	}
 19774  	return ret, nil
 19775  	// {
 19776  	//   "description": "Gets one landing page by ID.",
 19777  	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages/{id}",
 19778  	//   "httpMethod": "GET",
 19779  	//   "id": "dfareporting.advertiserLandingPages.get",
 19780  	//   "parameterOrder": [
 19781  	//     "profileId",
 19782  	//     "id"
 19783  	//   ],
 19784  	//   "parameters": {
 19785  	//     "id": {
 19786  	//       "description": "Landing page ID.",
 19787  	//       "format": "int64",
 19788  	//       "location": "path",
 19789  	//       "required": true,
 19790  	//       "type": "string"
 19791  	//     },
 19792  	//     "profileId": {
 19793  	//       "description": "User profile ID associated with this request.",
 19794  	//       "format": "int64",
 19795  	//       "location": "path",
 19796  	//       "required": true,
 19797  	//       "type": "string"
 19798  	//     }
 19799  	//   },
 19800  	//   "path": "userprofiles/{profileId}/advertiserLandingPages/{id}",
 19801  	//   "response": {
 19802  	//     "$ref": "LandingPage"
 19803  	//   },
 19804  	//   "scopes": [
 19805  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19806  	//   ]
 19807  	// }
 19808  
 19809  }
 19810  
 19811  // method id "dfareporting.advertiserLandingPages.insert":
 19812  
 19813  type AdvertiserLandingPagesInsertCall struct {
 19814  	s           *Service
 19815  	profileId   int64
 19816  	landingpage *LandingPage
 19817  	urlParams_  gensupport.URLParams
 19818  	ctx_        context.Context
 19819  	header_     http.Header
 19820  }
 19821  
 19822  // Insert: Inserts a new landing page.
 19823  //
 19824  // - profileId: User profile ID associated with this request.
 19825  func (r *AdvertiserLandingPagesService) Insert(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesInsertCall {
 19826  	c := &AdvertiserLandingPagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19827  	c.profileId = profileId
 19828  	c.landingpage = landingpage
 19829  	return c
 19830  }
 19831  
 19832  // Fields allows partial responses to be retrieved. See
 19833  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19834  // for more information.
 19835  func (c *AdvertiserLandingPagesInsertCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesInsertCall {
 19836  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19837  	return c
 19838  }
 19839  
 19840  // Context sets the context to be used in this call's Do method. Any
 19841  // pending HTTP request will be aborted if the provided context is
 19842  // canceled.
 19843  func (c *AdvertiserLandingPagesInsertCall) Context(ctx context.Context) *AdvertiserLandingPagesInsertCall {
 19844  	c.ctx_ = ctx
 19845  	return c
 19846  }
 19847  
 19848  // Header returns an http.Header that can be modified by the caller to
 19849  // add HTTP headers to the request.
 19850  func (c *AdvertiserLandingPagesInsertCall) Header() http.Header {
 19851  	if c.header_ == nil {
 19852  		c.header_ = make(http.Header)
 19853  	}
 19854  	return c.header_
 19855  }
 19856  
 19857  func (c *AdvertiserLandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
 19858  	reqHeaders := make(http.Header)
 19859  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 19860  	for k, v := range c.header_ {
 19861  		reqHeaders[k] = v
 19862  	}
 19863  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19864  	var body io.Reader = nil
 19865  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 19866  	if err != nil {
 19867  		return nil, err
 19868  	}
 19869  	reqHeaders.Set("Content-Type", "application/json")
 19870  	c.urlParams_.Set("alt", alt)
 19871  	c.urlParams_.Set("prettyPrint", "false")
 19872  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 19873  	urls += "?" + c.urlParams_.Encode()
 19874  	req, err := http.NewRequest("POST", urls, body)
 19875  	if err != nil {
 19876  		return nil, err
 19877  	}
 19878  	req.Header = reqHeaders
 19879  	googleapi.Expand(req.URL, map[string]string{
 19880  		"profileId": strconv.FormatInt(c.profileId, 10),
 19881  	})
 19882  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19883  }
 19884  
 19885  // Do executes the "dfareporting.advertiserLandingPages.insert" call.
 19886  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 19887  // status code is an error. Response headers are in either
 19888  // *LandingPage.ServerResponse.Header or (if a response was returned at
 19889  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19890  // to check whether the returned error was because
 19891  // http.StatusNotModified was returned.
 19892  func (c *AdvertiserLandingPagesInsertCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 19893  	gensupport.SetOptions(c.urlParams_, opts...)
 19894  	res, err := c.doRequest("json")
 19895  	if res != nil && res.StatusCode == http.StatusNotModified {
 19896  		if res.Body != nil {
 19897  			res.Body.Close()
 19898  		}
 19899  		return nil, &googleapi.Error{
 19900  			Code:   res.StatusCode,
 19901  			Header: res.Header,
 19902  		}
 19903  	}
 19904  	if err != nil {
 19905  		return nil, err
 19906  	}
 19907  	defer googleapi.CloseBody(res)
 19908  	if err := googleapi.CheckResponse(res); err != nil {
 19909  		return nil, err
 19910  	}
 19911  	ret := &LandingPage{
 19912  		ServerResponse: googleapi.ServerResponse{
 19913  			Header:         res.Header,
 19914  			HTTPStatusCode: res.StatusCode,
 19915  		},
 19916  	}
 19917  	target := &ret
 19918  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19919  		return nil, err
 19920  	}
 19921  	return ret, nil
 19922  	// {
 19923  	//   "description": "Inserts a new landing page.",
 19924  	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
 19925  	//   "httpMethod": "POST",
 19926  	//   "id": "dfareporting.advertiserLandingPages.insert",
 19927  	//   "parameterOrder": [
 19928  	//     "profileId"
 19929  	//   ],
 19930  	//   "parameters": {
 19931  	//     "profileId": {
 19932  	//       "description": "User profile ID associated with this request.",
 19933  	//       "format": "int64",
 19934  	//       "location": "path",
 19935  	//       "required": true,
 19936  	//       "type": "string"
 19937  	//     }
 19938  	//   },
 19939  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19940  	//   "request": {
 19941  	//     "$ref": "LandingPage"
 19942  	//   },
 19943  	//   "response": {
 19944  	//     "$ref": "LandingPage"
 19945  	//   },
 19946  	//   "scopes": [
 19947  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19948  	//   ]
 19949  	// }
 19950  
 19951  }
 19952  
 19953  // method id "dfareporting.advertiserLandingPages.list":
 19954  
 19955  type AdvertiserLandingPagesListCall struct {
 19956  	s            *Service
 19957  	profileId    int64
 19958  	urlParams_   gensupport.URLParams
 19959  	ifNoneMatch_ string
 19960  	ctx_         context.Context
 19961  	header_      http.Header
 19962  }
 19963  
 19964  // List: Retrieves a list of landing pages.
 19965  //
 19966  // - profileId: User profile ID associated with this request.
 19967  func (r *AdvertiserLandingPagesService) List(profileId int64) *AdvertiserLandingPagesListCall {
 19968  	c := &AdvertiserLandingPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19969  	c.profileId = profileId
 19970  	return c
 19971  }
 19972  
 19973  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 19974  // only landing pages that belong to these advertisers.
 19975  func (c *AdvertiserLandingPagesListCall) AdvertiserIds(advertiserIds ...int64) *AdvertiserLandingPagesListCall {
 19976  	var advertiserIds_ []string
 19977  	for _, v := range advertiserIds {
 19978  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 19979  	}
 19980  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 19981  	return c
 19982  }
 19983  
 19984  // Archived sets the optional parameter "archived": Select only archived
 19985  // landing pages. Don't set this field to select both archived and
 19986  // non-archived landing pages.
 19987  func (c *AdvertiserLandingPagesListCall) Archived(archived bool) *AdvertiserLandingPagesListCall {
 19988  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 19989  	return c
 19990  }
 19991  
 19992  // CampaignIds sets the optional parameter "campaignIds": Select only
 19993  // landing pages that are associated with these campaigns.
 19994  func (c *AdvertiserLandingPagesListCall) CampaignIds(campaignIds ...int64) *AdvertiserLandingPagesListCall {
 19995  	var campaignIds_ []string
 19996  	for _, v := range campaignIds {
 19997  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 19998  	}
 19999  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 20000  	return c
 20001  }
 20002  
 20003  // Ids sets the optional parameter "ids": Select only landing pages with
 20004  // these IDs.
 20005  func (c *AdvertiserLandingPagesListCall) Ids(ids ...int64) *AdvertiserLandingPagesListCall {
 20006  	var ids_ []string
 20007  	for _, v := range ids {
 20008  		ids_ = append(ids_, fmt.Sprint(v))
 20009  	}
 20010  	c.urlParams_.SetMulti("ids", ids_)
 20011  	return c
 20012  }
 20013  
 20014  // MaxResults sets the optional parameter "maxResults": Maximum number
 20015  // of results to return.
 20016  func (c *AdvertiserLandingPagesListCall) MaxResults(maxResults int64) *AdvertiserLandingPagesListCall {
 20017  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 20018  	return c
 20019  }
 20020  
 20021  // PageToken sets the optional parameter "pageToken": Value of the
 20022  // nextPageToken from the previous result page.
 20023  func (c *AdvertiserLandingPagesListCall) PageToken(pageToken string) *AdvertiserLandingPagesListCall {
 20024  	c.urlParams_.Set("pageToken", pageToken)
 20025  	return c
 20026  }
 20027  
 20028  // SearchString sets the optional parameter "searchString": Allows
 20029  // searching for landing pages by name or ID. Wildcards (*) are allowed.
 20030  // For example, "landingpage*2017" will return landing pages with names
 20031  // like "landingpage July 2017", "landingpage March 2017", or simply
 20032  // "landingpage 2017". Most of the searches also add wildcards
 20033  // implicitly at the start and the end of the search string. For
 20034  // example, a search string of "landingpage" will match campaigns with
 20035  // name "my landingpage", "landingpage 2015", or simply "landingpage".
 20036  func (c *AdvertiserLandingPagesListCall) SearchString(searchString string) *AdvertiserLandingPagesListCall {
 20037  	c.urlParams_.Set("searchString", searchString)
 20038  	return c
 20039  }
 20040  
 20041  // SortField sets the optional parameter "sortField": Field by which to
 20042  // sort the list.
 20043  //
 20044  // Possible values:
 20045  //
 20046  //	"ID" (default)
 20047  //	"NAME"
 20048  func (c *AdvertiserLandingPagesListCall) SortField(sortField string) *AdvertiserLandingPagesListCall {
 20049  	c.urlParams_.Set("sortField", sortField)
 20050  	return c
 20051  }
 20052  
 20053  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 20054  // results.
 20055  //
 20056  // Possible values:
 20057  //
 20058  //	"ASCENDING" (default)
 20059  //	"DESCENDING"
 20060  func (c *AdvertiserLandingPagesListCall) SortOrder(sortOrder string) *AdvertiserLandingPagesListCall {
 20061  	c.urlParams_.Set("sortOrder", sortOrder)
 20062  	return c
 20063  }
 20064  
 20065  // SubaccountId sets the optional parameter "subaccountId": Select only
 20066  // landing pages that belong to this subaccount.
 20067  func (c *AdvertiserLandingPagesListCall) SubaccountId(subaccountId int64) *AdvertiserLandingPagesListCall {
 20068  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 20069  	return c
 20070  }
 20071  
 20072  // Fields allows partial responses to be retrieved. See
 20073  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20074  // for more information.
 20075  func (c *AdvertiserLandingPagesListCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesListCall {
 20076  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20077  	return c
 20078  }
 20079  
 20080  // IfNoneMatch sets the optional parameter which makes the operation
 20081  // fail if the object's ETag matches the given value. This is useful for
 20082  // getting updates only after the object has changed since the last
 20083  // request. Use googleapi.IsNotModified to check whether the response
 20084  // error from Do is the result of In-None-Match.
 20085  func (c *AdvertiserLandingPagesListCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesListCall {
 20086  	c.ifNoneMatch_ = entityTag
 20087  	return c
 20088  }
 20089  
 20090  // Context sets the context to be used in this call's Do method. Any
 20091  // pending HTTP request will be aborted if the provided context is
 20092  // canceled.
 20093  func (c *AdvertiserLandingPagesListCall) Context(ctx context.Context) *AdvertiserLandingPagesListCall {
 20094  	c.ctx_ = ctx
 20095  	return c
 20096  }
 20097  
 20098  // Header returns an http.Header that can be modified by the caller to
 20099  // add HTTP headers to the request.
 20100  func (c *AdvertiserLandingPagesListCall) Header() http.Header {
 20101  	if c.header_ == nil {
 20102  		c.header_ = make(http.Header)
 20103  	}
 20104  	return c.header_
 20105  }
 20106  
 20107  func (c *AdvertiserLandingPagesListCall) doRequest(alt string) (*http.Response, error) {
 20108  	reqHeaders := make(http.Header)
 20109  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 20110  	for k, v := range c.header_ {
 20111  		reqHeaders[k] = v
 20112  	}
 20113  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20114  	if c.ifNoneMatch_ != "" {
 20115  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20116  	}
 20117  	var body io.Reader = nil
 20118  	c.urlParams_.Set("alt", alt)
 20119  	c.urlParams_.Set("prettyPrint", "false")
 20120  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 20121  	urls += "?" + c.urlParams_.Encode()
 20122  	req, err := http.NewRequest("GET", urls, body)
 20123  	if err != nil {
 20124  		return nil, err
 20125  	}
 20126  	req.Header = reqHeaders
 20127  	googleapi.Expand(req.URL, map[string]string{
 20128  		"profileId": strconv.FormatInt(c.profileId, 10),
 20129  	})
 20130  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20131  }
 20132  
 20133  // Do executes the "dfareporting.advertiserLandingPages.list" call.
 20134  // Exactly one of *AdvertiserLandingPagesListResponse or error will be
 20135  // non-nil. Any non-2xx status code is an error. Response headers are in
 20136  // either *AdvertiserLandingPagesListResponse.ServerResponse.Header or
 20137  // (if a response was returned at all) in
 20138  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20139  // whether the returned error was because http.StatusNotModified was
 20140  // returned.
 20141  func (c *AdvertiserLandingPagesListCall) Do(opts ...googleapi.CallOption) (*AdvertiserLandingPagesListResponse, error) {
 20142  	gensupport.SetOptions(c.urlParams_, opts...)
 20143  	res, err := c.doRequest("json")
 20144  	if res != nil && res.StatusCode == http.StatusNotModified {
 20145  		if res.Body != nil {
 20146  			res.Body.Close()
 20147  		}
 20148  		return nil, &googleapi.Error{
 20149  			Code:   res.StatusCode,
 20150  			Header: res.Header,
 20151  		}
 20152  	}
 20153  	if err != nil {
 20154  		return nil, err
 20155  	}
 20156  	defer googleapi.CloseBody(res)
 20157  	if err := googleapi.CheckResponse(res); err != nil {
 20158  		return nil, err
 20159  	}
 20160  	ret := &AdvertiserLandingPagesListResponse{
 20161  		ServerResponse: googleapi.ServerResponse{
 20162  			Header:         res.Header,
 20163  			HTTPStatusCode: res.StatusCode,
 20164  		},
 20165  	}
 20166  	target := &ret
 20167  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20168  		return nil, err
 20169  	}
 20170  	return ret, nil
 20171  	// {
 20172  	//   "description": "Retrieves a list of landing pages.",
 20173  	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
 20174  	//   "httpMethod": "GET",
 20175  	//   "id": "dfareporting.advertiserLandingPages.list",
 20176  	//   "parameterOrder": [
 20177  	//     "profileId"
 20178  	//   ],
 20179  	//   "parameters": {
 20180  	//     "advertiserIds": {
 20181  	//       "description": "Select only landing pages that belong to these advertisers.",
 20182  	//       "format": "int64",
 20183  	//       "location": "query",
 20184  	//       "repeated": true,
 20185  	//       "type": "string"
 20186  	//     },
 20187  	//     "archived": {
 20188  	//       "description": "Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages.",
 20189  	//       "location": "query",
 20190  	//       "type": "boolean"
 20191  	//     },
 20192  	//     "campaignIds": {
 20193  	//       "description": "Select only landing pages that are associated with these campaigns.",
 20194  	//       "format": "int64",
 20195  	//       "location": "query",
 20196  	//       "repeated": true,
 20197  	//       "type": "string"
 20198  	//     },
 20199  	//     "ids": {
 20200  	//       "description": "Select only landing pages with these IDs.",
 20201  	//       "format": "int64",
 20202  	//       "location": "query",
 20203  	//       "repeated": true,
 20204  	//       "type": "string"
 20205  	//     },
 20206  	//     "maxResults": {
 20207  	//       "default": "1000",
 20208  	//       "description": "Maximum number of results to return.",
 20209  	//       "format": "int32",
 20210  	//       "location": "query",
 20211  	//       "maximum": "1000",
 20212  	//       "minimum": "0",
 20213  	//       "type": "integer"
 20214  	//     },
 20215  	//     "pageToken": {
 20216  	//       "description": "Value of the nextPageToken from the previous result page.",
 20217  	//       "location": "query",
 20218  	//       "type": "string"
 20219  	//     },
 20220  	//     "profileId": {
 20221  	//       "description": "User profile ID associated with this request.",
 20222  	//       "format": "int64",
 20223  	//       "location": "path",
 20224  	//       "required": true,
 20225  	//       "type": "string"
 20226  	//     },
 20227  	//     "searchString": {
 20228  	//       "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\".",
 20229  	//       "location": "query",
 20230  	//       "type": "string"
 20231  	//     },
 20232  	//     "sortField": {
 20233  	//       "default": "ID",
 20234  	//       "description": "Field by which to sort the list.",
 20235  	//       "enum": [
 20236  	//         "ID",
 20237  	//         "NAME"
 20238  	//       ],
 20239  	//       "enumDescriptions": [
 20240  	//         "",
 20241  	//         ""
 20242  	//       ],
 20243  	//       "location": "query",
 20244  	//       "type": "string"
 20245  	//     },
 20246  	//     "sortOrder": {
 20247  	//       "default": "ASCENDING",
 20248  	//       "description": "Order of sorted results.",
 20249  	//       "enum": [
 20250  	//         "ASCENDING",
 20251  	//         "DESCENDING"
 20252  	//       ],
 20253  	//       "enumDescriptions": [
 20254  	//         "",
 20255  	//         ""
 20256  	//       ],
 20257  	//       "location": "query",
 20258  	//       "type": "string"
 20259  	//     },
 20260  	//     "subaccountId": {
 20261  	//       "description": "Select only landing pages that belong to this subaccount.",
 20262  	//       "format": "int64",
 20263  	//       "location": "query",
 20264  	//       "type": "string"
 20265  	//     }
 20266  	//   },
 20267  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 20268  	//   "response": {
 20269  	//     "$ref": "AdvertiserLandingPagesListResponse"
 20270  	//   },
 20271  	//   "scopes": [
 20272  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20273  	//   ]
 20274  	// }
 20275  
 20276  }
 20277  
 20278  // Pages invokes f for each page of results.
 20279  // A non-nil error returned from f will halt the iteration.
 20280  // The provided context supersedes any context provided to the Context method.
 20281  func (c *AdvertiserLandingPagesListCall) Pages(ctx context.Context, f func(*AdvertiserLandingPagesListResponse) error) error {
 20282  	c.ctx_ = ctx
 20283  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 20284  	for {
 20285  		x, err := c.Do()
 20286  		if err != nil {
 20287  			return err
 20288  		}
 20289  		if err := f(x); err != nil {
 20290  			return err
 20291  		}
 20292  		if x.NextPageToken == "" {
 20293  			return nil
 20294  		}
 20295  		c.PageToken(x.NextPageToken)
 20296  	}
 20297  }
 20298  
 20299  // method id "dfareporting.advertiserLandingPages.patch":
 20300  
 20301  type AdvertiserLandingPagesPatchCall struct {
 20302  	s           *Service
 20303  	profileId   int64
 20304  	landingpage *LandingPage
 20305  	urlParams_  gensupport.URLParams
 20306  	ctx_        context.Context
 20307  	header_     http.Header
 20308  }
 20309  
 20310  // Patch: Updates an existing advertiser landing page. This method
 20311  // supports patch semantics.
 20312  //
 20313  // - id: LandingPage ID.
 20314  // - profileId: User profile ID associated with this request.
 20315  func (r *AdvertiserLandingPagesService) Patch(profileId int64, id int64, landingpage *LandingPage) *AdvertiserLandingPagesPatchCall {
 20316  	c := &AdvertiserLandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20317  	c.profileId = profileId
 20318  	c.urlParams_.Set("id", fmt.Sprint(id))
 20319  	c.landingpage = landingpage
 20320  	return c
 20321  }
 20322  
 20323  // Fields allows partial responses to be retrieved. See
 20324  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20325  // for more information.
 20326  func (c *AdvertiserLandingPagesPatchCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesPatchCall {
 20327  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20328  	return c
 20329  }
 20330  
 20331  // Context sets the context to be used in this call's Do method. Any
 20332  // pending HTTP request will be aborted if the provided context is
 20333  // canceled.
 20334  func (c *AdvertiserLandingPagesPatchCall) Context(ctx context.Context) *AdvertiserLandingPagesPatchCall {
 20335  	c.ctx_ = ctx
 20336  	return c
 20337  }
 20338  
 20339  // Header returns an http.Header that can be modified by the caller to
 20340  // add HTTP headers to the request.
 20341  func (c *AdvertiserLandingPagesPatchCall) Header() http.Header {
 20342  	if c.header_ == nil {
 20343  		c.header_ = make(http.Header)
 20344  	}
 20345  	return c.header_
 20346  }
 20347  
 20348  func (c *AdvertiserLandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
 20349  	reqHeaders := make(http.Header)
 20350  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 20351  	for k, v := range c.header_ {
 20352  		reqHeaders[k] = v
 20353  	}
 20354  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20355  	var body io.Reader = nil
 20356  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 20357  	if err != nil {
 20358  		return nil, err
 20359  	}
 20360  	reqHeaders.Set("Content-Type", "application/json")
 20361  	c.urlParams_.Set("alt", alt)
 20362  	c.urlParams_.Set("prettyPrint", "false")
 20363  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 20364  	urls += "?" + c.urlParams_.Encode()
 20365  	req, err := http.NewRequest("PATCH", urls, body)
 20366  	if err != nil {
 20367  		return nil, err
 20368  	}
 20369  	req.Header = reqHeaders
 20370  	googleapi.Expand(req.URL, map[string]string{
 20371  		"profileId": strconv.FormatInt(c.profileId, 10),
 20372  	})
 20373  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20374  }
 20375  
 20376  // Do executes the "dfareporting.advertiserLandingPages.patch" call.
 20377  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 20378  // status code is an error. Response headers are in either
 20379  // *LandingPage.ServerResponse.Header or (if a response was returned at
 20380  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20381  // to check whether the returned error was because
 20382  // http.StatusNotModified was returned.
 20383  func (c *AdvertiserLandingPagesPatchCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 20384  	gensupport.SetOptions(c.urlParams_, opts...)
 20385  	res, err := c.doRequest("json")
 20386  	if res != nil && res.StatusCode == http.StatusNotModified {
 20387  		if res.Body != nil {
 20388  			res.Body.Close()
 20389  		}
 20390  		return nil, &googleapi.Error{
 20391  			Code:   res.StatusCode,
 20392  			Header: res.Header,
 20393  		}
 20394  	}
 20395  	if err != nil {
 20396  		return nil, err
 20397  	}
 20398  	defer googleapi.CloseBody(res)
 20399  	if err := googleapi.CheckResponse(res); err != nil {
 20400  		return nil, err
 20401  	}
 20402  	ret := &LandingPage{
 20403  		ServerResponse: googleapi.ServerResponse{
 20404  			Header:         res.Header,
 20405  			HTTPStatusCode: res.StatusCode,
 20406  		},
 20407  	}
 20408  	target := &ret
 20409  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20410  		return nil, err
 20411  	}
 20412  	return ret, nil
 20413  	// {
 20414  	//   "description": "Updates an existing advertiser landing page. This method supports patch semantics.",
 20415  	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
 20416  	//   "httpMethod": "PATCH",
 20417  	//   "id": "dfareporting.advertiserLandingPages.patch",
 20418  	//   "parameterOrder": [
 20419  	//     "profileId",
 20420  	//     "id"
 20421  	//   ],
 20422  	//   "parameters": {
 20423  	//     "id": {
 20424  	//       "description": "LandingPage ID.",
 20425  	//       "format": "int64",
 20426  	//       "location": "query",
 20427  	//       "required": true,
 20428  	//       "type": "string"
 20429  	//     },
 20430  	//     "profileId": {
 20431  	//       "description": "User profile ID associated with this request.",
 20432  	//       "format": "int64",
 20433  	//       "location": "path",
 20434  	//       "required": true,
 20435  	//       "type": "string"
 20436  	//     }
 20437  	//   },
 20438  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 20439  	//   "request": {
 20440  	//     "$ref": "LandingPage"
 20441  	//   },
 20442  	//   "response": {
 20443  	//     "$ref": "LandingPage"
 20444  	//   },
 20445  	//   "scopes": [
 20446  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20447  	//   ]
 20448  	// }
 20449  
 20450  }
 20451  
 20452  // method id "dfareporting.advertiserLandingPages.update":
 20453  
 20454  type AdvertiserLandingPagesUpdateCall struct {
 20455  	s           *Service
 20456  	profileId   int64
 20457  	landingpage *LandingPage
 20458  	urlParams_  gensupport.URLParams
 20459  	ctx_        context.Context
 20460  	header_     http.Header
 20461  }
 20462  
 20463  // Update: Updates an existing landing page.
 20464  //
 20465  // - profileId: User profile ID associated with this request.
 20466  func (r *AdvertiserLandingPagesService) Update(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesUpdateCall {
 20467  	c := &AdvertiserLandingPagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20468  	c.profileId = profileId
 20469  	c.landingpage = landingpage
 20470  	return c
 20471  }
 20472  
 20473  // Fields allows partial responses to be retrieved. See
 20474  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20475  // for more information.
 20476  func (c *AdvertiserLandingPagesUpdateCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesUpdateCall {
 20477  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20478  	return c
 20479  }
 20480  
 20481  // Context sets the context to be used in this call's Do method. Any
 20482  // pending HTTP request will be aborted if the provided context is
 20483  // canceled.
 20484  func (c *AdvertiserLandingPagesUpdateCall) Context(ctx context.Context) *AdvertiserLandingPagesUpdateCall {
 20485  	c.ctx_ = ctx
 20486  	return c
 20487  }
 20488  
 20489  // Header returns an http.Header that can be modified by the caller to
 20490  // add HTTP headers to the request.
 20491  func (c *AdvertiserLandingPagesUpdateCall) Header() http.Header {
 20492  	if c.header_ == nil {
 20493  		c.header_ = make(http.Header)
 20494  	}
 20495  	return c.header_
 20496  }
 20497  
 20498  func (c *AdvertiserLandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
 20499  	reqHeaders := make(http.Header)
 20500  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 20501  	for k, v := range c.header_ {
 20502  		reqHeaders[k] = v
 20503  	}
 20504  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20505  	var body io.Reader = nil
 20506  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 20507  	if err != nil {
 20508  		return nil, err
 20509  	}
 20510  	reqHeaders.Set("Content-Type", "application/json")
 20511  	c.urlParams_.Set("alt", alt)
 20512  	c.urlParams_.Set("prettyPrint", "false")
 20513  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 20514  	urls += "?" + c.urlParams_.Encode()
 20515  	req, err := http.NewRequest("PUT", urls, body)
 20516  	if err != nil {
 20517  		return nil, err
 20518  	}
 20519  	req.Header = reqHeaders
 20520  	googleapi.Expand(req.URL, map[string]string{
 20521  		"profileId": strconv.FormatInt(c.profileId, 10),
 20522  	})
 20523  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20524  }
 20525  
 20526  // Do executes the "dfareporting.advertiserLandingPages.update" call.
 20527  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 20528  // status code is an error. Response headers are in either
 20529  // *LandingPage.ServerResponse.Header or (if a response was returned at
 20530  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20531  // to check whether the returned error was because
 20532  // http.StatusNotModified was returned.
 20533  func (c *AdvertiserLandingPagesUpdateCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 20534  	gensupport.SetOptions(c.urlParams_, opts...)
 20535  	res, err := c.doRequest("json")
 20536  	if res != nil && res.StatusCode == http.StatusNotModified {
 20537  		if res.Body != nil {
 20538  			res.Body.Close()
 20539  		}
 20540  		return nil, &googleapi.Error{
 20541  			Code:   res.StatusCode,
 20542  			Header: res.Header,
 20543  		}
 20544  	}
 20545  	if err != nil {
 20546  		return nil, err
 20547  	}
 20548  	defer googleapi.CloseBody(res)
 20549  	if err := googleapi.CheckResponse(res); err != nil {
 20550  		return nil, err
 20551  	}
 20552  	ret := &LandingPage{
 20553  		ServerResponse: googleapi.ServerResponse{
 20554  			Header:         res.Header,
 20555  			HTTPStatusCode: res.StatusCode,
 20556  		},
 20557  	}
 20558  	target := &ret
 20559  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20560  		return nil, err
 20561  	}
 20562  	return ret, nil
 20563  	// {
 20564  	//   "description": "Updates an existing landing page.",
 20565  	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
 20566  	//   "httpMethod": "PUT",
 20567  	//   "id": "dfareporting.advertiserLandingPages.update",
 20568  	//   "parameterOrder": [
 20569  	//     "profileId"
 20570  	//   ],
 20571  	//   "parameters": {
 20572  	//     "profileId": {
 20573  	//       "description": "User profile ID associated with this request.",
 20574  	//       "format": "int64",
 20575  	//       "location": "path",
 20576  	//       "required": true,
 20577  	//       "type": "string"
 20578  	//     }
 20579  	//   },
 20580  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 20581  	//   "request": {
 20582  	//     "$ref": "LandingPage"
 20583  	//   },
 20584  	//   "response": {
 20585  	//     "$ref": "LandingPage"
 20586  	//   },
 20587  	//   "scopes": [
 20588  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20589  	//   ]
 20590  	// }
 20591  
 20592  }
 20593  
 20594  // method id "dfareporting.advertisers.get":
 20595  
 20596  type AdvertisersGetCall struct {
 20597  	s            *Service
 20598  	profileId    int64
 20599  	id           int64
 20600  	urlParams_   gensupport.URLParams
 20601  	ifNoneMatch_ string
 20602  	ctx_         context.Context
 20603  	header_      http.Header
 20604  }
 20605  
 20606  // Get: Gets one advertiser by ID.
 20607  //
 20608  // - id: Advertiser ID.
 20609  // - profileId: User profile ID associated with this request.
 20610  func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
 20611  	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20612  	c.profileId = profileId
 20613  	c.id = id
 20614  	return c
 20615  }
 20616  
 20617  // Fields allows partial responses to be retrieved. See
 20618  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20619  // for more information.
 20620  func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
 20621  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20622  	return c
 20623  }
 20624  
 20625  // IfNoneMatch sets the optional parameter which makes the operation
 20626  // fail if the object's ETag matches the given value. This is useful for
 20627  // getting updates only after the object has changed since the last
 20628  // request. Use googleapi.IsNotModified to check whether the response
 20629  // error from Do is the result of In-None-Match.
 20630  func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
 20631  	c.ifNoneMatch_ = entityTag
 20632  	return c
 20633  }
 20634  
 20635  // Context sets the context to be used in this call's Do method. Any
 20636  // pending HTTP request will be aborted if the provided context is
 20637  // canceled.
 20638  func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
 20639  	c.ctx_ = ctx
 20640  	return c
 20641  }
 20642  
 20643  // Header returns an http.Header that can be modified by the caller to
 20644  // add HTTP headers to the request.
 20645  func (c *AdvertisersGetCall) Header() http.Header {
 20646  	if c.header_ == nil {
 20647  		c.header_ = make(http.Header)
 20648  	}
 20649  	return c.header_
 20650  }
 20651  
 20652  func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 20653  	reqHeaders := make(http.Header)
 20654  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 20655  	for k, v := range c.header_ {
 20656  		reqHeaders[k] = v
 20657  	}
 20658  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20659  	if c.ifNoneMatch_ != "" {
 20660  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20661  	}
 20662  	var body io.Reader = nil
 20663  	c.urlParams_.Set("alt", alt)
 20664  	c.urlParams_.Set("prettyPrint", "false")
 20665  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
 20666  	urls += "?" + c.urlParams_.Encode()
 20667  	req, err := http.NewRequest("GET", urls, body)
 20668  	if err != nil {
 20669  		return nil, err
 20670  	}
 20671  	req.Header = reqHeaders
 20672  	googleapi.Expand(req.URL, map[string]string{
 20673  		"profileId": strconv.FormatInt(c.profileId, 10),
 20674  		"id":        strconv.FormatInt(c.id, 10),
 20675  	})
 20676  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20677  }
 20678  
 20679  // Do executes the "dfareporting.advertisers.get" call.
 20680  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 20681  // status code is an error. Response headers are in either
 20682  // *Advertiser.ServerResponse.Header or (if a response was returned at
 20683  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20684  // to check whether the returned error was because
 20685  // http.StatusNotModified was returned.
 20686  func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 20687  	gensupport.SetOptions(c.urlParams_, opts...)
 20688  	res, err := c.doRequest("json")
 20689  	if res != nil && res.StatusCode == http.StatusNotModified {
 20690  		if res.Body != nil {
 20691  			res.Body.Close()
 20692  		}
 20693  		return nil, &googleapi.Error{
 20694  			Code:   res.StatusCode,
 20695  			Header: res.Header,
 20696  		}
 20697  	}
 20698  	if err != nil {
 20699  		return nil, err
 20700  	}
 20701  	defer googleapi.CloseBody(res)
 20702  	if err := googleapi.CheckResponse(res); err != nil {
 20703  		return nil, err
 20704  	}
 20705  	ret := &Advertiser{
 20706  		ServerResponse: googleapi.ServerResponse{
 20707  			Header:         res.Header,
 20708  			HTTPStatusCode: res.StatusCode,
 20709  		},
 20710  	}
 20711  	target := &ret
 20712  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20713  		return nil, err
 20714  	}
 20715  	return ret, nil
 20716  	// {
 20717  	//   "description": "Gets one advertiser by ID.",
 20718  	//   "flatPath": "userprofiles/{profileId}/advertisers/{id}",
 20719  	//   "httpMethod": "GET",
 20720  	//   "id": "dfareporting.advertisers.get",
 20721  	//   "parameterOrder": [
 20722  	//     "profileId",
 20723  	//     "id"
 20724  	//   ],
 20725  	//   "parameters": {
 20726  	//     "id": {
 20727  	//       "description": "Advertiser ID.",
 20728  	//       "format": "int64",
 20729  	//       "location": "path",
 20730  	//       "required": true,
 20731  	//       "type": "string"
 20732  	//     },
 20733  	//     "profileId": {
 20734  	//       "description": "User profile ID associated with this request.",
 20735  	//       "format": "int64",
 20736  	//       "location": "path",
 20737  	//       "required": true,
 20738  	//       "type": "string"
 20739  	//     }
 20740  	//   },
 20741  	//   "path": "userprofiles/{profileId}/advertisers/{id}",
 20742  	//   "response": {
 20743  	//     "$ref": "Advertiser"
 20744  	//   },
 20745  	//   "scopes": [
 20746  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20747  	//   ]
 20748  	// }
 20749  
 20750  }
 20751  
 20752  // method id "dfareporting.advertisers.insert":
 20753  
 20754  type AdvertisersInsertCall struct {
 20755  	s          *Service
 20756  	profileId  int64
 20757  	advertiser *Advertiser
 20758  	urlParams_ gensupport.URLParams
 20759  	ctx_       context.Context
 20760  	header_    http.Header
 20761  }
 20762  
 20763  // Insert: Inserts a new advertiser.
 20764  //
 20765  // - profileId: User profile ID associated with this request.
 20766  func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
 20767  	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20768  	c.profileId = profileId
 20769  	c.advertiser = advertiser
 20770  	return c
 20771  }
 20772  
 20773  // Fields allows partial responses to be retrieved. See
 20774  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20775  // for more information.
 20776  func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
 20777  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20778  	return c
 20779  }
 20780  
 20781  // Context sets the context to be used in this call's Do method. Any
 20782  // pending HTTP request will be aborted if the provided context is
 20783  // canceled.
 20784  func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
 20785  	c.ctx_ = ctx
 20786  	return c
 20787  }
 20788  
 20789  // Header returns an http.Header that can be modified by the caller to
 20790  // add HTTP headers to the request.
 20791  func (c *AdvertisersInsertCall) Header() http.Header {
 20792  	if c.header_ == nil {
 20793  		c.header_ = make(http.Header)
 20794  	}
 20795  	return c.header_
 20796  }
 20797  
 20798  func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
 20799  	reqHeaders := make(http.Header)
 20800  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 20801  	for k, v := range c.header_ {
 20802  		reqHeaders[k] = v
 20803  	}
 20804  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20805  	var body io.Reader = nil
 20806  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 20807  	if err != nil {
 20808  		return nil, err
 20809  	}
 20810  	reqHeaders.Set("Content-Type", "application/json")
 20811  	c.urlParams_.Set("alt", alt)
 20812  	c.urlParams_.Set("prettyPrint", "false")
 20813  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 20814  	urls += "?" + c.urlParams_.Encode()
 20815  	req, err := http.NewRequest("POST", urls, body)
 20816  	if err != nil {
 20817  		return nil, err
 20818  	}
 20819  	req.Header = reqHeaders
 20820  	googleapi.Expand(req.URL, map[string]string{
 20821  		"profileId": strconv.FormatInt(c.profileId, 10),
 20822  	})
 20823  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20824  }
 20825  
 20826  // Do executes the "dfareporting.advertisers.insert" call.
 20827  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 20828  // status code is an error. Response headers are in either
 20829  // *Advertiser.ServerResponse.Header or (if a response was returned at
 20830  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20831  // to check whether the returned error was because
 20832  // http.StatusNotModified was returned.
 20833  func (c *AdvertisersInsertCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 20834  	gensupport.SetOptions(c.urlParams_, opts...)
 20835  	res, err := c.doRequest("json")
 20836  	if res != nil && res.StatusCode == http.StatusNotModified {
 20837  		if res.Body != nil {
 20838  			res.Body.Close()
 20839  		}
 20840  		return nil, &googleapi.Error{
 20841  			Code:   res.StatusCode,
 20842  			Header: res.Header,
 20843  		}
 20844  	}
 20845  	if err != nil {
 20846  		return nil, err
 20847  	}
 20848  	defer googleapi.CloseBody(res)
 20849  	if err := googleapi.CheckResponse(res); err != nil {
 20850  		return nil, err
 20851  	}
 20852  	ret := &Advertiser{
 20853  		ServerResponse: googleapi.ServerResponse{
 20854  			Header:         res.Header,
 20855  			HTTPStatusCode: res.StatusCode,
 20856  		},
 20857  	}
 20858  	target := &ret
 20859  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20860  		return nil, err
 20861  	}
 20862  	return ret, nil
 20863  	// {
 20864  	//   "description": "Inserts a new advertiser.",
 20865  	//   "flatPath": "userprofiles/{profileId}/advertisers",
 20866  	//   "httpMethod": "POST",
 20867  	//   "id": "dfareporting.advertisers.insert",
 20868  	//   "parameterOrder": [
 20869  	//     "profileId"
 20870  	//   ],
 20871  	//   "parameters": {
 20872  	//     "profileId": {
 20873  	//       "description": "User profile ID associated with this request.",
 20874  	//       "format": "int64",
 20875  	//       "location": "path",
 20876  	//       "required": true,
 20877  	//       "type": "string"
 20878  	//     }
 20879  	//   },
 20880  	//   "path": "userprofiles/{profileId}/advertisers",
 20881  	//   "request": {
 20882  	//     "$ref": "Advertiser"
 20883  	//   },
 20884  	//   "response": {
 20885  	//     "$ref": "Advertiser"
 20886  	//   },
 20887  	//   "scopes": [
 20888  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20889  	//   ]
 20890  	// }
 20891  
 20892  }
 20893  
 20894  // method id "dfareporting.advertisers.list":
 20895  
 20896  type AdvertisersListCall struct {
 20897  	s            *Service
 20898  	profileId    int64
 20899  	urlParams_   gensupport.URLParams
 20900  	ifNoneMatch_ string
 20901  	ctx_         context.Context
 20902  	header_      http.Header
 20903  }
 20904  
 20905  // List: Retrieves a list of advertisers, possibly filtered. This method
 20906  // supports paging.
 20907  //
 20908  // - profileId: User profile ID associated with this request.
 20909  func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
 20910  	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20911  	c.profileId = profileId
 20912  	return c
 20913  }
 20914  
 20915  // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 20916  // Select only advertisers with these advertiser group IDs.
 20917  func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *AdvertisersListCall {
 20918  	var advertiserGroupIds_ []string
 20919  	for _, v := range advertiserGroupIds {
 20920  		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
 20921  	}
 20922  	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
 20923  	return c
 20924  }
 20925  
 20926  // FloodlightConfigurationIds sets the optional parameter
 20927  // "floodlightConfigurationIds": Select only advertisers with these
 20928  // floodlight configuration IDs.
 20929  func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds ...int64) *AdvertisersListCall {
 20930  	var floodlightConfigurationIds_ []string
 20931  	for _, v := range floodlightConfigurationIds {
 20932  		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprint(v))
 20933  	}
 20934  	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
 20935  	return c
 20936  }
 20937  
 20938  // Ids sets the optional parameter "ids": Select only advertisers with
 20939  // these IDs.
 20940  func (c *AdvertisersListCall) Ids(ids ...int64) *AdvertisersListCall {
 20941  	var ids_ []string
 20942  	for _, v := range ids {
 20943  		ids_ = append(ids_, fmt.Sprint(v))
 20944  	}
 20945  	c.urlParams_.SetMulti("ids", ids_)
 20946  	return c
 20947  }
 20948  
 20949  // IncludeAdvertisersWithoutGroupsOnly sets the optional parameter
 20950  // "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
 20951  // do not belong to any advertiser group.
 20952  func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
 20953  	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprint(includeAdvertisersWithoutGroupsOnly))
 20954  	return c
 20955  }
 20956  
 20957  // MaxResults sets the optional parameter "maxResults": Maximum number
 20958  // of results to return.
 20959  func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
 20960  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 20961  	return c
 20962  }
 20963  
 20964  // OnlyParent sets the optional parameter "onlyParent": Select only
 20965  // advertisers which use another advertiser's floodlight configuration.
 20966  func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
 20967  	c.urlParams_.Set("onlyParent", fmt.Sprint(onlyParent))
 20968  	return c
 20969  }
 20970  
 20971  // PageToken sets the optional parameter "pageToken": Value of the
 20972  // nextPageToken from the previous result page.
 20973  func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
 20974  	c.urlParams_.Set("pageToken", pageToken)
 20975  	return c
 20976  }
 20977  
 20978  // SearchString sets the optional parameter "searchString": Allows
 20979  // searching for objects by name or ID. Wildcards (*) are allowed. For
 20980  // example, "advertiser*2015" will return objects with names like
 20981  // "advertiser June 2015", "advertiser April 2015", or simply
 20982  // "advertiser 2015". Most of the searches also add wildcards implicitly
 20983  // at the start and the end of the search string. For example, a search
 20984  // string of "advertiser" will match objects with name "my advertiser",
 20985  // "advertiser 2015", or simply "advertiser" .
 20986  func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
 20987  	c.urlParams_.Set("searchString", searchString)
 20988  	return c
 20989  }
 20990  
 20991  // SortField sets the optional parameter "sortField": Field by which to
 20992  // sort the list.
 20993  //
 20994  // Possible values:
 20995  //
 20996  //	"ID" (default)
 20997  //	"NAME"
 20998  func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
 20999  	c.urlParams_.Set("sortField", sortField)
 21000  	return c
 21001  }
 21002  
 21003  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 21004  // results.
 21005  //
 21006  // Possible values:
 21007  //
 21008  //	"ASCENDING" (default)
 21009  //	"DESCENDING"
 21010  func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
 21011  	c.urlParams_.Set("sortOrder", sortOrder)
 21012  	return c
 21013  }
 21014  
 21015  // Status sets the optional parameter "status": Select only advertisers
 21016  // with the specified status.
 21017  //
 21018  // Possible values:
 21019  //
 21020  //	"APPROVED"
 21021  //	"ON_HOLD"
 21022  func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
 21023  	c.urlParams_.Set("status", status)
 21024  	return c
 21025  }
 21026  
 21027  // SubaccountId sets the optional parameter "subaccountId": Select only
 21028  // advertisers with these subaccount IDs.
 21029  func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
 21030  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 21031  	return c
 21032  }
 21033  
 21034  // Fields allows partial responses to be retrieved. See
 21035  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21036  // for more information.
 21037  func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
 21038  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21039  	return c
 21040  }
 21041  
 21042  // IfNoneMatch sets the optional parameter which makes the operation
 21043  // fail if the object's ETag matches the given value. This is useful for
 21044  // getting updates only after the object has changed since the last
 21045  // request. Use googleapi.IsNotModified to check whether the response
 21046  // error from Do is the result of In-None-Match.
 21047  func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
 21048  	c.ifNoneMatch_ = entityTag
 21049  	return c
 21050  }
 21051  
 21052  // Context sets the context to be used in this call's Do method. Any
 21053  // pending HTTP request will be aborted if the provided context is
 21054  // canceled.
 21055  func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
 21056  	c.ctx_ = ctx
 21057  	return c
 21058  }
 21059  
 21060  // Header returns an http.Header that can be modified by the caller to
 21061  // add HTTP headers to the request.
 21062  func (c *AdvertisersListCall) Header() http.Header {
 21063  	if c.header_ == nil {
 21064  		c.header_ = make(http.Header)
 21065  	}
 21066  	return c.header_
 21067  }
 21068  
 21069  func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 21070  	reqHeaders := make(http.Header)
 21071  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 21072  	for k, v := range c.header_ {
 21073  		reqHeaders[k] = v
 21074  	}
 21075  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21076  	if c.ifNoneMatch_ != "" {
 21077  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21078  	}
 21079  	var body io.Reader = nil
 21080  	c.urlParams_.Set("alt", alt)
 21081  	c.urlParams_.Set("prettyPrint", "false")
 21082  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 21083  	urls += "?" + c.urlParams_.Encode()
 21084  	req, err := http.NewRequest("GET", urls, body)
 21085  	if err != nil {
 21086  		return nil, err
 21087  	}
 21088  	req.Header = reqHeaders
 21089  	googleapi.Expand(req.URL, map[string]string{
 21090  		"profileId": strconv.FormatInt(c.profileId, 10),
 21091  	})
 21092  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21093  }
 21094  
 21095  // Do executes the "dfareporting.advertisers.list" call.
 21096  // Exactly one of *AdvertisersListResponse or error will be non-nil. Any
 21097  // non-2xx status code is an error. Response headers are in either
 21098  // *AdvertisersListResponse.ServerResponse.Header or (if a response was
 21099  // returned at all) in error.(*googleapi.Error).Header. Use
 21100  // googleapi.IsNotModified to check whether the returned error was
 21101  // because http.StatusNotModified was returned.
 21102  func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*AdvertisersListResponse, error) {
 21103  	gensupport.SetOptions(c.urlParams_, opts...)
 21104  	res, err := c.doRequest("json")
 21105  	if res != nil && res.StatusCode == http.StatusNotModified {
 21106  		if res.Body != nil {
 21107  			res.Body.Close()
 21108  		}
 21109  		return nil, &googleapi.Error{
 21110  			Code:   res.StatusCode,
 21111  			Header: res.Header,
 21112  		}
 21113  	}
 21114  	if err != nil {
 21115  		return nil, err
 21116  	}
 21117  	defer googleapi.CloseBody(res)
 21118  	if err := googleapi.CheckResponse(res); err != nil {
 21119  		return nil, err
 21120  	}
 21121  	ret := &AdvertisersListResponse{
 21122  		ServerResponse: googleapi.ServerResponse{
 21123  			Header:         res.Header,
 21124  			HTTPStatusCode: res.StatusCode,
 21125  		},
 21126  	}
 21127  	target := &ret
 21128  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21129  		return nil, err
 21130  	}
 21131  	return ret, nil
 21132  	// {
 21133  	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
 21134  	//   "flatPath": "userprofiles/{profileId}/advertisers",
 21135  	//   "httpMethod": "GET",
 21136  	//   "id": "dfareporting.advertisers.list",
 21137  	//   "parameterOrder": [
 21138  	//     "profileId"
 21139  	//   ],
 21140  	//   "parameters": {
 21141  	//     "advertiserGroupIds": {
 21142  	//       "description": "Select only advertisers with these advertiser group IDs.",
 21143  	//       "format": "int64",
 21144  	//       "location": "query",
 21145  	//       "repeated": true,
 21146  	//       "type": "string"
 21147  	//     },
 21148  	//     "floodlightConfigurationIds": {
 21149  	//       "description": "Select only advertisers with these floodlight configuration IDs.",
 21150  	//       "format": "int64",
 21151  	//       "location": "query",
 21152  	//       "repeated": true,
 21153  	//       "type": "string"
 21154  	//     },
 21155  	//     "ids": {
 21156  	//       "description": "Select only advertisers with these IDs.",
 21157  	//       "format": "int64",
 21158  	//       "location": "query",
 21159  	//       "repeated": true,
 21160  	//       "type": "string"
 21161  	//     },
 21162  	//     "includeAdvertisersWithoutGroupsOnly": {
 21163  	//       "description": "Select only advertisers which do not belong to any advertiser group.",
 21164  	//       "location": "query",
 21165  	//       "type": "boolean"
 21166  	//     },
 21167  	//     "maxResults": {
 21168  	//       "default": "1000",
 21169  	//       "description": "Maximum number of results to return.",
 21170  	//       "format": "int32",
 21171  	//       "location": "query",
 21172  	//       "maximum": "1000",
 21173  	//       "minimum": "0",
 21174  	//       "type": "integer"
 21175  	//     },
 21176  	//     "onlyParent": {
 21177  	//       "description": "Select only advertisers which use another advertiser's floodlight configuration.",
 21178  	//       "location": "query",
 21179  	//       "type": "boolean"
 21180  	//     },
 21181  	//     "pageToken": {
 21182  	//       "description": "Value of the nextPageToken from the previous result page.",
 21183  	//       "location": "query",
 21184  	//       "type": "string"
 21185  	//     },
 21186  	//     "profileId": {
 21187  	//       "description": "User profile ID associated with this request.",
 21188  	//       "format": "int64",
 21189  	//       "location": "path",
 21190  	//       "required": true,
 21191  	//       "type": "string"
 21192  	//     },
 21193  	//     "searchString": {
 21194  	//       "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\" .",
 21195  	//       "location": "query",
 21196  	//       "type": "string"
 21197  	//     },
 21198  	//     "sortField": {
 21199  	//       "default": "ID",
 21200  	//       "description": "Field by which to sort the list.",
 21201  	//       "enum": [
 21202  	//         "ID",
 21203  	//         "NAME"
 21204  	//       ],
 21205  	//       "enumDescriptions": [
 21206  	//         "",
 21207  	//         ""
 21208  	//       ],
 21209  	//       "location": "query",
 21210  	//       "type": "string"
 21211  	//     },
 21212  	//     "sortOrder": {
 21213  	//       "default": "ASCENDING",
 21214  	//       "description": "Order of sorted results.",
 21215  	//       "enum": [
 21216  	//         "ASCENDING",
 21217  	//         "DESCENDING"
 21218  	//       ],
 21219  	//       "enumDescriptions": [
 21220  	//         "",
 21221  	//         ""
 21222  	//       ],
 21223  	//       "location": "query",
 21224  	//       "type": "string"
 21225  	//     },
 21226  	//     "status": {
 21227  	//       "description": "Select only advertisers with the specified status.",
 21228  	//       "enum": [
 21229  	//         "APPROVED",
 21230  	//         "ON_HOLD"
 21231  	//       ],
 21232  	//       "enumDescriptions": [
 21233  	//         "",
 21234  	//         ""
 21235  	//       ],
 21236  	//       "location": "query",
 21237  	//       "type": "string"
 21238  	//     },
 21239  	//     "subaccountId": {
 21240  	//       "description": "Select only advertisers with these subaccount IDs.",
 21241  	//       "format": "int64",
 21242  	//       "location": "query",
 21243  	//       "type": "string"
 21244  	//     }
 21245  	//   },
 21246  	//   "path": "userprofiles/{profileId}/advertisers",
 21247  	//   "response": {
 21248  	//     "$ref": "AdvertisersListResponse"
 21249  	//   },
 21250  	//   "scopes": [
 21251  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21252  	//   ]
 21253  	// }
 21254  
 21255  }
 21256  
 21257  // Pages invokes f for each page of results.
 21258  // A non-nil error returned from f will halt the iteration.
 21259  // The provided context supersedes any context provided to the Context method.
 21260  func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*AdvertisersListResponse) error) error {
 21261  	c.ctx_ = ctx
 21262  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 21263  	for {
 21264  		x, err := c.Do()
 21265  		if err != nil {
 21266  			return err
 21267  		}
 21268  		if err := f(x); err != nil {
 21269  			return err
 21270  		}
 21271  		if x.NextPageToken == "" {
 21272  			return nil
 21273  		}
 21274  		c.PageToken(x.NextPageToken)
 21275  	}
 21276  }
 21277  
 21278  // method id "dfareporting.advertisers.patch":
 21279  
 21280  type AdvertisersPatchCall struct {
 21281  	s          *Service
 21282  	profileId  int64
 21283  	advertiser *Advertiser
 21284  	urlParams_ gensupport.URLParams
 21285  	ctx_       context.Context
 21286  	header_    http.Header
 21287  }
 21288  
 21289  // Patch: Updates an existing advertiser. This method supports patch
 21290  // semantics.
 21291  //
 21292  // - id: Advertiser ID.
 21293  // - profileId: User profile ID associated with this request.
 21294  func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
 21295  	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21296  	c.profileId = profileId
 21297  	c.urlParams_.Set("id", fmt.Sprint(id))
 21298  	c.advertiser = advertiser
 21299  	return c
 21300  }
 21301  
 21302  // Fields allows partial responses to be retrieved. See
 21303  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21304  // for more information.
 21305  func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
 21306  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21307  	return c
 21308  }
 21309  
 21310  // Context sets the context to be used in this call's Do method. Any
 21311  // pending HTTP request will be aborted if the provided context is
 21312  // canceled.
 21313  func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
 21314  	c.ctx_ = ctx
 21315  	return c
 21316  }
 21317  
 21318  // Header returns an http.Header that can be modified by the caller to
 21319  // add HTTP headers to the request.
 21320  func (c *AdvertisersPatchCall) Header() http.Header {
 21321  	if c.header_ == nil {
 21322  		c.header_ = make(http.Header)
 21323  	}
 21324  	return c.header_
 21325  }
 21326  
 21327  func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
 21328  	reqHeaders := make(http.Header)
 21329  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 21330  	for k, v := range c.header_ {
 21331  		reqHeaders[k] = v
 21332  	}
 21333  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21334  	var body io.Reader = nil
 21335  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 21336  	if err != nil {
 21337  		return nil, err
 21338  	}
 21339  	reqHeaders.Set("Content-Type", "application/json")
 21340  	c.urlParams_.Set("alt", alt)
 21341  	c.urlParams_.Set("prettyPrint", "false")
 21342  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 21343  	urls += "?" + c.urlParams_.Encode()
 21344  	req, err := http.NewRequest("PATCH", urls, body)
 21345  	if err != nil {
 21346  		return nil, err
 21347  	}
 21348  	req.Header = reqHeaders
 21349  	googleapi.Expand(req.URL, map[string]string{
 21350  		"profileId": strconv.FormatInt(c.profileId, 10),
 21351  	})
 21352  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21353  }
 21354  
 21355  // Do executes the "dfareporting.advertisers.patch" call.
 21356  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 21357  // status code is an error. Response headers are in either
 21358  // *Advertiser.ServerResponse.Header or (if a response was returned at
 21359  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21360  // to check whether the returned error was because
 21361  // http.StatusNotModified was returned.
 21362  func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 21363  	gensupport.SetOptions(c.urlParams_, opts...)
 21364  	res, err := c.doRequest("json")
 21365  	if res != nil && res.StatusCode == http.StatusNotModified {
 21366  		if res.Body != nil {
 21367  			res.Body.Close()
 21368  		}
 21369  		return nil, &googleapi.Error{
 21370  			Code:   res.StatusCode,
 21371  			Header: res.Header,
 21372  		}
 21373  	}
 21374  	if err != nil {
 21375  		return nil, err
 21376  	}
 21377  	defer googleapi.CloseBody(res)
 21378  	if err := googleapi.CheckResponse(res); err != nil {
 21379  		return nil, err
 21380  	}
 21381  	ret := &Advertiser{
 21382  		ServerResponse: googleapi.ServerResponse{
 21383  			Header:         res.Header,
 21384  			HTTPStatusCode: res.StatusCode,
 21385  		},
 21386  	}
 21387  	target := &ret
 21388  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21389  		return nil, err
 21390  	}
 21391  	return ret, nil
 21392  	// {
 21393  	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
 21394  	//   "flatPath": "userprofiles/{profileId}/advertisers",
 21395  	//   "httpMethod": "PATCH",
 21396  	//   "id": "dfareporting.advertisers.patch",
 21397  	//   "parameterOrder": [
 21398  	//     "profileId",
 21399  	//     "id"
 21400  	//   ],
 21401  	//   "parameters": {
 21402  	//     "id": {
 21403  	//       "description": "Advertiser ID.",
 21404  	//       "format": "int64",
 21405  	//       "location": "query",
 21406  	//       "required": true,
 21407  	//       "type": "string"
 21408  	//     },
 21409  	//     "profileId": {
 21410  	//       "description": "User profile ID associated with this request.",
 21411  	//       "format": "int64",
 21412  	//       "location": "path",
 21413  	//       "required": true,
 21414  	//       "type": "string"
 21415  	//     }
 21416  	//   },
 21417  	//   "path": "userprofiles/{profileId}/advertisers",
 21418  	//   "request": {
 21419  	//     "$ref": "Advertiser"
 21420  	//   },
 21421  	//   "response": {
 21422  	//     "$ref": "Advertiser"
 21423  	//   },
 21424  	//   "scopes": [
 21425  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21426  	//   ]
 21427  	// }
 21428  
 21429  }
 21430  
 21431  // method id "dfareporting.advertisers.update":
 21432  
 21433  type AdvertisersUpdateCall struct {
 21434  	s          *Service
 21435  	profileId  int64
 21436  	advertiser *Advertiser
 21437  	urlParams_ gensupport.URLParams
 21438  	ctx_       context.Context
 21439  	header_    http.Header
 21440  }
 21441  
 21442  // Update: Updates an existing advertiser.
 21443  //
 21444  // - profileId: User profile ID associated with this request.
 21445  func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
 21446  	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21447  	c.profileId = profileId
 21448  	c.advertiser = advertiser
 21449  	return c
 21450  }
 21451  
 21452  // Fields allows partial responses to be retrieved. See
 21453  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21454  // for more information.
 21455  func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
 21456  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21457  	return c
 21458  }
 21459  
 21460  // Context sets the context to be used in this call's Do method. Any
 21461  // pending HTTP request will be aborted if the provided context is
 21462  // canceled.
 21463  func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
 21464  	c.ctx_ = ctx
 21465  	return c
 21466  }
 21467  
 21468  // Header returns an http.Header that can be modified by the caller to
 21469  // add HTTP headers to the request.
 21470  func (c *AdvertisersUpdateCall) Header() http.Header {
 21471  	if c.header_ == nil {
 21472  		c.header_ = make(http.Header)
 21473  	}
 21474  	return c.header_
 21475  }
 21476  
 21477  func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
 21478  	reqHeaders := make(http.Header)
 21479  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 21480  	for k, v := range c.header_ {
 21481  		reqHeaders[k] = v
 21482  	}
 21483  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21484  	var body io.Reader = nil
 21485  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 21486  	if err != nil {
 21487  		return nil, err
 21488  	}
 21489  	reqHeaders.Set("Content-Type", "application/json")
 21490  	c.urlParams_.Set("alt", alt)
 21491  	c.urlParams_.Set("prettyPrint", "false")
 21492  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 21493  	urls += "?" + c.urlParams_.Encode()
 21494  	req, err := http.NewRequest("PUT", urls, body)
 21495  	if err != nil {
 21496  		return nil, err
 21497  	}
 21498  	req.Header = reqHeaders
 21499  	googleapi.Expand(req.URL, map[string]string{
 21500  		"profileId": strconv.FormatInt(c.profileId, 10),
 21501  	})
 21502  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21503  }
 21504  
 21505  // Do executes the "dfareporting.advertisers.update" call.
 21506  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 21507  // status code is an error. Response headers are in either
 21508  // *Advertiser.ServerResponse.Header or (if a response was returned at
 21509  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21510  // to check whether the returned error was because
 21511  // http.StatusNotModified was returned.
 21512  func (c *AdvertisersUpdateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 21513  	gensupport.SetOptions(c.urlParams_, opts...)
 21514  	res, err := c.doRequest("json")
 21515  	if res != nil && res.StatusCode == http.StatusNotModified {
 21516  		if res.Body != nil {
 21517  			res.Body.Close()
 21518  		}
 21519  		return nil, &googleapi.Error{
 21520  			Code:   res.StatusCode,
 21521  			Header: res.Header,
 21522  		}
 21523  	}
 21524  	if err != nil {
 21525  		return nil, err
 21526  	}
 21527  	defer googleapi.CloseBody(res)
 21528  	if err := googleapi.CheckResponse(res); err != nil {
 21529  		return nil, err
 21530  	}
 21531  	ret := &Advertiser{
 21532  		ServerResponse: googleapi.ServerResponse{
 21533  			Header:         res.Header,
 21534  			HTTPStatusCode: res.StatusCode,
 21535  		},
 21536  	}
 21537  	target := &ret
 21538  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21539  		return nil, err
 21540  	}
 21541  	return ret, nil
 21542  	// {
 21543  	//   "description": "Updates an existing advertiser.",
 21544  	//   "flatPath": "userprofiles/{profileId}/advertisers",
 21545  	//   "httpMethod": "PUT",
 21546  	//   "id": "dfareporting.advertisers.update",
 21547  	//   "parameterOrder": [
 21548  	//     "profileId"
 21549  	//   ],
 21550  	//   "parameters": {
 21551  	//     "profileId": {
 21552  	//       "description": "User profile ID associated with this request.",
 21553  	//       "format": "int64",
 21554  	//       "location": "path",
 21555  	//       "required": true,
 21556  	//       "type": "string"
 21557  	//     }
 21558  	//   },
 21559  	//   "path": "userprofiles/{profileId}/advertisers",
 21560  	//   "request": {
 21561  	//     "$ref": "Advertiser"
 21562  	//   },
 21563  	//   "response": {
 21564  	//     "$ref": "Advertiser"
 21565  	//   },
 21566  	//   "scopes": [
 21567  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21568  	//   ]
 21569  	// }
 21570  
 21571  }
 21572  
 21573  // method id "dfareporting.browsers.list":
 21574  
 21575  type BrowsersListCall struct {
 21576  	s            *Service
 21577  	profileId    int64
 21578  	urlParams_   gensupport.URLParams
 21579  	ifNoneMatch_ string
 21580  	ctx_         context.Context
 21581  	header_      http.Header
 21582  }
 21583  
 21584  // List: Retrieves a list of browsers.
 21585  //
 21586  // - profileId: User profile ID associated with this request.
 21587  func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
 21588  	c := &BrowsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21589  	c.profileId = profileId
 21590  	return c
 21591  }
 21592  
 21593  // Fields allows partial responses to be retrieved. See
 21594  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21595  // for more information.
 21596  func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
 21597  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21598  	return c
 21599  }
 21600  
 21601  // IfNoneMatch sets the optional parameter which makes the operation
 21602  // fail if the object's ETag matches the given value. This is useful for
 21603  // getting updates only after the object has changed since the last
 21604  // request. Use googleapi.IsNotModified to check whether the response
 21605  // error from Do is the result of In-None-Match.
 21606  func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
 21607  	c.ifNoneMatch_ = entityTag
 21608  	return c
 21609  }
 21610  
 21611  // Context sets the context to be used in this call's Do method. Any
 21612  // pending HTTP request will be aborted if the provided context is
 21613  // canceled.
 21614  func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
 21615  	c.ctx_ = ctx
 21616  	return c
 21617  }
 21618  
 21619  // Header returns an http.Header that can be modified by the caller to
 21620  // add HTTP headers to the request.
 21621  func (c *BrowsersListCall) Header() http.Header {
 21622  	if c.header_ == nil {
 21623  		c.header_ = make(http.Header)
 21624  	}
 21625  	return c.header_
 21626  }
 21627  
 21628  func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
 21629  	reqHeaders := make(http.Header)
 21630  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 21631  	for k, v := range c.header_ {
 21632  		reqHeaders[k] = v
 21633  	}
 21634  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21635  	if c.ifNoneMatch_ != "" {
 21636  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21637  	}
 21638  	var body io.Reader = nil
 21639  	c.urlParams_.Set("alt", alt)
 21640  	c.urlParams_.Set("prettyPrint", "false")
 21641  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
 21642  	urls += "?" + c.urlParams_.Encode()
 21643  	req, err := http.NewRequest("GET", urls, body)
 21644  	if err != nil {
 21645  		return nil, err
 21646  	}
 21647  	req.Header = reqHeaders
 21648  	googleapi.Expand(req.URL, map[string]string{
 21649  		"profileId": strconv.FormatInt(c.profileId, 10),
 21650  	})
 21651  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21652  }
 21653  
 21654  // Do executes the "dfareporting.browsers.list" call.
 21655  // Exactly one of *BrowsersListResponse or error will be non-nil. Any
 21656  // non-2xx status code is an error. Response headers are in either
 21657  // *BrowsersListResponse.ServerResponse.Header or (if a response was
 21658  // returned at all) in error.(*googleapi.Error).Header. Use
 21659  // googleapi.IsNotModified to check whether the returned error was
 21660  // because http.StatusNotModified was returned.
 21661  func (c *BrowsersListCall) Do(opts ...googleapi.CallOption) (*BrowsersListResponse, error) {
 21662  	gensupport.SetOptions(c.urlParams_, opts...)
 21663  	res, err := c.doRequest("json")
 21664  	if res != nil && res.StatusCode == http.StatusNotModified {
 21665  		if res.Body != nil {
 21666  			res.Body.Close()
 21667  		}
 21668  		return nil, &googleapi.Error{
 21669  			Code:   res.StatusCode,
 21670  			Header: res.Header,
 21671  		}
 21672  	}
 21673  	if err != nil {
 21674  		return nil, err
 21675  	}
 21676  	defer googleapi.CloseBody(res)
 21677  	if err := googleapi.CheckResponse(res); err != nil {
 21678  		return nil, err
 21679  	}
 21680  	ret := &BrowsersListResponse{
 21681  		ServerResponse: googleapi.ServerResponse{
 21682  			Header:         res.Header,
 21683  			HTTPStatusCode: res.StatusCode,
 21684  		},
 21685  	}
 21686  	target := &ret
 21687  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21688  		return nil, err
 21689  	}
 21690  	return ret, nil
 21691  	// {
 21692  	//   "description": "Retrieves a list of browsers.",
 21693  	//   "flatPath": "userprofiles/{profileId}/browsers",
 21694  	//   "httpMethod": "GET",
 21695  	//   "id": "dfareporting.browsers.list",
 21696  	//   "parameterOrder": [
 21697  	//     "profileId"
 21698  	//   ],
 21699  	//   "parameters": {
 21700  	//     "profileId": {
 21701  	//       "description": "User profile ID associated with this request.",
 21702  	//       "format": "int64",
 21703  	//       "location": "path",
 21704  	//       "required": true,
 21705  	//       "type": "string"
 21706  	//     }
 21707  	//   },
 21708  	//   "path": "userprofiles/{profileId}/browsers",
 21709  	//   "response": {
 21710  	//     "$ref": "BrowsersListResponse"
 21711  	//   },
 21712  	//   "scopes": [
 21713  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21714  	//   ]
 21715  	// }
 21716  
 21717  }
 21718  
 21719  // method id "dfareporting.campaignCreativeAssociations.insert":
 21720  
 21721  type CampaignCreativeAssociationsInsertCall struct {
 21722  	s                           *Service
 21723  	profileId                   int64
 21724  	campaignId                  int64
 21725  	campaigncreativeassociation *CampaignCreativeAssociation
 21726  	urlParams_                  gensupport.URLParams
 21727  	ctx_                        context.Context
 21728  	header_                     http.Header
 21729  }
 21730  
 21731  // Insert: Associates a creative with the specified campaign. This
 21732  // method creates a default ad with dimensions matching the creative in
 21733  // the campaign if such a default ad does not exist already.
 21734  //
 21735  // - campaignId: Campaign ID in this association.
 21736  // - profileId: User profile ID associated with this request.
 21737  func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
 21738  	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21739  	c.profileId = profileId
 21740  	c.campaignId = campaignId
 21741  	c.campaigncreativeassociation = campaigncreativeassociation
 21742  	return c
 21743  }
 21744  
 21745  // Fields allows partial responses to be retrieved. See
 21746  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21747  // for more information.
 21748  func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
 21749  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21750  	return c
 21751  }
 21752  
 21753  // Context sets the context to be used in this call's Do method. Any
 21754  // pending HTTP request will be aborted if the provided context is
 21755  // canceled.
 21756  func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
 21757  	c.ctx_ = ctx
 21758  	return c
 21759  }
 21760  
 21761  // Header returns an http.Header that can be modified by the caller to
 21762  // add HTTP headers to the request.
 21763  func (c *CampaignCreativeAssociationsInsertCall) Header() http.Header {
 21764  	if c.header_ == nil {
 21765  		c.header_ = make(http.Header)
 21766  	}
 21767  	return c.header_
 21768  }
 21769  
 21770  func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
 21771  	reqHeaders := make(http.Header)
 21772  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 21773  	for k, v := range c.header_ {
 21774  		reqHeaders[k] = v
 21775  	}
 21776  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21777  	var body io.Reader = nil
 21778  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaigncreativeassociation)
 21779  	if err != nil {
 21780  		return nil, err
 21781  	}
 21782  	reqHeaders.Set("Content-Type", "application/json")
 21783  	c.urlParams_.Set("alt", alt)
 21784  	c.urlParams_.Set("prettyPrint", "false")
 21785  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
 21786  	urls += "?" + c.urlParams_.Encode()
 21787  	req, err := http.NewRequest("POST", urls, body)
 21788  	if err != nil {
 21789  		return nil, err
 21790  	}
 21791  	req.Header = reqHeaders
 21792  	googleapi.Expand(req.URL, map[string]string{
 21793  		"profileId":  strconv.FormatInt(c.profileId, 10),
 21794  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 21795  	})
 21796  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21797  }
 21798  
 21799  // Do executes the "dfareporting.campaignCreativeAssociations.insert" call.
 21800  // Exactly one of *CampaignCreativeAssociation or error will be non-nil.
 21801  // Any non-2xx status code is an error. Response headers are in either
 21802  // *CampaignCreativeAssociation.ServerResponse.Header or (if a response
 21803  // was returned at all) in error.(*googleapi.Error).Header. Use
 21804  // googleapi.IsNotModified to check whether the returned error was
 21805  // because http.StatusNotModified was returned.
 21806  func (c *CampaignCreativeAssociationsInsertCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociation, error) {
 21807  	gensupport.SetOptions(c.urlParams_, opts...)
 21808  	res, err := c.doRequest("json")
 21809  	if res != nil && res.StatusCode == http.StatusNotModified {
 21810  		if res.Body != nil {
 21811  			res.Body.Close()
 21812  		}
 21813  		return nil, &googleapi.Error{
 21814  			Code:   res.StatusCode,
 21815  			Header: res.Header,
 21816  		}
 21817  	}
 21818  	if err != nil {
 21819  		return nil, err
 21820  	}
 21821  	defer googleapi.CloseBody(res)
 21822  	if err := googleapi.CheckResponse(res); err != nil {
 21823  		return nil, err
 21824  	}
 21825  	ret := &CampaignCreativeAssociation{
 21826  		ServerResponse: googleapi.ServerResponse{
 21827  			Header:         res.Header,
 21828  			HTTPStatusCode: res.StatusCode,
 21829  		},
 21830  	}
 21831  	target := &ret
 21832  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21833  		return nil, err
 21834  	}
 21835  	return ret, nil
 21836  	// {
 21837  	//   "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.",
 21838  	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 21839  	//   "httpMethod": "POST",
 21840  	//   "id": "dfareporting.campaignCreativeAssociations.insert",
 21841  	//   "parameterOrder": [
 21842  	//     "profileId",
 21843  	//     "campaignId"
 21844  	//   ],
 21845  	//   "parameters": {
 21846  	//     "campaignId": {
 21847  	//       "description": "Campaign ID in this association.",
 21848  	//       "format": "int64",
 21849  	//       "location": "path",
 21850  	//       "required": true,
 21851  	//       "type": "string"
 21852  	//     },
 21853  	//     "profileId": {
 21854  	//       "description": "User profile ID associated with this request.",
 21855  	//       "format": "int64",
 21856  	//       "location": "path",
 21857  	//       "required": true,
 21858  	//       "type": "string"
 21859  	//     }
 21860  	//   },
 21861  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 21862  	//   "request": {
 21863  	//     "$ref": "CampaignCreativeAssociation"
 21864  	//   },
 21865  	//   "response": {
 21866  	//     "$ref": "CampaignCreativeAssociation"
 21867  	//   },
 21868  	//   "scopes": [
 21869  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21870  	//   ]
 21871  	// }
 21872  
 21873  }
 21874  
 21875  // method id "dfareporting.campaignCreativeAssociations.list":
 21876  
 21877  type CampaignCreativeAssociationsListCall struct {
 21878  	s            *Service
 21879  	profileId    int64
 21880  	campaignId   int64
 21881  	urlParams_   gensupport.URLParams
 21882  	ifNoneMatch_ string
 21883  	ctx_         context.Context
 21884  	header_      http.Header
 21885  }
 21886  
 21887  // List: Retrieves the list of creative IDs associated with the
 21888  // specified campaign. This method supports paging.
 21889  //
 21890  // - campaignId: Campaign ID in this association.
 21891  // - profileId: User profile ID associated with this request.
 21892  func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
 21893  	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21894  	c.profileId = profileId
 21895  	c.campaignId = campaignId
 21896  	return c
 21897  }
 21898  
 21899  // MaxResults sets the optional parameter "maxResults": Maximum number
 21900  // of results to return.
 21901  func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
 21902  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 21903  	return c
 21904  }
 21905  
 21906  // PageToken sets the optional parameter "pageToken": Value of the
 21907  // nextPageToken from the previous result page.
 21908  func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
 21909  	c.urlParams_.Set("pageToken", pageToken)
 21910  	return c
 21911  }
 21912  
 21913  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 21914  // results.
 21915  //
 21916  // Possible values:
 21917  //
 21918  //	"ASCENDING" (default)
 21919  //	"DESCENDING"
 21920  func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
 21921  	c.urlParams_.Set("sortOrder", sortOrder)
 21922  	return c
 21923  }
 21924  
 21925  // Fields allows partial responses to be retrieved. See
 21926  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21927  // for more information.
 21928  func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
 21929  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21930  	return c
 21931  }
 21932  
 21933  // IfNoneMatch sets the optional parameter which makes the operation
 21934  // fail if the object's ETag matches the given value. This is useful for
 21935  // getting updates only after the object has changed since the last
 21936  // request. Use googleapi.IsNotModified to check whether the response
 21937  // error from Do is the result of In-None-Match.
 21938  func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
 21939  	c.ifNoneMatch_ = entityTag
 21940  	return c
 21941  }
 21942  
 21943  // Context sets the context to be used in this call's Do method. Any
 21944  // pending HTTP request will be aborted if the provided context is
 21945  // canceled.
 21946  func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
 21947  	c.ctx_ = ctx
 21948  	return c
 21949  }
 21950  
 21951  // Header returns an http.Header that can be modified by the caller to
 21952  // add HTTP headers to the request.
 21953  func (c *CampaignCreativeAssociationsListCall) Header() http.Header {
 21954  	if c.header_ == nil {
 21955  		c.header_ = make(http.Header)
 21956  	}
 21957  	return c.header_
 21958  }
 21959  
 21960  func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
 21961  	reqHeaders := make(http.Header)
 21962  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 21963  	for k, v := range c.header_ {
 21964  		reqHeaders[k] = v
 21965  	}
 21966  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21967  	if c.ifNoneMatch_ != "" {
 21968  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21969  	}
 21970  	var body io.Reader = nil
 21971  	c.urlParams_.Set("alt", alt)
 21972  	c.urlParams_.Set("prettyPrint", "false")
 21973  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
 21974  	urls += "?" + c.urlParams_.Encode()
 21975  	req, err := http.NewRequest("GET", urls, body)
 21976  	if err != nil {
 21977  		return nil, err
 21978  	}
 21979  	req.Header = reqHeaders
 21980  	googleapi.Expand(req.URL, map[string]string{
 21981  		"profileId":  strconv.FormatInt(c.profileId, 10),
 21982  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 21983  	})
 21984  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21985  }
 21986  
 21987  // Do executes the "dfareporting.campaignCreativeAssociations.list" call.
 21988  // Exactly one of *CampaignCreativeAssociationsListResponse or error
 21989  // will be non-nil. Any non-2xx status code is an error. Response
 21990  // headers are in either
 21991  // *CampaignCreativeAssociationsListResponse.ServerResponse.Header or
 21992  // (if a response was returned at all) in
 21993  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 21994  // whether the returned error was because http.StatusNotModified was
 21995  // returned.
 21996  func (c *CampaignCreativeAssociationsListCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociationsListResponse, error) {
 21997  	gensupport.SetOptions(c.urlParams_, opts...)
 21998  	res, err := c.doRequest("json")
 21999  	if res != nil && res.StatusCode == http.StatusNotModified {
 22000  		if res.Body != nil {
 22001  			res.Body.Close()
 22002  		}
 22003  		return nil, &googleapi.Error{
 22004  			Code:   res.StatusCode,
 22005  			Header: res.Header,
 22006  		}
 22007  	}
 22008  	if err != nil {
 22009  		return nil, err
 22010  	}
 22011  	defer googleapi.CloseBody(res)
 22012  	if err := googleapi.CheckResponse(res); err != nil {
 22013  		return nil, err
 22014  	}
 22015  	ret := &CampaignCreativeAssociationsListResponse{
 22016  		ServerResponse: googleapi.ServerResponse{
 22017  			Header:         res.Header,
 22018  			HTTPStatusCode: res.StatusCode,
 22019  		},
 22020  	}
 22021  	target := &ret
 22022  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22023  		return nil, err
 22024  	}
 22025  	return ret, nil
 22026  	// {
 22027  	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
 22028  	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 22029  	//   "httpMethod": "GET",
 22030  	//   "id": "dfareporting.campaignCreativeAssociations.list",
 22031  	//   "parameterOrder": [
 22032  	//     "profileId",
 22033  	//     "campaignId"
 22034  	//   ],
 22035  	//   "parameters": {
 22036  	//     "campaignId": {
 22037  	//       "description": "Campaign ID in this association.",
 22038  	//       "format": "int64",
 22039  	//       "location": "path",
 22040  	//       "required": true,
 22041  	//       "type": "string"
 22042  	//     },
 22043  	//     "maxResults": {
 22044  	//       "default": "1000",
 22045  	//       "description": "Maximum number of results to return.",
 22046  	//       "format": "int32",
 22047  	//       "location": "query",
 22048  	//       "maximum": "1000",
 22049  	//       "minimum": "0",
 22050  	//       "type": "integer"
 22051  	//     },
 22052  	//     "pageToken": {
 22053  	//       "description": "Value of the nextPageToken from the previous result page.",
 22054  	//       "location": "query",
 22055  	//       "type": "string"
 22056  	//     },
 22057  	//     "profileId": {
 22058  	//       "description": "User profile ID associated with this request.",
 22059  	//       "format": "int64",
 22060  	//       "location": "path",
 22061  	//       "required": true,
 22062  	//       "type": "string"
 22063  	//     },
 22064  	//     "sortOrder": {
 22065  	//       "default": "ASCENDING",
 22066  	//       "description": "Order of sorted results.",
 22067  	//       "enum": [
 22068  	//         "ASCENDING",
 22069  	//         "DESCENDING"
 22070  	//       ],
 22071  	//       "enumDescriptions": [
 22072  	//         "",
 22073  	//         ""
 22074  	//       ],
 22075  	//       "location": "query",
 22076  	//       "type": "string"
 22077  	//     }
 22078  	//   },
 22079  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 22080  	//   "response": {
 22081  	//     "$ref": "CampaignCreativeAssociationsListResponse"
 22082  	//   },
 22083  	//   "scopes": [
 22084  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22085  	//   ]
 22086  	// }
 22087  
 22088  }
 22089  
 22090  // Pages invokes f for each page of results.
 22091  // A non-nil error returned from f will halt the iteration.
 22092  // The provided context supersedes any context provided to the Context method.
 22093  func (c *CampaignCreativeAssociationsListCall) Pages(ctx context.Context, f func(*CampaignCreativeAssociationsListResponse) error) error {
 22094  	c.ctx_ = ctx
 22095  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 22096  	for {
 22097  		x, err := c.Do()
 22098  		if err != nil {
 22099  			return err
 22100  		}
 22101  		if err := f(x); err != nil {
 22102  			return err
 22103  		}
 22104  		if x.NextPageToken == "" {
 22105  			return nil
 22106  		}
 22107  		c.PageToken(x.NextPageToken)
 22108  	}
 22109  }
 22110  
 22111  // method id "dfareporting.campaigns.get":
 22112  
 22113  type CampaignsGetCall struct {
 22114  	s            *Service
 22115  	profileId    int64
 22116  	id           int64
 22117  	urlParams_   gensupport.URLParams
 22118  	ifNoneMatch_ string
 22119  	ctx_         context.Context
 22120  	header_      http.Header
 22121  }
 22122  
 22123  // Get: Gets one campaign by ID.
 22124  //
 22125  // - id: Campaign ID.
 22126  // - profileId: User profile ID associated with this request.
 22127  func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
 22128  	c := &CampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22129  	c.profileId = profileId
 22130  	c.id = id
 22131  	return c
 22132  }
 22133  
 22134  // Fields allows partial responses to be retrieved. See
 22135  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22136  // for more information.
 22137  func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
 22138  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22139  	return c
 22140  }
 22141  
 22142  // IfNoneMatch sets the optional parameter which makes the operation
 22143  // fail if the object's ETag matches the given value. This is useful for
 22144  // getting updates only after the object has changed since the last
 22145  // request. Use googleapi.IsNotModified to check whether the response
 22146  // error from Do is the result of In-None-Match.
 22147  func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
 22148  	c.ifNoneMatch_ = entityTag
 22149  	return c
 22150  }
 22151  
 22152  // Context sets the context to be used in this call's Do method. Any
 22153  // pending HTTP request will be aborted if the provided context is
 22154  // canceled.
 22155  func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
 22156  	c.ctx_ = ctx
 22157  	return c
 22158  }
 22159  
 22160  // Header returns an http.Header that can be modified by the caller to
 22161  // add HTTP headers to the request.
 22162  func (c *CampaignsGetCall) Header() http.Header {
 22163  	if c.header_ == nil {
 22164  		c.header_ = make(http.Header)
 22165  	}
 22166  	return c.header_
 22167  }
 22168  
 22169  func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 22170  	reqHeaders := make(http.Header)
 22171  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 22172  	for k, v := range c.header_ {
 22173  		reqHeaders[k] = v
 22174  	}
 22175  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22176  	if c.ifNoneMatch_ != "" {
 22177  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22178  	}
 22179  	var body io.Reader = nil
 22180  	c.urlParams_.Set("alt", alt)
 22181  	c.urlParams_.Set("prettyPrint", "false")
 22182  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
 22183  	urls += "?" + c.urlParams_.Encode()
 22184  	req, err := http.NewRequest("GET", urls, body)
 22185  	if err != nil {
 22186  		return nil, err
 22187  	}
 22188  	req.Header = reqHeaders
 22189  	googleapi.Expand(req.URL, map[string]string{
 22190  		"profileId": strconv.FormatInt(c.profileId, 10),
 22191  		"id":        strconv.FormatInt(c.id, 10),
 22192  	})
 22193  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22194  }
 22195  
 22196  // Do executes the "dfareporting.campaigns.get" call.
 22197  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 22198  // code is an error. Response headers are in either
 22199  // *Campaign.ServerResponse.Header or (if a response was returned at
 22200  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 22201  // to check whether the returned error was because
 22202  // http.StatusNotModified was returned.
 22203  func (c *CampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 22204  	gensupport.SetOptions(c.urlParams_, opts...)
 22205  	res, err := c.doRequest("json")
 22206  	if res != nil && res.StatusCode == http.StatusNotModified {
 22207  		if res.Body != nil {
 22208  			res.Body.Close()
 22209  		}
 22210  		return nil, &googleapi.Error{
 22211  			Code:   res.StatusCode,
 22212  			Header: res.Header,
 22213  		}
 22214  	}
 22215  	if err != nil {
 22216  		return nil, err
 22217  	}
 22218  	defer googleapi.CloseBody(res)
 22219  	if err := googleapi.CheckResponse(res); err != nil {
 22220  		return nil, err
 22221  	}
 22222  	ret := &Campaign{
 22223  		ServerResponse: googleapi.ServerResponse{
 22224  			Header:         res.Header,
 22225  			HTTPStatusCode: res.StatusCode,
 22226  		},
 22227  	}
 22228  	target := &ret
 22229  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22230  		return nil, err
 22231  	}
 22232  	return ret, nil
 22233  	// {
 22234  	//   "description": "Gets one campaign by ID.",
 22235  	//   "flatPath": "userprofiles/{profileId}/campaigns/{id}",
 22236  	//   "httpMethod": "GET",
 22237  	//   "id": "dfareporting.campaigns.get",
 22238  	//   "parameterOrder": [
 22239  	//     "profileId",
 22240  	//     "id"
 22241  	//   ],
 22242  	//   "parameters": {
 22243  	//     "id": {
 22244  	//       "description": "Campaign ID.",
 22245  	//       "format": "int64",
 22246  	//       "location": "path",
 22247  	//       "required": true,
 22248  	//       "type": "string"
 22249  	//     },
 22250  	//     "profileId": {
 22251  	//       "description": "User profile ID associated with this request.",
 22252  	//       "format": "int64",
 22253  	//       "location": "path",
 22254  	//       "required": true,
 22255  	//       "type": "string"
 22256  	//     }
 22257  	//   },
 22258  	//   "path": "userprofiles/{profileId}/campaigns/{id}",
 22259  	//   "response": {
 22260  	//     "$ref": "Campaign"
 22261  	//   },
 22262  	//   "scopes": [
 22263  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22264  	//   ]
 22265  	// }
 22266  
 22267  }
 22268  
 22269  // method id "dfareporting.campaigns.insert":
 22270  
 22271  type CampaignsInsertCall struct {
 22272  	s          *Service
 22273  	profileId  int64
 22274  	campaign   *Campaign
 22275  	urlParams_ gensupport.URLParams
 22276  	ctx_       context.Context
 22277  	header_    http.Header
 22278  }
 22279  
 22280  // Insert: Inserts a new campaign.
 22281  //
 22282  // - profileId: User profile ID associated with this request.
 22283  func (r *CampaignsService) Insert(profileId int64, campaign *Campaign) *CampaignsInsertCall {
 22284  	c := &CampaignsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22285  	c.profileId = profileId
 22286  	c.campaign = campaign
 22287  	return c
 22288  }
 22289  
 22290  // Fields allows partial responses to be retrieved. See
 22291  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22292  // for more information.
 22293  func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
 22294  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22295  	return c
 22296  }
 22297  
 22298  // Context sets the context to be used in this call's Do method. Any
 22299  // pending HTTP request will be aborted if the provided context is
 22300  // canceled.
 22301  func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
 22302  	c.ctx_ = ctx
 22303  	return c
 22304  }
 22305  
 22306  // Header returns an http.Header that can be modified by the caller to
 22307  // add HTTP headers to the request.
 22308  func (c *CampaignsInsertCall) Header() http.Header {
 22309  	if c.header_ == nil {
 22310  		c.header_ = make(http.Header)
 22311  	}
 22312  	return c.header_
 22313  }
 22314  
 22315  func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
 22316  	reqHeaders := make(http.Header)
 22317  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 22318  	for k, v := range c.header_ {
 22319  		reqHeaders[k] = v
 22320  	}
 22321  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22322  	var body io.Reader = nil
 22323  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 22324  	if err != nil {
 22325  		return nil, err
 22326  	}
 22327  	reqHeaders.Set("Content-Type", "application/json")
 22328  	c.urlParams_.Set("alt", alt)
 22329  	c.urlParams_.Set("prettyPrint", "false")
 22330  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 22331  	urls += "?" + c.urlParams_.Encode()
 22332  	req, err := http.NewRequest("POST", urls, body)
 22333  	if err != nil {
 22334  		return nil, err
 22335  	}
 22336  	req.Header = reqHeaders
 22337  	googleapi.Expand(req.URL, map[string]string{
 22338  		"profileId": strconv.FormatInt(c.profileId, 10),
 22339  	})
 22340  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22341  }
 22342  
 22343  // Do executes the "dfareporting.campaigns.insert" call.
 22344  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 22345  // code is an error. Response headers are in either
 22346  // *Campaign.ServerResponse.Header or (if a response was returned at
 22347  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 22348  // to check whether the returned error was because
 22349  // http.StatusNotModified was returned.
 22350  func (c *CampaignsInsertCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 22351  	gensupport.SetOptions(c.urlParams_, opts...)
 22352  	res, err := c.doRequest("json")
 22353  	if res != nil && res.StatusCode == http.StatusNotModified {
 22354  		if res.Body != nil {
 22355  			res.Body.Close()
 22356  		}
 22357  		return nil, &googleapi.Error{
 22358  			Code:   res.StatusCode,
 22359  			Header: res.Header,
 22360  		}
 22361  	}
 22362  	if err != nil {
 22363  		return nil, err
 22364  	}
 22365  	defer googleapi.CloseBody(res)
 22366  	if err := googleapi.CheckResponse(res); err != nil {
 22367  		return nil, err
 22368  	}
 22369  	ret := &Campaign{
 22370  		ServerResponse: googleapi.ServerResponse{
 22371  			Header:         res.Header,
 22372  			HTTPStatusCode: res.StatusCode,
 22373  		},
 22374  	}
 22375  	target := &ret
 22376  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22377  		return nil, err
 22378  	}
 22379  	return ret, nil
 22380  	// {
 22381  	//   "description": "Inserts a new campaign.",
 22382  	//   "flatPath": "userprofiles/{profileId}/campaigns",
 22383  	//   "httpMethod": "POST",
 22384  	//   "id": "dfareporting.campaigns.insert",
 22385  	//   "parameterOrder": [
 22386  	//     "profileId"
 22387  	//   ],
 22388  	//   "parameters": {
 22389  	//     "profileId": {
 22390  	//       "description": "User profile ID associated with this request.",
 22391  	//       "format": "int64",
 22392  	//       "location": "path",
 22393  	//       "required": true,
 22394  	//       "type": "string"
 22395  	//     }
 22396  	//   },
 22397  	//   "path": "userprofiles/{profileId}/campaigns",
 22398  	//   "request": {
 22399  	//     "$ref": "Campaign"
 22400  	//   },
 22401  	//   "response": {
 22402  	//     "$ref": "Campaign"
 22403  	//   },
 22404  	//   "scopes": [
 22405  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22406  	//   ]
 22407  	// }
 22408  
 22409  }
 22410  
 22411  // method id "dfareporting.campaigns.list":
 22412  
 22413  type CampaignsListCall struct {
 22414  	s            *Service
 22415  	profileId    int64
 22416  	urlParams_   gensupport.URLParams
 22417  	ifNoneMatch_ string
 22418  	ctx_         context.Context
 22419  	header_      http.Header
 22420  }
 22421  
 22422  // List: Retrieves a list of campaigns, possibly filtered. This method
 22423  // supports paging.
 22424  //
 22425  // - profileId: User profile ID associated with this request.
 22426  func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
 22427  	c := &CampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22428  	c.profileId = profileId
 22429  	return c
 22430  }
 22431  
 22432  // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 22433  // Select only campaigns whose advertisers belong to these advertiser
 22434  // groups.
 22435  func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *CampaignsListCall {
 22436  	var advertiserGroupIds_ []string
 22437  	for _, v := range advertiserGroupIds {
 22438  		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
 22439  	}
 22440  	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
 22441  	return c
 22442  }
 22443  
 22444  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 22445  // only campaigns that belong to these advertisers.
 22446  func (c *CampaignsListCall) AdvertiserIds(advertiserIds ...int64) *CampaignsListCall {
 22447  	var advertiserIds_ []string
 22448  	for _, v := range advertiserIds {
 22449  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 22450  	}
 22451  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 22452  	return c
 22453  }
 22454  
 22455  // Archived sets the optional parameter "archived": Select only archived
 22456  // campaigns. Don't set this field to select both archived and
 22457  // non-archived campaigns.
 22458  func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
 22459  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 22460  	return c
 22461  }
 22462  
 22463  // AtLeastOneOptimizationActivity sets the optional parameter
 22464  // "atLeastOneOptimizationActivity": Select only campaigns that have at
 22465  // least one optimization activity.
 22466  func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
 22467  	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprint(atLeastOneOptimizationActivity))
 22468  	return c
 22469  }
 22470  
 22471  // ExcludedIds sets the optional parameter "excludedIds": Exclude
 22472  // campaigns with these IDs.
 22473  func (c *CampaignsListCall) ExcludedIds(excludedIds ...int64) *CampaignsListCall {
 22474  	var excludedIds_ []string
 22475  	for _, v := range excludedIds {
 22476  		excludedIds_ = append(excludedIds_, fmt.Sprint(v))
 22477  	}
 22478  	c.urlParams_.SetMulti("excludedIds", excludedIds_)
 22479  	return c
 22480  }
 22481  
 22482  // Ids sets the optional parameter "ids": Select only campaigns with
 22483  // these IDs.
 22484  func (c *CampaignsListCall) Ids(ids ...int64) *CampaignsListCall {
 22485  	var ids_ []string
 22486  	for _, v := range ids {
 22487  		ids_ = append(ids_, fmt.Sprint(v))
 22488  	}
 22489  	c.urlParams_.SetMulti("ids", ids_)
 22490  	return c
 22491  }
 22492  
 22493  // MaxResults sets the optional parameter "maxResults": Maximum number
 22494  // of results to return.
 22495  func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
 22496  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 22497  	return c
 22498  }
 22499  
 22500  // OverriddenEventTagId sets the optional parameter
 22501  // "overriddenEventTagId": Select only campaigns that have overridden
 22502  // this event tag ID.
 22503  func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
 22504  	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
 22505  	return c
 22506  }
 22507  
 22508  // PageToken sets the optional parameter "pageToken": Value of the
 22509  // nextPageToken from the previous result page.
 22510  func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
 22511  	c.urlParams_.Set("pageToken", pageToken)
 22512  	return c
 22513  }
 22514  
 22515  // SearchString sets the optional parameter "searchString": Allows
 22516  // searching for campaigns by name or ID. Wildcards (*) are allowed. For
 22517  // example, "campaign*2015" will return campaigns with names like
 22518  // "campaign June 2015", "campaign April 2015", or simply "campaign
 22519  // 2015". Most of the searches also add wildcards implicitly at the
 22520  // start and the end of the search string. For example, a search string
 22521  // of "campaign" will match campaigns with name "my campaign", "campaign
 22522  // 2015", or simply "campaign".
 22523  func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
 22524  	c.urlParams_.Set("searchString", searchString)
 22525  	return c
 22526  }
 22527  
 22528  // SortField sets the optional parameter "sortField": Field by which to
 22529  // sort the list.
 22530  //
 22531  // Possible values:
 22532  //
 22533  //	"ID" (default)
 22534  //	"NAME"
 22535  func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
 22536  	c.urlParams_.Set("sortField", sortField)
 22537  	return c
 22538  }
 22539  
 22540  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 22541  // results.
 22542  //
 22543  // Possible values:
 22544  //
 22545  //	"ASCENDING" (default)
 22546  //	"DESCENDING"
 22547  func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
 22548  	c.urlParams_.Set("sortOrder", sortOrder)
 22549  	return c
 22550  }
 22551  
 22552  // SubaccountId sets the optional parameter "subaccountId": Select only
 22553  // campaigns that belong to this subaccount.
 22554  func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
 22555  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 22556  	return c
 22557  }
 22558  
 22559  // Fields allows partial responses to be retrieved. See
 22560  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22561  // for more information.
 22562  func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
 22563  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22564  	return c
 22565  }
 22566  
 22567  // IfNoneMatch sets the optional parameter which makes the operation
 22568  // fail if the object's ETag matches the given value. This is useful for
 22569  // getting updates only after the object has changed since the last
 22570  // request. Use googleapi.IsNotModified to check whether the response
 22571  // error from Do is the result of In-None-Match.
 22572  func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
 22573  	c.ifNoneMatch_ = entityTag
 22574  	return c
 22575  }
 22576  
 22577  // Context sets the context to be used in this call's Do method. Any
 22578  // pending HTTP request will be aborted if the provided context is
 22579  // canceled.
 22580  func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
 22581  	c.ctx_ = ctx
 22582  	return c
 22583  }
 22584  
 22585  // Header returns an http.Header that can be modified by the caller to
 22586  // add HTTP headers to the request.
 22587  func (c *CampaignsListCall) Header() http.Header {
 22588  	if c.header_ == nil {
 22589  		c.header_ = make(http.Header)
 22590  	}
 22591  	return c.header_
 22592  }
 22593  
 22594  func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
 22595  	reqHeaders := make(http.Header)
 22596  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 22597  	for k, v := range c.header_ {
 22598  		reqHeaders[k] = v
 22599  	}
 22600  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22601  	if c.ifNoneMatch_ != "" {
 22602  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22603  	}
 22604  	var body io.Reader = nil
 22605  	c.urlParams_.Set("alt", alt)
 22606  	c.urlParams_.Set("prettyPrint", "false")
 22607  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 22608  	urls += "?" + c.urlParams_.Encode()
 22609  	req, err := http.NewRequest("GET", urls, body)
 22610  	if err != nil {
 22611  		return nil, err
 22612  	}
 22613  	req.Header = reqHeaders
 22614  	googleapi.Expand(req.URL, map[string]string{
 22615  		"profileId": strconv.FormatInt(c.profileId, 10),
 22616  	})
 22617  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22618  }
 22619  
 22620  // Do executes the "dfareporting.campaigns.list" call.
 22621  // Exactly one of *CampaignsListResponse or error will be non-nil. Any
 22622  // non-2xx status code is an error. Response headers are in either
 22623  // *CampaignsListResponse.ServerResponse.Header or (if a response was
 22624  // returned at all) in error.(*googleapi.Error).Header. Use
 22625  // googleapi.IsNotModified to check whether the returned error was
 22626  // because http.StatusNotModified was returned.
 22627  func (c *CampaignsListCall) Do(opts ...googleapi.CallOption) (*CampaignsListResponse, error) {
 22628  	gensupport.SetOptions(c.urlParams_, opts...)
 22629  	res, err := c.doRequest("json")
 22630  	if res != nil && res.StatusCode == http.StatusNotModified {
 22631  		if res.Body != nil {
 22632  			res.Body.Close()
 22633  		}
 22634  		return nil, &googleapi.Error{
 22635  			Code:   res.StatusCode,
 22636  			Header: res.Header,
 22637  		}
 22638  	}
 22639  	if err != nil {
 22640  		return nil, err
 22641  	}
 22642  	defer googleapi.CloseBody(res)
 22643  	if err := googleapi.CheckResponse(res); err != nil {
 22644  		return nil, err
 22645  	}
 22646  	ret := &CampaignsListResponse{
 22647  		ServerResponse: googleapi.ServerResponse{
 22648  			Header:         res.Header,
 22649  			HTTPStatusCode: res.StatusCode,
 22650  		},
 22651  	}
 22652  	target := &ret
 22653  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22654  		return nil, err
 22655  	}
 22656  	return ret, nil
 22657  	// {
 22658  	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
 22659  	//   "flatPath": "userprofiles/{profileId}/campaigns",
 22660  	//   "httpMethod": "GET",
 22661  	//   "id": "dfareporting.campaigns.list",
 22662  	//   "parameterOrder": [
 22663  	//     "profileId"
 22664  	//   ],
 22665  	//   "parameters": {
 22666  	//     "advertiserGroupIds": {
 22667  	//       "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
 22668  	//       "format": "int64",
 22669  	//       "location": "query",
 22670  	//       "repeated": true,
 22671  	//       "type": "string"
 22672  	//     },
 22673  	//     "advertiserIds": {
 22674  	//       "description": "Select only campaigns that belong to these advertisers.",
 22675  	//       "format": "int64",
 22676  	//       "location": "query",
 22677  	//       "repeated": true,
 22678  	//       "type": "string"
 22679  	//     },
 22680  	//     "archived": {
 22681  	//       "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
 22682  	//       "location": "query",
 22683  	//       "type": "boolean"
 22684  	//     },
 22685  	//     "atLeastOneOptimizationActivity": {
 22686  	//       "description": "Select only campaigns that have at least one optimization activity.",
 22687  	//       "location": "query",
 22688  	//       "type": "boolean"
 22689  	//     },
 22690  	//     "excludedIds": {
 22691  	//       "description": "Exclude campaigns with these IDs.",
 22692  	//       "format": "int64",
 22693  	//       "location": "query",
 22694  	//       "repeated": true,
 22695  	//       "type": "string"
 22696  	//     },
 22697  	//     "ids": {
 22698  	//       "description": "Select only campaigns with these IDs.",
 22699  	//       "format": "int64",
 22700  	//       "location": "query",
 22701  	//       "repeated": true,
 22702  	//       "type": "string"
 22703  	//     },
 22704  	//     "maxResults": {
 22705  	//       "default": "1000",
 22706  	//       "description": "Maximum number of results to return.",
 22707  	//       "format": "int32",
 22708  	//       "location": "query",
 22709  	//       "maximum": "1000",
 22710  	//       "minimum": "0",
 22711  	//       "type": "integer"
 22712  	//     },
 22713  	//     "overriddenEventTagId": {
 22714  	//       "description": "Select only campaigns that have overridden this event tag ID.",
 22715  	//       "format": "int64",
 22716  	//       "location": "query",
 22717  	//       "type": "string"
 22718  	//     },
 22719  	//     "pageToken": {
 22720  	//       "description": "Value of the nextPageToken from the previous result page.",
 22721  	//       "location": "query",
 22722  	//       "type": "string"
 22723  	//     },
 22724  	//     "profileId": {
 22725  	//       "description": "User profile ID associated with this request.",
 22726  	//       "format": "int64",
 22727  	//       "location": "path",
 22728  	//       "required": true,
 22729  	//       "type": "string"
 22730  	//     },
 22731  	//     "searchString": {
 22732  	//       "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\".",
 22733  	//       "location": "query",
 22734  	//       "type": "string"
 22735  	//     },
 22736  	//     "sortField": {
 22737  	//       "default": "ID",
 22738  	//       "description": "Field by which to sort the list.",
 22739  	//       "enum": [
 22740  	//         "ID",
 22741  	//         "NAME"
 22742  	//       ],
 22743  	//       "enumDescriptions": [
 22744  	//         "",
 22745  	//         ""
 22746  	//       ],
 22747  	//       "location": "query",
 22748  	//       "type": "string"
 22749  	//     },
 22750  	//     "sortOrder": {
 22751  	//       "default": "ASCENDING",
 22752  	//       "description": "Order of sorted results.",
 22753  	//       "enum": [
 22754  	//         "ASCENDING",
 22755  	//         "DESCENDING"
 22756  	//       ],
 22757  	//       "enumDescriptions": [
 22758  	//         "",
 22759  	//         ""
 22760  	//       ],
 22761  	//       "location": "query",
 22762  	//       "type": "string"
 22763  	//     },
 22764  	//     "subaccountId": {
 22765  	//       "description": "Select only campaigns that belong to this subaccount.",
 22766  	//       "format": "int64",
 22767  	//       "location": "query",
 22768  	//       "type": "string"
 22769  	//     }
 22770  	//   },
 22771  	//   "path": "userprofiles/{profileId}/campaigns",
 22772  	//   "response": {
 22773  	//     "$ref": "CampaignsListResponse"
 22774  	//   },
 22775  	//   "scopes": [
 22776  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22777  	//   ]
 22778  	// }
 22779  
 22780  }
 22781  
 22782  // Pages invokes f for each page of results.
 22783  // A non-nil error returned from f will halt the iteration.
 22784  // The provided context supersedes any context provided to the Context method.
 22785  func (c *CampaignsListCall) Pages(ctx context.Context, f func(*CampaignsListResponse) error) error {
 22786  	c.ctx_ = ctx
 22787  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 22788  	for {
 22789  		x, err := c.Do()
 22790  		if err != nil {
 22791  			return err
 22792  		}
 22793  		if err := f(x); err != nil {
 22794  			return err
 22795  		}
 22796  		if x.NextPageToken == "" {
 22797  			return nil
 22798  		}
 22799  		c.PageToken(x.NextPageToken)
 22800  	}
 22801  }
 22802  
 22803  // method id "dfareporting.campaigns.patch":
 22804  
 22805  type CampaignsPatchCall struct {
 22806  	s          *Service
 22807  	profileId  int64
 22808  	campaign   *Campaign
 22809  	urlParams_ gensupport.URLParams
 22810  	ctx_       context.Context
 22811  	header_    http.Header
 22812  }
 22813  
 22814  // Patch: Updates an existing campaign. This method supports patch
 22815  // semantics.
 22816  //
 22817  // - id: Campaign ID.
 22818  // - profileId: User profile ID associated with this request.
 22819  func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
 22820  	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22821  	c.profileId = profileId
 22822  	c.urlParams_.Set("id", fmt.Sprint(id))
 22823  	c.campaign = campaign
 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 *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
 22831  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22832  	return c
 22833  }
 22834  
 22835  // Context sets the context to be used in this call's Do method. Any
 22836  // pending HTTP request will be aborted if the provided context is
 22837  // canceled.
 22838  func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
 22839  	c.ctx_ = ctx
 22840  	return c
 22841  }
 22842  
 22843  // Header returns an http.Header that can be modified by the caller to
 22844  // add HTTP headers to the request.
 22845  func (c *CampaignsPatchCall) Header() http.Header {
 22846  	if c.header_ == nil {
 22847  		c.header_ = make(http.Header)
 22848  	}
 22849  	return c.header_
 22850  }
 22851  
 22852  func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
 22853  	reqHeaders := make(http.Header)
 22854  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 22855  	for k, v := range c.header_ {
 22856  		reqHeaders[k] = v
 22857  	}
 22858  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22859  	var body io.Reader = nil
 22860  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 22861  	if err != nil {
 22862  		return nil, err
 22863  	}
 22864  	reqHeaders.Set("Content-Type", "application/json")
 22865  	c.urlParams_.Set("alt", alt)
 22866  	c.urlParams_.Set("prettyPrint", "false")
 22867  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 22868  	urls += "?" + c.urlParams_.Encode()
 22869  	req, err := http.NewRequest("PATCH", urls, body)
 22870  	if err != nil {
 22871  		return nil, err
 22872  	}
 22873  	req.Header = reqHeaders
 22874  	googleapi.Expand(req.URL, map[string]string{
 22875  		"profileId": strconv.FormatInt(c.profileId, 10),
 22876  	})
 22877  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22878  }
 22879  
 22880  // Do executes the "dfareporting.campaigns.patch" call.
 22881  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 22882  // code is an error. Response headers are in either
 22883  // *Campaign.ServerResponse.Header or (if a response was returned at
 22884  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 22885  // to check whether the returned error was because
 22886  // http.StatusNotModified was returned.
 22887  func (c *CampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 22888  	gensupport.SetOptions(c.urlParams_, opts...)
 22889  	res, err := c.doRequest("json")
 22890  	if res != nil && res.StatusCode == http.StatusNotModified {
 22891  		if res.Body != nil {
 22892  			res.Body.Close()
 22893  		}
 22894  		return nil, &googleapi.Error{
 22895  			Code:   res.StatusCode,
 22896  			Header: res.Header,
 22897  		}
 22898  	}
 22899  	if err != nil {
 22900  		return nil, err
 22901  	}
 22902  	defer googleapi.CloseBody(res)
 22903  	if err := googleapi.CheckResponse(res); err != nil {
 22904  		return nil, err
 22905  	}
 22906  	ret := &Campaign{
 22907  		ServerResponse: googleapi.ServerResponse{
 22908  			Header:         res.Header,
 22909  			HTTPStatusCode: res.StatusCode,
 22910  		},
 22911  	}
 22912  	target := &ret
 22913  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22914  		return nil, err
 22915  	}
 22916  	return ret, nil
 22917  	// {
 22918  	//   "description": "Updates an existing campaign. This method supports patch semantics.",
 22919  	//   "flatPath": "userprofiles/{profileId}/campaigns",
 22920  	//   "httpMethod": "PATCH",
 22921  	//   "id": "dfareporting.campaigns.patch",
 22922  	//   "parameterOrder": [
 22923  	//     "profileId",
 22924  	//     "id"
 22925  	//   ],
 22926  	//   "parameters": {
 22927  	//     "id": {
 22928  	//       "description": "Campaign ID.",
 22929  	//       "format": "int64",
 22930  	//       "location": "query",
 22931  	//       "required": true,
 22932  	//       "type": "string"
 22933  	//     },
 22934  	//     "profileId": {
 22935  	//       "description": "User profile ID associated with this request.",
 22936  	//       "format": "int64",
 22937  	//       "location": "path",
 22938  	//       "required": true,
 22939  	//       "type": "string"
 22940  	//     }
 22941  	//   },
 22942  	//   "path": "userprofiles/{profileId}/campaigns",
 22943  	//   "request": {
 22944  	//     "$ref": "Campaign"
 22945  	//   },
 22946  	//   "response": {
 22947  	//     "$ref": "Campaign"
 22948  	//   },
 22949  	//   "scopes": [
 22950  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22951  	//   ]
 22952  	// }
 22953  
 22954  }
 22955  
 22956  // method id "dfareporting.campaigns.update":
 22957  
 22958  type CampaignsUpdateCall struct {
 22959  	s          *Service
 22960  	profileId  int64
 22961  	campaign   *Campaign
 22962  	urlParams_ gensupport.URLParams
 22963  	ctx_       context.Context
 22964  	header_    http.Header
 22965  }
 22966  
 22967  // Update: Updates an existing campaign.
 22968  //
 22969  // - profileId: User profile ID associated with this request.
 22970  func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
 22971  	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22972  	c.profileId = profileId
 22973  	c.campaign = campaign
 22974  	return c
 22975  }
 22976  
 22977  // Fields allows partial responses to be retrieved. See
 22978  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22979  // for more information.
 22980  func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
 22981  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22982  	return c
 22983  }
 22984  
 22985  // Context sets the context to be used in this call's Do method. Any
 22986  // pending HTTP request will be aborted if the provided context is
 22987  // canceled.
 22988  func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
 22989  	c.ctx_ = ctx
 22990  	return c
 22991  }
 22992  
 22993  // Header returns an http.Header that can be modified by the caller to
 22994  // add HTTP headers to the request.
 22995  func (c *CampaignsUpdateCall) Header() http.Header {
 22996  	if c.header_ == nil {
 22997  		c.header_ = make(http.Header)
 22998  	}
 22999  	return c.header_
 23000  }
 23001  
 23002  func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
 23003  	reqHeaders := make(http.Header)
 23004  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 23005  	for k, v := range c.header_ {
 23006  		reqHeaders[k] = v
 23007  	}
 23008  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23009  	var body io.Reader = nil
 23010  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 23011  	if err != nil {
 23012  		return nil, err
 23013  	}
 23014  	reqHeaders.Set("Content-Type", "application/json")
 23015  	c.urlParams_.Set("alt", alt)
 23016  	c.urlParams_.Set("prettyPrint", "false")
 23017  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 23018  	urls += "?" + c.urlParams_.Encode()
 23019  	req, err := http.NewRequest("PUT", urls, body)
 23020  	if err != nil {
 23021  		return nil, err
 23022  	}
 23023  	req.Header = reqHeaders
 23024  	googleapi.Expand(req.URL, map[string]string{
 23025  		"profileId": strconv.FormatInt(c.profileId, 10),
 23026  	})
 23027  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23028  }
 23029  
 23030  // Do executes the "dfareporting.campaigns.update" call.
 23031  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 23032  // code is an error. Response headers are in either
 23033  // *Campaign.ServerResponse.Header or (if a response was returned at
 23034  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 23035  // to check whether the returned error was because
 23036  // http.StatusNotModified was returned.
 23037  func (c *CampaignsUpdateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 23038  	gensupport.SetOptions(c.urlParams_, opts...)
 23039  	res, err := c.doRequest("json")
 23040  	if res != nil && res.StatusCode == http.StatusNotModified {
 23041  		if res.Body != nil {
 23042  			res.Body.Close()
 23043  		}
 23044  		return nil, &googleapi.Error{
 23045  			Code:   res.StatusCode,
 23046  			Header: res.Header,
 23047  		}
 23048  	}
 23049  	if err != nil {
 23050  		return nil, err
 23051  	}
 23052  	defer googleapi.CloseBody(res)
 23053  	if err := googleapi.CheckResponse(res); err != nil {
 23054  		return nil, err
 23055  	}
 23056  	ret := &Campaign{
 23057  		ServerResponse: googleapi.ServerResponse{
 23058  			Header:         res.Header,
 23059  			HTTPStatusCode: res.StatusCode,
 23060  		},
 23061  	}
 23062  	target := &ret
 23063  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23064  		return nil, err
 23065  	}
 23066  	return ret, nil
 23067  	// {
 23068  	//   "description": "Updates an existing campaign.",
 23069  	//   "flatPath": "userprofiles/{profileId}/campaigns",
 23070  	//   "httpMethod": "PUT",
 23071  	//   "id": "dfareporting.campaigns.update",
 23072  	//   "parameterOrder": [
 23073  	//     "profileId"
 23074  	//   ],
 23075  	//   "parameters": {
 23076  	//     "profileId": {
 23077  	//       "description": "User profile ID associated with this request.",
 23078  	//       "format": "int64",
 23079  	//       "location": "path",
 23080  	//       "required": true,
 23081  	//       "type": "string"
 23082  	//     }
 23083  	//   },
 23084  	//   "path": "userprofiles/{profileId}/campaigns",
 23085  	//   "request": {
 23086  	//     "$ref": "Campaign"
 23087  	//   },
 23088  	//   "response": {
 23089  	//     "$ref": "Campaign"
 23090  	//   },
 23091  	//   "scopes": [
 23092  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23093  	//   ]
 23094  	// }
 23095  
 23096  }
 23097  
 23098  // method id "dfareporting.changeLogs.get":
 23099  
 23100  type ChangeLogsGetCall struct {
 23101  	s            *Service
 23102  	profileId    int64
 23103  	id           int64
 23104  	urlParams_   gensupport.URLParams
 23105  	ifNoneMatch_ string
 23106  	ctx_         context.Context
 23107  	header_      http.Header
 23108  }
 23109  
 23110  // Get: Gets one change log by ID.
 23111  //
 23112  // - id: Change log ID.
 23113  // - profileId: User profile ID associated with this request.
 23114  func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
 23115  	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23116  	c.profileId = profileId
 23117  	c.id = id
 23118  	return c
 23119  }
 23120  
 23121  // Fields allows partial responses to be retrieved. See
 23122  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23123  // for more information.
 23124  func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
 23125  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23126  	return c
 23127  }
 23128  
 23129  // IfNoneMatch sets the optional parameter which makes the operation
 23130  // fail if the object's ETag matches the given value. This is useful for
 23131  // getting updates only after the object has changed since the last
 23132  // request. Use googleapi.IsNotModified to check whether the response
 23133  // error from Do is the result of In-None-Match.
 23134  func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
 23135  	c.ifNoneMatch_ = entityTag
 23136  	return c
 23137  }
 23138  
 23139  // Context sets the context to be used in this call's Do method. Any
 23140  // pending HTTP request will be aborted if the provided context is
 23141  // canceled.
 23142  func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
 23143  	c.ctx_ = ctx
 23144  	return c
 23145  }
 23146  
 23147  // Header returns an http.Header that can be modified by the caller to
 23148  // add HTTP headers to the request.
 23149  func (c *ChangeLogsGetCall) Header() http.Header {
 23150  	if c.header_ == nil {
 23151  		c.header_ = make(http.Header)
 23152  	}
 23153  	return c.header_
 23154  }
 23155  
 23156  func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
 23157  	reqHeaders := make(http.Header)
 23158  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 23159  	for k, v := range c.header_ {
 23160  		reqHeaders[k] = v
 23161  	}
 23162  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23163  	if c.ifNoneMatch_ != "" {
 23164  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23165  	}
 23166  	var body io.Reader = nil
 23167  	c.urlParams_.Set("alt", alt)
 23168  	c.urlParams_.Set("prettyPrint", "false")
 23169  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
 23170  	urls += "?" + c.urlParams_.Encode()
 23171  	req, err := http.NewRequest("GET", urls, body)
 23172  	if err != nil {
 23173  		return nil, err
 23174  	}
 23175  	req.Header = reqHeaders
 23176  	googleapi.Expand(req.URL, map[string]string{
 23177  		"profileId": strconv.FormatInt(c.profileId, 10),
 23178  		"id":        strconv.FormatInt(c.id, 10),
 23179  	})
 23180  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23181  }
 23182  
 23183  // Do executes the "dfareporting.changeLogs.get" call.
 23184  // Exactly one of *ChangeLog or error will be non-nil. Any non-2xx
 23185  // status code is an error. Response headers are in either
 23186  // *ChangeLog.ServerResponse.Header or (if a response was returned at
 23187  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 23188  // to check whether the returned error was because
 23189  // http.StatusNotModified was returned.
 23190  func (c *ChangeLogsGetCall) Do(opts ...googleapi.CallOption) (*ChangeLog, error) {
 23191  	gensupport.SetOptions(c.urlParams_, opts...)
 23192  	res, err := c.doRequest("json")
 23193  	if res != nil && res.StatusCode == http.StatusNotModified {
 23194  		if res.Body != nil {
 23195  			res.Body.Close()
 23196  		}
 23197  		return nil, &googleapi.Error{
 23198  			Code:   res.StatusCode,
 23199  			Header: res.Header,
 23200  		}
 23201  	}
 23202  	if err != nil {
 23203  		return nil, err
 23204  	}
 23205  	defer googleapi.CloseBody(res)
 23206  	if err := googleapi.CheckResponse(res); err != nil {
 23207  		return nil, err
 23208  	}
 23209  	ret := &ChangeLog{
 23210  		ServerResponse: googleapi.ServerResponse{
 23211  			Header:         res.Header,
 23212  			HTTPStatusCode: res.StatusCode,
 23213  		},
 23214  	}
 23215  	target := &ret
 23216  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23217  		return nil, err
 23218  	}
 23219  	return ret, nil
 23220  	// {
 23221  	//   "description": "Gets one change log by ID.",
 23222  	//   "flatPath": "userprofiles/{profileId}/changeLogs/{id}",
 23223  	//   "httpMethod": "GET",
 23224  	//   "id": "dfareporting.changeLogs.get",
 23225  	//   "parameterOrder": [
 23226  	//     "profileId",
 23227  	//     "id"
 23228  	//   ],
 23229  	//   "parameters": {
 23230  	//     "id": {
 23231  	//       "description": "Change log ID.",
 23232  	//       "format": "int64",
 23233  	//       "location": "path",
 23234  	//       "required": true,
 23235  	//       "type": "string"
 23236  	//     },
 23237  	//     "profileId": {
 23238  	//       "description": "User profile ID associated with this request.",
 23239  	//       "format": "int64",
 23240  	//       "location": "path",
 23241  	//       "required": true,
 23242  	//       "type": "string"
 23243  	//     }
 23244  	//   },
 23245  	//   "path": "userprofiles/{profileId}/changeLogs/{id}",
 23246  	//   "response": {
 23247  	//     "$ref": "ChangeLog"
 23248  	//   },
 23249  	//   "scopes": [
 23250  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23251  	//   ]
 23252  	// }
 23253  
 23254  }
 23255  
 23256  // method id "dfareporting.changeLogs.list":
 23257  
 23258  type ChangeLogsListCall struct {
 23259  	s            *Service
 23260  	profileId    int64
 23261  	urlParams_   gensupport.URLParams
 23262  	ifNoneMatch_ string
 23263  	ctx_         context.Context
 23264  	header_      http.Header
 23265  }
 23266  
 23267  // List: Retrieves a list of change logs. This method supports paging.
 23268  //
 23269  // - profileId: User profile ID associated with this request.
 23270  func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
 23271  	c := &ChangeLogsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23272  	c.profileId = profileId
 23273  	return c
 23274  }
 23275  
 23276  // Action sets the optional parameter "action": Select only change logs
 23277  // with the specified action.
 23278  //
 23279  // Possible values:
 23280  //
 23281  //	"ACTION_CREATE"
 23282  //	"ACTION_UPDATE"
 23283  //	"ACTION_DELETE"
 23284  //	"ACTION_ENABLE"
 23285  //	"ACTION_DISABLE"
 23286  //	"ACTION_ADD"
 23287  //	"ACTION_REMOVE"
 23288  //	"ACTION_MARK_AS_DEFAULT"
 23289  //	"ACTION_ASSOCIATE"
 23290  //	"ACTION_ASSIGN"
 23291  //	"ACTION_UNASSIGN"
 23292  //	"ACTION_SEND"
 23293  //	"ACTION_LINK"
 23294  //	"ACTION_UNLINK"
 23295  //	"ACTION_PUSH"
 23296  //	"ACTION_EMAIL_TAGS"
 23297  //	"ACTION_SHARE"
 23298  func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
 23299  	c.urlParams_.Set("action", action)
 23300  	return c
 23301  }
 23302  
 23303  // Ids sets the optional parameter "ids": Select only change logs with
 23304  // these IDs.
 23305  func (c *ChangeLogsListCall) Ids(ids ...int64) *ChangeLogsListCall {
 23306  	var ids_ []string
 23307  	for _, v := range ids {
 23308  		ids_ = append(ids_, fmt.Sprint(v))
 23309  	}
 23310  	c.urlParams_.SetMulti("ids", ids_)
 23311  	return c
 23312  }
 23313  
 23314  // MaxChangeTime sets the optional parameter "maxChangeTime": Select
 23315  // only change logs whose change time is before the specified
 23316  // maxChangeTime.The time should be formatted as an RFC3339 date/time
 23317  // string. For example, for 10:54 PM on July 18th, 2015, in the
 23318  // America/New York time zone, the format is
 23319  // "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
 23320  // the letter T, the hour (24-hour clock system), minute, second, and
 23321  // then the time zone offset.
 23322  func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
 23323  	c.urlParams_.Set("maxChangeTime", maxChangeTime)
 23324  	return c
 23325  }
 23326  
 23327  // MaxResults sets the optional parameter "maxResults": Maximum number
 23328  // of results to return.
 23329  func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
 23330  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 23331  	return c
 23332  }
 23333  
 23334  // MinChangeTime sets the optional parameter "minChangeTime": Select
 23335  // only change logs whose change time is after the specified
 23336  // minChangeTime.The time should be formatted as an RFC3339 date/time
 23337  // string. For example, for 10:54 PM on July 18th, 2015, in the
 23338  // America/New York time zone, the format is
 23339  // "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
 23340  // the letter T, the hour (24-hour clock system), minute, second, and
 23341  // then the time zone offset.
 23342  func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
 23343  	c.urlParams_.Set("minChangeTime", minChangeTime)
 23344  	return c
 23345  }
 23346  
 23347  // ObjectIds sets the optional parameter "objectIds": Select only change
 23348  // logs with these object IDs.
 23349  func (c *ChangeLogsListCall) ObjectIds(objectIds ...int64) *ChangeLogsListCall {
 23350  	var objectIds_ []string
 23351  	for _, v := range objectIds {
 23352  		objectIds_ = append(objectIds_, fmt.Sprint(v))
 23353  	}
 23354  	c.urlParams_.SetMulti("objectIds", objectIds_)
 23355  	return c
 23356  }
 23357  
 23358  // ObjectType sets the optional parameter "objectType": Select only
 23359  // change logs with the specified object type.
 23360  //
 23361  // Possible values:
 23362  //
 23363  //	"OBJECT_ADVERTISER"
 23364  //	"OBJECT_FLOODLIGHT_CONFIGURATION"
 23365  //	"OBJECT_AD"
 23366  //	"OBJECT_FLOODLIGHT_ACTVITY"
 23367  //	"OBJECT_CAMPAIGN"
 23368  //	"OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
 23369  //	"OBJECT_CREATIVE"
 23370  //	"OBJECT_PLACEMENT"
 23371  //	"OBJECT_DFA_SITE"
 23372  //	"OBJECT_USER_ROLE"
 23373  //	"OBJECT_USER_PROFILE"
 23374  //	"OBJECT_ADVERTISER_GROUP"
 23375  //	"OBJECT_ACCOUNT"
 23376  //	"OBJECT_SUBACCOUNT"
 23377  //	"OBJECT_RICHMEDIA_CREATIVE"
 23378  //	"OBJECT_INSTREAM_CREATIVE"
 23379  //	"OBJECT_MEDIA_ORDER"
 23380  //	"OBJECT_CONTENT_CATEGORY"
 23381  //	"OBJECT_PLACEMENT_STRATEGY"
 23382  //	"OBJECT_SD_SITE"
 23383  //	"OBJECT_SIZE"
 23384  //	"OBJECT_CREATIVE_GROUP"
 23385  //	"OBJECT_CREATIVE_ASSET"
 23386  //	"OBJECT_USER_PROFILE_FILTER"
 23387  //	"OBJECT_LANDING_PAGE"
 23388  //	"OBJECT_CREATIVE_FIELD"
 23389  //	"OBJECT_REMARKETING_LIST"
 23390  //	"OBJECT_PROVIDED_LIST_CLIENT"
 23391  //	"OBJECT_EVENT_TAG"
 23392  //	"OBJECT_CREATIVE_BUNDLE"
 23393  //	"OBJECT_BILLING_ACCOUNT_GROUP"
 23394  //	"OBJECT_BILLING_FEATURE"
 23395  //	"OBJECT_RATE_CARD"
 23396  //	"OBJECT_ACCOUNT_BILLING_FEATURE"
 23397  //	"OBJECT_BILLING_MINIMUM_FEE"
 23398  //	"OBJECT_BILLING_PROFILE"
 23399  //	"OBJECT_PLAYSTORE_LINK"
 23400  //	"OBJECT_TARGETING_TEMPLATE"
 23401  //	"OBJECT_SEARCH_LIFT_STUDY"
 23402  //	"OBJECT_FLOODLIGHT_DV360_LINK"
 23403  func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
 23404  	c.urlParams_.Set("objectType", objectType)
 23405  	return c
 23406  }
 23407  
 23408  // PageToken sets the optional parameter "pageToken": Value of the
 23409  // nextPageToken from the previous result page.
 23410  func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
 23411  	c.urlParams_.Set("pageToken", pageToken)
 23412  	return c
 23413  }
 23414  
 23415  // SearchString sets the optional parameter "searchString": Select only
 23416  // change logs whose object ID, user name, old or new values match the
 23417  // search string.
 23418  func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
 23419  	c.urlParams_.Set("searchString", searchString)
 23420  	return c
 23421  }
 23422  
 23423  // UserProfileIds sets the optional parameter "userProfileIds": Select
 23424  // only change logs with these user profile IDs.
 23425  func (c *ChangeLogsListCall) UserProfileIds(userProfileIds ...int64) *ChangeLogsListCall {
 23426  	var userProfileIds_ []string
 23427  	for _, v := range userProfileIds {
 23428  		userProfileIds_ = append(userProfileIds_, fmt.Sprint(v))
 23429  	}
 23430  	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
 23431  	return c
 23432  }
 23433  
 23434  // Fields allows partial responses to be retrieved. See
 23435  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23436  // for more information.
 23437  func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
 23438  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23439  	return c
 23440  }
 23441  
 23442  // IfNoneMatch sets the optional parameter which makes the operation
 23443  // fail if the object's ETag matches the given value. This is useful for
 23444  // getting updates only after the object has changed since the last
 23445  // request. Use googleapi.IsNotModified to check whether the response
 23446  // error from Do is the result of In-None-Match.
 23447  func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
 23448  	c.ifNoneMatch_ = entityTag
 23449  	return c
 23450  }
 23451  
 23452  // Context sets the context to be used in this call's Do method. Any
 23453  // pending HTTP request will be aborted if the provided context is
 23454  // canceled.
 23455  func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
 23456  	c.ctx_ = ctx
 23457  	return c
 23458  }
 23459  
 23460  // Header returns an http.Header that can be modified by the caller to
 23461  // add HTTP headers to the request.
 23462  func (c *ChangeLogsListCall) Header() http.Header {
 23463  	if c.header_ == nil {
 23464  		c.header_ = make(http.Header)
 23465  	}
 23466  	return c.header_
 23467  }
 23468  
 23469  func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
 23470  	reqHeaders := make(http.Header)
 23471  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 23472  	for k, v := range c.header_ {
 23473  		reqHeaders[k] = v
 23474  	}
 23475  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23476  	if c.ifNoneMatch_ != "" {
 23477  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23478  	}
 23479  	var body io.Reader = nil
 23480  	c.urlParams_.Set("alt", alt)
 23481  	c.urlParams_.Set("prettyPrint", "false")
 23482  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
 23483  	urls += "?" + c.urlParams_.Encode()
 23484  	req, err := http.NewRequest("GET", urls, body)
 23485  	if err != nil {
 23486  		return nil, err
 23487  	}
 23488  	req.Header = reqHeaders
 23489  	googleapi.Expand(req.URL, map[string]string{
 23490  		"profileId": strconv.FormatInt(c.profileId, 10),
 23491  	})
 23492  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23493  }
 23494  
 23495  // Do executes the "dfareporting.changeLogs.list" call.
 23496  // Exactly one of *ChangeLogsListResponse or error will be non-nil. Any
 23497  // non-2xx status code is an error. Response headers are in either
 23498  // *ChangeLogsListResponse.ServerResponse.Header or (if a response was
 23499  // returned at all) in error.(*googleapi.Error).Header. Use
 23500  // googleapi.IsNotModified to check whether the returned error was
 23501  // because http.StatusNotModified was returned.
 23502  func (c *ChangeLogsListCall) Do(opts ...googleapi.CallOption) (*ChangeLogsListResponse, error) {
 23503  	gensupport.SetOptions(c.urlParams_, opts...)
 23504  	res, err := c.doRequest("json")
 23505  	if res != nil && res.StatusCode == http.StatusNotModified {
 23506  		if res.Body != nil {
 23507  			res.Body.Close()
 23508  		}
 23509  		return nil, &googleapi.Error{
 23510  			Code:   res.StatusCode,
 23511  			Header: res.Header,
 23512  		}
 23513  	}
 23514  	if err != nil {
 23515  		return nil, err
 23516  	}
 23517  	defer googleapi.CloseBody(res)
 23518  	if err := googleapi.CheckResponse(res); err != nil {
 23519  		return nil, err
 23520  	}
 23521  	ret := &ChangeLogsListResponse{
 23522  		ServerResponse: googleapi.ServerResponse{
 23523  			Header:         res.Header,
 23524  			HTTPStatusCode: res.StatusCode,
 23525  		},
 23526  	}
 23527  	target := &ret
 23528  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23529  		return nil, err
 23530  	}
 23531  	return ret, nil
 23532  	// {
 23533  	//   "description": "Retrieves a list of change logs. This method supports paging.",
 23534  	//   "flatPath": "userprofiles/{profileId}/changeLogs",
 23535  	//   "httpMethod": "GET",
 23536  	//   "id": "dfareporting.changeLogs.list",
 23537  	//   "parameterOrder": [
 23538  	//     "profileId"
 23539  	//   ],
 23540  	//   "parameters": {
 23541  	//     "action": {
 23542  	//       "description": "Select only change logs with the specified action.",
 23543  	//       "enum": [
 23544  	//         "ACTION_CREATE",
 23545  	//         "ACTION_UPDATE",
 23546  	//         "ACTION_DELETE",
 23547  	//         "ACTION_ENABLE",
 23548  	//         "ACTION_DISABLE",
 23549  	//         "ACTION_ADD",
 23550  	//         "ACTION_REMOVE",
 23551  	//         "ACTION_MARK_AS_DEFAULT",
 23552  	//         "ACTION_ASSOCIATE",
 23553  	//         "ACTION_ASSIGN",
 23554  	//         "ACTION_UNASSIGN",
 23555  	//         "ACTION_SEND",
 23556  	//         "ACTION_LINK",
 23557  	//         "ACTION_UNLINK",
 23558  	//         "ACTION_PUSH",
 23559  	//         "ACTION_EMAIL_TAGS",
 23560  	//         "ACTION_SHARE"
 23561  	//       ],
 23562  	//       "enumDescriptions": [
 23563  	//         "",
 23564  	//         "",
 23565  	//         "",
 23566  	//         "",
 23567  	//         "",
 23568  	//         "",
 23569  	//         "",
 23570  	//         "",
 23571  	//         "",
 23572  	//         "",
 23573  	//         "",
 23574  	//         "",
 23575  	//         "",
 23576  	//         "",
 23577  	//         "",
 23578  	//         "",
 23579  	//         ""
 23580  	//       ],
 23581  	//       "location": "query",
 23582  	//       "type": "string"
 23583  	//     },
 23584  	//     "ids": {
 23585  	//       "description": "Select only change logs with these IDs.",
 23586  	//       "format": "int64",
 23587  	//       "location": "query",
 23588  	//       "repeated": true,
 23589  	//       "type": "string"
 23590  	//     },
 23591  	//     "maxChangeTime": {
 23592  	//       "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.",
 23593  	//       "location": "query",
 23594  	//       "type": "string"
 23595  	//     },
 23596  	//     "maxResults": {
 23597  	//       "default": "1000",
 23598  	//       "description": "Maximum number of results to return.",
 23599  	//       "format": "int32",
 23600  	//       "location": "query",
 23601  	//       "maximum": "1000",
 23602  	//       "minimum": "0",
 23603  	//       "type": "integer"
 23604  	//     },
 23605  	//     "minChangeTime": {
 23606  	//       "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.",
 23607  	//       "location": "query",
 23608  	//       "type": "string"
 23609  	//     },
 23610  	//     "objectIds": {
 23611  	//       "description": "Select only change logs with these object IDs.",
 23612  	//       "format": "int64",
 23613  	//       "location": "query",
 23614  	//       "repeated": true,
 23615  	//       "type": "string"
 23616  	//     },
 23617  	//     "objectType": {
 23618  	//       "description": "Select only change logs with the specified object type.",
 23619  	//       "enum": [
 23620  	//         "OBJECT_ADVERTISER",
 23621  	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
 23622  	//         "OBJECT_AD",
 23623  	//         "OBJECT_FLOODLIGHT_ACTVITY",
 23624  	//         "OBJECT_CAMPAIGN",
 23625  	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
 23626  	//         "OBJECT_CREATIVE",
 23627  	//         "OBJECT_PLACEMENT",
 23628  	//         "OBJECT_DFA_SITE",
 23629  	//         "OBJECT_USER_ROLE",
 23630  	//         "OBJECT_USER_PROFILE",
 23631  	//         "OBJECT_ADVERTISER_GROUP",
 23632  	//         "OBJECT_ACCOUNT",
 23633  	//         "OBJECT_SUBACCOUNT",
 23634  	//         "OBJECT_RICHMEDIA_CREATIVE",
 23635  	//         "OBJECT_INSTREAM_CREATIVE",
 23636  	//         "OBJECT_MEDIA_ORDER",
 23637  	//         "OBJECT_CONTENT_CATEGORY",
 23638  	//         "OBJECT_PLACEMENT_STRATEGY",
 23639  	//         "OBJECT_SD_SITE",
 23640  	//         "OBJECT_SIZE",
 23641  	//         "OBJECT_CREATIVE_GROUP",
 23642  	//         "OBJECT_CREATIVE_ASSET",
 23643  	//         "OBJECT_USER_PROFILE_FILTER",
 23644  	//         "OBJECT_LANDING_PAGE",
 23645  	//         "OBJECT_CREATIVE_FIELD",
 23646  	//         "OBJECT_REMARKETING_LIST",
 23647  	//         "OBJECT_PROVIDED_LIST_CLIENT",
 23648  	//         "OBJECT_EVENT_TAG",
 23649  	//         "OBJECT_CREATIVE_BUNDLE",
 23650  	//         "OBJECT_BILLING_ACCOUNT_GROUP",
 23651  	//         "OBJECT_BILLING_FEATURE",
 23652  	//         "OBJECT_RATE_CARD",
 23653  	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
 23654  	//         "OBJECT_BILLING_MINIMUM_FEE",
 23655  	//         "OBJECT_BILLING_PROFILE",
 23656  	//         "OBJECT_PLAYSTORE_LINK",
 23657  	//         "OBJECT_TARGETING_TEMPLATE",
 23658  	//         "OBJECT_SEARCH_LIFT_STUDY",
 23659  	//         "OBJECT_FLOODLIGHT_DV360_LINK"
 23660  	//       ],
 23661  	//       "enumDescriptions": [
 23662  	//         "",
 23663  	//         "",
 23664  	//         "",
 23665  	//         "",
 23666  	//         "",
 23667  	//         "",
 23668  	//         "",
 23669  	//         "",
 23670  	//         "",
 23671  	//         "",
 23672  	//         "",
 23673  	//         "",
 23674  	//         "",
 23675  	//         "",
 23676  	//         "",
 23677  	//         "",
 23678  	//         "",
 23679  	//         "",
 23680  	//         "",
 23681  	//         "",
 23682  	//         "",
 23683  	//         "",
 23684  	//         "",
 23685  	//         "",
 23686  	//         "",
 23687  	//         "",
 23688  	//         "",
 23689  	//         "",
 23690  	//         "",
 23691  	//         "",
 23692  	//         "",
 23693  	//         "",
 23694  	//         "",
 23695  	//         "",
 23696  	//         "",
 23697  	//         "",
 23698  	//         "",
 23699  	//         "",
 23700  	//         "",
 23701  	//         ""
 23702  	//       ],
 23703  	//       "location": "query",
 23704  	//       "type": "string"
 23705  	//     },
 23706  	//     "pageToken": {
 23707  	//       "description": "Value of the nextPageToken from the previous result page.",
 23708  	//       "location": "query",
 23709  	//       "type": "string"
 23710  	//     },
 23711  	//     "profileId": {
 23712  	//       "description": "User profile ID associated with this request.",
 23713  	//       "format": "int64",
 23714  	//       "location": "path",
 23715  	//       "required": true,
 23716  	//       "type": "string"
 23717  	//     },
 23718  	//     "searchString": {
 23719  	//       "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
 23720  	//       "location": "query",
 23721  	//       "type": "string"
 23722  	//     },
 23723  	//     "userProfileIds": {
 23724  	//       "description": "Select only change logs with these user profile IDs.",
 23725  	//       "format": "int64",
 23726  	//       "location": "query",
 23727  	//       "repeated": true,
 23728  	//       "type": "string"
 23729  	//     }
 23730  	//   },
 23731  	//   "path": "userprofiles/{profileId}/changeLogs",
 23732  	//   "response": {
 23733  	//     "$ref": "ChangeLogsListResponse"
 23734  	//   },
 23735  	//   "scopes": [
 23736  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23737  	//   ]
 23738  	// }
 23739  
 23740  }
 23741  
 23742  // Pages invokes f for each page of results.
 23743  // A non-nil error returned from f will halt the iteration.
 23744  // The provided context supersedes any context provided to the Context method.
 23745  func (c *ChangeLogsListCall) Pages(ctx context.Context, f func(*ChangeLogsListResponse) error) error {
 23746  	c.ctx_ = ctx
 23747  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 23748  	for {
 23749  		x, err := c.Do()
 23750  		if err != nil {
 23751  			return err
 23752  		}
 23753  		if err := f(x); err != nil {
 23754  			return err
 23755  		}
 23756  		if x.NextPageToken == "" {
 23757  			return nil
 23758  		}
 23759  		c.PageToken(x.NextPageToken)
 23760  	}
 23761  }
 23762  
 23763  // method id "dfareporting.cities.list":
 23764  
 23765  type CitiesListCall struct {
 23766  	s            *Service
 23767  	profileId    int64
 23768  	urlParams_   gensupport.URLParams
 23769  	ifNoneMatch_ string
 23770  	ctx_         context.Context
 23771  	header_      http.Header
 23772  }
 23773  
 23774  // List: Retrieves a list of cities, possibly filtered.
 23775  //
 23776  // - profileId: User profile ID associated with this request.
 23777  func (r *CitiesService) List(profileId int64) *CitiesListCall {
 23778  	c := &CitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23779  	c.profileId = profileId
 23780  	return c
 23781  }
 23782  
 23783  // CountryDartIds sets the optional parameter "countryDartIds": Select
 23784  // only cities from these countries.
 23785  func (c *CitiesListCall) CountryDartIds(countryDartIds ...int64) *CitiesListCall {
 23786  	var countryDartIds_ []string
 23787  	for _, v := range countryDartIds {
 23788  		countryDartIds_ = append(countryDartIds_, fmt.Sprint(v))
 23789  	}
 23790  	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
 23791  	return c
 23792  }
 23793  
 23794  // DartIds sets the optional parameter "dartIds": Select only cities
 23795  // with these DART IDs.
 23796  func (c *CitiesListCall) DartIds(dartIds ...int64) *CitiesListCall {
 23797  	var dartIds_ []string
 23798  	for _, v := range dartIds {
 23799  		dartIds_ = append(dartIds_, fmt.Sprint(v))
 23800  	}
 23801  	c.urlParams_.SetMulti("dartIds", dartIds_)
 23802  	return c
 23803  }
 23804  
 23805  // NamePrefix sets the optional parameter "namePrefix": Select only
 23806  // cities with names starting with this prefix.
 23807  func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
 23808  	c.urlParams_.Set("namePrefix", namePrefix)
 23809  	return c
 23810  }
 23811  
 23812  // RegionDartIds sets the optional parameter "regionDartIds": Select
 23813  // only cities from these regions.
 23814  func (c *CitiesListCall) RegionDartIds(regionDartIds ...int64) *CitiesListCall {
 23815  	var regionDartIds_ []string
 23816  	for _, v := range regionDartIds {
 23817  		regionDartIds_ = append(regionDartIds_, fmt.Sprint(v))
 23818  	}
 23819  	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
 23820  	return c
 23821  }
 23822  
 23823  // Fields allows partial responses to be retrieved. See
 23824  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23825  // for more information.
 23826  func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
 23827  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23828  	return c
 23829  }
 23830  
 23831  // IfNoneMatch sets the optional parameter which makes the operation
 23832  // fail if the object's ETag matches the given value. This is useful for
 23833  // getting updates only after the object has changed since the last
 23834  // request. Use googleapi.IsNotModified to check whether the response
 23835  // error from Do is the result of In-None-Match.
 23836  func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
 23837  	c.ifNoneMatch_ = entityTag
 23838  	return c
 23839  }
 23840  
 23841  // Context sets the context to be used in this call's Do method. Any
 23842  // pending HTTP request will be aborted if the provided context is
 23843  // canceled.
 23844  func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
 23845  	c.ctx_ = ctx
 23846  	return c
 23847  }
 23848  
 23849  // Header returns an http.Header that can be modified by the caller to
 23850  // add HTTP headers to the request.
 23851  func (c *CitiesListCall) Header() http.Header {
 23852  	if c.header_ == nil {
 23853  		c.header_ = make(http.Header)
 23854  	}
 23855  	return c.header_
 23856  }
 23857  
 23858  func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
 23859  	reqHeaders := make(http.Header)
 23860  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 23861  	for k, v := range c.header_ {
 23862  		reqHeaders[k] = v
 23863  	}
 23864  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23865  	if c.ifNoneMatch_ != "" {
 23866  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23867  	}
 23868  	var body io.Reader = nil
 23869  	c.urlParams_.Set("alt", alt)
 23870  	c.urlParams_.Set("prettyPrint", "false")
 23871  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
 23872  	urls += "?" + c.urlParams_.Encode()
 23873  	req, err := http.NewRequest("GET", urls, body)
 23874  	if err != nil {
 23875  		return nil, err
 23876  	}
 23877  	req.Header = reqHeaders
 23878  	googleapi.Expand(req.URL, map[string]string{
 23879  		"profileId": strconv.FormatInt(c.profileId, 10),
 23880  	})
 23881  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23882  }
 23883  
 23884  // Do executes the "dfareporting.cities.list" call.
 23885  // Exactly one of *CitiesListResponse or error will be non-nil. Any
 23886  // non-2xx status code is an error. Response headers are in either
 23887  // *CitiesListResponse.ServerResponse.Header or (if a response was
 23888  // returned at all) in error.(*googleapi.Error).Header. Use
 23889  // googleapi.IsNotModified to check whether the returned error was
 23890  // because http.StatusNotModified was returned.
 23891  func (c *CitiesListCall) Do(opts ...googleapi.CallOption) (*CitiesListResponse, error) {
 23892  	gensupport.SetOptions(c.urlParams_, opts...)
 23893  	res, err := c.doRequest("json")
 23894  	if res != nil && res.StatusCode == http.StatusNotModified {
 23895  		if res.Body != nil {
 23896  			res.Body.Close()
 23897  		}
 23898  		return nil, &googleapi.Error{
 23899  			Code:   res.StatusCode,
 23900  			Header: res.Header,
 23901  		}
 23902  	}
 23903  	if err != nil {
 23904  		return nil, err
 23905  	}
 23906  	defer googleapi.CloseBody(res)
 23907  	if err := googleapi.CheckResponse(res); err != nil {
 23908  		return nil, err
 23909  	}
 23910  	ret := &CitiesListResponse{
 23911  		ServerResponse: googleapi.ServerResponse{
 23912  			Header:         res.Header,
 23913  			HTTPStatusCode: res.StatusCode,
 23914  		},
 23915  	}
 23916  	target := &ret
 23917  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23918  		return nil, err
 23919  	}
 23920  	return ret, nil
 23921  	// {
 23922  	//   "description": "Retrieves a list of cities, possibly filtered.",
 23923  	//   "flatPath": "userprofiles/{profileId}/cities",
 23924  	//   "httpMethod": "GET",
 23925  	//   "id": "dfareporting.cities.list",
 23926  	//   "parameterOrder": [
 23927  	//     "profileId"
 23928  	//   ],
 23929  	//   "parameters": {
 23930  	//     "countryDartIds": {
 23931  	//       "description": "Select only cities from these countries.",
 23932  	//       "format": "int64",
 23933  	//       "location": "query",
 23934  	//       "repeated": true,
 23935  	//       "type": "string"
 23936  	//     },
 23937  	//     "dartIds": {
 23938  	//       "description": "Select only cities with these DART IDs.",
 23939  	//       "format": "int64",
 23940  	//       "location": "query",
 23941  	//       "repeated": true,
 23942  	//       "type": "string"
 23943  	//     },
 23944  	//     "namePrefix": {
 23945  	//       "description": "Select only cities with names starting with this prefix.",
 23946  	//       "location": "query",
 23947  	//       "type": "string"
 23948  	//     },
 23949  	//     "profileId": {
 23950  	//       "description": "User profile ID associated with this request.",
 23951  	//       "format": "int64",
 23952  	//       "location": "path",
 23953  	//       "required": true,
 23954  	//       "type": "string"
 23955  	//     },
 23956  	//     "regionDartIds": {
 23957  	//       "description": "Select only cities from these regions.",
 23958  	//       "format": "int64",
 23959  	//       "location": "query",
 23960  	//       "repeated": true,
 23961  	//       "type": "string"
 23962  	//     }
 23963  	//   },
 23964  	//   "path": "userprofiles/{profileId}/cities",
 23965  	//   "response": {
 23966  	//     "$ref": "CitiesListResponse"
 23967  	//   },
 23968  	//   "scopes": [
 23969  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23970  	//   ]
 23971  	// }
 23972  
 23973  }
 23974  
 23975  // method id "dfareporting.connectionTypes.get":
 23976  
 23977  type ConnectionTypesGetCall struct {
 23978  	s            *Service
 23979  	profileId    int64
 23980  	id           int64
 23981  	urlParams_   gensupport.URLParams
 23982  	ifNoneMatch_ string
 23983  	ctx_         context.Context
 23984  	header_      http.Header
 23985  }
 23986  
 23987  // Get: Gets one connection type by ID.
 23988  //
 23989  // - id: Connection type ID.
 23990  // - profileId: User profile ID associated with this request.
 23991  func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
 23992  	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23993  	c.profileId = profileId
 23994  	c.id = id
 23995  	return c
 23996  }
 23997  
 23998  // Fields allows partial responses to be retrieved. See
 23999  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24000  // for more information.
 24001  func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
 24002  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24003  	return c
 24004  }
 24005  
 24006  // IfNoneMatch sets the optional parameter which makes the operation
 24007  // fail if the object's ETag matches the given value. This is useful for
 24008  // getting updates only after the object has changed since the last
 24009  // request. Use googleapi.IsNotModified to check whether the response
 24010  // error from Do is the result of In-None-Match.
 24011  func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
 24012  	c.ifNoneMatch_ = entityTag
 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 *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
 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 *ConnectionTypesGetCall) Header() http.Header {
 24027  	if c.header_ == nil {
 24028  		c.header_ = make(http.Header)
 24029  	}
 24030  	return c.header_
 24031  }
 24032  
 24033  func (c *ConnectionTypesGetCall) 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  	if c.ifNoneMatch_ != "" {
 24041  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24042  	}
 24043  	var body io.Reader = nil
 24044  	c.urlParams_.Set("alt", alt)
 24045  	c.urlParams_.Set("prettyPrint", "false")
 24046  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
 24047  	urls += "?" + c.urlParams_.Encode()
 24048  	req, err := http.NewRequest("GET", urls, body)
 24049  	if err != nil {
 24050  		return nil, err
 24051  	}
 24052  	req.Header = reqHeaders
 24053  	googleapi.Expand(req.URL, map[string]string{
 24054  		"profileId": strconv.FormatInt(c.profileId, 10),
 24055  		"id":        strconv.FormatInt(c.id, 10),
 24056  	})
 24057  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24058  }
 24059  
 24060  // Do executes the "dfareporting.connectionTypes.get" call.
 24061  // Exactly one of *ConnectionType or error will be non-nil. Any non-2xx
 24062  // status code is an error. Response headers are in either
 24063  // *ConnectionType.ServerResponse.Header or (if a response was returned
 24064  // at all) in error.(*googleapi.Error).Header. Use
 24065  // googleapi.IsNotModified to check whether the returned error was
 24066  // because http.StatusNotModified was returned.
 24067  func (c *ConnectionTypesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionType, error) {
 24068  	gensupport.SetOptions(c.urlParams_, opts...)
 24069  	res, err := c.doRequest("json")
 24070  	if res != nil && res.StatusCode == http.StatusNotModified {
 24071  		if res.Body != nil {
 24072  			res.Body.Close()
 24073  		}
 24074  		return nil, &googleapi.Error{
 24075  			Code:   res.StatusCode,
 24076  			Header: res.Header,
 24077  		}
 24078  	}
 24079  	if err != nil {
 24080  		return nil, err
 24081  	}
 24082  	defer googleapi.CloseBody(res)
 24083  	if err := googleapi.CheckResponse(res); err != nil {
 24084  		return nil, err
 24085  	}
 24086  	ret := &ConnectionType{
 24087  		ServerResponse: googleapi.ServerResponse{
 24088  			Header:         res.Header,
 24089  			HTTPStatusCode: res.StatusCode,
 24090  		},
 24091  	}
 24092  	target := &ret
 24093  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24094  		return nil, err
 24095  	}
 24096  	return ret, nil
 24097  	// {
 24098  	//   "description": "Gets one connection type by ID.",
 24099  	//   "flatPath": "userprofiles/{profileId}/connectionTypes/{id}",
 24100  	//   "httpMethod": "GET",
 24101  	//   "id": "dfareporting.connectionTypes.get",
 24102  	//   "parameterOrder": [
 24103  	//     "profileId",
 24104  	//     "id"
 24105  	//   ],
 24106  	//   "parameters": {
 24107  	//     "id": {
 24108  	//       "description": "Connection type ID.",
 24109  	//       "format": "int64",
 24110  	//       "location": "path",
 24111  	//       "required": true,
 24112  	//       "type": "string"
 24113  	//     },
 24114  	//     "profileId": {
 24115  	//       "description": "User profile ID associated with this request.",
 24116  	//       "format": "int64",
 24117  	//       "location": "path",
 24118  	//       "required": true,
 24119  	//       "type": "string"
 24120  	//     }
 24121  	//   },
 24122  	//   "path": "userprofiles/{profileId}/connectionTypes/{id}",
 24123  	//   "response": {
 24124  	//     "$ref": "ConnectionType"
 24125  	//   },
 24126  	//   "scopes": [
 24127  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24128  	//   ]
 24129  	// }
 24130  
 24131  }
 24132  
 24133  // method id "dfareporting.connectionTypes.list":
 24134  
 24135  type ConnectionTypesListCall struct {
 24136  	s            *Service
 24137  	profileId    int64
 24138  	urlParams_   gensupport.URLParams
 24139  	ifNoneMatch_ string
 24140  	ctx_         context.Context
 24141  	header_      http.Header
 24142  }
 24143  
 24144  // List: Retrieves a list of connection types.
 24145  //
 24146  // - profileId: User profile ID associated with this request.
 24147  func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
 24148  	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24149  	c.profileId = profileId
 24150  	return c
 24151  }
 24152  
 24153  // Fields allows partial responses to be retrieved. See
 24154  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24155  // for more information.
 24156  func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
 24157  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24158  	return c
 24159  }
 24160  
 24161  // IfNoneMatch sets the optional parameter which makes the operation
 24162  // fail if the object's ETag matches the given value. This is useful for
 24163  // getting updates only after the object has changed since the last
 24164  // request. Use googleapi.IsNotModified to check whether the response
 24165  // error from Do is the result of In-None-Match.
 24166  func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
 24167  	c.ifNoneMatch_ = entityTag
 24168  	return c
 24169  }
 24170  
 24171  // Context sets the context to be used in this call's Do method. Any
 24172  // pending HTTP request will be aborted if the provided context is
 24173  // canceled.
 24174  func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
 24175  	c.ctx_ = ctx
 24176  	return c
 24177  }
 24178  
 24179  // Header returns an http.Header that can be modified by the caller to
 24180  // add HTTP headers to the request.
 24181  func (c *ConnectionTypesListCall) Header() http.Header {
 24182  	if c.header_ == nil {
 24183  		c.header_ = make(http.Header)
 24184  	}
 24185  	return c.header_
 24186  }
 24187  
 24188  func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
 24189  	reqHeaders := make(http.Header)
 24190  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 24191  	for k, v := range c.header_ {
 24192  		reqHeaders[k] = v
 24193  	}
 24194  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24195  	if c.ifNoneMatch_ != "" {
 24196  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24197  	}
 24198  	var body io.Reader = nil
 24199  	c.urlParams_.Set("alt", alt)
 24200  	c.urlParams_.Set("prettyPrint", "false")
 24201  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
 24202  	urls += "?" + c.urlParams_.Encode()
 24203  	req, err := http.NewRequest("GET", urls, body)
 24204  	if err != nil {
 24205  		return nil, err
 24206  	}
 24207  	req.Header = reqHeaders
 24208  	googleapi.Expand(req.URL, map[string]string{
 24209  		"profileId": strconv.FormatInt(c.profileId, 10),
 24210  	})
 24211  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24212  }
 24213  
 24214  // Do executes the "dfareporting.connectionTypes.list" call.
 24215  // Exactly one of *ConnectionTypesListResponse or error will be non-nil.
 24216  // Any non-2xx status code is an error. Response headers are in either
 24217  // *ConnectionTypesListResponse.ServerResponse.Header or (if a response
 24218  // was returned at all) in error.(*googleapi.Error).Header. Use
 24219  // googleapi.IsNotModified to check whether the returned error was
 24220  // because http.StatusNotModified was returned.
 24221  func (c *ConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ConnectionTypesListResponse, error) {
 24222  	gensupport.SetOptions(c.urlParams_, opts...)
 24223  	res, err := c.doRequest("json")
 24224  	if res != nil && res.StatusCode == http.StatusNotModified {
 24225  		if res.Body != nil {
 24226  			res.Body.Close()
 24227  		}
 24228  		return nil, &googleapi.Error{
 24229  			Code:   res.StatusCode,
 24230  			Header: res.Header,
 24231  		}
 24232  	}
 24233  	if err != nil {
 24234  		return nil, err
 24235  	}
 24236  	defer googleapi.CloseBody(res)
 24237  	if err := googleapi.CheckResponse(res); err != nil {
 24238  		return nil, err
 24239  	}
 24240  	ret := &ConnectionTypesListResponse{
 24241  		ServerResponse: googleapi.ServerResponse{
 24242  			Header:         res.Header,
 24243  			HTTPStatusCode: res.StatusCode,
 24244  		},
 24245  	}
 24246  	target := &ret
 24247  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24248  		return nil, err
 24249  	}
 24250  	return ret, nil
 24251  	// {
 24252  	//   "description": "Retrieves a list of connection types.",
 24253  	//   "flatPath": "userprofiles/{profileId}/connectionTypes",
 24254  	//   "httpMethod": "GET",
 24255  	//   "id": "dfareporting.connectionTypes.list",
 24256  	//   "parameterOrder": [
 24257  	//     "profileId"
 24258  	//   ],
 24259  	//   "parameters": {
 24260  	//     "profileId": {
 24261  	//       "description": "User profile ID associated with this request.",
 24262  	//       "format": "int64",
 24263  	//       "location": "path",
 24264  	//       "required": true,
 24265  	//       "type": "string"
 24266  	//     }
 24267  	//   },
 24268  	//   "path": "userprofiles/{profileId}/connectionTypes",
 24269  	//   "response": {
 24270  	//     "$ref": "ConnectionTypesListResponse"
 24271  	//   },
 24272  	//   "scopes": [
 24273  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24274  	//   ]
 24275  	// }
 24276  
 24277  }
 24278  
 24279  // method id "dfareporting.contentCategories.delete":
 24280  
 24281  type ContentCategoriesDeleteCall struct {
 24282  	s          *Service
 24283  	profileId  int64
 24284  	id         int64
 24285  	urlParams_ gensupport.URLParams
 24286  	ctx_       context.Context
 24287  	header_    http.Header
 24288  }
 24289  
 24290  // Delete: Deletes an existing content category.
 24291  //
 24292  // - id: Content category ID.
 24293  // - profileId: User profile ID associated with this request.
 24294  func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
 24295  	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24296  	c.profileId = profileId
 24297  	c.id = id
 24298  	return c
 24299  }
 24300  
 24301  // Fields allows partial responses to be retrieved. See
 24302  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24303  // for more information.
 24304  func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
 24305  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24306  	return c
 24307  }
 24308  
 24309  // Context sets the context to be used in this call's Do method. Any
 24310  // pending HTTP request will be aborted if the provided context is
 24311  // canceled.
 24312  func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
 24313  	c.ctx_ = ctx
 24314  	return c
 24315  }
 24316  
 24317  // Header returns an http.Header that can be modified by the caller to
 24318  // add HTTP headers to the request.
 24319  func (c *ContentCategoriesDeleteCall) Header() http.Header {
 24320  	if c.header_ == nil {
 24321  		c.header_ = make(http.Header)
 24322  	}
 24323  	return c.header_
 24324  }
 24325  
 24326  func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 24327  	reqHeaders := make(http.Header)
 24328  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 24329  	for k, v := range c.header_ {
 24330  		reqHeaders[k] = v
 24331  	}
 24332  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24333  	var body io.Reader = nil
 24334  	c.urlParams_.Set("alt", alt)
 24335  	c.urlParams_.Set("prettyPrint", "false")
 24336  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
 24337  	urls += "?" + c.urlParams_.Encode()
 24338  	req, err := http.NewRequest("DELETE", urls, body)
 24339  	if err != nil {
 24340  		return nil, err
 24341  	}
 24342  	req.Header = reqHeaders
 24343  	googleapi.Expand(req.URL, map[string]string{
 24344  		"profileId": strconv.FormatInt(c.profileId, 10),
 24345  		"id":        strconv.FormatInt(c.id, 10),
 24346  	})
 24347  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24348  }
 24349  
 24350  // Do executes the "dfareporting.contentCategories.delete" call.
 24351  func (c *ContentCategoriesDeleteCall) Do(opts ...googleapi.CallOption) error {
 24352  	gensupport.SetOptions(c.urlParams_, opts...)
 24353  	res, err := c.doRequest("json")
 24354  	if err != nil {
 24355  		return err
 24356  	}
 24357  	defer googleapi.CloseBody(res)
 24358  	if err := googleapi.CheckResponse(res); err != nil {
 24359  		return err
 24360  	}
 24361  	return nil
 24362  	// {
 24363  	//   "description": "Deletes an existing content category.",
 24364  	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
 24365  	//   "httpMethod": "DELETE",
 24366  	//   "id": "dfareporting.contentCategories.delete",
 24367  	//   "parameterOrder": [
 24368  	//     "profileId",
 24369  	//     "id"
 24370  	//   ],
 24371  	//   "parameters": {
 24372  	//     "id": {
 24373  	//       "description": "Content category ID.",
 24374  	//       "format": "int64",
 24375  	//       "location": "path",
 24376  	//       "required": true,
 24377  	//       "type": "string"
 24378  	//     },
 24379  	//     "profileId": {
 24380  	//       "description": "User profile ID associated with this request.",
 24381  	//       "format": "int64",
 24382  	//       "location": "path",
 24383  	//       "required": true,
 24384  	//       "type": "string"
 24385  	//     }
 24386  	//   },
 24387  	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
 24388  	//   "scopes": [
 24389  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24390  	//   ]
 24391  	// }
 24392  
 24393  }
 24394  
 24395  // method id "dfareporting.contentCategories.get":
 24396  
 24397  type ContentCategoriesGetCall struct {
 24398  	s            *Service
 24399  	profileId    int64
 24400  	id           int64
 24401  	urlParams_   gensupport.URLParams
 24402  	ifNoneMatch_ string
 24403  	ctx_         context.Context
 24404  	header_      http.Header
 24405  }
 24406  
 24407  // Get: Gets one content category by ID.
 24408  //
 24409  // - id: Content category ID.
 24410  // - profileId: User profile ID associated with this request.
 24411  func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
 24412  	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24413  	c.profileId = profileId
 24414  	c.id = id
 24415  	return c
 24416  }
 24417  
 24418  // Fields allows partial responses to be retrieved. See
 24419  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24420  // for more information.
 24421  func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
 24422  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24423  	return c
 24424  }
 24425  
 24426  // IfNoneMatch sets the optional parameter which makes the operation
 24427  // fail if the object's ETag matches the given value. This is useful for
 24428  // getting updates only after the object has changed since the last
 24429  // request. Use googleapi.IsNotModified to check whether the response
 24430  // error from Do is the result of In-None-Match.
 24431  func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
 24432  	c.ifNoneMatch_ = entityTag
 24433  	return c
 24434  }
 24435  
 24436  // Context sets the context to be used in this call's Do method. Any
 24437  // pending HTTP request will be aborted if the provided context is
 24438  // canceled.
 24439  func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
 24440  	c.ctx_ = ctx
 24441  	return c
 24442  }
 24443  
 24444  // Header returns an http.Header that can be modified by the caller to
 24445  // add HTTP headers to the request.
 24446  func (c *ContentCategoriesGetCall) Header() http.Header {
 24447  	if c.header_ == nil {
 24448  		c.header_ = make(http.Header)
 24449  	}
 24450  	return c.header_
 24451  }
 24452  
 24453  func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
 24454  	reqHeaders := make(http.Header)
 24455  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 24456  	for k, v := range c.header_ {
 24457  		reqHeaders[k] = v
 24458  	}
 24459  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24460  	if c.ifNoneMatch_ != "" {
 24461  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24462  	}
 24463  	var body io.Reader = nil
 24464  	c.urlParams_.Set("alt", alt)
 24465  	c.urlParams_.Set("prettyPrint", "false")
 24466  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
 24467  	urls += "?" + c.urlParams_.Encode()
 24468  	req, err := http.NewRequest("GET", urls, body)
 24469  	if err != nil {
 24470  		return nil, err
 24471  	}
 24472  	req.Header = reqHeaders
 24473  	googleapi.Expand(req.URL, map[string]string{
 24474  		"profileId": strconv.FormatInt(c.profileId, 10),
 24475  		"id":        strconv.FormatInt(c.id, 10),
 24476  	})
 24477  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24478  }
 24479  
 24480  // Do executes the "dfareporting.contentCategories.get" call.
 24481  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 24482  // status code is an error. Response headers are in either
 24483  // *ContentCategory.ServerResponse.Header or (if a response was returned
 24484  // at all) in error.(*googleapi.Error).Header. Use
 24485  // googleapi.IsNotModified to check whether the returned error was
 24486  // because http.StatusNotModified was returned.
 24487  func (c *ContentCategoriesGetCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 24488  	gensupport.SetOptions(c.urlParams_, opts...)
 24489  	res, err := c.doRequest("json")
 24490  	if res != nil && res.StatusCode == http.StatusNotModified {
 24491  		if res.Body != nil {
 24492  			res.Body.Close()
 24493  		}
 24494  		return nil, &googleapi.Error{
 24495  			Code:   res.StatusCode,
 24496  			Header: res.Header,
 24497  		}
 24498  	}
 24499  	if err != nil {
 24500  		return nil, err
 24501  	}
 24502  	defer googleapi.CloseBody(res)
 24503  	if err := googleapi.CheckResponse(res); err != nil {
 24504  		return nil, err
 24505  	}
 24506  	ret := &ContentCategory{
 24507  		ServerResponse: googleapi.ServerResponse{
 24508  			Header:         res.Header,
 24509  			HTTPStatusCode: res.StatusCode,
 24510  		},
 24511  	}
 24512  	target := &ret
 24513  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24514  		return nil, err
 24515  	}
 24516  	return ret, nil
 24517  	// {
 24518  	//   "description": "Gets one content category by ID.",
 24519  	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
 24520  	//   "httpMethod": "GET",
 24521  	//   "id": "dfareporting.contentCategories.get",
 24522  	//   "parameterOrder": [
 24523  	//     "profileId",
 24524  	//     "id"
 24525  	//   ],
 24526  	//   "parameters": {
 24527  	//     "id": {
 24528  	//       "description": "Content category ID.",
 24529  	//       "format": "int64",
 24530  	//       "location": "path",
 24531  	//       "required": true,
 24532  	//       "type": "string"
 24533  	//     },
 24534  	//     "profileId": {
 24535  	//       "description": "User profile ID associated with this request.",
 24536  	//       "format": "int64",
 24537  	//       "location": "path",
 24538  	//       "required": true,
 24539  	//       "type": "string"
 24540  	//     }
 24541  	//   },
 24542  	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
 24543  	//   "response": {
 24544  	//     "$ref": "ContentCategory"
 24545  	//   },
 24546  	//   "scopes": [
 24547  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24548  	//   ]
 24549  	// }
 24550  
 24551  }
 24552  
 24553  // method id "dfareporting.contentCategories.insert":
 24554  
 24555  type ContentCategoriesInsertCall struct {
 24556  	s               *Service
 24557  	profileId       int64
 24558  	contentcategory *ContentCategory
 24559  	urlParams_      gensupport.URLParams
 24560  	ctx_            context.Context
 24561  	header_         http.Header
 24562  }
 24563  
 24564  // Insert: Inserts a new content category.
 24565  //
 24566  // - profileId: User profile ID associated with this request.
 24567  func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
 24568  	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24569  	c.profileId = profileId
 24570  	c.contentcategory = contentcategory
 24571  	return c
 24572  }
 24573  
 24574  // Fields allows partial responses to be retrieved. See
 24575  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24576  // for more information.
 24577  func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
 24578  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24579  	return c
 24580  }
 24581  
 24582  // Context sets the context to be used in this call's Do method. Any
 24583  // pending HTTP request will be aborted if the provided context is
 24584  // canceled.
 24585  func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
 24586  	c.ctx_ = ctx
 24587  	return c
 24588  }
 24589  
 24590  // Header returns an http.Header that can be modified by the caller to
 24591  // add HTTP headers to the request.
 24592  func (c *ContentCategoriesInsertCall) Header() http.Header {
 24593  	if c.header_ == nil {
 24594  		c.header_ = make(http.Header)
 24595  	}
 24596  	return c.header_
 24597  }
 24598  
 24599  func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
 24600  	reqHeaders := make(http.Header)
 24601  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 24602  	for k, v := range c.header_ {
 24603  		reqHeaders[k] = v
 24604  	}
 24605  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24606  	var body io.Reader = nil
 24607  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 24608  	if err != nil {
 24609  		return nil, err
 24610  	}
 24611  	reqHeaders.Set("Content-Type", "application/json")
 24612  	c.urlParams_.Set("alt", alt)
 24613  	c.urlParams_.Set("prettyPrint", "false")
 24614  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 24615  	urls += "?" + c.urlParams_.Encode()
 24616  	req, err := http.NewRequest("POST", urls, body)
 24617  	if err != nil {
 24618  		return nil, err
 24619  	}
 24620  	req.Header = reqHeaders
 24621  	googleapi.Expand(req.URL, map[string]string{
 24622  		"profileId": strconv.FormatInt(c.profileId, 10),
 24623  	})
 24624  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24625  }
 24626  
 24627  // Do executes the "dfareporting.contentCategories.insert" call.
 24628  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 24629  // status code is an error. Response headers are in either
 24630  // *ContentCategory.ServerResponse.Header or (if a response was returned
 24631  // at all) in error.(*googleapi.Error).Header. Use
 24632  // googleapi.IsNotModified to check whether the returned error was
 24633  // because http.StatusNotModified was returned.
 24634  func (c *ContentCategoriesInsertCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 24635  	gensupport.SetOptions(c.urlParams_, opts...)
 24636  	res, err := c.doRequest("json")
 24637  	if res != nil && res.StatusCode == http.StatusNotModified {
 24638  		if res.Body != nil {
 24639  			res.Body.Close()
 24640  		}
 24641  		return nil, &googleapi.Error{
 24642  			Code:   res.StatusCode,
 24643  			Header: res.Header,
 24644  		}
 24645  	}
 24646  	if err != nil {
 24647  		return nil, err
 24648  	}
 24649  	defer googleapi.CloseBody(res)
 24650  	if err := googleapi.CheckResponse(res); err != nil {
 24651  		return nil, err
 24652  	}
 24653  	ret := &ContentCategory{
 24654  		ServerResponse: googleapi.ServerResponse{
 24655  			Header:         res.Header,
 24656  			HTTPStatusCode: res.StatusCode,
 24657  		},
 24658  	}
 24659  	target := &ret
 24660  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24661  		return nil, err
 24662  	}
 24663  	return ret, nil
 24664  	// {
 24665  	//   "description": "Inserts a new content category.",
 24666  	//   "flatPath": "userprofiles/{profileId}/contentCategories",
 24667  	//   "httpMethod": "POST",
 24668  	//   "id": "dfareporting.contentCategories.insert",
 24669  	//   "parameterOrder": [
 24670  	//     "profileId"
 24671  	//   ],
 24672  	//   "parameters": {
 24673  	//     "profileId": {
 24674  	//       "description": "User profile ID associated with this request.",
 24675  	//       "format": "int64",
 24676  	//       "location": "path",
 24677  	//       "required": true,
 24678  	//       "type": "string"
 24679  	//     }
 24680  	//   },
 24681  	//   "path": "userprofiles/{profileId}/contentCategories",
 24682  	//   "request": {
 24683  	//     "$ref": "ContentCategory"
 24684  	//   },
 24685  	//   "response": {
 24686  	//     "$ref": "ContentCategory"
 24687  	//   },
 24688  	//   "scopes": [
 24689  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24690  	//   ]
 24691  	// }
 24692  
 24693  }
 24694  
 24695  // method id "dfareporting.contentCategories.list":
 24696  
 24697  type ContentCategoriesListCall struct {
 24698  	s            *Service
 24699  	profileId    int64
 24700  	urlParams_   gensupport.URLParams
 24701  	ifNoneMatch_ string
 24702  	ctx_         context.Context
 24703  	header_      http.Header
 24704  }
 24705  
 24706  // List: Retrieves a list of content categories, possibly filtered. This
 24707  // method supports paging.
 24708  //
 24709  // - profileId: User profile ID associated with this request.
 24710  func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
 24711  	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24712  	c.profileId = profileId
 24713  	return c
 24714  }
 24715  
 24716  // Ids sets the optional parameter "ids": Select only content categories
 24717  // with these IDs.
 24718  func (c *ContentCategoriesListCall) Ids(ids ...int64) *ContentCategoriesListCall {
 24719  	var ids_ []string
 24720  	for _, v := range ids {
 24721  		ids_ = append(ids_, fmt.Sprint(v))
 24722  	}
 24723  	c.urlParams_.SetMulti("ids", ids_)
 24724  	return c
 24725  }
 24726  
 24727  // MaxResults sets the optional parameter "maxResults": Maximum number
 24728  // of results to return.
 24729  func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
 24730  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 24731  	return c
 24732  }
 24733  
 24734  // PageToken sets the optional parameter "pageToken": Value of the
 24735  // nextPageToken from the previous result page.
 24736  func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
 24737  	c.urlParams_.Set("pageToken", pageToken)
 24738  	return c
 24739  }
 24740  
 24741  // SearchString sets the optional parameter "searchString": Allows
 24742  // searching for objects by name or ID. Wildcards (*) are allowed. For
 24743  // example, "contentcategory*2015" will return objects with names like
 24744  // "contentcategory June 2015", "contentcategory April 2015", or simply
 24745  // "contentcategory 2015". Most of the searches also add wildcards
 24746  // implicitly at the start and the end of the search string. For
 24747  // example, a search string of "contentcategory" will match objects with
 24748  // name "my contentcategory", "contentcategory 2015", or simply
 24749  // "contentcategory".
 24750  func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
 24751  	c.urlParams_.Set("searchString", searchString)
 24752  	return c
 24753  }
 24754  
 24755  // SortField sets the optional parameter "sortField": Field by which to
 24756  // sort the list.
 24757  //
 24758  // Possible values:
 24759  //
 24760  //	"ID" (default)
 24761  //	"NAME"
 24762  func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
 24763  	c.urlParams_.Set("sortField", sortField)
 24764  	return c
 24765  }
 24766  
 24767  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 24768  // results.
 24769  //
 24770  // Possible values:
 24771  //
 24772  //	"ASCENDING" (default)
 24773  //	"DESCENDING"
 24774  func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
 24775  	c.urlParams_.Set("sortOrder", sortOrder)
 24776  	return c
 24777  }
 24778  
 24779  // Fields allows partial responses to be retrieved. See
 24780  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24781  // for more information.
 24782  func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
 24783  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24784  	return c
 24785  }
 24786  
 24787  // IfNoneMatch sets the optional parameter which makes the operation
 24788  // fail if the object's ETag matches the given value. This is useful for
 24789  // getting updates only after the object has changed since the last
 24790  // request. Use googleapi.IsNotModified to check whether the response
 24791  // error from Do is the result of In-None-Match.
 24792  func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
 24793  	c.ifNoneMatch_ = entityTag
 24794  	return c
 24795  }
 24796  
 24797  // Context sets the context to be used in this call's Do method. Any
 24798  // pending HTTP request will be aborted if the provided context is
 24799  // canceled.
 24800  func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
 24801  	c.ctx_ = ctx
 24802  	return c
 24803  }
 24804  
 24805  // Header returns an http.Header that can be modified by the caller to
 24806  // add HTTP headers to the request.
 24807  func (c *ContentCategoriesListCall) Header() http.Header {
 24808  	if c.header_ == nil {
 24809  		c.header_ = make(http.Header)
 24810  	}
 24811  	return c.header_
 24812  }
 24813  
 24814  func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 24815  	reqHeaders := make(http.Header)
 24816  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 24817  	for k, v := range c.header_ {
 24818  		reqHeaders[k] = v
 24819  	}
 24820  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24821  	if c.ifNoneMatch_ != "" {
 24822  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24823  	}
 24824  	var body io.Reader = nil
 24825  	c.urlParams_.Set("alt", alt)
 24826  	c.urlParams_.Set("prettyPrint", "false")
 24827  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 24828  	urls += "?" + c.urlParams_.Encode()
 24829  	req, err := http.NewRequest("GET", urls, body)
 24830  	if err != nil {
 24831  		return nil, err
 24832  	}
 24833  	req.Header = reqHeaders
 24834  	googleapi.Expand(req.URL, map[string]string{
 24835  		"profileId": strconv.FormatInt(c.profileId, 10),
 24836  	})
 24837  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24838  }
 24839  
 24840  // Do executes the "dfareporting.contentCategories.list" call.
 24841  // Exactly one of *ContentCategoriesListResponse or error will be
 24842  // non-nil. Any non-2xx status code is an error. Response headers are in
 24843  // either *ContentCategoriesListResponse.ServerResponse.Header or (if a
 24844  // response was returned at all) in error.(*googleapi.Error).Header. Use
 24845  // googleapi.IsNotModified to check whether the returned error was
 24846  // because http.StatusNotModified was returned.
 24847  func (c *ContentCategoriesListCall) Do(opts ...googleapi.CallOption) (*ContentCategoriesListResponse, error) {
 24848  	gensupport.SetOptions(c.urlParams_, opts...)
 24849  	res, err := c.doRequest("json")
 24850  	if res != nil && res.StatusCode == http.StatusNotModified {
 24851  		if res.Body != nil {
 24852  			res.Body.Close()
 24853  		}
 24854  		return nil, &googleapi.Error{
 24855  			Code:   res.StatusCode,
 24856  			Header: res.Header,
 24857  		}
 24858  	}
 24859  	if err != nil {
 24860  		return nil, err
 24861  	}
 24862  	defer googleapi.CloseBody(res)
 24863  	if err := googleapi.CheckResponse(res); err != nil {
 24864  		return nil, err
 24865  	}
 24866  	ret := &ContentCategoriesListResponse{
 24867  		ServerResponse: googleapi.ServerResponse{
 24868  			Header:         res.Header,
 24869  			HTTPStatusCode: res.StatusCode,
 24870  		},
 24871  	}
 24872  	target := &ret
 24873  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24874  		return nil, err
 24875  	}
 24876  	return ret, nil
 24877  	// {
 24878  	//   "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
 24879  	//   "flatPath": "userprofiles/{profileId}/contentCategories",
 24880  	//   "httpMethod": "GET",
 24881  	//   "id": "dfareporting.contentCategories.list",
 24882  	//   "parameterOrder": [
 24883  	//     "profileId"
 24884  	//   ],
 24885  	//   "parameters": {
 24886  	//     "ids": {
 24887  	//       "description": "Select only content categories with these IDs.",
 24888  	//       "format": "int64",
 24889  	//       "location": "query",
 24890  	//       "repeated": true,
 24891  	//       "type": "string"
 24892  	//     },
 24893  	//     "maxResults": {
 24894  	//       "default": "1000",
 24895  	//       "description": "Maximum number of results to return.",
 24896  	//       "format": "int32",
 24897  	//       "location": "query",
 24898  	//       "maximum": "1000",
 24899  	//       "minimum": "0",
 24900  	//       "type": "integer"
 24901  	//     },
 24902  	//     "pageToken": {
 24903  	//       "description": "Value of the nextPageToken from the previous result page.",
 24904  	//       "location": "query",
 24905  	//       "type": "string"
 24906  	//     },
 24907  	//     "profileId": {
 24908  	//       "description": "User profile ID associated with this request.",
 24909  	//       "format": "int64",
 24910  	//       "location": "path",
 24911  	//       "required": true,
 24912  	//       "type": "string"
 24913  	//     },
 24914  	//     "searchString": {
 24915  	//       "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\".",
 24916  	//       "location": "query",
 24917  	//       "type": "string"
 24918  	//     },
 24919  	//     "sortField": {
 24920  	//       "default": "ID",
 24921  	//       "description": "Field by which to sort the list.",
 24922  	//       "enum": [
 24923  	//         "ID",
 24924  	//         "NAME"
 24925  	//       ],
 24926  	//       "enumDescriptions": [
 24927  	//         "",
 24928  	//         ""
 24929  	//       ],
 24930  	//       "location": "query",
 24931  	//       "type": "string"
 24932  	//     },
 24933  	//     "sortOrder": {
 24934  	//       "default": "ASCENDING",
 24935  	//       "description": "Order of sorted results.",
 24936  	//       "enum": [
 24937  	//         "ASCENDING",
 24938  	//         "DESCENDING"
 24939  	//       ],
 24940  	//       "enumDescriptions": [
 24941  	//         "",
 24942  	//         ""
 24943  	//       ],
 24944  	//       "location": "query",
 24945  	//       "type": "string"
 24946  	//     }
 24947  	//   },
 24948  	//   "path": "userprofiles/{profileId}/contentCategories",
 24949  	//   "response": {
 24950  	//     "$ref": "ContentCategoriesListResponse"
 24951  	//   },
 24952  	//   "scopes": [
 24953  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24954  	//   ]
 24955  	// }
 24956  
 24957  }
 24958  
 24959  // Pages invokes f for each page of results.
 24960  // A non-nil error returned from f will halt the iteration.
 24961  // The provided context supersedes any context provided to the Context method.
 24962  func (c *ContentCategoriesListCall) Pages(ctx context.Context, f func(*ContentCategoriesListResponse) error) error {
 24963  	c.ctx_ = ctx
 24964  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 24965  	for {
 24966  		x, err := c.Do()
 24967  		if err != nil {
 24968  			return err
 24969  		}
 24970  		if err := f(x); err != nil {
 24971  			return err
 24972  		}
 24973  		if x.NextPageToken == "" {
 24974  			return nil
 24975  		}
 24976  		c.PageToken(x.NextPageToken)
 24977  	}
 24978  }
 24979  
 24980  // method id "dfareporting.contentCategories.patch":
 24981  
 24982  type ContentCategoriesPatchCall struct {
 24983  	s               *Service
 24984  	profileId       int64
 24985  	contentcategory *ContentCategory
 24986  	urlParams_      gensupport.URLParams
 24987  	ctx_            context.Context
 24988  	header_         http.Header
 24989  }
 24990  
 24991  // Patch: Updates an existing content category. This method supports
 24992  // patch semantics.
 24993  //
 24994  // - id: ContentCategory ID.
 24995  // - profileId: User profile ID associated with this request.
 24996  func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
 24997  	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24998  	c.profileId = profileId
 24999  	c.urlParams_.Set("id", fmt.Sprint(id))
 25000  	c.contentcategory = contentcategory
 25001  	return c
 25002  }
 25003  
 25004  // Fields allows partial responses to be retrieved. See
 25005  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25006  // for more information.
 25007  func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
 25008  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25009  	return c
 25010  }
 25011  
 25012  // Context sets the context to be used in this call's Do method. Any
 25013  // pending HTTP request will be aborted if the provided context is
 25014  // canceled.
 25015  func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
 25016  	c.ctx_ = ctx
 25017  	return c
 25018  }
 25019  
 25020  // Header returns an http.Header that can be modified by the caller to
 25021  // add HTTP headers to the request.
 25022  func (c *ContentCategoriesPatchCall) Header() http.Header {
 25023  	if c.header_ == nil {
 25024  		c.header_ = make(http.Header)
 25025  	}
 25026  	return c.header_
 25027  }
 25028  
 25029  func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
 25030  	reqHeaders := make(http.Header)
 25031  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 25032  	for k, v := range c.header_ {
 25033  		reqHeaders[k] = v
 25034  	}
 25035  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25036  	var body io.Reader = nil
 25037  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 25038  	if err != nil {
 25039  		return nil, err
 25040  	}
 25041  	reqHeaders.Set("Content-Type", "application/json")
 25042  	c.urlParams_.Set("alt", alt)
 25043  	c.urlParams_.Set("prettyPrint", "false")
 25044  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 25045  	urls += "?" + c.urlParams_.Encode()
 25046  	req, err := http.NewRequest("PATCH", urls, body)
 25047  	if err != nil {
 25048  		return nil, err
 25049  	}
 25050  	req.Header = reqHeaders
 25051  	googleapi.Expand(req.URL, map[string]string{
 25052  		"profileId": strconv.FormatInt(c.profileId, 10),
 25053  	})
 25054  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25055  }
 25056  
 25057  // Do executes the "dfareporting.contentCategories.patch" call.
 25058  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 25059  // status code is an error. Response headers are in either
 25060  // *ContentCategory.ServerResponse.Header or (if a response was returned
 25061  // at all) in error.(*googleapi.Error).Header. Use
 25062  // googleapi.IsNotModified to check whether the returned error was
 25063  // because http.StatusNotModified was returned.
 25064  func (c *ContentCategoriesPatchCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 25065  	gensupport.SetOptions(c.urlParams_, opts...)
 25066  	res, err := c.doRequest("json")
 25067  	if res != nil && res.StatusCode == http.StatusNotModified {
 25068  		if res.Body != nil {
 25069  			res.Body.Close()
 25070  		}
 25071  		return nil, &googleapi.Error{
 25072  			Code:   res.StatusCode,
 25073  			Header: res.Header,
 25074  		}
 25075  	}
 25076  	if err != nil {
 25077  		return nil, err
 25078  	}
 25079  	defer googleapi.CloseBody(res)
 25080  	if err := googleapi.CheckResponse(res); err != nil {
 25081  		return nil, err
 25082  	}
 25083  	ret := &ContentCategory{
 25084  		ServerResponse: googleapi.ServerResponse{
 25085  			Header:         res.Header,
 25086  			HTTPStatusCode: res.StatusCode,
 25087  		},
 25088  	}
 25089  	target := &ret
 25090  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25091  		return nil, err
 25092  	}
 25093  	return ret, nil
 25094  	// {
 25095  	//   "description": "Updates an existing content category. This method supports patch semantics.",
 25096  	//   "flatPath": "userprofiles/{profileId}/contentCategories",
 25097  	//   "httpMethod": "PATCH",
 25098  	//   "id": "dfareporting.contentCategories.patch",
 25099  	//   "parameterOrder": [
 25100  	//     "profileId",
 25101  	//     "id"
 25102  	//   ],
 25103  	//   "parameters": {
 25104  	//     "id": {
 25105  	//       "description": "ContentCategory ID.",
 25106  	//       "format": "int64",
 25107  	//       "location": "query",
 25108  	//       "required": true,
 25109  	//       "type": "string"
 25110  	//     },
 25111  	//     "profileId": {
 25112  	//       "description": "User profile ID associated with this request.",
 25113  	//       "format": "int64",
 25114  	//       "location": "path",
 25115  	//       "required": true,
 25116  	//       "type": "string"
 25117  	//     }
 25118  	//   },
 25119  	//   "path": "userprofiles/{profileId}/contentCategories",
 25120  	//   "request": {
 25121  	//     "$ref": "ContentCategory"
 25122  	//   },
 25123  	//   "response": {
 25124  	//     "$ref": "ContentCategory"
 25125  	//   },
 25126  	//   "scopes": [
 25127  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25128  	//   ]
 25129  	// }
 25130  
 25131  }
 25132  
 25133  // method id "dfareporting.contentCategories.update":
 25134  
 25135  type ContentCategoriesUpdateCall struct {
 25136  	s               *Service
 25137  	profileId       int64
 25138  	contentcategory *ContentCategory
 25139  	urlParams_      gensupport.URLParams
 25140  	ctx_            context.Context
 25141  	header_         http.Header
 25142  }
 25143  
 25144  // Update: Updates an existing content category.
 25145  //
 25146  // - profileId: User profile ID associated with this request.
 25147  func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
 25148  	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25149  	c.profileId = profileId
 25150  	c.contentcategory = contentcategory
 25151  	return c
 25152  }
 25153  
 25154  // Fields allows partial responses to be retrieved. See
 25155  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25156  // for more information.
 25157  func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
 25158  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25159  	return c
 25160  }
 25161  
 25162  // Context sets the context to be used in this call's Do method. Any
 25163  // pending HTTP request will be aborted if the provided context is
 25164  // canceled.
 25165  func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
 25166  	c.ctx_ = ctx
 25167  	return c
 25168  }
 25169  
 25170  // Header returns an http.Header that can be modified by the caller to
 25171  // add HTTP headers to the request.
 25172  func (c *ContentCategoriesUpdateCall) Header() http.Header {
 25173  	if c.header_ == nil {
 25174  		c.header_ = make(http.Header)
 25175  	}
 25176  	return c.header_
 25177  }
 25178  
 25179  func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
 25180  	reqHeaders := make(http.Header)
 25181  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 25182  	for k, v := range c.header_ {
 25183  		reqHeaders[k] = v
 25184  	}
 25185  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25186  	var body io.Reader = nil
 25187  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 25188  	if err != nil {
 25189  		return nil, err
 25190  	}
 25191  	reqHeaders.Set("Content-Type", "application/json")
 25192  	c.urlParams_.Set("alt", alt)
 25193  	c.urlParams_.Set("prettyPrint", "false")
 25194  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 25195  	urls += "?" + c.urlParams_.Encode()
 25196  	req, err := http.NewRequest("PUT", urls, body)
 25197  	if err != nil {
 25198  		return nil, err
 25199  	}
 25200  	req.Header = reqHeaders
 25201  	googleapi.Expand(req.URL, map[string]string{
 25202  		"profileId": strconv.FormatInt(c.profileId, 10),
 25203  	})
 25204  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25205  }
 25206  
 25207  // Do executes the "dfareporting.contentCategories.update" call.
 25208  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 25209  // status code is an error. Response headers are in either
 25210  // *ContentCategory.ServerResponse.Header or (if a response was returned
 25211  // at all) in error.(*googleapi.Error).Header. Use
 25212  // googleapi.IsNotModified to check whether the returned error was
 25213  // because http.StatusNotModified was returned.
 25214  func (c *ContentCategoriesUpdateCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 25215  	gensupport.SetOptions(c.urlParams_, opts...)
 25216  	res, err := c.doRequest("json")
 25217  	if res != nil && res.StatusCode == http.StatusNotModified {
 25218  		if res.Body != nil {
 25219  			res.Body.Close()
 25220  		}
 25221  		return nil, &googleapi.Error{
 25222  			Code:   res.StatusCode,
 25223  			Header: res.Header,
 25224  		}
 25225  	}
 25226  	if err != nil {
 25227  		return nil, err
 25228  	}
 25229  	defer googleapi.CloseBody(res)
 25230  	if err := googleapi.CheckResponse(res); err != nil {
 25231  		return nil, err
 25232  	}
 25233  	ret := &ContentCategory{
 25234  		ServerResponse: googleapi.ServerResponse{
 25235  			Header:         res.Header,
 25236  			HTTPStatusCode: res.StatusCode,
 25237  		},
 25238  	}
 25239  	target := &ret
 25240  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25241  		return nil, err
 25242  	}
 25243  	return ret, nil
 25244  	// {
 25245  	//   "description": "Updates an existing content category.",
 25246  	//   "flatPath": "userprofiles/{profileId}/contentCategories",
 25247  	//   "httpMethod": "PUT",
 25248  	//   "id": "dfareporting.contentCategories.update",
 25249  	//   "parameterOrder": [
 25250  	//     "profileId"
 25251  	//   ],
 25252  	//   "parameters": {
 25253  	//     "profileId": {
 25254  	//       "description": "User profile ID associated with this request.",
 25255  	//       "format": "int64",
 25256  	//       "location": "path",
 25257  	//       "required": true,
 25258  	//       "type": "string"
 25259  	//     }
 25260  	//   },
 25261  	//   "path": "userprofiles/{profileId}/contentCategories",
 25262  	//   "request": {
 25263  	//     "$ref": "ContentCategory"
 25264  	//   },
 25265  	//   "response": {
 25266  	//     "$ref": "ContentCategory"
 25267  	//   },
 25268  	//   "scopes": [
 25269  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25270  	//   ]
 25271  	// }
 25272  
 25273  }
 25274  
 25275  // method id "dfareporting.conversions.batchinsert":
 25276  
 25277  type ConversionsBatchinsertCall struct {
 25278  	s                             *Service
 25279  	profileId                     int64
 25280  	conversionsbatchinsertrequest *ConversionsBatchInsertRequest
 25281  	urlParams_                    gensupport.URLParams
 25282  	ctx_                          context.Context
 25283  	header_                       http.Header
 25284  }
 25285  
 25286  // Batchinsert: Inserts conversions.
 25287  //
 25288  // - profileId: User profile ID associated with this request.
 25289  func (r *ConversionsService) Batchinsert(profileId int64, conversionsbatchinsertrequest *ConversionsBatchInsertRequest) *ConversionsBatchinsertCall {
 25290  	c := &ConversionsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25291  	c.profileId = profileId
 25292  	c.conversionsbatchinsertrequest = conversionsbatchinsertrequest
 25293  	return c
 25294  }
 25295  
 25296  // Fields allows partial responses to be retrieved. See
 25297  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25298  // for more information.
 25299  func (c *ConversionsBatchinsertCall) Fields(s ...googleapi.Field) *ConversionsBatchinsertCall {
 25300  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25301  	return c
 25302  }
 25303  
 25304  // Context sets the context to be used in this call's Do method. Any
 25305  // pending HTTP request will be aborted if the provided context is
 25306  // canceled.
 25307  func (c *ConversionsBatchinsertCall) Context(ctx context.Context) *ConversionsBatchinsertCall {
 25308  	c.ctx_ = ctx
 25309  	return c
 25310  }
 25311  
 25312  // Header returns an http.Header that can be modified by the caller to
 25313  // add HTTP headers to the request.
 25314  func (c *ConversionsBatchinsertCall) Header() http.Header {
 25315  	if c.header_ == nil {
 25316  		c.header_ = make(http.Header)
 25317  	}
 25318  	return c.header_
 25319  }
 25320  
 25321  func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
 25322  	reqHeaders := make(http.Header)
 25323  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 25324  	for k, v := range c.header_ {
 25325  		reqHeaders[k] = v
 25326  	}
 25327  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25328  	var body io.Reader = nil
 25329  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchinsertrequest)
 25330  	if err != nil {
 25331  		return nil, err
 25332  	}
 25333  	reqHeaders.Set("Content-Type", "application/json")
 25334  	c.urlParams_.Set("alt", alt)
 25335  	c.urlParams_.Set("prettyPrint", "false")
 25336  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchinsert")
 25337  	urls += "?" + c.urlParams_.Encode()
 25338  	req, err := http.NewRequest("POST", urls, body)
 25339  	if err != nil {
 25340  		return nil, err
 25341  	}
 25342  	req.Header = reqHeaders
 25343  	googleapi.Expand(req.URL, map[string]string{
 25344  		"profileId": strconv.FormatInt(c.profileId, 10),
 25345  	})
 25346  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25347  }
 25348  
 25349  // Do executes the "dfareporting.conversions.batchinsert" call.
 25350  // Exactly one of *ConversionsBatchInsertResponse or error will be
 25351  // non-nil. Any non-2xx status code is an error. Response headers are in
 25352  // either *ConversionsBatchInsertResponse.ServerResponse.Header or (if a
 25353  // response was returned at all) in error.(*googleapi.Error).Header. Use
 25354  // googleapi.IsNotModified to check whether the returned error was
 25355  // because http.StatusNotModified was returned.
 25356  func (c *ConversionsBatchinsertCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchInsertResponse, error) {
 25357  	gensupport.SetOptions(c.urlParams_, opts...)
 25358  	res, err := c.doRequest("json")
 25359  	if res != nil && res.StatusCode == http.StatusNotModified {
 25360  		if res.Body != nil {
 25361  			res.Body.Close()
 25362  		}
 25363  		return nil, &googleapi.Error{
 25364  			Code:   res.StatusCode,
 25365  			Header: res.Header,
 25366  		}
 25367  	}
 25368  	if err != nil {
 25369  		return nil, err
 25370  	}
 25371  	defer googleapi.CloseBody(res)
 25372  	if err := googleapi.CheckResponse(res); err != nil {
 25373  		return nil, err
 25374  	}
 25375  	ret := &ConversionsBatchInsertResponse{
 25376  		ServerResponse: googleapi.ServerResponse{
 25377  			Header:         res.Header,
 25378  			HTTPStatusCode: res.StatusCode,
 25379  		},
 25380  	}
 25381  	target := &ret
 25382  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25383  		return nil, err
 25384  	}
 25385  	return ret, nil
 25386  	// {
 25387  	//   "description": "Inserts conversions.",
 25388  	//   "flatPath": "userprofiles/{profileId}/conversions/batchinsert",
 25389  	//   "httpMethod": "POST",
 25390  	//   "id": "dfareporting.conversions.batchinsert",
 25391  	//   "parameterOrder": [
 25392  	//     "profileId"
 25393  	//   ],
 25394  	//   "parameters": {
 25395  	//     "profileId": {
 25396  	//       "description": "User profile ID associated with this request.",
 25397  	//       "format": "int64",
 25398  	//       "location": "path",
 25399  	//       "required": true,
 25400  	//       "type": "string"
 25401  	//     }
 25402  	//   },
 25403  	//   "path": "userprofiles/{profileId}/conversions/batchinsert",
 25404  	//   "request": {
 25405  	//     "$ref": "ConversionsBatchInsertRequest"
 25406  	//   },
 25407  	//   "response": {
 25408  	//     "$ref": "ConversionsBatchInsertResponse"
 25409  	//   },
 25410  	//   "scopes": [
 25411  	//     "https://www.googleapis.com/auth/ddmconversions"
 25412  	//   ]
 25413  	// }
 25414  
 25415  }
 25416  
 25417  // method id "dfareporting.conversions.batchupdate":
 25418  
 25419  type ConversionsBatchupdateCall struct {
 25420  	s                             *Service
 25421  	profileId                     int64
 25422  	conversionsbatchupdaterequest *ConversionsBatchUpdateRequest
 25423  	urlParams_                    gensupport.URLParams
 25424  	ctx_                          context.Context
 25425  	header_                       http.Header
 25426  }
 25427  
 25428  // Batchupdate: Updates existing conversions.
 25429  //
 25430  // - profileId: User profile ID associated with this request.
 25431  func (r *ConversionsService) Batchupdate(profileId int64, conversionsbatchupdaterequest *ConversionsBatchUpdateRequest) *ConversionsBatchupdateCall {
 25432  	c := &ConversionsBatchupdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25433  	c.profileId = profileId
 25434  	c.conversionsbatchupdaterequest = conversionsbatchupdaterequest
 25435  	return c
 25436  }
 25437  
 25438  // Fields allows partial responses to be retrieved. See
 25439  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25440  // for more information.
 25441  func (c *ConversionsBatchupdateCall) Fields(s ...googleapi.Field) *ConversionsBatchupdateCall {
 25442  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25443  	return c
 25444  }
 25445  
 25446  // Context sets the context to be used in this call's Do method. Any
 25447  // pending HTTP request will be aborted if the provided context is
 25448  // canceled.
 25449  func (c *ConversionsBatchupdateCall) Context(ctx context.Context) *ConversionsBatchupdateCall {
 25450  	c.ctx_ = ctx
 25451  	return c
 25452  }
 25453  
 25454  // Header returns an http.Header that can be modified by the caller to
 25455  // add HTTP headers to the request.
 25456  func (c *ConversionsBatchupdateCall) Header() http.Header {
 25457  	if c.header_ == nil {
 25458  		c.header_ = make(http.Header)
 25459  	}
 25460  	return c.header_
 25461  }
 25462  
 25463  func (c *ConversionsBatchupdateCall) doRequest(alt string) (*http.Response, error) {
 25464  	reqHeaders := make(http.Header)
 25465  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 25466  	for k, v := range c.header_ {
 25467  		reqHeaders[k] = v
 25468  	}
 25469  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25470  	var body io.Reader = nil
 25471  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchupdaterequest)
 25472  	if err != nil {
 25473  		return nil, err
 25474  	}
 25475  	reqHeaders.Set("Content-Type", "application/json")
 25476  	c.urlParams_.Set("alt", alt)
 25477  	c.urlParams_.Set("prettyPrint", "false")
 25478  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchupdate")
 25479  	urls += "?" + c.urlParams_.Encode()
 25480  	req, err := http.NewRequest("POST", urls, body)
 25481  	if err != nil {
 25482  		return nil, err
 25483  	}
 25484  	req.Header = reqHeaders
 25485  	googleapi.Expand(req.URL, map[string]string{
 25486  		"profileId": strconv.FormatInt(c.profileId, 10),
 25487  	})
 25488  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25489  }
 25490  
 25491  // Do executes the "dfareporting.conversions.batchupdate" call.
 25492  // Exactly one of *ConversionsBatchUpdateResponse or error will be
 25493  // non-nil. Any non-2xx status code is an error. Response headers are in
 25494  // either *ConversionsBatchUpdateResponse.ServerResponse.Header or (if a
 25495  // response was returned at all) in error.(*googleapi.Error).Header. Use
 25496  // googleapi.IsNotModified to check whether the returned error was
 25497  // because http.StatusNotModified was returned.
 25498  func (c *ConversionsBatchupdateCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchUpdateResponse, error) {
 25499  	gensupport.SetOptions(c.urlParams_, opts...)
 25500  	res, err := c.doRequest("json")
 25501  	if res != nil && res.StatusCode == http.StatusNotModified {
 25502  		if res.Body != nil {
 25503  			res.Body.Close()
 25504  		}
 25505  		return nil, &googleapi.Error{
 25506  			Code:   res.StatusCode,
 25507  			Header: res.Header,
 25508  		}
 25509  	}
 25510  	if err != nil {
 25511  		return nil, err
 25512  	}
 25513  	defer googleapi.CloseBody(res)
 25514  	if err := googleapi.CheckResponse(res); err != nil {
 25515  		return nil, err
 25516  	}
 25517  	ret := &ConversionsBatchUpdateResponse{
 25518  		ServerResponse: googleapi.ServerResponse{
 25519  			Header:         res.Header,
 25520  			HTTPStatusCode: res.StatusCode,
 25521  		},
 25522  	}
 25523  	target := &ret
 25524  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25525  		return nil, err
 25526  	}
 25527  	return ret, nil
 25528  	// {
 25529  	//   "description": "Updates existing conversions.",
 25530  	//   "flatPath": "userprofiles/{profileId}/conversions/batchupdate",
 25531  	//   "httpMethod": "POST",
 25532  	//   "id": "dfareporting.conversions.batchupdate",
 25533  	//   "parameterOrder": [
 25534  	//     "profileId"
 25535  	//   ],
 25536  	//   "parameters": {
 25537  	//     "profileId": {
 25538  	//       "description": "User profile ID associated with this request.",
 25539  	//       "format": "int64",
 25540  	//       "location": "path",
 25541  	//       "required": true,
 25542  	//       "type": "string"
 25543  	//     }
 25544  	//   },
 25545  	//   "path": "userprofiles/{profileId}/conversions/batchupdate",
 25546  	//   "request": {
 25547  	//     "$ref": "ConversionsBatchUpdateRequest"
 25548  	//   },
 25549  	//   "response": {
 25550  	//     "$ref": "ConversionsBatchUpdateResponse"
 25551  	//   },
 25552  	//   "scopes": [
 25553  	//     "https://www.googleapis.com/auth/ddmconversions"
 25554  	//   ]
 25555  	// }
 25556  
 25557  }
 25558  
 25559  // method id "dfareporting.countries.get":
 25560  
 25561  type CountriesGetCall struct {
 25562  	s            *Service
 25563  	profileId    int64
 25564  	dartId       int64
 25565  	urlParams_   gensupport.URLParams
 25566  	ifNoneMatch_ string
 25567  	ctx_         context.Context
 25568  	header_      http.Header
 25569  }
 25570  
 25571  // Get: Gets one country by ID.
 25572  //
 25573  // - dartId: Country DART ID.
 25574  // - profileId: User profile ID associated with this request.
 25575  func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
 25576  	c := &CountriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25577  	c.profileId = profileId
 25578  	c.dartId = dartId
 25579  	return c
 25580  }
 25581  
 25582  // Fields allows partial responses to be retrieved. See
 25583  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25584  // for more information.
 25585  func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
 25586  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25587  	return c
 25588  }
 25589  
 25590  // IfNoneMatch sets the optional parameter which makes the operation
 25591  // fail if the object's ETag matches the given value. This is useful for
 25592  // getting updates only after the object has changed since the last
 25593  // request. Use googleapi.IsNotModified to check whether the response
 25594  // error from Do is the result of In-None-Match.
 25595  func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
 25596  	c.ifNoneMatch_ = entityTag
 25597  	return c
 25598  }
 25599  
 25600  // Context sets the context to be used in this call's Do method. Any
 25601  // pending HTTP request will be aborted if the provided context is
 25602  // canceled.
 25603  func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
 25604  	c.ctx_ = ctx
 25605  	return c
 25606  }
 25607  
 25608  // Header returns an http.Header that can be modified by the caller to
 25609  // add HTTP headers to the request.
 25610  func (c *CountriesGetCall) Header() http.Header {
 25611  	if c.header_ == nil {
 25612  		c.header_ = make(http.Header)
 25613  	}
 25614  	return c.header_
 25615  }
 25616  
 25617  func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
 25618  	reqHeaders := make(http.Header)
 25619  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 25620  	for k, v := range c.header_ {
 25621  		reqHeaders[k] = v
 25622  	}
 25623  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25624  	if c.ifNoneMatch_ != "" {
 25625  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25626  	}
 25627  	var body io.Reader = nil
 25628  	c.urlParams_.Set("alt", alt)
 25629  	c.urlParams_.Set("prettyPrint", "false")
 25630  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
 25631  	urls += "?" + c.urlParams_.Encode()
 25632  	req, err := http.NewRequest("GET", urls, body)
 25633  	if err != nil {
 25634  		return nil, err
 25635  	}
 25636  	req.Header = reqHeaders
 25637  	googleapi.Expand(req.URL, map[string]string{
 25638  		"profileId": strconv.FormatInt(c.profileId, 10),
 25639  		"dartId":    strconv.FormatInt(c.dartId, 10),
 25640  	})
 25641  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25642  }
 25643  
 25644  // Do executes the "dfareporting.countries.get" call.
 25645  // Exactly one of *Country or error will be non-nil. Any non-2xx status
 25646  // code is an error. Response headers are in either
 25647  // *Country.ServerResponse.Header or (if a response was returned at all)
 25648  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 25649  // check whether the returned error was because http.StatusNotModified
 25650  // was returned.
 25651  func (c *CountriesGetCall) Do(opts ...googleapi.CallOption) (*Country, error) {
 25652  	gensupport.SetOptions(c.urlParams_, opts...)
 25653  	res, err := c.doRequest("json")
 25654  	if res != nil && res.StatusCode == http.StatusNotModified {
 25655  		if res.Body != nil {
 25656  			res.Body.Close()
 25657  		}
 25658  		return nil, &googleapi.Error{
 25659  			Code:   res.StatusCode,
 25660  			Header: res.Header,
 25661  		}
 25662  	}
 25663  	if err != nil {
 25664  		return nil, err
 25665  	}
 25666  	defer googleapi.CloseBody(res)
 25667  	if err := googleapi.CheckResponse(res); err != nil {
 25668  		return nil, err
 25669  	}
 25670  	ret := &Country{
 25671  		ServerResponse: googleapi.ServerResponse{
 25672  			Header:         res.Header,
 25673  			HTTPStatusCode: res.StatusCode,
 25674  		},
 25675  	}
 25676  	target := &ret
 25677  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25678  		return nil, err
 25679  	}
 25680  	return ret, nil
 25681  	// {
 25682  	//   "description": "Gets one country by ID.",
 25683  	//   "flatPath": "userprofiles/{profileId}/countries/{dartId}",
 25684  	//   "httpMethod": "GET",
 25685  	//   "id": "dfareporting.countries.get",
 25686  	//   "parameterOrder": [
 25687  	//     "profileId",
 25688  	//     "dartId"
 25689  	//   ],
 25690  	//   "parameters": {
 25691  	//     "dartId": {
 25692  	//       "description": "Country DART ID.",
 25693  	//       "format": "int64",
 25694  	//       "location": "path",
 25695  	//       "required": true,
 25696  	//       "type": "string"
 25697  	//     },
 25698  	//     "profileId": {
 25699  	//       "description": "User profile ID associated with this request.",
 25700  	//       "format": "int64",
 25701  	//       "location": "path",
 25702  	//       "required": true,
 25703  	//       "type": "string"
 25704  	//     }
 25705  	//   },
 25706  	//   "path": "userprofiles/{profileId}/countries/{dartId}",
 25707  	//   "response": {
 25708  	//     "$ref": "Country"
 25709  	//   },
 25710  	//   "scopes": [
 25711  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25712  	//   ]
 25713  	// }
 25714  
 25715  }
 25716  
 25717  // method id "dfareporting.countries.list":
 25718  
 25719  type CountriesListCall struct {
 25720  	s            *Service
 25721  	profileId    int64
 25722  	urlParams_   gensupport.URLParams
 25723  	ifNoneMatch_ string
 25724  	ctx_         context.Context
 25725  	header_      http.Header
 25726  }
 25727  
 25728  // List: Retrieves a list of countries.
 25729  //
 25730  // - profileId: User profile ID associated with this request.
 25731  func (r *CountriesService) List(profileId int64) *CountriesListCall {
 25732  	c := &CountriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25733  	c.profileId = profileId
 25734  	return c
 25735  }
 25736  
 25737  // Fields allows partial responses to be retrieved. See
 25738  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25739  // for more information.
 25740  func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
 25741  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25742  	return c
 25743  }
 25744  
 25745  // IfNoneMatch sets the optional parameter which makes the operation
 25746  // fail if the object's ETag matches the given value. This is useful for
 25747  // getting updates only after the object has changed since the last
 25748  // request. Use googleapi.IsNotModified to check whether the response
 25749  // error from Do is the result of In-None-Match.
 25750  func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
 25751  	c.ifNoneMatch_ = entityTag
 25752  	return c
 25753  }
 25754  
 25755  // Context sets the context to be used in this call's Do method. Any
 25756  // pending HTTP request will be aborted if the provided context is
 25757  // canceled.
 25758  func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
 25759  	c.ctx_ = ctx
 25760  	return c
 25761  }
 25762  
 25763  // Header returns an http.Header that can be modified by the caller to
 25764  // add HTTP headers to the request.
 25765  func (c *CountriesListCall) Header() http.Header {
 25766  	if c.header_ == nil {
 25767  		c.header_ = make(http.Header)
 25768  	}
 25769  	return c.header_
 25770  }
 25771  
 25772  func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
 25773  	reqHeaders := make(http.Header)
 25774  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 25775  	for k, v := range c.header_ {
 25776  		reqHeaders[k] = v
 25777  	}
 25778  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25779  	if c.ifNoneMatch_ != "" {
 25780  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25781  	}
 25782  	var body io.Reader = nil
 25783  	c.urlParams_.Set("alt", alt)
 25784  	c.urlParams_.Set("prettyPrint", "false")
 25785  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
 25786  	urls += "?" + c.urlParams_.Encode()
 25787  	req, err := http.NewRequest("GET", urls, body)
 25788  	if err != nil {
 25789  		return nil, err
 25790  	}
 25791  	req.Header = reqHeaders
 25792  	googleapi.Expand(req.URL, map[string]string{
 25793  		"profileId": strconv.FormatInt(c.profileId, 10),
 25794  	})
 25795  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25796  }
 25797  
 25798  // Do executes the "dfareporting.countries.list" call.
 25799  // Exactly one of *CountriesListResponse or error will be non-nil. Any
 25800  // non-2xx status code is an error. Response headers are in either
 25801  // *CountriesListResponse.ServerResponse.Header or (if a response was
 25802  // returned at all) in error.(*googleapi.Error).Header. Use
 25803  // googleapi.IsNotModified to check whether the returned error was
 25804  // because http.StatusNotModified was returned.
 25805  func (c *CountriesListCall) Do(opts ...googleapi.CallOption) (*CountriesListResponse, error) {
 25806  	gensupport.SetOptions(c.urlParams_, opts...)
 25807  	res, err := c.doRequest("json")
 25808  	if res != nil && res.StatusCode == http.StatusNotModified {
 25809  		if res.Body != nil {
 25810  			res.Body.Close()
 25811  		}
 25812  		return nil, &googleapi.Error{
 25813  			Code:   res.StatusCode,
 25814  			Header: res.Header,
 25815  		}
 25816  	}
 25817  	if err != nil {
 25818  		return nil, err
 25819  	}
 25820  	defer googleapi.CloseBody(res)
 25821  	if err := googleapi.CheckResponse(res); err != nil {
 25822  		return nil, err
 25823  	}
 25824  	ret := &CountriesListResponse{
 25825  		ServerResponse: googleapi.ServerResponse{
 25826  			Header:         res.Header,
 25827  			HTTPStatusCode: res.StatusCode,
 25828  		},
 25829  	}
 25830  	target := &ret
 25831  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25832  		return nil, err
 25833  	}
 25834  	return ret, nil
 25835  	// {
 25836  	//   "description": "Retrieves a list of countries.",
 25837  	//   "flatPath": "userprofiles/{profileId}/countries",
 25838  	//   "httpMethod": "GET",
 25839  	//   "id": "dfareporting.countries.list",
 25840  	//   "parameterOrder": [
 25841  	//     "profileId"
 25842  	//   ],
 25843  	//   "parameters": {
 25844  	//     "profileId": {
 25845  	//       "description": "User profile ID associated with this request.",
 25846  	//       "format": "int64",
 25847  	//       "location": "path",
 25848  	//       "required": true,
 25849  	//       "type": "string"
 25850  	//     }
 25851  	//   },
 25852  	//   "path": "userprofiles/{profileId}/countries",
 25853  	//   "response": {
 25854  	//     "$ref": "CountriesListResponse"
 25855  	//   },
 25856  	//   "scopes": [
 25857  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25858  	//   ]
 25859  	// }
 25860  
 25861  }
 25862  
 25863  // method id "dfareporting.creativeAssets.insert":
 25864  
 25865  type CreativeAssetsInsertCall struct {
 25866  	s                     *Service
 25867  	profileId             int64
 25868  	advertiserId          int64
 25869  	creativeassetmetadata *CreativeAssetMetadata
 25870  	urlParams_            gensupport.URLParams
 25871  	mediaInfo_            *gensupport.MediaInfo
 25872  	ctx_                  context.Context
 25873  	header_               http.Header
 25874  }
 25875  
 25876  // Insert: Inserts a new creative asset.
 25877  //
 25878  //   - advertiserId: Advertiser ID of this creative. This is a required
 25879  //     field.
 25880  //   - profileId: User profile ID associated with this request.
 25881  func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
 25882  	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25883  	c.profileId = profileId
 25884  	c.advertiserId = advertiserId
 25885  	c.creativeassetmetadata = creativeassetmetadata
 25886  	return c
 25887  }
 25888  
 25889  // Media specifies the media to upload in one or more chunks. The chunk
 25890  // size may be controlled by supplying a MediaOption generated by
 25891  // googleapi.ChunkSize. The chunk size defaults to
 25892  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the
 25893  // upload request will be determined by sniffing the contents of r,
 25894  // unless a MediaOption generated by googleapi.ContentType is
 25895  // supplied.
 25896  // At most one of Media and ResumableMedia may be set.
 25897  func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall {
 25898  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 25899  	return c
 25900  }
 25901  
 25902  // ResumableMedia specifies the media to upload in chunks and can be
 25903  // canceled with ctx.
 25904  //
 25905  // Deprecated: use Media instead.
 25906  //
 25907  // At most one of Media and ResumableMedia may be set. mediaType
 25908  // identifies the MIME media type of the upload, such as "image/png". If
 25909  // mediaType is "", it will be auto-detected. The provided ctx will
 25910  // supersede any context previously provided to the Context method.
 25911  func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
 25912  	c.ctx_ = ctx
 25913  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 25914  	return c
 25915  }
 25916  
 25917  // ProgressUpdater provides a callback function that will be called
 25918  // after every chunk. It should be a low-latency function in order to
 25919  // not slow down the upload operation. This should only be called when
 25920  // using ResumableMedia (as opposed to Media).
 25921  func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
 25922  	c.mediaInfo_.SetProgressUpdater(pu)
 25923  	return c
 25924  }
 25925  
 25926  // Fields allows partial responses to be retrieved. See
 25927  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25928  // for more information.
 25929  func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
 25930  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25931  	return c
 25932  }
 25933  
 25934  // Context sets the context to be used in this call's Do method. Any
 25935  // pending HTTP request will be aborted if the provided context is
 25936  // canceled.
 25937  // This context will supersede any context previously provided to the
 25938  // ResumableMedia method.
 25939  func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
 25940  	c.ctx_ = ctx
 25941  	return c
 25942  }
 25943  
 25944  // Header returns an http.Header that can be modified by the caller to
 25945  // add HTTP headers to the request.
 25946  func (c *CreativeAssetsInsertCall) Header() http.Header {
 25947  	if c.header_ == nil {
 25948  		c.header_ = make(http.Header)
 25949  	}
 25950  	return c.header_
 25951  }
 25952  
 25953  func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
 25954  	reqHeaders := make(http.Header)
 25955  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 25956  	for k, v := range c.header_ {
 25957  		reqHeaders[k] = v
 25958  	}
 25959  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25960  	var body io.Reader = nil
 25961  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativeassetmetadata)
 25962  	if err != nil {
 25963  		return nil, err
 25964  	}
 25965  	reqHeaders.Set("Content-Type", "application/json")
 25966  	c.urlParams_.Set("alt", alt)
 25967  	c.urlParams_.Set("prettyPrint", "false")
 25968  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 25969  	if c.mediaInfo_ != nil {
 25970  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/dfareporting/v3.4/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 25971  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 25972  	}
 25973  	if body == nil {
 25974  		body = new(bytes.Buffer)
 25975  		reqHeaders.Set("Content-Type", "application/json")
 25976  	}
 25977  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 25978  	defer cleanup()
 25979  	urls += "?" + c.urlParams_.Encode()
 25980  	req, err := http.NewRequest("POST", urls, body)
 25981  	if err != nil {
 25982  		return nil, err
 25983  	}
 25984  	req.Header = reqHeaders
 25985  	req.GetBody = getBody
 25986  	googleapi.Expand(req.URL, map[string]string{
 25987  		"profileId":    strconv.FormatInt(c.profileId, 10),
 25988  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 25989  	})
 25990  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25991  }
 25992  
 25993  // Do executes the "dfareporting.creativeAssets.insert" call.
 25994  // Exactly one of *CreativeAssetMetadata or error will be non-nil. Any
 25995  // non-2xx status code is an error. Response headers are in either
 25996  // *CreativeAssetMetadata.ServerResponse.Header or (if a response was
 25997  // returned at all) in error.(*googleapi.Error).Header. Use
 25998  // googleapi.IsNotModified to check whether the returned error was
 25999  // because http.StatusNotModified was returned.
 26000  func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAssetMetadata, error) {
 26001  	gensupport.SetOptions(c.urlParams_, opts...)
 26002  	res, err := c.doRequest("json")
 26003  	if res != nil && res.StatusCode == http.StatusNotModified {
 26004  		if res.Body != nil {
 26005  			res.Body.Close()
 26006  		}
 26007  		return nil, &googleapi.Error{
 26008  			Code:   res.StatusCode,
 26009  			Header: res.Header,
 26010  		}
 26011  	}
 26012  	if err != nil {
 26013  		return nil, err
 26014  	}
 26015  	defer googleapi.CloseBody(res)
 26016  	if err := googleapi.CheckResponse(res); err != nil {
 26017  		return nil, err
 26018  	}
 26019  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 26020  	if rx != nil {
 26021  		rx.Client = c.s.client
 26022  		rx.UserAgent = c.s.userAgent()
 26023  		ctx := c.ctx_
 26024  		if ctx == nil {
 26025  			ctx = context.TODO()
 26026  		}
 26027  		res, err = rx.Upload(ctx)
 26028  		if err != nil {
 26029  			return nil, err
 26030  		}
 26031  		defer res.Body.Close()
 26032  		if err := googleapi.CheckResponse(res); err != nil {
 26033  			return nil, err
 26034  		}
 26035  	}
 26036  	ret := &CreativeAssetMetadata{
 26037  		ServerResponse: googleapi.ServerResponse{
 26038  			Header:         res.Header,
 26039  			HTTPStatusCode: res.StatusCode,
 26040  		},
 26041  	}
 26042  	target := &ret
 26043  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26044  		return nil, err
 26045  	}
 26046  	return ret, nil
 26047  	// {
 26048  	//   "description": "Inserts a new creative asset.",
 26049  	//   "flatPath": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
 26050  	//   "httpMethod": "POST",
 26051  	//   "id": "dfareporting.creativeAssets.insert",
 26052  	//   "mediaUpload": {
 26053  	//     "accept": [
 26054  	//       "*/*"
 26055  	//     ],
 26056  	//     "maxSize": "1073741824",
 26057  	//     "protocols": {
 26058  	//       "simple": {
 26059  	//         "multipart": true,
 26060  	//         "path": "/upload/dfareporting/v3.4/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
 26061  	//       }
 26062  	//     }
 26063  	//   },
 26064  	//   "parameterOrder": [
 26065  	//     "profileId",
 26066  	//     "advertiserId"
 26067  	//   ],
 26068  	//   "parameters": {
 26069  	//     "advertiserId": {
 26070  	//       "description": "Advertiser ID of this creative. This is a required field.",
 26071  	//       "format": "int64",
 26072  	//       "location": "path",
 26073  	//       "required": true,
 26074  	//       "type": "string"
 26075  	//     },
 26076  	//     "profileId": {
 26077  	//       "description": "User profile ID associated with this request.",
 26078  	//       "format": "int64",
 26079  	//       "location": "path",
 26080  	//       "required": true,
 26081  	//       "type": "string"
 26082  	//     }
 26083  	//   },
 26084  	//   "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
 26085  	//   "request": {
 26086  	//     "$ref": "CreativeAssetMetadata"
 26087  	//   },
 26088  	//   "response": {
 26089  	//     "$ref": "CreativeAssetMetadata"
 26090  	//   },
 26091  	//   "scopes": [
 26092  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26093  	//   ],
 26094  	//   "supportsMediaUpload": true
 26095  	// }
 26096  
 26097  }
 26098  
 26099  // method id "dfareporting.creativeFieldValues.delete":
 26100  
 26101  type CreativeFieldValuesDeleteCall struct {
 26102  	s               *Service
 26103  	profileId       int64
 26104  	creativeFieldId int64
 26105  	id              int64
 26106  	urlParams_      gensupport.URLParams
 26107  	ctx_            context.Context
 26108  	header_         http.Header
 26109  }
 26110  
 26111  // Delete: Deletes an existing creative field value.
 26112  //
 26113  // - creativeFieldId: Creative field ID for this creative field value.
 26114  // - id: Creative Field Value ID.
 26115  // - profileId: User profile ID associated with this request.
 26116  func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
 26117  	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26118  	c.profileId = profileId
 26119  	c.creativeFieldId = creativeFieldId
 26120  	c.id = id
 26121  	return c
 26122  }
 26123  
 26124  // Fields allows partial responses to be retrieved. See
 26125  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26126  // for more information.
 26127  func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
 26128  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26129  	return c
 26130  }
 26131  
 26132  // Context sets the context to be used in this call's Do method. Any
 26133  // pending HTTP request will be aborted if the provided context is
 26134  // canceled.
 26135  func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
 26136  	c.ctx_ = ctx
 26137  	return c
 26138  }
 26139  
 26140  // Header returns an http.Header that can be modified by the caller to
 26141  // add HTTP headers to the request.
 26142  func (c *CreativeFieldValuesDeleteCall) Header() http.Header {
 26143  	if c.header_ == nil {
 26144  		c.header_ = make(http.Header)
 26145  	}
 26146  	return c.header_
 26147  }
 26148  
 26149  func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 26150  	reqHeaders := make(http.Header)
 26151  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 26152  	for k, v := range c.header_ {
 26153  		reqHeaders[k] = v
 26154  	}
 26155  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26156  	var body io.Reader = nil
 26157  	c.urlParams_.Set("alt", alt)
 26158  	c.urlParams_.Set("prettyPrint", "false")
 26159  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
 26160  	urls += "?" + c.urlParams_.Encode()
 26161  	req, err := http.NewRequest("DELETE", urls, body)
 26162  	if err != nil {
 26163  		return nil, err
 26164  	}
 26165  	req.Header = reqHeaders
 26166  	googleapi.Expand(req.URL, map[string]string{
 26167  		"profileId":       strconv.FormatInt(c.profileId, 10),
 26168  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 26169  		"id":              strconv.FormatInt(c.id, 10),
 26170  	})
 26171  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26172  }
 26173  
 26174  // Do executes the "dfareporting.creativeFieldValues.delete" call.
 26175  func (c *CreativeFieldValuesDeleteCall) Do(opts ...googleapi.CallOption) error {
 26176  	gensupport.SetOptions(c.urlParams_, opts...)
 26177  	res, err := c.doRequest("json")
 26178  	if err != nil {
 26179  		return err
 26180  	}
 26181  	defer googleapi.CloseBody(res)
 26182  	if err := googleapi.CheckResponse(res); err != nil {
 26183  		return err
 26184  	}
 26185  	return nil
 26186  	// {
 26187  	//   "description": "Deletes an existing creative field value.",
 26188  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 26189  	//   "httpMethod": "DELETE",
 26190  	//   "id": "dfareporting.creativeFieldValues.delete",
 26191  	//   "parameterOrder": [
 26192  	//     "profileId",
 26193  	//     "creativeFieldId",
 26194  	//     "id"
 26195  	//   ],
 26196  	//   "parameters": {
 26197  	//     "creativeFieldId": {
 26198  	//       "description": "Creative field ID for this creative field value.",
 26199  	//       "format": "int64",
 26200  	//       "location": "path",
 26201  	//       "required": true,
 26202  	//       "type": "string"
 26203  	//     },
 26204  	//     "id": {
 26205  	//       "description": "Creative Field Value ID",
 26206  	//       "format": "int64",
 26207  	//       "location": "path",
 26208  	//       "required": true,
 26209  	//       "type": "string"
 26210  	//     },
 26211  	//     "profileId": {
 26212  	//       "description": "User profile ID associated with this request.",
 26213  	//       "format": "int64",
 26214  	//       "location": "path",
 26215  	//       "required": true,
 26216  	//       "type": "string"
 26217  	//     }
 26218  	//   },
 26219  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 26220  	//   "scopes": [
 26221  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26222  	//   ]
 26223  	// }
 26224  
 26225  }
 26226  
 26227  // method id "dfareporting.creativeFieldValues.get":
 26228  
 26229  type CreativeFieldValuesGetCall struct {
 26230  	s               *Service
 26231  	profileId       int64
 26232  	creativeFieldId int64
 26233  	id              int64
 26234  	urlParams_      gensupport.URLParams
 26235  	ifNoneMatch_    string
 26236  	ctx_            context.Context
 26237  	header_         http.Header
 26238  }
 26239  
 26240  // Get: Gets one creative field value by ID.
 26241  //
 26242  // - creativeFieldId: Creative field ID for this creative field value.
 26243  // - id: Creative Field Value ID.
 26244  // - profileId: User profile ID associated with this request.
 26245  func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
 26246  	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26247  	c.profileId = profileId
 26248  	c.creativeFieldId = creativeFieldId
 26249  	c.id = id
 26250  	return c
 26251  }
 26252  
 26253  // Fields allows partial responses to be retrieved. See
 26254  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26255  // for more information.
 26256  func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
 26257  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26258  	return c
 26259  }
 26260  
 26261  // IfNoneMatch sets the optional parameter which makes the operation
 26262  // fail if the object's ETag matches the given value. This is useful for
 26263  // getting updates only after the object has changed since the last
 26264  // request. Use googleapi.IsNotModified to check whether the response
 26265  // error from Do is the result of In-None-Match.
 26266  func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
 26267  	c.ifNoneMatch_ = entityTag
 26268  	return c
 26269  }
 26270  
 26271  // Context sets the context to be used in this call's Do method. Any
 26272  // pending HTTP request will be aborted if the provided context is
 26273  // canceled.
 26274  func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
 26275  	c.ctx_ = ctx
 26276  	return c
 26277  }
 26278  
 26279  // Header returns an http.Header that can be modified by the caller to
 26280  // add HTTP headers to the request.
 26281  func (c *CreativeFieldValuesGetCall) Header() http.Header {
 26282  	if c.header_ == nil {
 26283  		c.header_ = make(http.Header)
 26284  	}
 26285  	return c.header_
 26286  }
 26287  
 26288  func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
 26289  	reqHeaders := make(http.Header)
 26290  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 26291  	for k, v := range c.header_ {
 26292  		reqHeaders[k] = v
 26293  	}
 26294  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26295  	if c.ifNoneMatch_ != "" {
 26296  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26297  	}
 26298  	var body io.Reader = nil
 26299  	c.urlParams_.Set("alt", alt)
 26300  	c.urlParams_.Set("prettyPrint", "false")
 26301  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
 26302  	urls += "?" + c.urlParams_.Encode()
 26303  	req, err := http.NewRequest("GET", urls, body)
 26304  	if err != nil {
 26305  		return nil, err
 26306  	}
 26307  	req.Header = reqHeaders
 26308  	googleapi.Expand(req.URL, map[string]string{
 26309  		"profileId":       strconv.FormatInt(c.profileId, 10),
 26310  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 26311  		"id":              strconv.FormatInt(c.id, 10),
 26312  	})
 26313  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26314  }
 26315  
 26316  // Do executes the "dfareporting.creativeFieldValues.get" call.
 26317  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 26318  // non-2xx status code is an error. Response headers are in either
 26319  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 26320  // returned at all) in error.(*googleapi.Error).Header. Use
 26321  // googleapi.IsNotModified to check whether the returned error was
 26322  // because http.StatusNotModified was returned.
 26323  func (c *CreativeFieldValuesGetCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 26324  	gensupport.SetOptions(c.urlParams_, opts...)
 26325  	res, err := c.doRequest("json")
 26326  	if res != nil && res.StatusCode == http.StatusNotModified {
 26327  		if res.Body != nil {
 26328  			res.Body.Close()
 26329  		}
 26330  		return nil, &googleapi.Error{
 26331  			Code:   res.StatusCode,
 26332  			Header: res.Header,
 26333  		}
 26334  	}
 26335  	if err != nil {
 26336  		return nil, err
 26337  	}
 26338  	defer googleapi.CloseBody(res)
 26339  	if err := googleapi.CheckResponse(res); err != nil {
 26340  		return nil, err
 26341  	}
 26342  	ret := &CreativeFieldValue{
 26343  		ServerResponse: googleapi.ServerResponse{
 26344  			Header:         res.Header,
 26345  			HTTPStatusCode: res.StatusCode,
 26346  		},
 26347  	}
 26348  	target := &ret
 26349  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26350  		return nil, err
 26351  	}
 26352  	return ret, nil
 26353  	// {
 26354  	//   "description": "Gets one creative field value by ID.",
 26355  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 26356  	//   "httpMethod": "GET",
 26357  	//   "id": "dfareporting.creativeFieldValues.get",
 26358  	//   "parameterOrder": [
 26359  	//     "profileId",
 26360  	//     "creativeFieldId",
 26361  	//     "id"
 26362  	//   ],
 26363  	//   "parameters": {
 26364  	//     "creativeFieldId": {
 26365  	//       "description": "Creative field ID for this creative field value.",
 26366  	//       "format": "int64",
 26367  	//       "location": "path",
 26368  	//       "required": true,
 26369  	//       "type": "string"
 26370  	//     },
 26371  	//     "id": {
 26372  	//       "description": "Creative Field Value ID",
 26373  	//       "format": "int64",
 26374  	//       "location": "path",
 26375  	//       "required": true,
 26376  	//       "type": "string"
 26377  	//     },
 26378  	//     "profileId": {
 26379  	//       "description": "User profile ID associated with this request.",
 26380  	//       "format": "int64",
 26381  	//       "location": "path",
 26382  	//       "required": true,
 26383  	//       "type": "string"
 26384  	//     }
 26385  	//   },
 26386  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 26387  	//   "response": {
 26388  	//     "$ref": "CreativeFieldValue"
 26389  	//   },
 26390  	//   "scopes": [
 26391  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26392  	//   ]
 26393  	// }
 26394  
 26395  }
 26396  
 26397  // method id "dfareporting.creativeFieldValues.insert":
 26398  
 26399  type CreativeFieldValuesInsertCall struct {
 26400  	s                  *Service
 26401  	profileId          int64
 26402  	creativeFieldId    int64
 26403  	creativefieldvalue *CreativeFieldValue
 26404  	urlParams_         gensupport.URLParams
 26405  	ctx_               context.Context
 26406  	header_            http.Header
 26407  }
 26408  
 26409  // Insert: Inserts a new creative field value.
 26410  //
 26411  // - creativeFieldId: Creative field ID for this creative field value.
 26412  // - profileId: User profile ID associated with this request.
 26413  func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
 26414  	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26415  	c.profileId = profileId
 26416  	c.creativeFieldId = creativeFieldId
 26417  	c.creativefieldvalue = creativefieldvalue
 26418  	return c
 26419  }
 26420  
 26421  // Fields allows partial responses to be retrieved. See
 26422  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26423  // for more information.
 26424  func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
 26425  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26426  	return c
 26427  }
 26428  
 26429  // Context sets the context to be used in this call's Do method. Any
 26430  // pending HTTP request will be aborted if the provided context is
 26431  // canceled.
 26432  func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
 26433  	c.ctx_ = ctx
 26434  	return c
 26435  }
 26436  
 26437  // Header returns an http.Header that can be modified by the caller to
 26438  // add HTTP headers to the request.
 26439  func (c *CreativeFieldValuesInsertCall) Header() http.Header {
 26440  	if c.header_ == nil {
 26441  		c.header_ = make(http.Header)
 26442  	}
 26443  	return c.header_
 26444  }
 26445  
 26446  func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
 26447  	reqHeaders := make(http.Header)
 26448  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 26449  	for k, v := range c.header_ {
 26450  		reqHeaders[k] = v
 26451  	}
 26452  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26453  	var body io.Reader = nil
 26454  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 26455  	if err != nil {
 26456  		return nil, err
 26457  	}
 26458  	reqHeaders.Set("Content-Type", "application/json")
 26459  	c.urlParams_.Set("alt", alt)
 26460  	c.urlParams_.Set("prettyPrint", "false")
 26461  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 26462  	urls += "?" + c.urlParams_.Encode()
 26463  	req, err := http.NewRequest("POST", urls, body)
 26464  	if err != nil {
 26465  		return nil, err
 26466  	}
 26467  	req.Header = reqHeaders
 26468  	googleapi.Expand(req.URL, map[string]string{
 26469  		"profileId":       strconv.FormatInt(c.profileId, 10),
 26470  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 26471  	})
 26472  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26473  }
 26474  
 26475  // Do executes the "dfareporting.creativeFieldValues.insert" call.
 26476  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 26477  // non-2xx status code is an error. Response headers are in either
 26478  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 26479  // returned at all) in error.(*googleapi.Error).Header. Use
 26480  // googleapi.IsNotModified to check whether the returned error was
 26481  // because http.StatusNotModified was returned.
 26482  func (c *CreativeFieldValuesInsertCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 26483  	gensupport.SetOptions(c.urlParams_, opts...)
 26484  	res, err := c.doRequest("json")
 26485  	if res != nil && res.StatusCode == http.StatusNotModified {
 26486  		if res.Body != nil {
 26487  			res.Body.Close()
 26488  		}
 26489  		return nil, &googleapi.Error{
 26490  			Code:   res.StatusCode,
 26491  			Header: res.Header,
 26492  		}
 26493  	}
 26494  	if err != nil {
 26495  		return nil, err
 26496  	}
 26497  	defer googleapi.CloseBody(res)
 26498  	if err := googleapi.CheckResponse(res); err != nil {
 26499  		return nil, err
 26500  	}
 26501  	ret := &CreativeFieldValue{
 26502  		ServerResponse: googleapi.ServerResponse{
 26503  			Header:         res.Header,
 26504  			HTTPStatusCode: res.StatusCode,
 26505  		},
 26506  	}
 26507  	target := &ret
 26508  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26509  		return nil, err
 26510  	}
 26511  	return ret, nil
 26512  	// {
 26513  	//   "description": "Inserts a new creative field value.",
 26514  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 26515  	//   "httpMethod": "POST",
 26516  	//   "id": "dfareporting.creativeFieldValues.insert",
 26517  	//   "parameterOrder": [
 26518  	//     "profileId",
 26519  	//     "creativeFieldId"
 26520  	//   ],
 26521  	//   "parameters": {
 26522  	//     "creativeFieldId": {
 26523  	//       "description": "Creative field ID for this creative field value.",
 26524  	//       "format": "int64",
 26525  	//       "location": "path",
 26526  	//       "required": true,
 26527  	//       "type": "string"
 26528  	//     },
 26529  	//     "profileId": {
 26530  	//       "description": "User profile ID associated with this request.",
 26531  	//       "format": "int64",
 26532  	//       "location": "path",
 26533  	//       "required": true,
 26534  	//       "type": "string"
 26535  	//     }
 26536  	//   },
 26537  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 26538  	//   "request": {
 26539  	//     "$ref": "CreativeFieldValue"
 26540  	//   },
 26541  	//   "response": {
 26542  	//     "$ref": "CreativeFieldValue"
 26543  	//   },
 26544  	//   "scopes": [
 26545  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26546  	//   ]
 26547  	// }
 26548  
 26549  }
 26550  
 26551  // method id "dfareporting.creativeFieldValues.list":
 26552  
 26553  type CreativeFieldValuesListCall struct {
 26554  	s               *Service
 26555  	profileId       int64
 26556  	creativeFieldId int64
 26557  	urlParams_      gensupport.URLParams
 26558  	ifNoneMatch_    string
 26559  	ctx_            context.Context
 26560  	header_         http.Header
 26561  }
 26562  
 26563  // List: Retrieves a list of creative field values, possibly filtered.
 26564  // This method supports paging.
 26565  //
 26566  // - creativeFieldId: Creative field ID for this creative field value.
 26567  // - profileId: User profile ID associated with this request.
 26568  func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
 26569  	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26570  	c.profileId = profileId
 26571  	c.creativeFieldId = creativeFieldId
 26572  	return c
 26573  }
 26574  
 26575  // Ids sets the optional parameter "ids": Select only creative field
 26576  // values with these IDs.
 26577  func (c *CreativeFieldValuesListCall) Ids(ids ...int64) *CreativeFieldValuesListCall {
 26578  	var ids_ []string
 26579  	for _, v := range ids {
 26580  		ids_ = append(ids_, fmt.Sprint(v))
 26581  	}
 26582  	c.urlParams_.SetMulti("ids", ids_)
 26583  	return c
 26584  }
 26585  
 26586  // MaxResults sets the optional parameter "maxResults": Maximum number
 26587  // of results to return.
 26588  func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
 26589  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 26590  	return c
 26591  }
 26592  
 26593  // PageToken sets the optional parameter "pageToken": Value of the
 26594  // nextPageToken from the previous result page.
 26595  func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
 26596  	c.urlParams_.Set("pageToken", pageToken)
 26597  	return c
 26598  }
 26599  
 26600  // SearchString sets the optional parameter "searchString": Allows
 26601  // searching for creative field values by their values. Wildcards (e.g.
 26602  // *) are not allowed.
 26603  func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
 26604  	c.urlParams_.Set("searchString", searchString)
 26605  	return c
 26606  }
 26607  
 26608  // SortField sets the optional parameter "sortField": Field by which to
 26609  // sort the list.
 26610  //
 26611  // Possible values:
 26612  //
 26613  //	"ID" (default)
 26614  //	"VALUE"
 26615  func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
 26616  	c.urlParams_.Set("sortField", sortField)
 26617  	return c
 26618  }
 26619  
 26620  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 26621  // results.
 26622  //
 26623  // Possible values:
 26624  //
 26625  //	"ASCENDING" (default)
 26626  //	"DESCENDING"
 26627  func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
 26628  	c.urlParams_.Set("sortOrder", sortOrder)
 26629  	return c
 26630  }
 26631  
 26632  // Fields allows partial responses to be retrieved. See
 26633  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26634  // for more information.
 26635  func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
 26636  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26637  	return c
 26638  }
 26639  
 26640  // IfNoneMatch sets the optional parameter which makes the operation
 26641  // fail if the object's ETag matches the given value. This is useful for
 26642  // getting updates only after the object has changed since the last
 26643  // request. Use googleapi.IsNotModified to check whether the response
 26644  // error from Do is the result of In-None-Match.
 26645  func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
 26646  	c.ifNoneMatch_ = entityTag
 26647  	return c
 26648  }
 26649  
 26650  // Context sets the context to be used in this call's Do method. Any
 26651  // pending HTTP request will be aborted if the provided context is
 26652  // canceled.
 26653  func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
 26654  	c.ctx_ = ctx
 26655  	return c
 26656  }
 26657  
 26658  // Header returns an http.Header that can be modified by the caller to
 26659  // add HTTP headers to the request.
 26660  func (c *CreativeFieldValuesListCall) Header() http.Header {
 26661  	if c.header_ == nil {
 26662  		c.header_ = make(http.Header)
 26663  	}
 26664  	return c.header_
 26665  }
 26666  
 26667  func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
 26668  	reqHeaders := make(http.Header)
 26669  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 26670  	for k, v := range c.header_ {
 26671  		reqHeaders[k] = v
 26672  	}
 26673  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26674  	if c.ifNoneMatch_ != "" {
 26675  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26676  	}
 26677  	var body io.Reader = nil
 26678  	c.urlParams_.Set("alt", alt)
 26679  	c.urlParams_.Set("prettyPrint", "false")
 26680  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 26681  	urls += "?" + c.urlParams_.Encode()
 26682  	req, err := http.NewRequest("GET", urls, body)
 26683  	if err != nil {
 26684  		return nil, err
 26685  	}
 26686  	req.Header = reqHeaders
 26687  	googleapi.Expand(req.URL, map[string]string{
 26688  		"profileId":       strconv.FormatInt(c.profileId, 10),
 26689  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 26690  	})
 26691  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26692  }
 26693  
 26694  // Do executes the "dfareporting.creativeFieldValues.list" call.
 26695  // Exactly one of *CreativeFieldValuesListResponse or error will be
 26696  // non-nil. Any non-2xx status code is an error. Response headers are in
 26697  // either *CreativeFieldValuesListResponse.ServerResponse.Header or (if
 26698  // a response was returned at all) in error.(*googleapi.Error).Header.
 26699  // Use googleapi.IsNotModified to check whether the returned error was
 26700  // because http.StatusNotModified was returned.
 26701  func (c *CreativeFieldValuesListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValuesListResponse, error) {
 26702  	gensupport.SetOptions(c.urlParams_, opts...)
 26703  	res, err := c.doRequest("json")
 26704  	if res != nil && res.StatusCode == http.StatusNotModified {
 26705  		if res.Body != nil {
 26706  			res.Body.Close()
 26707  		}
 26708  		return nil, &googleapi.Error{
 26709  			Code:   res.StatusCode,
 26710  			Header: res.Header,
 26711  		}
 26712  	}
 26713  	if err != nil {
 26714  		return nil, err
 26715  	}
 26716  	defer googleapi.CloseBody(res)
 26717  	if err := googleapi.CheckResponse(res); err != nil {
 26718  		return nil, err
 26719  	}
 26720  	ret := &CreativeFieldValuesListResponse{
 26721  		ServerResponse: googleapi.ServerResponse{
 26722  			Header:         res.Header,
 26723  			HTTPStatusCode: res.StatusCode,
 26724  		},
 26725  	}
 26726  	target := &ret
 26727  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26728  		return nil, err
 26729  	}
 26730  	return ret, nil
 26731  	// {
 26732  	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
 26733  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 26734  	//   "httpMethod": "GET",
 26735  	//   "id": "dfareporting.creativeFieldValues.list",
 26736  	//   "parameterOrder": [
 26737  	//     "profileId",
 26738  	//     "creativeFieldId"
 26739  	//   ],
 26740  	//   "parameters": {
 26741  	//     "creativeFieldId": {
 26742  	//       "description": "Creative field ID for this creative field value.",
 26743  	//       "format": "int64",
 26744  	//       "location": "path",
 26745  	//       "required": true,
 26746  	//       "type": "string"
 26747  	//     },
 26748  	//     "ids": {
 26749  	//       "description": "Select only creative field values with these IDs.",
 26750  	//       "format": "int64",
 26751  	//       "location": "query",
 26752  	//       "repeated": true,
 26753  	//       "type": "string"
 26754  	//     },
 26755  	//     "maxResults": {
 26756  	//       "default": "1000",
 26757  	//       "description": "Maximum number of results to return.",
 26758  	//       "format": "int32",
 26759  	//       "location": "query",
 26760  	//       "maximum": "1000",
 26761  	//       "minimum": "0",
 26762  	//       "type": "integer"
 26763  	//     },
 26764  	//     "pageToken": {
 26765  	//       "description": "Value of the nextPageToken from the previous result page.",
 26766  	//       "location": "query",
 26767  	//       "type": "string"
 26768  	//     },
 26769  	//     "profileId": {
 26770  	//       "description": "User profile ID associated with this request.",
 26771  	//       "format": "int64",
 26772  	//       "location": "path",
 26773  	//       "required": true,
 26774  	//       "type": "string"
 26775  	//     },
 26776  	//     "searchString": {
 26777  	//       "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
 26778  	//       "location": "query",
 26779  	//       "type": "string"
 26780  	//     },
 26781  	//     "sortField": {
 26782  	//       "default": "ID",
 26783  	//       "description": "Field by which to sort the list.",
 26784  	//       "enum": [
 26785  	//         "ID",
 26786  	//         "VALUE"
 26787  	//       ],
 26788  	//       "enumDescriptions": [
 26789  	//         "",
 26790  	//         ""
 26791  	//       ],
 26792  	//       "location": "query",
 26793  	//       "type": "string"
 26794  	//     },
 26795  	//     "sortOrder": {
 26796  	//       "default": "ASCENDING",
 26797  	//       "description": "Order of sorted results.",
 26798  	//       "enum": [
 26799  	//         "ASCENDING",
 26800  	//         "DESCENDING"
 26801  	//       ],
 26802  	//       "enumDescriptions": [
 26803  	//         "",
 26804  	//         ""
 26805  	//       ],
 26806  	//       "location": "query",
 26807  	//       "type": "string"
 26808  	//     }
 26809  	//   },
 26810  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 26811  	//   "response": {
 26812  	//     "$ref": "CreativeFieldValuesListResponse"
 26813  	//   },
 26814  	//   "scopes": [
 26815  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26816  	//   ]
 26817  	// }
 26818  
 26819  }
 26820  
 26821  // Pages invokes f for each page of results.
 26822  // A non-nil error returned from f will halt the iteration.
 26823  // The provided context supersedes any context provided to the Context method.
 26824  func (c *CreativeFieldValuesListCall) Pages(ctx context.Context, f func(*CreativeFieldValuesListResponse) error) error {
 26825  	c.ctx_ = ctx
 26826  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 26827  	for {
 26828  		x, err := c.Do()
 26829  		if err != nil {
 26830  			return err
 26831  		}
 26832  		if err := f(x); err != nil {
 26833  			return err
 26834  		}
 26835  		if x.NextPageToken == "" {
 26836  			return nil
 26837  		}
 26838  		c.PageToken(x.NextPageToken)
 26839  	}
 26840  }
 26841  
 26842  // method id "dfareporting.creativeFieldValues.patch":
 26843  
 26844  type CreativeFieldValuesPatchCall struct {
 26845  	s                  *Service
 26846  	profileId          int64
 26847  	creativeFieldId    int64
 26848  	creativefieldvalue *CreativeFieldValue
 26849  	urlParams_         gensupport.URLParams
 26850  	ctx_               context.Context
 26851  	header_            http.Header
 26852  }
 26853  
 26854  // Patch: Updates an existing creative field value. This method supports
 26855  // patch semantics.
 26856  //
 26857  // - creativeFieldId: CreativeField ID.
 26858  // - id: CreativeFieldValue ID.
 26859  // - profileId: User profile ID associated with this request.
 26860  func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
 26861  	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26862  	c.profileId = profileId
 26863  	c.creativeFieldId = creativeFieldId
 26864  	c.urlParams_.Set("id", fmt.Sprint(id))
 26865  	c.creativefieldvalue = creativefieldvalue
 26866  	return c
 26867  }
 26868  
 26869  // Fields allows partial responses to be retrieved. See
 26870  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26871  // for more information.
 26872  func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
 26873  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26874  	return c
 26875  }
 26876  
 26877  // Context sets the context to be used in this call's Do method. Any
 26878  // pending HTTP request will be aborted if the provided context is
 26879  // canceled.
 26880  func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
 26881  	c.ctx_ = ctx
 26882  	return c
 26883  }
 26884  
 26885  // Header returns an http.Header that can be modified by the caller to
 26886  // add HTTP headers to the request.
 26887  func (c *CreativeFieldValuesPatchCall) Header() http.Header {
 26888  	if c.header_ == nil {
 26889  		c.header_ = make(http.Header)
 26890  	}
 26891  	return c.header_
 26892  }
 26893  
 26894  func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
 26895  	reqHeaders := make(http.Header)
 26896  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 26897  	for k, v := range c.header_ {
 26898  		reqHeaders[k] = v
 26899  	}
 26900  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26901  	var body io.Reader = nil
 26902  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 26903  	if err != nil {
 26904  		return nil, err
 26905  	}
 26906  	reqHeaders.Set("Content-Type", "application/json")
 26907  	c.urlParams_.Set("alt", alt)
 26908  	c.urlParams_.Set("prettyPrint", "false")
 26909  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 26910  	urls += "?" + c.urlParams_.Encode()
 26911  	req, err := http.NewRequest("PATCH", urls, body)
 26912  	if err != nil {
 26913  		return nil, err
 26914  	}
 26915  	req.Header = reqHeaders
 26916  	googleapi.Expand(req.URL, map[string]string{
 26917  		"profileId":       strconv.FormatInt(c.profileId, 10),
 26918  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 26919  	})
 26920  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26921  }
 26922  
 26923  // Do executes the "dfareporting.creativeFieldValues.patch" call.
 26924  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 26925  // non-2xx status code is an error. Response headers are in either
 26926  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 26927  // returned at all) in error.(*googleapi.Error).Header. Use
 26928  // googleapi.IsNotModified to check whether the returned error was
 26929  // because http.StatusNotModified was returned.
 26930  func (c *CreativeFieldValuesPatchCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 26931  	gensupport.SetOptions(c.urlParams_, opts...)
 26932  	res, err := c.doRequest("json")
 26933  	if res != nil && res.StatusCode == http.StatusNotModified {
 26934  		if res.Body != nil {
 26935  			res.Body.Close()
 26936  		}
 26937  		return nil, &googleapi.Error{
 26938  			Code:   res.StatusCode,
 26939  			Header: res.Header,
 26940  		}
 26941  	}
 26942  	if err != nil {
 26943  		return nil, err
 26944  	}
 26945  	defer googleapi.CloseBody(res)
 26946  	if err := googleapi.CheckResponse(res); err != nil {
 26947  		return nil, err
 26948  	}
 26949  	ret := &CreativeFieldValue{
 26950  		ServerResponse: googleapi.ServerResponse{
 26951  			Header:         res.Header,
 26952  			HTTPStatusCode: res.StatusCode,
 26953  		},
 26954  	}
 26955  	target := &ret
 26956  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26957  		return nil, err
 26958  	}
 26959  	return ret, nil
 26960  	// {
 26961  	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
 26962  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 26963  	//   "httpMethod": "PATCH",
 26964  	//   "id": "dfareporting.creativeFieldValues.patch",
 26965  	//   "parameterOrder": [
 26966  	//     "profileId",
 26967  	//     "creativeFieldId",
 26968  	//     "id"
 26969  	//   ],
 26970  	//   "parameters": {
 26971  	//     "creativeFieldId": {
 26972  	//       "description": "CreativeField ID.",
 26973  	//       "format": "int64",
 26974  	//       "location": "path",
 26975  	//       "required": true,
 26976  	//       "type": "string"
 26977  	//     },
 26978  	//     "id": {
 26979  	//       "description": "CreativeFieldValue ID.",
 26980  	//       "format": "int64",
 26981  	//       "location": "query",
 26982  	//       "required": true,
 26983  	//       "type": "string"
 26984  	//     },
 26985  	//     "profileId": {
 26986  	//       "description": "User profile ID associated with this request.",
 26987  	//       "format": "int64",
 26988  	//       "location": "path",
 26989  	//       "required": true,
 26990  	//       "type": "string"
 26991  	//     }
 26992  	//   },
 26993  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 26994  	//   "request": {
 26995  	//     "$ref": "CreativeFieldValue"
 26996  	//   },
 26997  	//   "response": {
 26998  	//     "$ref": "CreativeFieldValue"
 26999  	//   },
 27000  	//   "scopes": [
 27001  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27002  	//   ]
 27003  	// }
 27004  
 27005  }
 27006  
 27007  // method id "dfareporting.creativeFieldValues.update":
 27008  
 27009  type CreativeFieldValuesUpdateCall struct {
 27010  	s                  *Service
 27011  	profileId          int64
 27012  	creativeFieldId    int64
 27013  	creativefieldvalue *CreativeFieldValue
 27014  	urlParams_         gensupport.URLParams
 27015  	ctx_               context.Context
 27016  	header_            http.Header
 27017  }
 27018  
 27019  // Update: Updates an existing creative field value.
 27020  //
 27021  // - creativeFieldId: Creative field ID for this creative field value.
 27022  // - profileId: User profile ID associated with this request.
 27023  func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
 27024  	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27025  	c.profileId = profileId
 27026  	c.creativeFieldId = creativeFieldId
 27027  	c.creativefieldvalue = creativefieldvalue
 27028  	return c
 27029  }
 27030  
 27031  // Fields allows partial responses to be retrieved. See
 27032  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27033  // for more information.
 27034  func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
 27035  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27036  	return c
 27037  }
 27038  
 27039  // Context sets the context to be used in this call's Do method. Any
 27040  // pending HTTP request will be aborted if the provided context is
 27041  // canceled.
 27042  func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
 27043  	c.ctx_ = ctx
 27044  	return c
 27045  }
 27046  
 27047  // Header returns an http.Header that can be modified by the caller to
 27048  // add HTTP headers to the request.
 27049  func (c *CreativeFieldValuesUpdateCall) Header() http.Header {
 27050  	if c.header_ == nil {
 27051  		c.header_ = make(http.Header)
 27052  	}
 27053  	return c.header_
 27054  }
 27055  
 27056  func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
 27057  	reqHeaders := make(http.Header)
 27058  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 27059  	for k, v := range c.header_ {
 27060  		reqHeaders[k] = v
 27061  	}
 27062  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27063  	var body io.Reader = nil
 27064  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 27065  	if err != nil {
 27066  		return nil, err
 27067  	}
 27068  	reqHeaders.Set("Content-Type", "application/json")
 27069  	c.urlParams_.Set("alt", alt)
 27070  	c.urlParams_.Set("prettyPrint", "false")
 27071  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 27072  	urls += "?" + c.urlParams_.Encode()
 27073  	req, err := http.NewRequest("PUT", urls, body)
 27074  	if err != nil {
 27075  		return nil, err
 27076  	}
 27077  	req.Header = reqHeaders
 27078  	googleapi.Expand(req.URL, map[string]string{
 27079  		"profileId":       strconv.FormatInt(c.profileId, 10),
 27080  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 27081  	})
 27082  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27083  }
 27084  
 27085  // Do executes the "dfareporting.creativeFieldValues.update" call.
 27086  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 27087  // non-2xx status code is an error. Response headers are in either
 27088  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 27089  // returned at all) in error.(*googleapi.Error).Header. Use
 27090  // googleapi.IsNotModified to check whether the returned error was
 27091  // because http.StatusNotModified was returned.
 27092  func (c *CreativeFieldValuesUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 27093  	gensupport.SetOptions(c.urlParams_, opts...)
 27094  	res, err := c.doRequest("json")
 27095  	if res != nil && res.StatusCode == http.StatusNotModified {
 27096  		if res.Body != nil {
 27097  			res.Body.Close()
 27098  		}
 27099  		return nil, &googleapi.Error{
 27100  			Code:   res.StatusCode,
 27101  			Header: res.Header,
 27102  		}
 27103  	}
 27104  	if err != nil {
 27105  		return nil, err
 27106  	}
 27107  	defer googleapi.CloseBody(res)
 27108  	if err := googleapi.CheckResponse(res); err != nil {
 27109  		return nil, err
 27110  	}
 27111  	ret := &CreativeFieldValue{
 27112  		ServerResponse: googleapi.ServerResponse{
 27113  			Header:         res.Header,
 27114  			HTTPStatusCode: res.StatusCode,
 27115  		},
 27116  	}
 27117  	target := &ret
 27118  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27119  		return nil, err
 27120  	}
 27121  	return ret, nil
 27122  	// {
 27123  	//   "description": "Updates an existing creative field value.",
 27124  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 27125  	//   "httpMethod": "PUT",
 27126  	//   "id": "dfareporting.creativeFieldValues.update",
 27127  	//   "parameterOrder": [
 27128  	//     "profileId",
 27129  	//     "creativeFieldId"
 27130  	//   ],
 27131  	//   "parameters": {
 27132  	//     "creativeFieldId": {
 27133  	//       "description": "Creative field ID for this creative field value.",
 27134  	//       "format": "int64",
 27135  	//       "location": "path",
 27136  	//       "required": true,
 27137  	//       "type": "string"
 27138  	//     },
 27139  	//     "profileId": {
 27140  	//       "description": "User profile ID associated with this request.",
 27141  	//       "format": "int64",
 27142  	//       "location": "path",
 27143  	//       "required": true,
 27144  	//       "type": "string"
 27145  	//     }
 27146  	//   },
 27147  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 27148  	//   "request": {
 27149  	//     "$ref": "CreativeFieldValue"
 27150  	//   },
 27151  	//   "response": {
 27152  	//     "$ref": "CreativeFieldValue"
 27153  	//   },
 27154  	//   "scopes": [
 27155  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27156  	//   ]
 27157  	// }
 27158  
 27159  }
 27160  
 27161  // method id "dfareporting.creativeFields.delete":
 27162  
 27163  type CreativeFieldsDeleteCall struct {
 27164  	s          *Service
 27165  	profileId  int64
 27166  	id         int64
 27167  	urlParams_ gensupport.URLParams
 27168  	ctx_       context.Context
 27169  	header_    http.Header
 27170  }
 27171  
 27172  // Delete: Deletes an existing creative field.
 27173  //
 27174  // - id: Creative Field ID.
 27175  // - profileId: User profile ID associated with this request.
 27176  func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
 27177  	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27178  	c.profileId = profileId
 27179  	c.id = id
 27180  	return c
 27181  }
 27182  
 27183  // Fields allows partial responses to be retrieved. See
 27184  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27185  // for more information.
 27186  func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
 27187  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27188  	return c
 27189  }
 27190  
 27191  // Context sets the context to be used in this call's Do method. Any
 27192  // pending HTTP request will be aborted if the provided context is
 27193  // canceled.
 27194  func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
 27195  	c.ctx_ = ctx
 27196  	return c
 27197  }
 27198  
 27199  // Header returns an http.Header that can be modified by the caller to
 27200  // add HTTP headers to the request.
 27201  func (c *CreativeFieldsDeleteCall) Header() http.Header {
 27202  	if c.header_ == nil {
 27203  		c.header_ = make(http.Header)
 27204  	}
 27205  	return c.header_
 27206  }
 27207  
 27208  func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
 27209  	reqHeaders := make(http.Header)
 27210  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 27211  	for k, v := range c.header_ {
 27212  		reqHeaders[k] = v
 27213  	}
 27214  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27215  	var body io.Reader = nil
 27216  	c.urlParams_.Set("alt", alt)
 27217  	c.urlParams_.Set("prettyPrint", "false")
 27218  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
 27219  	urls += "?" + c.urlParams_.Encode()
 27220  	req, err := http.NewRequest("DELETE", urls, body)
 27221  	if err != nil {
 27222  		return nil, err
 27223  	}
 27224  	req.Header = reqHeaders
 27225  	googleapi.Expand(req.URL, map[string]string{
 27226  		"profileId": strconv.FormatInt(c.profileId, 10),
 27227  		"id":        strconv.FormatInt(c.id, 10),
 27228  	})
 27229  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27230  }
 27231  
 27232  // Do executes the "dfareporting.creativeFields.delete" call.
 27233  func (c *CreativeFieldsDeleteCall) Do(opts ...googleapi.CallOption) error {
 27234  	gensupport.SetOptions(c.urlParams_, opts...)
 27235  	res, err := c.doRequest("json")
 27236  	if err != nil {
 27237  		return err
 27238  	}
 27239  	defer googleapi.CloseBody(res)
 27240  	if err := googleapi.CheckResponse(res); err != nil {
 27241  		return err
 27242  	}
 27243  	return nil
 27244  	// {
 27245  	//   "description": "Deletes an existing creative field.",
 27246  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
 27247  	//   "httpMethod": "DELETE",
 27248  	//   "id": "dfareporting.creativeFields.delete",
 27249  	//   "parameterOrder": [
 27250  	//     "profileId",
 27251  	//     "id"
 27252  	//   ],
 27253  	//   "parameters": {
 27254  	//     "id": {
 27255  	//       "description": "Creative Field ID",
 27256  	//       "format": "int64",
 27257  	//       "location": "path",
 27258  	//       "required": true,
 27259  	//       "type": "string"
 27260  	//     },
 27261  	//     "profileId": {
 27262  	//       "description": "User profile ID associated with this request.",
 27263  	//       "format": "int64",
 27264  	//       "location": "path",
 27265  	//       "required": true,
 27266  	//       "type": "string"
 27267  	//     }
 27268  	//   },
 27269  	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
 27270  	//   "scopes": [
 27271  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27272  	//   ]
 27273  	// }
 27274  
 27275  }
 27276  
 27277  // method id "dfareporting.creativeFields.get":
 27278  
 27279  type CreativeFieldsGetCall struct {
 27280  	s            *Service
 27281  	profileId    int64
 27282  	id           int64
 27283  	urlParams_   gensupport.URLParams
 27284  	ifNoneMatch_ string
 27285  	ctx_         context.Context
 27286  	header_      http.Header
 27287  }
 27288  
 27289  // Get: Gets one creative field by ID.
 27290  //
 27291  // - id: Creative Field ID.
 27292  // - profileId: User profile ID associated with this request.
 27293  func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
 27294  	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27295  	c.profileId = profileId
 27296  	c.id = id
 27297  	return c
 27298  }
 27299  
 27300  // Fields allows partial responses to be retrieved. See
 27301  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27302  // for more information.
 27303  func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
 27304  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27305  	return c
 27306  }
 27307  
 27308  // IfNoneMatch sets the optional parameter which makes the operation
 27309  // fail if the object's ETag matches the given value. This is useful for
 27310  // getting updates only after the object has changed since the last
 27311  // request. Use googleapi.IsNotModified to check whether the response
 27312  // error from Do is the result of In-None-Match.
 27313  func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
 27314  	c.ifNoneMatch_ = entityTag
 27315  	return c
 27316  }
 27317  
 27318  // Context sets the context to be used in this call's Do method. Any
 27319  // pending HTTP request will be aborted if the provided context is
 27320  // canceled.
 27321  func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
 27322  	c.ctx_ = ctx
 27323  	return c
 27324  }
 27325  
 27326  // Header returns an http.Header that can be modified by the caller to
 27327  // add HTTP headers to the request.
 27328  func (c *CreativeFieldsGetCall) Header() http.Header {
 27329  	if c.header_ == nil {
 27330  		c.header_ = make(http.Header)
 27331  	}
 27332  	return c.header_
 27333  }
 27334  
 27335  func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
 27336  	reqHeaders := make(http.Header)
 27337  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 27338  	for k, v := range c.header_ {
 27339  		reqHeaders[k] = v
 27340  	}
 27341  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27342  	if c.ifNoneMatch_ != "" {
 27343  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27344  	}
 27345  	var body io.Reader = nil
 27346  	c.urlParams_.Set("alt", alt)
 27347  	c.urlParams_.Set("prettyPrint", "false")
 27348  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
 27349  	urls += "?" + c.urlParams_.Encode()
 27350  	req, err := http.NewRequest("GET", urls, body)
 27351  	if err != nil {
 27352  		return nil, err
 27353  	}
 27354  	req.Header = reqHeaders
 27355  	googleapi.Expand(req.URL, map[string]string{
 27356  		"profileId": strconv.FormatInt(c.profileId, 10),
 27357  		"id":        strconv.FormatInt(c.id, 10),
 27358  	})
 27359  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27360  }
 27361  
 27362  // Do executes the "dfareporting.creativeFields.get" call.
 27363  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 27364  // status code is an error. Response headers are in either
 27365  // *CreativeField.ServerResponse.Header or (if a response was returned
 27366  // at all) in error.(*googleapi.Error).Header. Use
 27367  // googleapi.IsNotModified to check whether the returned error was
 27368  // because http.StatusNotModified was returned.
 27369  func (c *CreativeFieldsGetCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 27370  	gensupport.SetOptions(c.urlParams_, opts...)
 27371  	res, err := c.doRequest("json")
 27372  	if res != nil && res.StatusCode == http.StatusNotModified {
 27373  		if res.Body != nil {
 27374  			res.Body.Close()
 27375  		}
 27376  		return nil, &googleapi.Error{
 27377  			Code:   res.StatusCode,
 27378  			Header: res.Header,
 27379  		}
 27380  	}
 27381  	if err != nil {
 27382  		return nil, err
 27383  	}
 27384  	defer googleapi.CloseBody(res)
 27385  	if err := googleapi.CheckResponse(res); err != nil {
 27386  		return nil, err
 27387  	}
 27388  	ret := &CreativeField{
 27389  		ServerResponse: googleapi.ServerResponse{
 27390  			Header:         res.Header,
 27391  			HTTPStatusCode: res.StatusCode,
 27392  		},
 27393  	}
 27394  	target := &ret
 27395  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27396  		return nil, err
 27397  	}
 27398  	return ret, nil
 27399  	// {
 27400  	//   "description": "Gets one creative field by ID.",
 27401  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
 27402  	//   "httpMethod": "GET",
 27403  	//   "id": "dfareporting.creativeFields.get",
 27404  	//   "parameterOrder": [
 27405  	//     "profileId",
 27406  	//     "id"
 27407  	//   ],
 27408  	//   "parameters": {
 27409  	//     "id": {
 27410  	//       "description": "Creative Field ID",
 27411  	//       "format": "int64",
 27412  	//       "location": "path",
 27413  	//       "required": true,
 27414  	//       "type": "string"
 27415  	//     },
 27416  	//     "profileId": {
 27417  	//       "description": "User profile ID associated with this request.",
 27418  	//       "format": "int64",
 27419  	//       "location": "path",
 27420  	//       "required": true,
 27421  	//       "type": "string"
 27422  	//     }
 27423  	//   },
 27424  	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
 27425  	//   "response": {
 27426  	//     "$ref": "CreativeField"
 27427  	//   },
 27428  	//   "scopes": [
 27429  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27430  	//   ]
 27431  	// }
 27432  
 27433  }
 27434  
 27435  // method id "dfareporting.creativeFields.insert":
 27436  
 27437  type CreativeFieldsInsertCall struct {
 27438  	s             *Service
 27439  	profileId     int64
 27440  	creativefield *CreativeField
 27441  	urlParams_    gensupport.URLParams
 27442  	ctx_          context.Context
 27443  	header_       http.Header
 27444  }
 27445  
 27446  // Insert: Inserts a new creative field.
 27447  //
 27448  // - profileId: User profile ID associated with this request.
 27449  func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
 27450  	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27451  	c.profileId = profileId
 27452  	c.creativefield = creativefield
 27453  	return c
 27454  }
 27455  
 27456  // Fields allows partial responses to be retrieved. See
 27457  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27458  // for more information.
 27459  func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
 27460  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27461  	return c
 27462  }
 27463  
 27464  // Context sets the context to be used in this call's Do method. Any
 27465  // pending HTTP request will be aborted if the provided context is
 27466  // canceled.
 27467  func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
 27468  	c.ctx_ = ctx
 27469  	return c
 27470  }
 27471  
 27472  // Header returns an http.Header that can be modified by the caller to
 27473  // add HTTP headers to the request.
 27474  func (c *CreativeFieldsInsertCall) Header() http.Header {
 27475  	if c.header_ == nil {
 27476  		c.header_ = make(http.Header)
 27477  	}
 27478  	return c.header_
 27479  }
 27480  
 27481  func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
 27482  	reqHeaders := make(http.Header)
 27483  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 27484  	for k, v := range c.header_ {
 27485  		reqHeaders[k] = v
 27486  	}
 27487  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27488  	var body io.Reader = nil
 27489  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 27490  	if err != nil {
 27491  		return nil, err
 27492  	}
 27493  	reqHeaders.Set("Content-Type", "application/json")
 27494  	c.urlParams_.Set("alt", alt)
 27495  	c.urlParams_.Set("prettyPrint", "false")
 27496  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 27497  	urls += "?" + c.urlParams_.Encode()
 27498  	req, err := http.NewRequest("POST", urls, body)
 27499  	if err != nil {
 27500  		return nil, err
 27501  	}
 27502  	req.Header = reqHeaders
 27503  	googleapi.Expand(req.URL, map[string]string{
 27504  		"profileId": strconv.FormatInt(c.profileId, 10),
 27505  	})
 27506  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27507  }
 27508  
 27509  // Do executes the "dfareporting.creativeFields.insert" call.
 27510  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 27511  // status code is an error. Response headers are in either
 27512  // *CreativeField.ServerResponse.Header or (if a response was returned
 27513  // at all) in error.(*googleapi.Error).Header. Use
 27514  // googleapi.IsNotModified to check whether the returned error was
 27515  // because http.StatusNotModified was returned.
 27516  func (c *CreativeFieldsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 27517  	gensupport.SetOptions(c.urlParams_, opts...)
 27518  	res, err := c.doRequest("json")
 27519  	if res != nil && res.StatusCode == http.StatusNotModified {
 27520  		if res.Body != nil {
 27521  			res.Body.Close()
 27522  		}
 27523  		return nil, &googleapi.Error{
 27524  			Code:   res.StatusCode,
 27525  			Header: res.Header,
 27526  		}
 27527  	}
 27528  	if err != nil {
 27529  		return nil, err
 27530  	}
 27531  	defer googleapi.CloseBody(res)
 27532  	if err := googleapi.CheckResponse(res); err != nil {
 27533  		return nil, err
 27534  	}
 27535  	ret := &CreativeField{
 27536  		ServerResponse: googleapi.ServerResponse{
 27537  			Header:         res.Header,
 27538  			HTTPStatusCode: res.StatusCode,
 27539  		},
 27540  	}
 27541  	target := &ret
 27542  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27543  		return nil, err
 27544  	}
 27545  	return ret, nil
 27546  	// {
 27547  	//   "description": "Inserts a new creative field.",
 27548  	//   "flatPath": "userprofiles/{profileId}/creativeFields",
 27549  	//   "httpMethod": "POST",
 27550  	//   "id": "dfareporting.creativeFields.insert",
 27551  	//   "parameterOrder": [
 27552  	//     "profileId"
 27553  	//   ],
 27554  	//   "parameters": {
 27555  	//     "profileId": {
 27556  	//       "description": "User profile ID associated with this request.",
 27557  	//       "format": "int64",
 27558  	//       "location": "path",
 27559  	//       "required": true,
 27560  	//       "type": "string"
 27561  	//     }
 27562  	//   },
 27563  	//   "path": "userprofiles/{profileId}/creativeFields",
 27564  	//   "request": {
 27565  	//     "$ref": "CreativeField"
 27566  	//   },
 27567  	//   "response": {
 27568  	//     "$ref": "CreativeField"
 27569  	//   },
 27570  	//   "scopes": [
 27571  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27572  	//   ]
 27573  	// }
 27574  
 27575  }
 27576  
 27577  // method id "dfareporting.creativeFields.list":
 27578  
 27579  type CreativeFieldsListCall struct {
 27580  	s            *Service
 27581  	profileId    int64
 27582  	urlParams_   gensupport.URLParams
 27583  	ifNoneMatch_ string
 27584  	ctx_         context.Context
 27585  	header_      http.Header
 27586  }
 27587  
 27588  // List: Retrieves a list of creative fields, possibly filtered. This
 27589  // method supports paging.
 27590  //
 27591  // - profileId: User profile ID associated with this request.
 27592  func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
 27593  	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27594  	c.profileId = profileId
 27595  	return c
 27596  }
 27597  
 27598  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 27599  // only creative fields that belong to these advertisers.
 27600  func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeFieldsListCall {
 27601  	var advertiserIds_ []string
 27602  	for _, v := range advertiserIds {
 27603  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 27604  	}
 27605  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 27606  	return c
 27607  }
 27608  
 27609  // Ids sets the optional parameter "ids": Select only creative fields
 27610  // with these IDs.
 27611  func (c *CreativeFieldsListCall) Ids(ids ...int64) *CreativeFieldsListCall {
 27612  	var ids_ []string
 27613  	for _, v := range ids {
 27614  		ids_ = append(ids_, fmt.Sprint(v))
 27615  	}
 27616  	c.urlParams_.SetMulti("ids", ids_)
 27617  	return c
 27618  }
 27619  
 27620  // MaxResults sets the optional parameter "maxResults": Maximum number
 27621  // of results to return.
 27622  func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
 27623  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 27624  	return c
 27625  }
 27626  
 27627  // PageToken sets the optional parameter "pageToken": Value of the
 27628  // nextPageToken from the previous result page.
 27629  func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
 27630  	c.urlParams_.Set("pageToken", pageToken)
 27631  	return c
 27632  }
 27633  
 27634  // SearchString sets the optional parameter "searchString": Allows
 27635  // searching for creative fields by name or ID. Wildcards (*) are
 27636  // allowed. For example, "creativefield*2015" will return creative
 27637  // fields with names like "creativefield June 2015", "creativefield
 27638  // April 2015", or simply "creativefield 2015". Most of the searches
 27639  // also add wild-cards implicitly at the start and the end of the search
 27640  // string. For example, a search string of "creativefield" will match
 27641  // creative fields with the name "my creativefield", "creativefield
 27642  // 2015", or simply "creativefield".
 27643  func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
 27644  	c.urlParams_.Set("searchString", searchString)
 27645  	return c
 27646  }
 27647  
 27648  // SortField sets the optional parameter "sortField": Field by which to
 27649  // sort the list.
 27650  //
 27651  // Possible values:
 27652  //
 27653  //	"ID" (default)
 27654  //	"NAME"
 27655  func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
 27656  	c.urlParams_.Set("sortField", sortField)
 27657  	return c
 27658  }
 27659  
 27660  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 27661  // results.
 27662  //
 27663  // Possible values:
 27664  //
 27665  //	"ASCENDING" (default)
 27666  //	"DESCENDING"
 27667  func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
 27668  	c.urlParams_.Set("sortOrder", sortOrder)
 27669  	return c
 27670  }
 27671  
 27672  // Fields allows partial responses to be retrieved. See
 27673  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27674  // for more information.
 27675  func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
 27676  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27677  	return c
 27678  }
 27679  
 27680  // IfNoneMatch sets the optional parameter which makes the operation
 27681  // fail if the object's ETag matches the given value. This is useful for
 27682  // getting updates only after the object has changed since the last
 27683  // request. Use googleapi.IsNotModified to check whether the response
 27684  // error from Do is the result of In-None-Match.
 27685  func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
 27686  	c.ifNoneMatch_ = entityTag
 27687  	return c
 27688  }
 27689  
 27690  // Context sets the context to be used in this call's Do method. Any
 27691  // pending HTTP request will be aborted if the provided context is
 27692  // canceled.
 27693  func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
 27694  	c.ctx_ = ctx
 27695  	return c
 27696  }
 27697  
 27698  // Header returns an http.Header that can be modified by the caller to
 27699  // add HTTP headers to the request.
 27700  func (c *CreativeFieldsListCall) Header() http.Header {
 27701  	if c.header_ == nil {
 27702  		c.header_ = make(http.Header)
 27703  	}
 27704  	return c.header_
 27705  }
 27706  
 27707  func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
 27708  	reqHeaders := make(http.Header)
 27709  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 27710  	for k, v := range c.header_ {
 27711  		reqHeaders[k] = v
 27712  	}
 27713  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27714  	if c.ifNoneMatch_ != "" {
 27715  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27716  	}
 27717  	var body io.Reader = nil
 27718  	c.urlParams_.Set("alt", alt)
 27719  	c.urlParams_.Set("prettyPrint", "false")
 27720  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 27721  	urls += "?" + c.urlParams_.Encode()
 27722  	req, err := http.NewRequest("GET", urls, body)
 27723  	if err != nil {
 27724  		return nil, err
 27725  	}
 27726  	req.Header = reqHeaders
 27727  	googleapi.Expand(req.URL, map[string]string{
 27728  		"profileId": strconv.FormatInt(c.profileId, 10),
 27729  	})
 27730  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27731  }
 27732  
 27733  // Do executes the "dfareporting.creativeFields.list" call.
 27734  // Exactly one of *CreativeFieldsListResponse or error will be non-nil.
 27735  // Any non-2xx status code is an error. Response headers are in either
 27736  // *CreativeFieldsListResponse.ServerResponse.Header or (if a response
 27737  // was returned at all) in error.(*googleapi.Error).Header. Use
 27738  // googleapi.IsNotModified to check whether the returned error was
 27739  // because http.StatusNotModified was returned.
 27740  func (c *CreativeFieldsListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldsListResponse, error) {
 27741  	gensupport.SetOptions(c.urlParams_, opts...)
 27742  	res, err := c.doRequest("json")
 27743  	if res != nil && res.StatusCode == http.StatusNotModified {
 27744  		if res.Body != nil {
 27745  			res.Body.Close()
 27746  		}
 27747  		return nil, &googleapi.Error{
 27748  			Code:   res.StatusCode,
 27749  			Header: res.Header,
 27750  		}
 27751  	}
 27752  	if err != nil {
 27753  		return nil, err
 27754  	}
 27755  	defer googleapi.CloseBody(res)
 27756  	if err := googleapi.CheckResponse(res); err != nil {
 27757  		return nil, err
 27758  	}
 27759  	ret := &CreativeFieldsListResponse{
 27760  		ServerResponse: googleapi.ServerResponse{
 27761  			Header:         res.Header,
 27762  			HTTPStatusCode: res.StatusCode,
 27763  		},
 27764  	}
 27765  	target := &ret
 27766  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27767  		return nil, err
 27768  	}
 27769  	return ret, nil
 27770  	// {
 27771  	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
 27772  	//   "flatPath": "userprofiles/{profileId}/creativeFields",
 27773  	//   "httpMethod": "GET",
 27774  	//   "id": "dfareporting.creativeFields.list",
 27775  	//   "parameterOrder": [
 27776  	//     "profileId"
 27777  	//   ],
 27778  	//   "parameters": {
 27779  	//     "advertiserIds": {
 27780  	//       "description": "Select only creative fields that belong to these advertisers.",
 27781  	//       "format": "int64",
 27782  	//       "location": "query",
 27783  	//       "repeated": true,
 27784  	//       "type": "string"
 27785  	//     },
 27786  	//     "ids": {
 27787  	//       "description": "Select only creative fields with these IDs.",
 27788  	//       "format": "int64",
 27789  	//       "location": "query",
 27790  	//       "repeated": true,
 27791  	//       "type": "string"
 27792  	//     },
 27793  	//     "maxResults": {
 27794  	//       "default": "1000",
 27795  	//       "description": "Maximum number of results to return.",
 27796  	//       "format": "int32",
 27797  	//       "location": "query",
 27798  	//       "maximum": "1000",
 27799  	//       "minimum": "0",
 27800  	//       "type": "integer"
 27801  	//     },
 27802  	//     "pageToken": {
 27803  	//       "description": "Value of the nextPageToken from the previous result page.",
 27804  	//       "location": "query",
 27805  	//       "type": "string"
 27806  	//     },
 27807  	//     "profileId": {
 27808  	//       "description": "User profile ID associated with this request.",
 27809  	//       "format": "int64",
 27810  	//       "location": "path",
 27811  	//       "required": true,
 27812  	//       "type": "string"
 27813  	//     },
 27814  	//     "searchString": {
 27815  	//       "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\".",
 27816  	//       "location": "query",
 27817  	//       "type": "string"
 27818  	//     },
 27819  	//     "sortField": {
 27820  	//       "default": "ID",
 27821  	//       "description": "Field by which to sort the list.",
 27822  	//       "enum": [
 27823  	//         "ID",
 27824  	//         "NAME"
 27825  	//       ],
 27826  	//       "enumDescriptions": [
 27827  	//         "",
 27828  	//         ""
 27829  	//       ],
 27830  	//       "location": "query",
 27831  	//       "type": "string"
 27832  	//     },
 27833  	//     "sortOrder": {
 27834  	//       "default": "ASCENDING",
 27835  	//       "description": "Order of sorted results.",
 27836  	//       "enum": [
 27837  	//         "ASCENDING",
 27838  	//         "DESCENDING"
 27839  	//       ],
 27840  	//       "enumDescriptions": [
 27841  	//         "",
 27842  	//         ""
 27843  	//       ],
 27844  	//       "location": "query",
 27845  	//       "type": "string"
 27846  	//     }
 27847  	//   },
 27848  	//   "path": "userprofiles/{profileId}/creativeFields",
 27849  	//   "response": {
 27850  	//     "$ref": "CreativeFieldsListResponse"
 27851  	//   },
 27852  	//   "scopes": [
 27853  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27854  	//   ]
 27855  	// }
 27856  
 27857  }
 27858  
 27859  // Pages invokes f for each page of results.
 27860  // A non-nil error returned from f will halt the iteration.
 27861  // The provided context supersedes any context provided to the Context method.
 27862  func (c *CreativeFieldsListCall) Pages(ctx context.Context, f func(*CreativeFieldsListResponse) error) error {
 27863  	c.ctx_ = ctx
 27864  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 27865  	for {
 27866  		x, err := c.Do()
 27867  		if err != nil {
 27868  			return err
 27869  		}
 27870  		if err := f(x); err != nil {
 27871  			return err
 27872  		}
 27873  		if x.NextPageToken == "" {
 27874  			return nil
 27875  		}
 27876  		c.PageToken(x.NextPageToken)
 27877  	}
 27878  }
 27879  
 27880  // method id "dfareporting.creativeFields.patch":
 27881  
 27882  type CreativeFieldsPatchCall struct {
 27883  	s             *Service
 27884  	profileId     int64
 27885  	creativefield *CreativeField
 27886  	urlParams_    gensupport.URLParams
 27887  	ctx_          context.Context
 27888  	header_       http.Header
 27889  }
 27890  
 27891  // Patch: Updates an existing creative field. This method supports patch
 27892  // semantics.
 27893  //
 27894  // - id: CreativeField ID.
 27895  // - profileId: User profile ID associated with this request.
 27896  func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
 27897  	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27898  	c.profileId = profileId
 27899  	c.urlParams_.Set("id", fmt.Sprint(id))
 27900  	c.creativefield = creativefield
 27901  	return c
 27902  }
 27903  
 27904  // Fields allows partial responses to be retrieved. See
 27905  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27906  // for more information.
 27907  func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
 27908  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27909  	return c
 27910  }
 27911  
 27912  // Context sets the context to be used in this call's Do method. Any
 27913  // pending HTTP request will be aborted if the provided context is
 27914  // canceled.
 27915  func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
 27916  	c.ctx_ = ctx
 27917  	return c
 27918  }
 27919  
 27920  // Header returns an http.Header that can be modified by the caller to
 27921  // add HTTP headers to the request.
 27922  func (c *CreativeFieldsPatchCall) Header() http.Header {
 27923  	if c.header_ == nil {
 27924  		c.header_ = make(http.Header)
 27925  	}
 27926  	return c.header_
 27927  }
 27928  
 27929  func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
 27930  	reqHeaders := make(http.Header)
 27931  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 27932  	for k, v := range c.header_ {
 27933  		reqHeaders[k] = v
 27934  	}
 27935  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27936  	var body io.Reader = nil
 27937  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 27938  	if err != nil {
 27939  		return nil, err
 27940  	}
 27941  	reqHeaders.Set("Content-Type", "application/json")
 27942  	c.urlParams_.Set("alt", alt)
 27943  	c.urlParams_.Set("prettyPrint", "false")
 27944  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 27945  	urls += "?" + c.urlParams_.Encode()
 27946  	req, err := http.NewRequest("PATCH", urls, body)
 27947  	if err != nil {
 27948  		return nil, err
 27949  	}
 27950  	req.Header = reqHeaders
 27951  	googleapi.Expand(req.URL, map[string]string{
 27952  		"profileId": strconv.FormatInt(c.profileId, 10),
 27953  	})
 27954  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27955  }
 27956  
 27957  // Do executes the "dfareporting.creativeFields.patch" call.
 27958  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 27959  // status code is an error. Response headers are in either
 27960  // *CreativeField.ServerResponse.Header or (if a response was returned
 27961  // at all) in error.(*googleapi.Error).Header. Use
 27962  // googleapi.IsNotModified to check whether the returned error was
 27963  // because http.StatusNotModified was returned.
 27964  func (c *CreativeFieldsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 27965  	gensupport.SetOptions(c.urlParams_, opts...)
 27966  	res, err := c.doRequest("json")
 27967  	if res != nil && res.StatusCode == http.StatusNotModified {
 27968  		if res.Body != nil {
 27969  			res.Body.Close()
 27970  		}
 27971  		return nil, &googleapi.Error{
 27972  			Code:   res.StatusCode,
 27973  			Header: res.Header,
 27974  		}
 27975  	}
 27976  	if err != nil {
 27977  		return nil, err
 27978  	}
 27979  	defer googleapi.CloseBody(res)
 27980  	if err := googleapi.CheckResponse(res); err != nil {
 27981  		return nil, err
 27982  	}
 27983  	ret := &CreativeField{
 27984  		ServerResponse: googleapi.ServerResponse{
 27985  			Header:         res.Header,
 27986  			HTTPStatusCode: res.StatusCode,
 27987  		},
 27988  	}
 27989  	target := &ret
 27990  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27991  		return nil, err
 27992  	}
 27993  	return ret, nil
 27994  	// {
 27995  	//   "description": "Updates an existing creative field. This method supports patch semantics.",
 27996  	//   "flatPath": "userprofiles/{profileId}/creativeFields",
 27997  	//   "httpMethod": "PATCH",
 27998  	//   "id": "dfareporting.creativeFields.patch",
 27999  	//   "parameterOrder": [
 28000  	//     "profileId",
 28001  	//     "id"
 28002  	//   ],
 28003  	//   "parameters": {
 28004  	//     "id": {
 28005  	//       "description": "CreativeField ID.",
 28006  	//       "format": "int64",
 28007  	//       "location": "query",
 28008  	//       "required": true,
 28009  	//       "type": "string"
 28010  	//     },
 28011  	//     "profileId": {
 28012  	//       "description": "User profile ID associated with this request.",
 28013  	//       "format": "int64",
 28014  	//       "location": "path",
 28015  	//       "required": true,
 28016  	//       "type": "string"
 28017  	//     }
 28018  	//   },
 28019  	//   "path": "userprofiles/{profileId}/creativeFields",
 28020  	//   "request": {
 28021  	//     "$ref": "CreativeField"
 28022  	//   },
 28023  	//   "response": {
 28024  	//     "$ref": "CreativeField"
 28025  	//   },
 28026  	//   "scopes": [
 28027  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28028  	//   ]
 28029  	// }
 28030  
 28031  }
 28032  
 28033  // method id "dfareporting.creativeFields.update":
 28034  
 28035  type CreativeFieldsUpdateCall struct {
 28036  	s             *Service
 28037  	profileId     int64
 28038  	creativefield *CreativeField
 28039  	urlParams_    gensupport.URLParams
 28040  	ctx_          context.Context
 28041  	header_       http.Header
 28042  }
 28043  
 28044  // Update: Updates an existing creative field.
 28045  //
 28046  // - profileId: User profile ID associated with this request.
 28047  func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
 28048  	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28049  	c.profileId = profileId
 28050  	c.creativefield = creativefield
 28051  	return c
 28052  }
 28053  
 28054  // Fields allows partial responses to be retrieved. See
 28055  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28056  // for more information.
 28057  func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
 28058  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28059  	return c
 28060  }
 28061  
 28062  // Context sets the context to be used in this call's Do method. Any
 28063  // pending HTTP request will be aborted if the provided context is
 28064  // canceled.
 28065  func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
 28066  	c.ctx_ = ctx
 28067  	return c
 28068  }
 28069  
 28070  // Header returns an http.Header that can be modified by the caller to
 28071  // add HTTP headers to the request.
 28072  func (c *CreativeFieldsUpdateCall) Header() http.Header {
 28073  	if c.header_ == nil {
 28074  		c.header_ = make(http.Header)
 28075  	}
 28076  	return c.header_
 28077  }
 28078  
 28079  func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
 28080  	reqHeaders := make(http.Header)
 28081  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 28082  	for k, v := range c.header_ {
 28083  		reqHeaders[k] = v
 28084  	}
 28085  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28086  	var body io.Reader = nil
 28087  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 28088  	if err != nil {
 28089  		return nil, err
 28090  	}
 28091  	reqHeaders.Set("Content-Type", "application/json")
 28092  	c.urlParams_.Set("alt", alt)
 28093  	c.urlParams_.Set("prettyPrint", "false")
 28094  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 28095  	urls += "?" + c.urlParams_.Encode()
 28096  	req, err := http.NewRequest("PUT", urls, body)
 28097  	if err != nil {
 28098  		return nil, err
 28099  	}
 28100  	req.Header = reqHeaders
 28101  	googleapi.Expand(req.URL, map[string]string{
 28102  		"profileId": strconv.FormatInt(c.profileId, 10),
 28103  	})
 28104  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28105  }
 28106  
 28107  // Do executes the "dfareporting.creativeFields.update" call.
 28108  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 28109  // status code is an error. Response headers are in either
 28110  // *CreativeField.ServerResponse.Header or (if a response was returned
 28111  // at all) in error.(*googleapi.Error).Header. Use
 28112  // googleapi.IsNotModified to check whether the returned error was
 28113  // because http.StatusNotModified was returned.
 28114  func (c *CreativeFieldsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 28115  	gensupport.SetOptions(c.urlParams_, opts...)
 28116  	res, err := c.doRequest("json")
 28117  	if res != nil && res.StatusCode == http.StatusNotModified {
 28118  		if res.Body != nil {
 28119  			res.Body.Close()
 28120  		}
 28121  		return nil, &googleapi.Error{
 28122  			Code:   res.StatusCode,
 28123  			Header: res.Header,
 28124  		}
 28125  	}
 28126  	if err != nil {
 28127  		return nil, err
 28128  	}
 28129  	defer googleapi.CloseBody(res)
 28130  	if err := googleapi.CheckResponse(res); err != nil {
 28131  		return nil, err
 28132  	}
 28133  	ret := &CreativeField{
 28134  		ServerResponse: googleapi.ServerResponse{
 28135  			Header:         res.Header,
 28136  			HTTPStatusCode: res.StatusCode,
 28137  		},
 28138  	}
 28139  	target := &ret
 28140  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28141  		return nil, err
 28142  	}
 28143  	return ret, nil
 28144  	// {
 28145  	//   "description": "Updates an existing creative field.",
 28146  	//   "flatPath": "userprofiles/{profileId}/creativeFields",
 28147  	//   "httpMethod": "PUT",
 28148  	//   "id": "dfareporting.creativeFields.update",
 28149  	//   "parameterOrder": [
 28150  	//     "profileId"
 28151  	//   ],
 28152  	//   "parameters": {
 28153  	//     "profileId": {
 28154  	//       "description": "User profile ID associated with this request.",
 28155  	//       "format": "int64",
 28156  	//       "location": "path",
 28157  	//       "required": true,
 28158  	//       "type": "string"
 28159  	//     }
 28160  	//   },
 28161  	//   "path": "userprofiles/{profileId}/creativeFields",
 28162  	//   "request": {
 28163  	//     "$ref": "CreativeField"
 28164  	//   },
 28165  	//   "response": {
 28166  	//     "$ref": "CreativeField"
 28167  	//   },
 28168  	//   "scopes": [
 28169  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28170  	//   ]
 28171  	// }
 28172  
 28173  }
 28174  
 28175  // method id "dfareporting.creativeGroups.get":
 28176  
 28177  type CreativeGroupsGetCall struct {
 28178  	s            *Service
 28179  	profileId    int64
 28180  	id           int64
 28181  	urlParams_   gensupport.URLParams
 28182  	ifNoneMatch_ string
 28183  	ctx_         context.Context
 28184  	header_      http.Header
 28185  }
 28186  
 28187  // Get: Gets one creative group by ID.
 28188  //
 28189  // - id: Creative group ID.
 28190  // - profileId: User profile ID associated with this request.
 28191  func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
 28192  	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28193  	c.profileId = profileId
 28194  	c.id = id
 28195  	return c
 28196  }
 28197  
 28198  // Fields allows partial responses to be retrieved. See
 28199  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28200  // for more information.
 28201  func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
 28202  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28203  	return c
 28204  }
 28205  
 28206  // IfNoneMatch sets the optional parameter which makes the operation
 28207  // fail if the object's ETag matches the given value. This is useful for
 28208  // getting updates only after the object has changed since the last
 28209  // request. Use googleapi.IsNotModified to check whether the response
 28210  // error from Do is the result of In-None-Match.
 28211  func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
 28212  	c.ifNoneMatch_ = entityTag
 28213  	return c
 28214  }
 28215  
 28216  // Context sets the context to be used in this call's Do method. Any
 28217  // pending HTTP request will be aborted if the provided context is
 28218  // canceled.
 28219  func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
 28220  	c.ctx_ = ctx
 28221  	return c
 28222  }
 28223  
 28224  // Header returns an http.Header that can be modified by the caller to
 28225  // add HTTP headers to the request.
 28226  func (c *CreativeGroupsGetCall) Header() http.Header {
 28227  	if c.header_ == nil {
 28228  		c.header_ = make(http.Header)
 28229  	}
 28230  	return c.header_
 28231  }
 28232  
 28233  func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 28234  	reqHeaders := make(http.Header)
 28235  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 28236  	for k, v := range c.header_ {
 28237  		reqHeaders[k] = v
 28238  	}
 28239  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28240  	if c.ifNoneMatch_ != "" {
 28241  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28242  	}
 28243  	var body io.Reader = nil
 28244  	c.urlParams_.Set("alt", alt)
 28245  	c.urlParams_.Set("prettyPrint", "false")
 28246  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
 28247  	urls += "?" + c.urlParams_.Encode()
 28248  	req, err := http.NewRequest("GET", urls, body)
 28249  	if err != nil {
 28250  		return nil, err
 28251  	}
 28252  	req.Header = reqHeaders
 28253  	googleapi.Expand(req.URL, map[string]string{
 28254  		"profileId": strconv.FormatInt(c.profileId, 10),
 28255  		"id":        strconv.FormatInt(c.id, 10),
 28256  	})
 28257  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28258  }
 28259  
 28260  // Do executes the "dfareporting.creativeGroups.get" call.
 28261  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 28262  // status code is an error. Response headers are in either
 28263  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 28264  // at all) in error.(*googleapi.Error).Header. Use
 28265  // googleapi.IsNotModified to check whether the returned error was
 28266  // because http.StatusNotModified was returned.
 28267  func (c *CreativeGroupsGetCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 28268  	gensupport.SetOptions(c.urlParams_, opts...)
 28269  	res, err := c.doRequest("json")
 28270  	if res != nil && res.StatusCode == http.StatusNotModified {
 28271  		if res.Body != nil {
 28272  			res.Body.Close()
 28273  		}
 28274  		return nil, &googleapi.Error{
 28275  			Code:   res.StatusCode,
 28276  			Header: res.Header,
 28277  		}
 28278  	}
 28279  	if err != nil {
 28280  		return nil, err
 28281  	}
 28282  	defer googleapi.CloseBody(res)
 28283  	if err := googleapi.CheckResponse(res); err != nil {
 28284  		return nil, err
 28285  	}
 28286  	ret := &CreativeGroup{
 28287  		ServerResponse: googleapi.ServerResponse{
 28288  			Header:         res.Header,
 28289  			HTTPStatusCode: res.StatusCode,
 28290  		},
 28291  	}
 28292  	target := &ret
 28293  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28294  		return nil, err
 28295  	}
 28296  	return ret, nil
 28297  	// {
 28298  	//   "description": "Gets one creative group by ID.",
 28299  	//   "flatPath": "userprofiles/{profileId}/creativeGroups/{id}",
 28300  	//   "httpMethod": "GET",
 28301  	//   "id": "dfareporting.creativeGroups.get",
 28302  	//   "parameterOrder": [
 28303  	//     "profileId",
 28304  	//     "id"
 28305  	//   ],
 28306  	//   "parameters": {
 28307  	//     "id": {
 28308  	//       "description": "Creative group ID.",
 28309  	//       "format": "int64",
 28310  	//       "location": "path",
 28311  	//       "required": true,
 28312  	//       "type": "string"
 28313  	//     },
 28314  	//     "profileId": {
 28315  	//       "description": "User profile ID associated with this request.",
 28316  	//       "format": "int64",
 28317  	//       "location": "path",
 28318  	//       "required": true,
 28319  	//       "type": "string"
 28320  	//     }
 28321  	//   },
 28322  	//   "path": "userprofiles/{profileId}/creativeGroups/{id}",
 28323  	//   "response": {
 28324  	//     "$ref": "CreativeGroup"
 28325  	//   },
 28326  	//   "scopes": [
 28327  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28328  	//   ]
 28329  	// }
 28330  
 28331  }
 28332  
 28333  // method id "dfareporting.creativeGroups.insert":
 28334  
 28335  type CreativeGroupsInsertCall struct {
 28336  	s             *Service
 28337  	profileId     int64
 28338  	creativegroup *CreativeGroup
 28339  	urlParams_    gensupport.URLParams
 28340  	ctx_          context.Context
 28341  	header_       http.Header
 28342  }
 28343  
 28344  // Insert: Inserts a new creative group.
 28345  //
 28346  // - profileId: User profile ID associated with this request.
 28347  func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
 28348  	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28349  	c.profileId = profileId
 28350  	c.creativegroup = creativegroup
 28351  	return c
 28352  }
 28353  
 28354  // Fields allows partial responses to be retrieved. See
 28355  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28356  // for more information.
 28357  func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
 28358  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28359  	return c
 28360  }
 28361  
 28362  // Context sets the context to be used in this call's Do method. Any
 28363  // pending HTTP request will be aborted if the provided context is
 28364  // canceled.
 28365  func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
 28366  	c.ctx_ = ctx
 28367  	return c
 28368  }
 28369  
 28370  // Header returns an http.Header that can be modified by the caller to
 28371  // add HTTP headers to the request.
 28372  func (c *CreativeGroupsInsertCall) Header() http.Header {
 28373  	if c.header_ == nil {
 28374  		c.header_ = make(http.Header)
 28375  	}
 28376  	return c.header_
 28377  }
 28378  
 28379  func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 28380  	reqHeaders := make(http.Header)
 28381  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 28382  	for k, v := range c.header_ {
 28383  		reqHeaders[k] = v
 28384  	}
 28385  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28386  	var body io.Reader = nil
 28387  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 28388  	if err != nil {
 28389  		return nil, err
 28390  	}
 28391  	reqHeaders.Set("Content-Type", "application/json")
 28392  	c.urlParams_.Set("alt", alt)
 28393  	c.urlParams_.Set("prettyPrint", "false")
 28394  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 28395  	urls += "?" + c.urlParams_.Encode()
 28396  	req, err := http.NewRequest("POST", urls, body)
 28397  	if err != nil {
 28398  		return nil, err
 28399  	}
 28400  	req.Header = reqHeaders
 28401  	googleapi.Expand(req.URL, map[string]string{
 28402  		"profileId": strconv.FormatInt(c.profileId, 10),
 28403  	})
 28404  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28405  }
 28406  
 28407  // Do executes the "dfareporting.creativeGroups.insert" call.
 28408  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 28409  // status code is an error. Response headers are in either
 28410  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 28411  // at all) in error.(*googleapi.Error).Header. Use
 28412  // googleapi.IsNotModified to check whether the returned error was
 28413  // because http.StatusNotModified was returned.
 28414  func (c *CreativeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 28415  	gensupport.SetOptions(c.urlParams_, opts...)
 28416  	res, err := c.doRequest("json")
 28417  	if res != nil && res.StatusCode == http.StatusNotModified {
 28418  		if res.Body != nil {
 28419  			res.Body.Close()
 28420  		}
 28421  		return nil, &googleapi.Error{
 28422  			Code:   res.StatusCode,
 28423  			Header: res.Header,
 28424  		}
 28425  	}
 28426  	if err != nil {
 28427  		return nil, err
 28428  	}
 28429  	defer googleapi.CloseBody(res)
 28430  	if err := googleapi.CheckResponse(res); err != nil {
 28431  		return nil, err
 28432  	}
 28433  	ret := &CreativeGroup{
 28434  		ServerResponse: googleapi.ServerResponse{
 28435  			Header:         res.Header,
 28436  			HTTPStatusCode: res.StatusCode,
 28437  		},
 28438  	}
 28439  	target := &ret
 28440  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28441  		return nil, err
 28442  	}
 28443  	return ret, nil
 28444  	// {
 28445  	//   "description": "Inserts a new creative group.",
 28446  	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
 28447  	//   "httpMethod": "POST",
 28448  	//   "id": "dfareporting.creativeGroups.insert",
 28449  	//   "parameterOrder": [
 28450  	//     "profileId"
 28451  	//   ],
 28452  	//   "parameters": {
 28453  	//     "profileId": {
 28454  	//       "description": "User profile ID associated with this request.",
 28455  	//       "format": "int64",
 28456  	//       "location": "path",
 28457  	//       "required": true,
 28458  	//       "type": "string"
 28459  	//     }
 28460  	//   },
 28461  	//   "path": "userprofiles/{profileId}/creativeGroups",
 28462  	//   "request": {
 28463  	//     "$ref": "CreativeGroup"
 28464  	//   },
 28465  	//   "response": {
 28466  	//     "$ref": "CreativeGroup"
 28467  	//   },
 28468  	//   "scopes": [
 28469  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28470  	//   ]
 28471  	// }
 28472  
 28473  }
 28474  
 28475  // method id "dfareporting.creativeGroups.list":
 28476  
 28477  type CreativeGroupsListCall struct {
 28478  	s            *Service
 28479  	profileId    int64
 28480  	urlParams_   gensupport.URLParams
 28481  	ifNoneMatch_ string
 28482  	ctx_         context.Context
 28483  	header_      http.Header
 28484  }
 28485  
 28486  // List: Retrieves a list of creative groups, possibly filtered. This
 28487  // method supports paging.
 28488  //
 28489  // - profileId: User profile ID associated with this request.
 28490  func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
 28491  	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28492  	c.profileId = profileId
 28493  	return c
 28494  }
 28495  
 28496  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 28497  // only creative groups that belong to these advertisers.
 28498  func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeGroupsListCall {
 28499  	var advertiserIds_ []string
 28500  	for _, v := range advertiserIds {
 28501  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 28502  	}
 28503  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 28504  	return c
 28505  }
 28506  
 28507  // GroupNumber sets the optional parameter "groupNumber": Select only
 28508  // creative groups that belong to this subgroup.
 28509  func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
 28510  	c.urlParams_.Set("groupNumber", fmt.Sprint(groupNumber))
 28511  	return c
 28512  }
 28513  
 28514  // Ids sets the optional parameter "ids": Select only creative groups
 28515  // with these IDs.
 28516  func (c *CreativeGroupsListCall) Ids(ids ...int64) *CreativeGroupsListCall {
 28517  	var ids_ []string
 28518  	for _, v := range ids {
 28519  		ids_ = append(ids_, fmt.Sprint(v))
 28520  	}
 28521  	c.urlParams_.SetMulti("ids", ids_)
 28522  	return c
 28523  }
 28524  
 28525  // MaxResults sets the optional parameter "maxResults": Maximum number
 28526  // of results to return.
 28527  func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
 28528  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 28529  	return c
 28530  }
 28531  
 28532  // PageToken sets the optional parameter "pageToken": Value of the
 28533  // nextPageToken from the previous result page.
 28534  func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
 28535  	c.urlParams_.Set("pageToken", pageToken)
 28536  	return c
 28537  }
 28538  
 28539  // SearchString sets the optional parameter "searchString": Allows
 28540  // searching for creative groups by name or ID. Wildcards (*) are
 28541  // allowed. For example, "creativegroup*2015" will return creative
 28542  // groups with names like "creativegroup June 2015", "creativegroup
 28543  // April 2015", or simply "creativegroup 2015". Most of the searches
 28544  // also add wild-cards implicitly at the start and the end of the search
 28545  // string. For example, a search string of "creativegroup" will match
 28546  // creative groups with the name "my creativegroup", "creativegroup
 28547  // 2015", or simply "creativegroup".
 28548  func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
 28549  	c.urlParams_.Set("searchString", searchString)
 28550  	return c
 28551  }
 28552  
 28553  // SortField sets the optional parameter "sortField": Field by which to
 28554  // sort the list.
 28555  //
 28556  // Possible values:
 28557  //
 28558  //	"ID" (default)
 28559  //	"NAME"
 28560  func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
 28561  	c.urlParams_.Set("sortField", sortField)
 28562  	return c
 28563  }
 28564  
 28565  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 28566  // results.
 28567  //
 28568  // Possible values:
 28569  //
 28570  //	"ASCENDING" (default)
 28571  //	"DESCENDING"
 28572  func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
 28573  	c.urlParams_.Set("sortOrder", sortOrder)
 28574  	return c
 28575  }
 28576  
 28577  // Fields allows partial responses to be retrieved. See
 28578  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28579  // for more information.
 28580  func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
 28581  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28582  	return c
 28583  }
 28584  
 28585  // IfNoneMatch sets the optional parameter which makes the operation
 28586  // fail if the object's ETag matches the given value. This is useful for
 28587  // getting updates only after the object has changed since the last
 28588  // request. Use googleapi.IsNotModified to check whether the response
 28589  // error from Do is the result of In-None-Match.
 28590  func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
 28591  	c.ifNoneMatch_ = entityTag
 28592  	return c
 28593  }
 28594  
 28595  // Context sets the context to be used in this call's Do method. Any
 28596  // pending HTTP request will be aborted if the provided context is
 28597  // canceled.
 28598  func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
 28599  	c.ctx_ = ctx
 28600  	return c
 28601  }
 28602  
 28603  // Header returns an http.Header that can be modified by the caller to
 28604  // add HTTP headers to the request.
 28605  func (c *CreativeGroupsListCall) Header() http.Header {
 28606  	if c.header_ == nil {
 28607  		c.header_ = make(http.Header)
 28608  	}
 28609  	return c.header_
 28610  }
 28611  
 28612  func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 28613  	reqHeaders := make(http.Header)
 28614  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 28615  	for k, v := range c.header_ {
 28616  		reqHeaders[k] = v
 28617  	}
 28618  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28619  	if c.ifNoneMatch_ != "" {
 28620  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28621  	}
 28622  	var body io.Reader = nil
 28623  	c.urlParams_.Set("alt", alt)
 28624  	c.urlParams_.Set("prettyPrint", "false")
 28625  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 28626  	urls += "?" + c.urlParams_.Encode()
 28627  	req, err := http.NewRequest("GET", urls, body)
 28628  	if err != nil {
 28629  		return nil, err
 28630  	}
 28631  	req.Header = reqHeaders
 28632  	googleapi.Expand(req.URL, map[string]string{
 28633  		"profileId": strconv.FormatInt(c.profileId, 10),
 28634  	})
 28635  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28636  }
 28637  
 28638  // Do executes the "dfareporting.creativeGroups.list" call.
 28639  // Exactly one of *CreativeGroupsListResponse or error will be non-nil.
 28640  // Any non-2xx status code is an error. Response headers are in either
 28641  // *CreativeGroupsListResponse.ServerResponse.Header or (if a response
 28642  // was returned at all) in error.(*googleapi.Error).Header. Use
 28643  // googleapi.IsNotModified to check whether the returned error was
 28644  // because http.StatusNotModified was returned.
 28645  func (c *CreativeGroupsListCall) Do(opts ...googleapi.CallOption) (*CreativeGroupsListResponse, error) {
 28646  	gensupport.SetOptions(c.urlParams_, opts...)
 28647  	res, err := c.doRequest("json")
 28648  	if res != nil && res.StatusCode == http.StatusNotModified {
 28649  		if res.Body != nil {
 28650  			res.Body.Close()
 28651  		}
 28652  		return nil, &googleapi.Error{
 28653  			Code:   res.StatusCode,
 28654  			Header: res.Header,
 28655  		}
 28656  	}
 28657  	if err != nil {
 28658  		return nil, err
 28659  	}
 28660  	defer googleapi.CloseBody(res)
 28661  	if err := googleapi.CheckResponse(res); err != nil {
 28662  		return nil, err
 28663  	}
 28664  	ret := &CreativeGroupsListResponse{
 28665  		ServerResponse: googleapi.ServerResponse{
 28666  			Header:         res.Header,
 28667  			HTTPStatusCode: res.StatusCode,
 28668  		},
 28669  	}
 28670  	target := &ret
 28671  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28672  		return nil, err
 28673  	}
 28674  	return ret, nil
 28675  	// {
 28676  	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
 28677  	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
 28678  	//   "httpMethod": "GET",
 28679  	//   "id": "dfareporting.creativeGroups.list",
 28680  	//   "parameterOrder": [
 28681  	//     "profileId"
 28682  	//   ],
 28683  	//   "parameters": {
 28684  	//     "advertiserIds": {
 28685  	//       "description": "Select only creative groups that belong to these advertisers.",
 28686  	//       "format": "int64",
 28687  	//       "location": "query",
 28688  	//       "repeated": true,
 28689  	//       "type": "string"
 28690  	//     },
 28691  	//     "groupNumber": {
 28692  	//       "description": "Select only creative groups that belong to this subgroup.",
 28693  	//       "format": "int32",
 28694  	//       "location": "query",
 28695  	//       "maximum": "2",
 28696  	//       "minimum": "1",
 28697  	//       "type": "integer"
 28698  	//     },
 28699  	//     "ids": {
 28700  	//       "description": "Select only creative groups with these IDs.",
 28701  	//       "format": "int64",
 28702  	//       "location": "query",
 28703  	//       "repeated": true,
 28704  	//       "type": "string"
 28705  	//     },
 28706  	//     "maxResults": {
 28707  	//       "default": "1000",
 28708  	//       "description": "Maximum number of results to return.",
 28709  	//       "format": "int32",
 28710  	//       "location": "query",
 28711  	//       "maximum": "1000",
 28712  	//       "minimum": "0",
 28713  	//       "type": "integer"
 28714  	//     },
 28715  	//     "pageToken": {
 28716  	//       "description": "Value of the nextPageToken from the previous result page.",
 28717  	//       "location": "query",
 28718  	//       "type": "string"
 28719  	//     },
 28720  	//     "profileId": {
 28721  	//       "description": "User profile ID associated with this request.",
 28722  	//       "format": "int64",
 28723  	//       "location": "path",
 28724  	//       "required": true,
 28725  	//       "type": "string"
 28726  	//     },
 28727  	//     "searchString": {
 28728  	//       "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\".",
 28729  	//       "location": "query",
 28730  	//       "type": "string"
 28731  	//     },
 28732  	//     "sortField": {
 28733  	//       "default": "ID",
 28734  	//       "description": "Field by which to sort the list.",
 28735  	//       "enum": [
 28736  	//         "ID",
 28737  	//         "NAME"
 28738  	//       ],
 28739  	//       "enumDescriptions": [
 28740  	//         "",
 28741  	//         ""
 28742  	//       ],
 28743  	//       "location": "query",
 28744  	//       "type": "string"
 28745  	//     },
 28746  	//     "sortOrder": {
 28747  	//       "default": "ASCENDING",
 28748  	//       "description": "Order of sorted results.",
 28749  	//       "enum": [
 28750  	//         "ASCENDING",
 28751  	//         "DESCENDING"
 28752  	//       ],
 28753  	//       "enumDescriptions": [
 28754  	//         "",
 28755  	//         ""
 28756  	//       ],
 28757  	//       "location": "query",
 28758  	//       "type": "string"
 28759  	//     }
 28760  	//   },
 28761  	//   "path": "userprofiles/{profileId}/creativeGroups",
 28762  	//   "response": {
 28763  	//     "$ref": "CreativeGroupsListResponse"
 28764  	//   },
 28765  	//   "scopes": [
 28766  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28767  	//   ]
 28768  	// }
 28769  
 28770  }
 28771  
 28772  // Pages invokes f for each page of results.
 28773  // A non-nil error returned from f will halt the iteration.
 28774  // The provided context supersedes any context provided to the Context method.
 28775  func (c *CreativeGroupsListCall) Pages(ctx context.Context, f func(*CreativeGroupsListResponse) error) error {
 28776  	c.ctx_ = ctx
 28777  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 28778  	for {
 28779  		x, err := c.Do()
 28780  		if err != nil {
 28781  			return err
 28782  		}
 28783  		if err := f(x); err != nil {
 28784  			return err
 28785  		}
 28786  		if x.NextPageToken == "" {
 28787  			return nil
 28788  		}
 28789  		c.PageToken(x.NextPageToken)
 28790  	}
 28791  }
 28792  
 28793  // method id "dfareporting.creativeGroups.patch":
 28794  
 28795  type CreativeGroupsPatchCall struct {
 28796  	s             *Service
 28797  	profileId     int64
 28798  	creativegroup *CreativeGroup
 28799  	urlParams_    gensupport.URLParams
 28800  	ctx_          context.Context
 28801  	header_       http.Header
 28802  }
 28803  
 28804  // Patch: Updates an existing creative group. This method supports patch
 28805  // semantics.
 28806  //
 28807  // - id: CreativeGroup ID.
 28808  // - profileId: User profile ID associated with this request.
 28809  func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
 28810  	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28811  	c.profileId = profileId
 28812  	c.urlParams_.Set("id", fmt.Sprint(id))
 28813  	c.creativegroup = creativegroup
 28814  	return c
 28815  }
 28816  
 28817  // Fields allows partial responses to be retrieved. See
 28818  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28819  // for more information.
 28820  func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
 28821  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28822  	return c
 28823  }
 28824  
 28825  // Context sets the context to be used in this call's Do method. Any
 28826  // pending HTTP request will be aborted if the provided context is
 28827  // canceled.
 28828  func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
 28829  	c.ctx_ = ctx
 28830  	return c
 28831  }
 28832  
 28833  // Header returns an http.Header that can be modified by the caller to
 28834  // add HTTP headers to the request.
 28835  func (c *CreativeGroupsPatchCall) Header() http.Header {
 28836  	if c.header_ == nil {
 28837  		c.header_ = make(http.Header)
 28838  	}
 28839  	return c.header_
 28840  }
 28841  
 28842  func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 28843  	reqHeaders := make(http.Header)
 28844  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 28845  	for k, v := range c.header_ {
 28846  		reqHeaders[k] = v
 28847  	}
 28848  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28849  	var body io.Reader = nil
 28850  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 28851  	if err != nil {
 28852  		return nil, err
 28853  	}
 28854  	reqHeaders.Set("Content-Type", "application/json")
 28855  	c.urlParams_.Set("alt", alt)
 28856  	c.urlParams_.Set("prettyPrint", "false")
 28857  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 28858  	urls += "?" + c.urlParams_.Encode()
 28859  	req, err := http.NewRequest("PATCH", urls, body)
 28860  	if err != nil {
 28861  		return nil, err
 28862  	}
 28863  	req.Header = reqHeaders
 28864  	googleapi.Expand(req.URL, map[string]string{
 28865  		"profileId": strconv.FormatInt(c.profileId, 10),
 28866  	})
 28867  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28868  }
 28869  
 28870  // Do executes the "dfareporting.creativeGroups.patch" call.
 28871  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 28872  // status code is an error. Response headers are in either
 28873  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 28874  // at all) in error.(*googleapi.Error).Header. Use
 28875  // googleapi.IsNotModified to check whether the returned error was
 28876  // because http.StatusNotModified was returned.
 28877  func (c *CreativeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 28878  	gensupport.SetOptions(c.urlParams_, opts...)
 28879  	res, err := c.doRequest("json")
 28880  	if res != nil && res.StatusCode == http.StatusNotModified {
 28881  		if res.Body != nil {
 28882  			res.Body.Close()
 28883  		}
 28884  		return nil, &googleapi.Error{
 28885  			Code:   res.StatusCode,
 28886  			Header: res.Header,
 28887  		}
 28888  	}
 28889  	if err != nil {
 28890  		return nil, err
 28891  	}
 28892  	defer googleapi.CloseBody(res)
 28893  	if err := googleapi.CheckResponse(res); err != nil {
 28894  		return nil, err
 28895  	}
 28896  	ret := &CreativeGroup{
 28897  		ServerResponse: googleapi.ServerResponse{
 28898  			Header:         res.Header,
 28899  			HTTPStatusCode: res.StatusCode,
 28900  		},
 28901  	}
 28902  	target := &ret
 28903  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28904  		return nil, err
 28905  	}
 28906  	return ret, nil
 28907  	// {
 28908  	//   "description": "Updates an existing creative group. This method supports patch semantics.",
 28909  	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
 28910  	//   "httpMethod": "PATCH",
 28911  	//   "id": "dfareporting.creativeGroups.patch",
 28912  	//   "parameterOrder": [
 28913  	//     "profileId",
 28914  	//     "id"
 28915  	//   ],
 28916  	//   "parameters": {
 28917  	//     "id": {
 28918  	//       "description": "CreativeGroup ID.",
 28919  	//       "format": "int64",
 28920  	//       "location": "query",
 28921  	//       "required": true,
 28922  	//       "type": "string"
 28923  	//     },
 28924  	//     "profileId": {
 28925  	//       "description": "User profile ID associated with this request.",
 28926  	//       "format": "int64",
 28927  	//       "location": "path",
 28928  	//       "required": true,
 28929  	//       "type": "string"
 28930  	//     }
 28931  	//   },
 28932  	//   "path": "userprofiles/{profileId}/creativeGroups",
 28933  	//   "request": {
 28934  	//     "$ref": "CreativeGroup"
 28935  	//   },
 28936  	//   "response": {
 28937  	//     "$ref": "CreativeGroup"
 28938  	//   },
 28939  	//   "scopes": [
 28940  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28941  	//   ]
 28942  	// }
 28943  
 28944  }
 28945  
 28946  // method id "dfareporting.creativeGroups.update":
 28947  
 28948  type CreativeGroupsUpdateCall struct {
 28949  	s             *Service
 28950  	profileId     int64
 28951  	creativegroup *CreativeGroup
 28952  	urlParams_    gensupport.URLParams
 28953  	ctx_          context.Context
 28954  	header_       http.Header
 28955  }
 28956  
 28957  // Update: Updates an existing creative group.
 28958  //
 28959  // - profileId: User profile ID associated with this request.
 28960  func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
 28961  	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28962  	c.profileId = profileId
 28963  	c.creativegroup = creativegroup
 28964  	return c
 28965  }
 28966  
 28967  // Fields allows partial responses to be retrieved. See
 28968  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28969  // for more information.
 28970  func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
 28971  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28972  	return c
 28973  }
 28974  
 28975  // Context sets the context to be used in this call's Do method. Any
 28976  // pending HTTP request will be aborted if the provided context is
 28977  // canceled.
 28978  func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
 28979  	c.ctx_ = ctx
 28980  	return c
 28981  }
 28982  
 28983  // Header returns an http.Header that can be modified by the caller to
 28984  // add HTTP headers to the request.
 28985  func (c *CreativeGroupsUpdateCall) Header() http.Header {
 28986  	if c.header_ == nil {
 28987  		c.header_ = make(http.Header)
 28988  	}
 28989  	return c.header_
 28990  }
 28991  
 28992  func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 28993  	reqHeaders := make(http.Header)
 28994  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 28995  	for k, v := range c.header_ {
 28996  		reqHeaders[k] = v
 28997  	}
 28998  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28999  	var body io.Reader = nil
 29000  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 29001  	if err != nil {
 29002  		return nil, err
 29003  	}
 29004  	reqHeaders.Set("Content-Type", "application/json")
 29005  	c.urlParams_.Set("alt", alt)
 29006  	c.urlParams_.Set("prettyPrint", "false")
 29007  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 29008  	urls += "?" + c.urlParams_.Encode()
 29009  	req, err := http.NewRequest("PUT", urls, body)
 29010  	if err != nil {
 29011  		return nil, err
 29012  	}
 29013  	req.Header = reqHeaders
 29014  	googleapi.Expand(req.URL, map[string]string{
 29015  		"profileId": strconv.FormatInt(c.profileId, 10),
 29016  	})
 29017  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29018  }
 29019  
 29020  // Do executes the "dfareporting.creativeGroups.update" call.
 29021  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 29022  // status code is an error. Response headers are in either
 29023  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 29024  // at all) in error.(*googleapi.Error).Header. Use
 29025  // googleapi.IsNotModified to check whether the returned error was
 29026  // because http.StatusNotModified was returned.
 29027  func (c *CreativeGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 29028  	gensupport.SetOptions(c.urlParams_, opts...)
 29029  	res, err := c.doRequest("json")
 29030  	if res != nil && res.StatusCode == http.StatusNotModified {
 29031  		if res.Body != nil {
 29032  			res.Body.Close()
 29033  		}
 29034  		return nil, &googleapi.Error{
 29035  			Code:   res.StatusCode,
 29036  			Header: res.Header,
 29037  		}
 29038  	}
 29039  	if err != nil {
 29040  		return nil, err
 29041  	}
 29042  	defer googleapi.CloseBody(res)
 29043  	if err := googleapi.CheckResponse(res); err != nil {
 29044  		return nil, err
 29045  	}
 29046  	ret := &CreativeGroup{
 29047  		ServerResponse: googleapi.ServerResponse{
 29048  			Header:         res.Header,
 29049  			HTTPStatusCode: res.StatusCode,
 29050  		},
 29051  	}
 29052  	target := &ret
 29053  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29054  		return nil, err
 29055  	}
 29056  	return ret, nil
 29057  	// {
 29058  	//   "description": "Updates an existing creative group.",
 29059  	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
 29060  	//   "httpMethod": "PUT",
 29061  	//   "id": "dfareporting.creativeGroups.update",
 29062  	//   "parameterOrder": [
 29063  	//     "profileId"
 29064  	//   ],
 29065  	//   "parameters": {
 29066  	//     "profileId": {
 29067  	//       "description": "User profile ID associated with this request.",
 29068  	//       "format": "int64",
 29069  	//       "location": "path",
 29070  	//       "required": true,
 29071  	//       "type": "string"
 29072  	//     }
 29073  	//   },
 29074  	//   "path": "userprofiles/{profileId}/creativeGroups",
 29075  	//   "request": {
 29076  	//     "$ref": "CreativeGroup"
 29077  	//   },
 29078  	//   "response": {
 29079  	//     "$ref": "CreativeGroup"
 29080  	//   },
 29081  	//   "scopes": [
 29082  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29083  	//   ]
 29084  	// }
 29085  
 29086  }
 29087  
 29088  // method id "dfareporting.creatives.get":
 29089  
 29090  type CreativesGetCall struct {
 29091  	s            *Service
 29092  	profileId    int64
 29093  	id           int64
 29094  	urlParams_   gensupport.URLParams
 29095  	ifNoneMatch_ string
 29096  	ctx_         context.Context
 29097  	header_      http.Header
 29098  }
 29099  
 29100  // Get: Gets one creative by ID.
 29101  //
 29102  // - id: Creative ID.
 29103  // - profileId: User profile ID associated with this request.
 29104  func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
 29105  	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29106  	c.profileId = profileId
 29107  	c.id = id
 29108  	return c
 29109  }
 29110  
 29111  // Fields allows partial responses to be retrieved. See
 29112  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29113  // for more information.
 29114  func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
 29115  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29116  	return c
 29117  }
 29118  
 29119  // IfNoneMatch sets the optional parameter which makes the operation
 29120  // fail if the object's ETag matches the given value. This is useful for
 29121  // getting updates only after the object has changed since the last
 29122  // request. Use googleapi.IsNotModified to check whether the response
 29123  // error from Do is the result of In-None-Match.
 29124  func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
 29125  	c.ifNoneMatch_ = entityTag
 29126  	return c
 29127  }
 29128  
 29129  // Context sets the context to be used in this call's Do method. Any
 29130  // pending HTTP request will be aborted if the provided context is
 29131  // canceled.
 29132  func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
 29133  	c.ctx_ = ctx
 29134  	return c
 29135  }
 29136  
 29137  // Header returns an http.Header that can be modified by the caller to
 29138  // add HTTP headers to the request.
 29139  func (c *CreativesGetCall) Header() http.Header {
 29140  	if c.header_ == nil {
 29141  		c.header_ = make(http.Header)
 29142  	}
 29143  	return c.header_
 29144  }
 29145  
 29146  func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 29147  	reqHeaders := make(http.Header)
 29148  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 29149  	for k, v := range c.header_ {
 29150  		reqHeaders[k] = v
 29151  	}
 29152  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29153  	if c.ifNoneMatch_ != "" {
 29154  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29155  	}
 29156  	var body io.Reader = nil
 29157  	c.urlParams_.Set("alt", alt)
 29158  	c.urlParams_.Set("prettyPrint", "false")
 29159  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
 29160  	urls += "?" + c.urlParams_.Encode()
 29161  	req, err := http.NewRequest("GET", urls, body)
 29162  	if err != nil {
 29163  		return nil, err
 29164  	}
 29165  	req.Header = reqHeaders
 29166  	googleapi.Expand(req.URL, map[string]string{
 29167  		"profileId": strconv.FormatInt(c.profileId, 10),
 29168  		"id":        strconv.FormatInt(c.id, 10),
 29169  	})
 29170  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29171  }
 29172  
 29173  // Do executes the "dfareporting.creatives.get" call.
 29174  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 29175  // code is an error. Response headers are in either
 29176  // *Creative.ServerResponse.Header or (if a response was returned at
 29177  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 29178  // to check whether the returned error was because
 29179  // http.StatusNotModified was returned.
 29180  func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 29181  	gensupport.SetOptions(c.urlParams_, opts...)
 29182  	res, err := c.doRequest("json")
 29183  	if res != nil && res.StatusCode == http.StatusNotModified {
 29184  		if res.Body != nil {
 29185  			res.Body.Close()
 29186  		}
 29187  		return nil, &googleapi.Error{
 29188  			Code:   res.StatusCode,
 29189  			Header: res.Header,
 29190  		}
 29191  	}
 29192  	if err != nil {
 29193  		return nil, err
 29194  	}
 29195  	defer googleapi.CloseBody(res)
 29196  	if err := googleapi.CheckResponse(res); err != nil {
 29197  		return nil, err
 29198  	}
 29199  	ret := &Creative{
 29200  		ServerResponse: googleapi.ServerResponse{
 29201  			Header:         res.Header,
 29202  			HTTPStatusCode: res.StatusCode,
 29203  		},
 29204  	}
 29205  	target := &ret
 29206  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29207  		return nil, err
 29208  	}
 29209  	return ret, nil
 29210  	// {
 29211  	//   "description": "Gets one creative by ID.",
 29212  	//   "flatPath": "userprofiles/{profileId}/creatives/{id}",
 29213  	//   "httpMethod": "GET",
 29214  	//   "id": "dfareporting.creatives.get",
 29215  	//   "parameterOrder": [
 29216  	//     "profileId",
 29217  	//     "id"
 29218  	//   ],
 29219  	//   "parameters": {
 29220  	//     "id": {
 29221  	//       "description": "Creative ID.",
 29222  	//       "format": "int64",
 29223  	//       "location": "path",
 29224  	//       "required": true,
 29225  	//       "type": "string"
 29226  	//     },
 29227  	//     "profileId": {
 29228  	//       "description": "User profile ID associated with this request.",
 29229  	//       "format": "int64",
 29230  	//       "location": "path",
 29231  	//       "required": true,
 29232  	//       "type": "string"
 29233  	//     }
 29234  	//   },
 29235  	//   "path": "userprofiles/{profileId}/creatives/{id}",
 29236  	//   "response": {
 29237  	//     "$ref": "Creative"
 29238  	//   },
 29239  	//   "scopes": [
 29240  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29241  	//   ]
 29242  	// }
 29243  
 29244  }
 29245  
 29246  // method id "dfareporting.creatives.insert":
 29247  
 29248  type CreativesInsertCall struct {
 29249  	s          *Service
 29250  	profileId  int64
 29251  	creative   *Creative
 29252  	urlParams_ gensupport.URLParams
 29253  	ctx_       context.Context
 29254  	header_    http.Header
 29255  }
 29256  
 29257  // Insert: Inserts a new creative.
 29258  //
 29259  // - profileId: User profile ID associated with this request.
 29260  func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
 29261  	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29262  	c.profileId = profileId
 29263  	c.creative = creative
 29264  	return c
 29265  }
 29266  
 29267  // Fields allows partial responses to be retrieved. See
 29268  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29269  // for more information.
 29270  func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
 29271  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29272  	return c
 29273  }
 29274  
 29275  // Context sets the context to be used in this call's Do method. Any
 29276  // pending HTTP request will be aborted if the provided context is
 29277  // canceled.
 29278  func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
 29279  	c.ctx_ = ctx
 29280  	return c
 29281  }
 29282  
 29283  // Header returns an http.Header that can be modified by the caller to
 29284  // add HTTP headers to the request.
 29285  func (c *CreativesInsertCall) Header() http.Header {
 29286  	if c.header_ == nil {
 29287  		c.header_ = make(http.Header)
 29288  	}
 29289  	return c.header_
 29290  }
 29291  
 29292  func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
 29293  	reqHeaders := make(http.Header)
 29294  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 29295  	for k, v := range c.header_ {
 29296  		reqHeaders[k] = v
 29297  	}
 29298  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29299  	var body io.Reader = nil
 29300  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 29301  	if err != nil {
 29302  		return nil, err
 29303  	}
 29304  	reqHeaders.Set("Content-Type", "application/json")
 29305  	c.urlParams_.Set("alt", alt)
 29306  	c.urlParams_.Set("prettyPrint", "false")
 29307  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 29308  	urls += "?" + c.urlParams_.Encode()
 29309  	req, err := http.NewRequest("POST", urls, body)
 29310  	if err != nil {
 29311  		return nil, err
 29312  	}
 29313  	req.Header = reqHeaders
 29314  	googleapi.Expand(req.URL, map[string]string{
 29315  		"profileId": strconv.FormatInt(c.profileId, 10),
 29316  	})
 29317  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29318  }
 29319  
 29320  // Do executes the "dfareporting.creatives.insert" call.
 29321  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 29322  // code is an error. Response headers are in either
 29323  // *Creative.ServerResponse.Header or (if a response was returned at
 29324  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 29325  // to check whether the returned error was because
 29326  // http.StatusNotModified was returned.
 29327  func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 29328  	gensupport.SetOptions(c.urlParams_, opts...)
 29329  	res, err := c.doRequest("json")
 29330  	if res != nil && res.StatusCode == http.StatusNotModified {
 29331  		if res.Body != nil {
 29332  			res.Body.Close()
 29333  		}
 29334  		return nil, &googleapi.Error{
 29335  			Code:   res.StatusCode,
 29336  			Header: res.Header,
 29337  		}
 29338  	}
 29339  	if err != nil {
 29340  		return nil, err
 29341  	}
 29342  	defer googleapi.CloseBody(res)
 29343  	if err := googleapi.CheckResponse(res); err != nil {
 29344  		return nil, err
 29345  	}
 29346  	ret := &Creative{
 29347  		ServerResponse: googleapi.ServerResponse{
 29348  			Header:         res.Header,
 29349  			HTTPStatusCode: res.StatusCode,
 29350  		},
 29351  	}
 29352  	target := &ret
 29353  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29354  		return nil, err
 29355  	}
 29356  	return ret, nil
 29357  	// {
 29358  	//   "description": "Inserts a new creative.",
 29359  	//   "flatPath": "userprofiles/{profileId}/creatives",
 29360  	//   "httpMethod": "POST",
 29361  	//   "id": "dfareporting.creatives.insert",
 29362  	//   "parameterOrder": [
 29363  	//     "profileId"
 29364  	//   ],
 29365  	//   "parameters": {
 29366  	//     "profileId": {
 29367  	//       "description": "User profile ID associated with this request.",
 29368  	//       "format": "int64",
 29369  	//       "location": "path",
 29370  	//       "required": true,
 29371  	//       "type": "string"
 29372  	//     }
 29373  	//   },
 29374  	//   "path": "userprofiles/{profileId}/creatives",
 29375  	//   "request": {
 29376  	//     "$ref": "Creative"
 29377  	//   },
 29378  	//   "response": {
 29379  	//     "$ref": "Creative"
 29380  	//   },
 29381  	//   "scopes": [
 29382  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29383  	//   ]
 29384  	// }
 29385  
 29386  }
 29387  
 29388  // method id "dfareporting.creatives.list":
 29389  
 29390  type CreativesListCall struct {
 29391  	s            *Service
 29392  	profileId    int64
 29393  	urlParams_   gensupport.URLParams
 29394  	ifNoneMatch_ string
 29395  	ctx_         context.Context
 29396  	header_      http.Header
 29397  }
 29398  
 29399  // List: Retrieves a list of creatives, possibly filtered. This method
 29400  // supports paging.
 29401  //
 29402  // - profileId: User profile ID associated with this request.
 29403  func (r *CreativesService) List(profileId int64) *CreativesListCall {
 29404  	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29405  	c.profileId = profileId
 29406  	return c
 29407  }
 29408  
 29409  // Active sets the optional parameter "active": Select only active
 29410  // creatives. Leave blank to select active and inactive creatives.
 29411  func (c *CreativesListCall) Active(active bool) *CreativesListCall {
 29412  	c.urlParams_.Set("active", fmt.Sprint(active))
 29413  	return c
 29414  }
 29415  
 29416  // AdvertiserId sets the optional parameter "advertiserId": Select only
 29417  // creatives with this advertiser ID.
 29418  func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
 29419  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29420  	return c
 29421  }
 29422  
 29423  // Archived sets the optional parameter "archived": Select only archived
 29424  // creatives. Leave blank to select archived and unarchived creatives.
 29425  func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
 29426  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 29427  	return c
 29428  }
 29429  
 29430  // CampaignId sets the optional parameter "campaignId": Select only
 29431  // creatives with this campaign ID.
 29432  func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
 29433  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 29434  	return c
 29435  }
 29436  
 29437  // CompanionCreativeIds sets the optional parameter
 29438  // "companionCreativeIds": Select only in-stream video creatives with
 29439  // these companion IDs.
 29440  func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds ...int64) *CreativesListCall {
 29441  	var companionCreativeIds_ []string
 29442  	for _, v := range companionCreativeIds {
 29443  		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprint(v))
 29444  	}
 29445  	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
 29446  	return c
 29447  }
 29448  
 29449  // CreativeFieldIds sets the optional parameter "creativeFieldIds":
 29450  // Select only creatives with these creative field IDs.
 29451  func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds ...int64) *CreativesListCall {
 29452  	var creativeFieldIds_ []string
 29453  	for _, v := range creativeFieldIds {
 29454  		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprint(v))
 29455  	}
 29456  	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
 29457  	return c
 29458  }
 29459  
 29460  // Ids sets the optional parameter "ids": Select only creatives with
 29461  // these IDs.
 29462  func (c *CreativesListCall) Ids(ids ...int64) *CreativesListCall {
 29463  	var ids_ []string
 29464  	for _, v := range ids {
 29465  		ids_ = append(ids_, fmt.Sprint(v))
 29466  	}
 29467  	c.urlParams_.SetMulti("ids", ids_)
 29468  	return c
 29469  }
 29470  
 29471  // MaxResults sets the optional parameter "maxResults": Maximum number
 29472  // of results to return.
 29473  func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
 29474  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 29475  	return c
 29476  }
 29477  
 29478  // PageToken sets the optional parameter "pageToken": Value of the
 29479  // nextPageToken from the previous result page.
 29480  func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
 29481  	c.urlParams_.Set("pageToken", pageToken)
 29482  	return c
 29483  }
 29484  
 29485  // RenderingIds sets the optional parameter "renderingIds": Select only
 29486  // creatives with these rendering IDs.
 29487  func (c *CreativesListCall) RenderingIds(renderingIds ...int64) *CreativesListCall {
 29488  	var renderingIds_ []string
 29489  	for _, v := range renderingIds {
 29490  		renderingIds_ = append(renderingIds_, fmt.Sprint(v))
 29491  	}
 29492  	c.urlParams_.SetMulti("renderingIds", renderingIds_)
 29493  	return c
 29494  }
 29495  
 29496  // SearchString sets the optional parameter "searchString": Allows
 29497  // searching for objects by name or ID. Wildcards (*) are allowed. For
 29498  // example, "creative*2015" will return objects with names like
 29499  // "creative June 2015", "creative April 2015", or simply "creative
 29500  // 2015". Most of the searches also add wildcards implicitly at the
 29501  // start and the end of the search string. For example, a search string
 29502  // of "creative" will match objects with name "my creative", "creative
 29503  // 2015", or simply "creative".
 29504  func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
 29505  	c.urlParams_.Set("searchString", searchString)
 29506  	return c
 29507  }
 29508  
 29509  // SizeIds sets the optional parameter "sizeIds": Select only creatives
 29510  // with these size IDs.
 29511  func (c *CreativesListCall) SizeIds(sizeIds ...int64) *CreativesListCall {
 29512  	var sizeIds_ []string
 29513  	for _, v := range sizeIds {
 29514  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 29515  	}
 29516  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 29517  	return c
 29518  }
 29519  
 29520  // SortField sets the optional parameter "sortField": Field by which to
 29521  // sort the list.
 29522  //
 29523  // Possible values:
 29524  //
 29525  //	"ID" (default)
 29526  //	"NAME"
 29527  func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
 29528  	c.urlParams_.Set("sortField", sortField)
 29529  	return c
 29530  }
 29531  
 29532  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 29533  // results.
 29534  //
 29535  // Possible values:
 29536  //
 29537  //	"ASCENDING" (default)
 29538  //	"DESCENDING"
 29539  func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
 29540  	c.urlParams_.Set("sortOrder", sortOrder)
 29541  	return c
 29542  }
 29543  
 29544  // StudioCreativeId sets the optional parameter "studioCreativeId":
 29545  // Select only creatives corresponding to this Studio creative ID.
 29546  func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
 29547  	c.urlParams_.Set("studioCreativeId", fmt.Sprint(studioCreativeId))
 29548  	return c
 29549  }
 29550  
 29551  // Types sets the optional parameter "types": Select only creatives with
 29552  // these creative types.
 29553  //
 29554  // Possible values:
 29555  //
 29556  //	"IMAGE"
 29557  //	"DISPLAY_REDIRECT"
 29558  //	"CUSTOM_DISPLAY"
 29559  //	"INTERNAL_REDIRECT"
 29560  //	"CUSTOM_DISPLAY_INTERSTITIAL"
 29561  //	"INTERSTITIAL_INTERNAL_REDIRECT"
 29562  //	"TRACKING_TEXT"
 29563  //	"RICH_MEDIA_DISPLAY_BANNER"
 29564  //	"RICH_MEDIA_INPAGE_FLOATING"
 29565  //	"RICH_MEDIA_IM_EXPAND"
 29566  //	"RICH_MEDIA_DISPLAY_EXPANDING"
 29567  //	"RICH_MEDIA_DISPLAY_INTERSTITIAL"
 29568  //	"RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
 29569  //	"RICH_MEDIA_MOBILE_IN_APP"
 29570  //	"FLASH_INPAGE"
 29571  //	"INSTREAM_VIDEO"
 29572  //	"VPAID_LINEAR_VIDEO"
 29573  //	"VPAID_NON_LINEAR_VIDEO"
 29574  //	"INSTREAM_VIDEO_REDIRECT"
 29575  //	"RICH_MEDIA_PEEL_DOWN"
 29576  //	"HTML5_BANNER"
 29577  //	"DISPLAY"
 29578  //	"DISPLAY_IMAGE_GALLERY"
 29579  //	"BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
 29580  //	"INSTREAM_AUDIO"
 29581  func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
 29582  	c.urlParams_.SetMulti("types", append([]string{}, types...))
 29583  	return c
 29584  }
 29585  
 29586  // Fields allows partial responses to be retrieved. See
 29587  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29588  // for more information.
 29589  func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
 29590  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29591  	return c
 29592  }
 29593  
 29594  // IfNoneMatch sets the optional parameter which makes the operation
 29595  // fail if the object's ETag matches the given value. This is useful for
 29596  // getting updates only after the object has changed since the last
 29597  // request. Use googleapi.IsNotModified to check whether the response
 29598  // error from Do is the result of In-None-Match.
 29599  func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
 29600  	c.ifNoneMatch_ = entityTag
 29601  	return c
 29602  }
 29603  
 29604  // Context sets the context to be used in this call's Do method. Any
 29605  // pending HTTP request will be aborted if the provided context is
 29606  // canceled.
 29607  func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
 29608  	c.ctx_ = ctx
 29609  	return c
 29610  }
 29611  
 29612  // Header returns an http.Header that can be modified by the caller to
 29613  // add HTTP headers to the request.
 29614  func (c *CreativesListCall) Header() http.Header {
 29615  	if c.header_ == nil {
 29616  		c.header_ = make(http.Header)
 29617  	}
 29618  	return c.header_
 29619  }
 29620  
 29621  func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 29622  	reqHeaders := make(http.Header)
 29623  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 29624  	for k, v := range c.header_ {
 29625  		reqHeaders[k] = v
 29626  	}
 29627  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29628  	if c.ifNoneMatch_ != "" {
 29629  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29630  	}
 29631  	var body io.Reader = nil
 29632  	c.urlParams_.Set("alt", alt)
 29633  	c.urlParams_.Set("prettyPrint", "false")
 29634  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 29635  	urls += "?" + c.urlParams_.Encode()
 29636  	req, err := http.NewRequest("GET", urls, body)
 29637  	if err != nil {
 29638  		return nil, err
 29639  	}
 29640  	req.Header = reqHeaders
 29641  	googleapi.Expand(req.URL, map[string]string{
 29642  		"profileId": strconv.FormatInt(c.profileId, 10),
 29643  	})
 29644  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29645  }
 29646  
 29647  // Do executes the "dfareporting.creatives.list" call.
 29648  // Exactly one of *CreativesListResponse or error will be non-nil. Any
 29649  // non-2xx status code is an error. Response headers are in either
 29650  // *CreativesListResponse.ServerResponse.Header or (if a response was
 29651  // returned at all) in error.(*googleapi.Error).Header. Use
 29652  // googleapi.IsNotModified to check whether the returned error was
 29653  // because http.StatusNotModified was returned.
 29654  func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesListResponse, error) {
 29655  	gensupport.SetOptions(c.urlParams_, opts...)
 29656  	res, err := c.doRequest("json")
 29657  	if res != nil && res.StatusCode == http.StatusNotModified {
 29658  		if res.Body != nil {
 29659  			res.Body.Close()
 29660  		}
 29661  		return nil, &googleapi.Error{
 29662  			Code:   res.StatusCode,
 29663  			Header: res.Header,
 29664  		}
 29665  	}
 29666  	if err != nil {
 29667  		return nil, err
 29668  	}
 29669  	defer googleapi.CloseBody(res)
 29670  	if err := googleapi.CheckResponse(res); err != nil {
 29671  		return nil, err
 29672  	}
 29673  	ret := &CreativesListResponse{
 29674  		ServerResponse: googleapi.ServerResponse{
 29675  			Header:         res.Header,
 29676  			HTTPStatusCode: res.StatusCode,
 29677  		},
 29678  	}
 29679  	target := &ret
 29680  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29681  		return nil, err
 29682  	}
 29683  	return ret, nil
 29684  	// {
 29685  	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
 29686  	//   "flatPath": "userprofiles/{profileId}/creatives",
 29687  	//   "httpMethod": "GET",
 29688  	//   "id": "dfareporting.creatives.list",
 29689  	//   "parameterOrder": [
 29690  	//     "profileId"
 29691  	//   ],
 29692  	//   "parameters": {
 29693  	//     "active": {
 29694  	//       "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
 29695  	//       "location": "query",
 29696  	//       "type": "boolean"
 29697  	//     },
 29698  	//     "advertiserId": {
 29699  	//       "description": "Select only creatives with this advertiser ID.",
 29700  	//       "format": "int64",
 29701  	//       "location": "query",
 29702  	//       "type": "string"
 29703  	//     },
 29704  	//     "archived": {
 29705  	//       "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
 29706  	//       "location": "query",
 29707  	//       "type": "boolean"
 29708  	//     },
 29709  	//     "campaignId": {
 29710  	//       "description": "Select only creatives with this campaign ID.",
 29711  	//       "format": "int64",
 29712  	//       "location": "query",
 29713  	//       "type": "string"
 29714  	//     },
 29715  	//     "companionCreativeIds": {
 29716  	//       "description": "Select only in-stream video creatives with these companion IDs.",
 29717  	//       "format": "int64",
 29718  	//       "location": "query",
 29719  	//       "repeated": true,
 29720  	//       "type": "string"
 29721  	//     },
 29722  	//     "creativeFieldIds": {
 29723  	//       "description": "Select only creatives with these creative field IDs.",
 29724  	//       "format": "int64",
 29725  	//       "location": "query",
 29726  	//       "repeated": true,
 29727  	//       "type": "string"
 29728  	//     },
 29729  	//     "ids": {
 29730  	//       "description": "Select only creatives with these IDs.",
 29731  	//       "format": "int64",
 29732  	//       "location": "query",
 29733  	//       "repeated": true,
 29734  	//       "type": "string"
 29735  	//     },
 29736  	//     "maxResults": {
 29737  	//       "default": "1000",
 29738  	//       "description": "Maximum number of results to return.",
 29739  	//       "format": "int32",
 29740  	//       "location": "query",
 29741  	//       "maximum": "1000",
 29742  	//       "minimum": "0",
 29743  	//       "type": "integer"
 29744  	//     },
 29745  	//     "pageToken": {
 29746  	//       "description": "Value of the nextPageToken from the previous result page.",
 29747  	//       "location": "query",
 29748  	//       "type": "string"
 29749  	//     },
 29750  	//     "profileId": {
 29751  	//       "description": "User profile ID associated with this request.",
 29752  	//       "format": "int64",
 29753  	//       "location": "path",
 29754  	//       "required": true,
 29755  	//       "type": "string"
 29756  	//     },
 29757  	//     "renderingIds": {
 29758  	//       "description": "Select only creatives with these rendering IDs.",
 29759  	//       "format": "int64",
 29760  	//       "location": "query",
 29761  	//       "repeated": true,
 29762  	//       "type": "string"
 29763  	//     },
 29764  	//     "searchString": {
 29765  	//       "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\".",
 29766  	//       "location": "query",
 29767  	//       "type": "string"
 29768  	//     },
 29769  	//     "sizeIds": {
 29770  	//       "description": "Select only creatives with these size IDs.",
 29771  	//       "format": "int64",
 29772  	//       "location": "query",
 29773  	//       "repeated": true,
 29774  	//       "type": "string"
 29775  	//     },
 29776  	//     "sortField": {
 29777  	//       "default": "ID",
 29778  	//       "description": "Field by which to sort the list.",
 29779  	//       "enum": [
 29780  	//         "ID",
 29781  	//         "NAME"
 29782  	//       ],
 29783  	//       "enumDescriptions": [
 29784  	//         "",
 29785  	//         ""
 29786  	//       ],
 29787  	//       "location": "query",
 29788  	//       "type": "string"
 29789  	//     },
 29790  	//     "sortOrder": {
 29791  	//       "default": "ASCENDING",
 29792  	//       "description": "Order of sorted results.",
 29793  	//       "enum": [
 29794  	//         "ASCENDING",
 29795  	//         "DESCENDING"
 29796  	//       ],
 29797  	//       "enumDescriptions": [
 29798  	//         "",
 29799  	//         ""
 29800  	//       ],
 29801  	//       "location": "query",
 29802  	//       "type": "string"
 29803  	//     },
 29804  	//     "studioCreativeId": {
 29805  	//       "description": "Select only creatives corresponding to this Studio creative ID.",
 29806  	//       "format": "int64",
 29807  	//       "location": "query",
 29808  	//       "type": "string"
 29809  	//     },
 29810  	//     "types": {
 29811  	//       "description": "Select only creatives with these creative types.",
 29812  	//       "enum": [
 29813  	//         "IMAGE",
 29814  	//         "DISPLAY_REDIRECT",
 29815  	//         "CUSTOM_DISPLAY",
 29816  	//         "INTERNAL_REDIRECT",
 29817  	//         "CUSTOM_DISPLAY_INTERSTITIAL",
 29818  	//         "INTERSTITIAL_INTERNAL_REDIRECT",
 29819  	//         "TRACKING_TEXT",
 29820  	//         "RICH_MEDIA_DISPLAY_BANNER",
 29821  	//         "RICH_MEDIA_INPAGE_FLOATING",
 29822  	//         "RICH_MEDIA_IM_EXPAND",
 29823  	//         "RICH_MEDIA_DISPLAY_EXPANDING",
 29824  	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
 29825  	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
 29826  	//         "RICH_MEDIA_MOBILE_IN_APP",
 29827  	//         "FLASH_INPAGE",
 29828  	//         "INSTREAM_VIDEO",
 29829  	//         "VPAID_LINEAR_VIDEO",
 29830  	//         "VPAID_NON_LINEAR_VIDEO",
 29831  	//         "INSTREAM_VIDEO_REDIRECT",
 29832  	//         "RICH_MEDIA_PEEL_DOWN",
 29833  	//         "HTML5_BANNER",
 29834  	//         "DISPLAY",
 29835  	//         "DISPLAY_IMAGE_GALLERY",
 29836  	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
 29837  	//         "INSTREAM_AUDIO"
 29838  	//       ],
 29839  	//       "enumDescriptions": [
 29840  	//         "",
 29841  	//         "",
 29842  	//         "",
 29843  	//         "",
 29844  	//         "",
 29845  	//         "",
 29846  	//         "",
 29847  	//         "",
 29848  	//         "",
 29849  	//         "",
 29850  	//         "",
 29851  	//         "",
 29852  	//         "",
 29853  	//         "",
 29854  	//         "",
 29855  	//         "",
 29856  	//         "",
 29857  	//         "",
 29858  	//         "",
 29859  	//         "",
 29860  	//         "",
 29861  	//         "",
 29862  	//         "",
 29863  	//         "",
 29864  	//         ""
 29865  	//       ],
 29866  	//       "location": "query",
 29867  	//       "repeated": true,
 29868  	//       "type": "string"
 29869  	//     }
 29870  	//   },
 29871  	//   "path": "userprofiles/{profileId}/creatives",
 29872  	//   "response": {
 29873  	//     "$ref": "CreativesListResponse"
 29874  	//   },
 29875  	//   "scopes": [
 29876  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29877  	//   ]
 29878  	// }
 29879  
 29880  }
 29881  
 29882  // Pages invokes f for each page of results.
 29883  // A non-nil error returned from f will halt the iteration.
 29884  // The provided context supersedes any context provided to the Context method.
 29885  func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesListResponse) error) error {
 29886  	c.ctx_ = ctx
 29887  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 29888  	for {
 29889  		x, err := c.Do()
 29890  		if err != nil {
 29891  			return err
 29892  		}
 29893  		if err := f(x); err != nil {
 29894  			return err
 29895  		}
 29896  		if x.NextPageToken == "" {
 29897  			return nil
 29898  		}
 29899  		c.PageToken(x.NextPageToken)
 29900  	}
 29901  }
 29902  
 29903  // method id "dfareporting.creatives.patch":
 29904  
 29905  type CreativesPatchCall struct {
 29906  	s          *Service
 29907  	profileId  int64
 29908  	creative   *Creative
 29909  	urlParams_ gensupport.URLParams
 29910  	ctx_       context.Context
 29911  	header_    http.Header
 29912  }
 29913  
 29914  // Patch: Updates an existing creative. This method supports patch
 29915  // semantics.
 29916  //
 29917  // - id: Creative ID.
 29918  // - profileId: User profile ID associated with this request.
 29919  func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
 29920  	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29921  	c.profileId = profileId
 29922  	c.urlParams_.Set("id", fmt.Sprint(id))
 29923  	c.creative = creative
 29924  	return c
 29925  }
 29926  
 29927  // Fields allows partial responses to be retrieved. See
 29928  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29929  // for more information.
 29930  func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
 29931  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29932  	return c
 29933  }
 29934  
 29935  // Context sets the context to be used in this call's Do method. Any
 29936  // pending HTTP request will be aborted if the provided context is
 29937  // canceled.
 29938  func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
 29939  	c.ctx_ = ctx
 29940  	return c
 29941  }
 29942  
 29943  // Header returns an http.Header that can be modified by the caller to
 29944  // add HTTP headers to the request.
 29945  func (c *CreativesPatchCall) Header() http.Header {
 29946  	if c.header_ == nil {
 29947  		c.header_ = make(http.Header)
 29948  	}
 29949  	return c.header_
 29950  }
 29951  
 29952  func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
 29953  	reqHeaders := make(http.Header)
 29954  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 29955  	for k, v := range c.header_ {
 29956  		reqHeaders[k] = v
 29957  	}
 29958  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29959  	var body io.Reader = nil
 29960  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 29961  	if err != nil {
 29962  		return nil, err
 29963  	}
 29964  	reqHeaders.Set("Content-Type", "application/json")
 29965  	c.urlParams_.Set("alt", alt)
 29966  	c.urlParams_.Set("prettyPrint", "false")
 29967  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 29968  	urls += "?" + c.urlParams_.Encode()
 29969  	req, err := http.NewRequest("PATCH", urls, body)
 29970  	if err != nil {
 29971  		return nil, err
 29972  	}
 29973  	req.Header = reqHeaders
 29974  	googleapi.Expand(req.URL, map[string]string{
 29975  		"profileId": strconv.FormatInt(c.profileId, 10),
 29976  	})
 29977  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29978  }
 29979  
 29980  // Do executes the "dfareporting.creatives.patch" call.
 29981  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 29982  // code is an error. Response headers are in either
 29983  // *Creative.ServerResponse.Header or (if a response was returned at
 29984  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 29985  // to check whether the returned error was because
 29986  // http.StatusNotModified was returned.
 29987  func (c *CreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 29988  	gensupport.SetOptions(c.urlParams_, opts...)
 29989  	res, err := c.doRequest("json")
 29990  	if res != nil && res.StatusCode == http.StatusNotModified {
 29991  		if res.Body != nil {
 29992  			res.Body.Close()
 29993  		}
 29994  		return nil, &googleapi.Error{
 29995  			Code:   res.StatusCode,
 29996  			Header: res.Header,
 29997  		}
 29998  	}
 29999  	if err != nil {
 30000  		return nil, err
 30001  	}
 30002  	defer googleapi.CloseBody(res)
 30003  	if err := googleapi.CheckResponse(res); err != nil {
 30004  		return nil, err
 30005  	}
 30006  	ret := &Creative{
 30007  		ServerResponse: googleapi.ServerResponse{
 30008  			Header:         res.Header,
 30009  			HTTPStatusCode: res.StatusCode,
 30010  		},
 30011  	}
 30012  	target := &ret
 30013  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30014  		return nil, err
 30015  	}
 30016  	return ret, nil
 30017  	// {
 30018  	//   "description": "Updates an existing creative. This method supports patch semantics.",
 30019  	//   "flatPath": "userprofiles/{profileId}/creatives",
 30020  	//   "httpMethod": "PATCH",
 30021  	//   "id": "dfareporting.creatives.patch",
 30022  	//   "parameterOrder": [
 30023  	//     "profileId",
 30024  	//     "id"
 30025  	//   ],
 30026  	//   "parameters": {
 30027  	//     "id": {
 30028  	//       "description": "Creative ID.",
 30029  	//       "format": "int64",
 30030  	//       "location": "query",
 30031  	//       "required": true,
 30032  	//       "type": "string"
 30033  	//     },
 30034  	//     "profileId": {
 30035  	//       "description": "User profile ID associated with this request.",
 30036  	//       "format": "int64",
 30037  	//       "location": "path",
 30038  	//       "required": true,
 30039  	//       "type": "string"
 30040  	//     }
 30041  	//   },
 30042  	//   "path": "userprofiles/{profileId}/creatives",
 30043  	//   "request": {
 30044  	//     "$ref": "Creative"
 30045  	//   },
 30046  	//   "response": {
 30047  	//     "$ref": "Creative"
 30048  	//   },
 30049  	//   "scopes": [
 30050  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30051  	//   ]
 30052  	// }
 30053  
 30054  }
 30055  
 30056  // method id "dfareporting.creatives.update":
 30057  
 30058  type CreativesUpdateCall struct {
 30059  	s          *Service
 30060  	profileId  int64
 30061  	creative   *Creative
 30062  	urlParams_ gensupport.URLParams
 30063  	ctx_       context.Context
 30064  	header_    http.Header
 30065  }
 30066  
 30067  // Update: Updates an existing creative.
 30068  //
 30069  // - profileId: User profile ID associated with this request.
 30070  func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
 30071  	c := &CreativesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30072  	c.profileId = profileId
 30073  	c.creative = creative
 30074  	return c
 30075  }
 30076  
 30077  // Fields allows partial responses to be retrieved. See
 30078  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30079  // for more information.
 30080  func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
 30081  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30082  	return c
 30083  }
 30084  
 30085  // Context sets the context to be used in this call's Do method. Any
 30086  // pending HTTP request will be aborted if the provided context is
 30087  // canceled.
 30088  func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
 30089  	c.ctx_ = ctx
 30090  	return c
 30091  }
 30092  
 30093  // Header returns an http.Header that can be modified by the caller to
 30094  // add HTTP headers to the request.
 30095  func (c *CreativesUpdateCall) Header() http.Header {
 30096  	if c.header_ == nil {
 30097  		c.header_ = make(http.Header)
 30098  	}
 30099  	return c.header_
 30100  }
 30101  
 30102  func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
 30103  	reqHeaders := make(http.Header)
 30104  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 30105  	for k, v := range c.header_ {
 30106  		reqHeaders[k] = v
 30107  	}
 30108  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30109  	var body io.Reader = nil
 30110  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 30111  	if err != nil {
 30112  		return nil, err
 30113  	}
 30114  	reqHeaders.Set("Content-Type", "application/json")
 30115  	c.urlParams_.Set("alt", alt)
 30116  	c.urlParams_.Set("prettyPrint", "false")
 30117  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 30118  	urls += "?" + c.urlParams_.Encode()
 30119  	req, err := http.NewRequest("PUT", urls, body)
 30120  	if err != nil {
 30121  		return nil, err
 30122  	}
 30123  	req.Header = reqHeaders
 30124  	googleapi.Expand(req.URL, map[string]string{
 30125  		"profileId": strconv.FormatInt(c.profileId, 10),
 30126  	})
 30127  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30128  }
 30129  
 30130  // Do executes the "dfareporting.creatives.update" call.
 30131  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 30132  // code is an error. Response headers are in either
 30133  // *Creative.ServerResponse.Header or (if a response was returned at
 30134  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 30135  // to check whether the returned error was because
 30136  // http.StatusNotModified was returned.
 30137  func (c *CreativesUpdateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 30138  	gensupport.SetOptions(c.urlParams_, opts...)
 30139  	res, err := c.doRequest("json")
 30140  	if res != nil && res.StatusCode == http.StatusNotModified {
 30141  		if res.Body != nil {
 30142  			res.Body.Close()
 30143  		}
 30144  		return nil, &googleapi.Error{
 30145  			Code:   res.StatusCode,
 30146  			Header: res.Header,
 30147  		}
 30148  	}
 30149  	if err != nil {
 30150  		return nil, err
 30151  	}
 30152  	defer googleapi.CloseBody(res)
 30153  	if err := googleapi.CheckResponse(res); err != nil {
 30154  		return nil, err
 30155  	}
 30156  	ret := &Creative{
 30157  		ServerResponse: googleapi.ServerResponse{
 30158  			Header:         res.Header,
 30159  			HTTPStatusCode: res.StatusCode,
 30160  		},
 30161  	}
 30162  	target := &ret
 30163  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30164  		return nil, err
 30165  	}
 30166  	return ret, nil
 30167  	// {
 30168  	//   "description": "Updates an existing creative.",
 30169  	//   "flatPath": "userprofiles/{profileId}/creatives",
 30170  	//   "httpMethod": "PUT",
 30171  	//   "id": "dfareporting.creatives.update",
 30172  	//   "parameterOrder": [
 30173  	//     "profileId"
 30174  	//   ],
 30175  	//   "parameters": {
 30176  	//     "profileId": {
 30177  	//       "description": "User profile ID associated with this request.",
 30178  	//       "format": "int64",
 30179  	//       "location": "path",
 30180  	//       "required": true,
 30181  	//       "type": "string"
 30182  	//     }
 30183  	//   },
 30184  	//   "path": "userprofiles/{profileId}/creatives",
 30185  	//   "request": {
 30186  	//     "$ref": "Creative"
 30187  	//   },
 30188  	//   "response": {
 30189  	//     "$ref": "Creative"
 30190  	//   },
 30191  	//   "scopes": [
 30192  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30193  	//   ]
 30194  	// }
 30195  
 30196  }
 30197  
 30198  // method id "dfareporting.customEvents.batchinsert":
 30199  
 30200  type CustomEventsBatchinsertCall struct {
 30201  	s                              *Service
 30202  	profileId                      int64
 30203  	customeventsbatchinsertrequest *CustomEventsBatchInsertRequest
 30204  	urlParams_                     gensupport.URLParams
 30205  	ctx_                           context.Context
 30206  	header_                        http.Header
 30207  }
 30208  
 30209  // Batchinsert: Inserts custom events.
 30210  //
 30211  // - profileId: User profile ID associated with this request.
 30212  func (r *CustomEventsService) Batchinsert(profileId int64, customeventsbatchinsertrequest *CustomEventsBatchInsertRequest) *CustomEventsBatchinsertCall {
 30213  	c := &CustomEventsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30214  	c.profileId = profileId
 30215  	c.customeventsbatchinsertrequest = customeventsbatchinsertrequest
 30216  	return c
 30217  }
 30218  
 30219  // Fields allows partial responses to be retrieved. See
 30220  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30221  // for more information.
 30222  func (c *CustomEventsBatchinsertCall) Fields(s ...googleapi.Field) *CustomEventsBatchinsertCall {
 30223  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30224  	return c
 30225  }
 30226  
 30227  // Context sets the context to be used in this call's Do method. Any
 30228  // pending HTTP request will be aborted if the provided context is
 30229  // canceled.
 30230  func (c *CustomEventsBatchinsertCall) Context(ctx context.Context) *CustomEventsBatchinsertCall {
 30231  	c.ctx_ = ctx
 30232  	return c
 30233  }
 30234  
 30235  // Header returns an http.Header that can be modified by the caller to
 30236  // add HTTP headers to the request.
 30237  func (c *CustomEventsBatchinsertCall) Header() http.Header {
 30238  	if c.header_ == nil {
 30239  		c.header_ = make(http.Header)
 30240  	}
 30241  	return c.header_
 30242  }
 30243  
 30244  func (c *CustomEventsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
 30245  	reqHeaders := make(http.Header)
 30246  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 30247  	for k, v := range c.header_ {
 30248  		reqHeaders[k] = v
 30249  	}
 30250  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30251  	var body io.Reader = nil
 30252  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.customeventsbatchinsertrequest)
 30253  	if err != nil {
 30254  		return nil, err
 30255  	}
 30256  	reqHeaders.Set("Content-Type", "application/json")
 30257  	c.urlParams_.Set("alt", alt)
 30258  	c.urlParams_.Set("prettyPrint", "false")
 30259  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/customEvents/batchinsert")
 30260  	urls += "?" + c.urlParams_.Encode()
 30261  	req, err := http.NewRequest("POST", urls, body)
 30262  	if err != nil {
 30263  		return nil, err
 30264  	}
 30265  	req.Header = reqHeaders
 30266  	googleapi.Expand(req.URL, map[string]string{
 30267  		"profileId": strconv.FormatInt(c.profileId, 10),
 30268  	})
 30269  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30270  }
 30271  
 30272  // Do executes the "dfareporting.customEvents.batchinsert" call.
 30273  // Exactly one of *CustomEventsBatchInsertResponse or error will be
 30274  // non-nil. Any non-2xx status code is an error. Response headers are in
 30275  // either *CustomEventsBatchInsertResponse.ServerResponse.Header or (if
 30276  // a response was returned at all) in error.(*googleapi.Error).Header.
 30277  // Use googleapi.IsNotModified to check whether the returned error was
 30278  // because http.StatusNotModified was returned.
 30279  func (c *CustomEventsBatchinsertCall) Do(opts ...googleapi.CallOption) (*CustomEventsBatchInsertResponse, error) {
 30280  	gensupport.SetOptions(c.urlParams_, opts...)
 30281  	res, err := c.doRequest("json")
 30282  	if res != nil && res.StatusCode == http.StatusNotModified {
 30283  		if res.Body != nil {
 30284  			res.Body.Close()
 30285  		}
 30286  		return nil, &googleapi.Error{
 30287  			Code:   res.StatusCode,
 30288  			Header: res.Header,
 30289  		}
 30290  	}
 30291  	if err != nil {
 30292  		return nil, err
 30293  	}
 30294  	defer googleapi.CloseBody(res)
 30295  	if err := googleapi.CheckResponse(res); err != nil {
 30296  		return nil, err
 30297  	}
 30298  	ret := &CustomEventsBatchInsertResponse{
 30299  		ServerResponse: googleapi.ServerResponse{
 30300  			Header:         res.Header,
 30301  			HTTPStatusCode: res.StatusCode,
 30302  		},
 30303  	}
 30304  	target := &ret
 30305  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30306  		return nil, err
 30307  	}
 30308  	return ret, nil
 30309  	// {
 30310  	//   "description": "Inserts custom events.",
 30311  	//   "flatPath": "userprofiles/{profileId}/customEvents/batchinsert",
 30312  	//   "httpMethod": "POST",
 30313  	//   "id": "dfareporting.customEvents.batchinsert",
 30314  	//   "parameterOrder": [
 30315  	//     "profileId"
 30316  	//   ],
 30317  	//   "parameters": {
 30318  	//     "profileId": {
 30319  	//       "description": "User profile ID associated with this request.",
 30320  	//       "format": "int64",
 30321  	//       "location": "path",
 30322  	//       "required": true,
 30323  	//       "type": "string"
 30324  	//     }
 30325  	//   },
 30326  	//   "path": "userprofiles/{profileId}/customEvents/batchinsert",
 30327  	//   "request": {
 30328  	//     "$ref": "CustomEventsBatchInsertRequest"
 30329  	//   },
 30330  	//   "response": {
 30331  	//     "$ref": "CustomEventsBatchInsertResponse"
 30332  	//   },
 30333  	//   "scopes": [
 30334  	//     "https://www.googleapis.com/auth/ddmconversions"
 30335  	//   ]
 30336  	// }
 30337  
 30338  }
 30339  
 30340  // method id "dfareporting.dimensionValues.query":
 30341  
 30342  type DimensionValuesQueryCall struct {
 30343  	s                     *Service
 30344  	profileId             int64
 30345  	dimensionvaluerequest *DimensionValueRequest
 30346  	urlParams_            gensupport.URLParams
 30347  	ctx_                  context.Context
 30348  	header_               http.Header
 30349  }
 30350  
 30351  // Query: Retrieves list of report dimension values for a list of
 30352  // filters.
 30353  //
 30354  // - profileId: The Campaign Manager 360 user profile ID.
 30355  func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
 30356  	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30357  	c.profileId = profileId
 30358  	c.dimensionvaluerequest = dimensionvaluerequest
 30359  	return c
 30360  }
 30361  
 30362  // MaxResults sets the optional parameter "maxResults": Maximum number
 30363  // of results to return.
 30364  func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
 30365  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 30366  	return c
 30367  }
 30368  
 30369  // PageToken sets the optional parameter "pageToken": The value of the
 30370  // nextToken from the previous result page.
 30371  func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
 30372  	c.urlParams_.Set("pageToken", pageToken)
 30373  	return c
 30374  }
 30375  
 30376  // Fields allows partial responses to be retrieved. See
 30377  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30378  // for more information.
 30379  func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
 30380  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30381  	return c
 30382  }
 30383  
 30384  // Context sets the context to be used in this call's Do method. Any
 30385  // pending HTTP request will be aborted if the provided context is
 30386  // canceled.
 30387  func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
 30388  	c.ctx_ = ctx
 30389  	return c
 30390  }
 30391  
 30392  // Header returns an http.Header that can be modified by the caller to
 30393  // add HTTP headers to the request.
 30394  func (c *DimensionValuesQueryCall) Header() http.Header {
 30395  	if c.header_ == nil {
 30396  		c.header_ = make(http.Header)
 30397  	}
 30398  	return c.header_
 30399  }
 30400  
 30401  func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
 30402  	reqHeaders := make(http.Header)
 30403  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 30404  	for k, v := range c.header_ {
 30405  		reqHeaders[k] = v
 30406  	}
 30407  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30408  	var body io.Reader = nil
 30409  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dimensionvaluerequest)
 30410  	if err != nil {
 30411  		return nil, err
 30412  	}
 30413  	reqHeaders.Set("Content-Type", "application/json")
 30414  	c.urlParams_.Set("alt", alt)
 30415  	c.urlParams_.Set("prettyPrint", "false")
 30416  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
 30417  	urls += "?" + c.urlParams_.Encode()
 30418  	req, err := http.NewRequest("POST", urls, body)
 30419  	if err != nil {
 30420  		return nil, err
 30421  	}
 30422  	req.Header = reqHeaders
 30423  	googleapi.Expand(req.URL, map[string]string{
 30424  		"profileId": strconv.FormatInt(c.profileId, 10),
 30425  	})
 30426  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30427  }
 30428  
 30429  // Do executes the "dfareporting.dimensionValues.query" call.
 30430  // Exactly one of *DimensionValueList or error will be non-nil. Any
 30431  // non-2xx status code is an error. Response headers are in either
 30432  // *DimensionValueList.ServerResponse.Header or (if a response was
 30433  // returned at all) in error.(*googleapi.Error).Header. Use
 30434  // googleapi.IsNotModified to check whether the returned error was
 30435  // because http.StatusNotModified was returned.
 30436  func (c *DimensionValuesQueryCall) Do(opts ...googleapi.CallOption) (*DimensionValueList, error) {
 30437  	gensupport.SetOptions(c.urlParams_, opts...)
 30438  	res, err := c.doRequest("json")
 30439  	if res != nil && res.StatusCode == http.StatusNotModified {
 30440  		if res.Body != nil {
 30441  			res.Body.Close()
 30442  		}
 30443  		return nil, &googleapi.Error{
 30444  			Code:   res.StatusCode,
 30445  			Header: res.Header,
 30446  		}
 30447  	}
 30448  	if err != nil {
 30449  		return nil, err
 30450  	}
 30451  	defer googleapi.CloseBody(res)
 30452  	if err := googleapi.CheckResponse(res); err != nil {
 30453  		return nil, err
 30454  	}
 30455  	ret := &DimensionValueList{
 30456  		ServerResponse: googleapi.ServerResponse{
 30457  			Header:         res.Header,
 30458  			HTTPStatusCode: res.StatusCode,
 30459  		},
 30460  	}
 30461  	target := &ret
 30462  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30463  		return nil, err
 30464  	}
 30465  	return ret, nil
 30466  	// {
 30467  	//   "description": "Retrieves list of report dimension values for a list of filters.",
 30468  	//   "flatPath": "userprofiles/{profileId}/dimensionvalues/query",
 30469  	//   "httpMethod": "POST",
 30470  	//   "id": "dfareporting.dimensionValues.query",
 30471  	//   "parameterOrder": [
 30472  	//     "profileId"
 30473  	//   ],
 30474  	//   "parameters": {
 30475  	//     "maxResults": {
 30476  	//       "default": "100",
 30477  	//       "description": "Maximum number of results to return.",
 30478  	//       "format": "int32",
 30479  	//       "location": "query",
 30480  	//       "maximum": "100",
 30481  	//       "minimum": "0",
 30482  	//       "type": "integer"
 30483  	//     },
 30484  	//     "pageToken": {
 30485  	//       "description": "The value of the nextToken from the previous result page.",
 30486  	//       "location": "query",
 30487  	//       "type": "string"
 30488  	//     },
 30489  	//     "profileId": {
 30490  	//       "description": "The Campaign Manager 360 user profile ID.",
 30491  	//       "format": "int64",
 30492  	//       "location": "path",
 30493  	//       "required": true,
 30494  	//       "type": "string"
 30495  	//     }
 30496  	//   },
 30497  	//   "path": "userprofiles/{profileId}/dimensionvalues/query",
 30498  	//   "request": {
 30499  	//     "$ref": "DimensionValueRequest"
 30500  	//   },
 30501  	//   "response": {
 30502  	//     "$ref": "DimensionValueList"
 30503  	//   },
 30504  	//   "scopes": [
 30505  	//     "https://www.googleapis.com/auth/dfareporting"
 30506  	//   ]
 30507  	// }
 30508  
 30509  }
 30510  
 30511  // Pages invokes f for each page of results.
 30512  // A non-nil error returned from f will halt the iteration.
 30513  // The provided context supersedes any context provided to the Context method.
 30514  func (c *DimensionValuesQueryCall) Pages(ctx context.Context, f func(*DimensionValueList) error) error {
 30515  	c.ctx_ = ctx
 30516  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 30517  	for {
 30518  		x, err := c.Do()
 30519  		if err != nil {
 30520  			return err
 30521  		}
 30522  		if err := f(x); err != nil {
 30523  			return err
 30524  		}
 30525  		if x.NextPageToken == "" {
 30526  			return nil
 30527  		}
 30528  		c.PageToken(x.NextPageToken)
 30529  	}
 30530  }
 30531  
 30532  // method id "dfareporting.directorySites.get":
 30533  
 30534  type DirectorySitesGetCall struct {
 30535  	s            *Service
 30536  	profileId    int64
 30537  	id           int64
 30538  	urlParams_   gensupport.URLParams
 30539  	ifNoneMatch_ string
 30540  	ctx_         context.Context
 30541  	header_      http.Header
 30542  }
 30543  
 30544  // Get: Gets one directory site by ID.
 30545  //
 30546  // - id: Directory site ID.
 30547  // - profileId: User profile ID associated with this request.
 30548  func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
 30549  	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30550  	c.profileId = profileId
 30551  	c.id = id
 30552  	return c
 30553  }
 30554  
 30555  // Fields allows partial responses to be retrieved. See
 30556  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30557  // for more information.
 30558  func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
 30559  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30560  	return c
 30561  }
 30562  
 30563  // IfNoneMatch sets the optional parameter which makes the operation
 30564  // fail if the object's ETag matches the given value. This is useful for
 30565  // getting updates only after the object has changed since the last
 30566  // request. Use googleapi.IsNotModified to check whether the response
 30567  // error from Do is the result of In-None-Match.
 30568  func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
 30569  	c.ifNoneMatch_ = entityTag
 30570  	return c
 30571  }
 30572  
 30573  // Context sets the context to be used in this call's Do method. Any
 30574  // pending HTTP request will be aborted if the provided context is
 30575  // canceled.
 30576  func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
 30577  	c.ctx_ = ctx
 30578  	return c
 30579  }
 30580  
 30581  // Header returns an http.Header that can be modified by the caller to
 30582  // add HTTP headers to the request.
 30583  func (c *DirectorySitesGetCall) Header() http.Header {
 30584  	if c.header_ == nil {
 30585  		c.header_ = make(http.Header)
 30586  	}
 30587  	return c.header_
 30588  }
 30589  
 30590  func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
 30591  	reqHeaders := make(http.Header)
 30592  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 30593  	for k, v := range c.header_ {
 30594  		reqHeaders[k] = v
 30595  	}
 30596  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30597  	if c.ifNoneMatch_ != "" {
 30598  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30599  	}
 30600  	var body io.Reader = nil
 30601  	c.urlParams_.Set("alt", alt)
 30602  	c.urlParams_.Set("prettyPrint", "false")
 30603  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
 30604  	urls += "?" + c.urlParams_.Encode()
 30605  	req, err := http.NewRequest("GET", urls, body)
 30606  	if err != nil {
 30607  		return nil, err
 30608  	}
 30609  	req.Header = reqHeaders
 30610  	googleapi.Expand(req.URL, map[string]string{
 30611  		"profileId": strconv.FormatInt(c.profileId, 10),
 30612  		"id":        strconv.FormatInt(c.id, 10),
 30613  	})
 30614  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30615  }
 30616  
 30617  // Do executes the "dfareporting.directorySites.get" call.
 30618  // Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
 30619  // status code is an error. Response headers are in either
 30620  // *DirectorySite.ServerResponse.Header or (if a response was returned
 30621  // at all) in error.(*googleapi.Error).Header. Use
 30622  // googleapi.IsNotModified to check whether the returned error was
 30623  // because http.StatusNotModified was returned.
 30624  func (c *DirectorySitesGetCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
 30625  	gensupport.SetOptions(c.urlParams_, opts...)
 30626  	res, err := c.doRequest("json")
 30627  	if res != nil && res.StatusCode == http.StatusNotModified {
 30628  		if res.Body != nil {
 30629  			res.Body.Close()
 30630  		}
 30631  		return nil, &googleapi.Error{
 30632  			Code:   res.StatusCode,
 30633  			Header: res.Header,
 30634  		}
 30635  	}
 30636  	if err != nil {
 30637  		return nil, err
 30638  	}
 30639  	defer googleapi.CloseBody(res)
 30640  	if err := googleapi.CheckResponse(res); err != nil {
 30641  		return nil, err
 30642  	}
 30643  	ret := &DirectorySite{
 30644  		ServerResponse: googleapi.ServerResponse{
 30645  			Header:         res.Header,
 30646  			HTTPStatusCode: res.StatusCode,
 30647  		},
 30648  	}
 30649  	target := &ret
 30650  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30651  		return nil, err
 30652  	}
 30653  	return ret, nil
 30654  	// {
 30655  	//   "description": "Gets one directory site by ID.",
 30656  	//   "flatPath": "userprofiles/{profileId}/directorySites/{id}",
 30657  	//   "httpMethod": "GET",
 30658  	//   "id": "dfareporting.directorySites.get",
 30659  	//   "parameterOrder": [
 30660  	//     "profileId",
 30661  	//     "id"
 30662  	//   ],
 30663  	//   "parameters": {
 30664  	//     "id": {
 30665  	//       "description": "Directory site ID.",
 30666  	//       "format": "int64",
 30667  	//       "location": "path",
 30668  	//       "required": true,
 30669  	//       "type": "string"
 30670  	//     },
 30671  	//     "profileId": {
 30672  	//       "description": "User profile ID associated with this request.",
 30673  	//       "format": "int64",
 30674  	//       "location": "path",
 30675  	//       "required": true,
 30676  	//       "type": "string"
 30677  	//     }
 30678  	//   },
 30679  	//   "path": "userprofiles/{profileId}/directorySites/{id}",
 30680  	//   "response": {
 30681  	//     "$ref": "DirectorySite"
 30682  	//   },
 30683  	//   "scopes": [
 30684  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30685  	//   ]
 30686  	// }
 30687  
 30688  }
 30689  
 30690  // method id "dfareporting.directorySites.insert":
 30691  
 30692  type DirectorySitesInsertCall struct {
 30693  	s             *Service
 30694  	profileId     int64
 30695  	directorysite *DirectorySite
 30696  	urlParams_    gensupport.URLParams
 30697  	ctx_          context.Context
 30698  	header_       http.Header
 30699  }
 30700  
 30701  // Insert: Inserts a new directory site.
 30702  //
 30703  // - profileId: User profile ID associated with this request.
 30704  func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
 30705  	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30706  	c.profileId = profileId
 30707  	c.directorysite = directorysite
 30708  	return c
 30709  }
 30710  
 30711  // Fields allows partial responses to be retrieved. See
 30712  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30713  // for more information.
 30714  func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
 30715  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30716  	return c
 30717  }
 30718  
 30719  // Context sets the context to be used in this call's Do method. Any
 30720  // pending HTTP request will be aborted if the provided context is
 30721  // canceled.
 30722  func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
 30723  	c.ctx_ = ctx
 30724  	return c
 30725  }
 30726  
 30727  // Header returns an http.Header that can be modified by the caller to
 30728  // add HTTP headers to the request.
 30729  func (c *DirectorySitesInsertCall) Header() http.Header {
 30730  	if c.header_ == nil {
 30731  		c.header_ = make(http.Header)
 30732  	}
 30733  	return c.header_
 30734  }
 30735  
 30736  func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
 30737  	reqHeaders := make(http.Header)
 30738  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 30739  	for k, v := range c.header_ {
 30740  		reqHeaders[k] = v
 30741  	}
 30742  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30743  	var body io.Reader = nil
 30744  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorysite)
 30745  	if err != nil {
 30746  		return nil, err
 30747  	}
 30748  	reqHeaders.Set("Content-Type", "application/json")
 30749  	c.urlParams_.Set("alt", alt)
 30750  	c.urlParams_.Set("prettyPrint", "false")
 30751  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
 30752  	urls += "?" + c.urlParams_.Encode()
 30753  	req, err := http.NewRequest("POST", urls, body)
 30754  	if err != nil {
 30755  		return nil, err
 30756  	}
 30757  	req.Header = reqHeaders
 30758  	googleapi.Expand(req.URL, map[string]string{
 30759  		"profileId": strconv.FormatInt(c.profileId, 10),
 30760  	})
 30761  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30762  }
 30763  
 30764  // Do executes the "dfareporting.directorySites.insert" call.
 30765  // Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
 30766  // status code is an error. Response headers are in either
 30767  // *DirectorySite.ServerResponse.Header or (if a response was returned
 30768  // at all) in error.(*googleapi.Error).Header. Use
 30769  // googleapi.IsNotModified to check whether the returned error was
 30770  // because http.StatusNotModified was returned.
 30771  func (c *DirectorySitesInsertCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
 30772  	gensupport.SetOptions(c.urlParams_, opts...)
 30773  	res, err := c.doRequest("json")
 30774  	if res != nil && res.StatusCode == http.StatusNotModified {
 30775  		if res.Body != nil {
 30776  			res.Body.Close()
 30777  		}
 30778  		return nil, &googleapi.Error{
 30779  			Code:   res.StatusCode,
 30780  			Header: res.Header,
 30781  		}
 30782  	}
 30783  	if err != nil {
 30784  		return nil, err
 30785  	}
 30786  	defer googleapi.CloseBody(res)
 30787  	if err := googleapi.CheckResponse(res); err != nil {
 30788  		return nil, err
 30789  	}
 30790  	ret := &DirectorySite{
 30791  		ServerResponse: googleapi.ServerResponse{
 30792  			Header:         res.Header,
 30793  			HTTPStatusCode: res.StatusCode,
 30794  		},
 30795  	}
 30796  	target := &ret
 30797  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30798  		return nil, err
 30799  	}
 30800  	return ret, nil
 30801  	// {
 30802  	//   "description": "Inserts a new directory site.",
 30803  	//   "flatPath": "userprofiles/{profileId}/directorySites",
 30804  	//   "httpMethod": "POST",
 30805  	//   "id": "dfareporting.directorySites.insert",
 30806  	//   "parameterOrder": [
 30807  	//     "profileId"
 30808  	//   ],
 30809  	//   "parameters": {
 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}/directorySites",
 30819  	//   "request": {
 30820  	//     "$ref": "DirectorySite"
 30821  	//   },
 30822  	//   "response": {
 30823  	//     "$ref": "DirectorySite"
 30824  	//   },
 30825  	//   "scopes": [
 30826  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30827  	//   ]
 30828  	// }
 30829  
 30830  }
 30831  
 30832  // method id "dfareporting.directorySites.list":
 30833  
 30834  type DirectorySitesListCall struct {
 30835  	s            *Service
 30836  	profileId    int64
 30837  	urlParams_   gensupport.URLParams
 30838  	ifNoneMatch_ string
 30839  	ctx_         context.Context
 30840  	header_      http.Header
 30841  }
 30842  
 30843  // List: Retrieves a list of directory sites, possibly filtered. This
 30844  // method supports paging.
 30845  //
 30846  // - profileId: User profile ID associated with this request.
 30847  func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
 30848  	c := &DirectorySitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30849  	c.profileId = profileId
 30850  	return c
 30851  }
 30852  
 30853  // AcceptsInStreamVideoPlacements sets the optional parameter
 30854  // "acceptsInStreamVideoPlacements": This search filter is no longer
 30855  // supported and will have no effect on the results returned.
 30856  func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
 30857  	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
 30858  	return c
 30859  }
 30860  
 30861  // AcceptsInterstitialPlacements sets the optional parameter
 30862  // "acceptsInterstitialPlacements": This search filter is no longer
 30863  // supported and will have no effect on the results returned.
 30864  func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
 30865  	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
 30866  	return c
 30867  }
 30868  
 30869  // AcceptsPublisherPaidPlacements sets the optional parameter
 30870  // "acceptsPublisherPaidPlacements": Select only directory sites that
 30871  // accept publisher paid placements. This field can be left blank.
 30872  func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
 30873  	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
 30874  	return c
 30875  }
 30876  
 30877  // Active sets the optional parameter "active": Select only active
 30878  // directory sites. Leave blank to retrieve both active and inactive
 30879  // directory sites.
 30880  func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
 30881  	c.urlParams_.Set("active", fmt.Sprint(active))
 30882  	return c
 30883  }
 30884  
 30885  // DfpNetworkCode sets the optional parameter "dfpNetworkCode": Select
 30886  // only directory sites with this Ad Manager network code.
 30887  func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
 30888  	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
 30889  	return c
 30890  }
 30891  
 30892  // Ids sets the optional parameter "ids": Select only directory sites
 30893  // with these IDs.
 30894  func (c *DirectorySitesListCall) Ids(ids ...int64) *DirectorySitesListCall {
 30895  	var ids_ []string
 30896  	for _, v := range ids {
 30897  		ids_ = append(ids_, fmt.Sprint(v))
 30898  	}
 30899  	c.urlParams_.SetMulti("ids", ids_)
 30900  	return c
 30901  }
 30902  
 30903  // MaxResults sets the optional parameter "maxResults": Maximum number
 30904  // of results to return.
 30905  func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
 30906  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 30907  	return c
 30908  }
 30909  
 30910  // PageToken sets the optional parameter "pageToken": Value of the
 30911  // nextPageToken from the previous result page.
 30912  func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
 30913  	c.urlParams_.Set("pageToken", pageToken)
 30914  	return c
 30915  }
 30916  
 30917  // SearchString sets the optional parameter "searchString": Allows
 30918  // searching for objects by name, ID or URL. Wildcards (*) are allowed.
 30919  // For example, "directory site*2015" will return objects with names
 30920  // like "directory site June 2015", "directory site April 2015", or
 30921  // simply "directory site 2015". Most of the searches also add wildcards
 30922  // implicitly at the start and the end of the search string. For
 30923  // example, a search string of "directory site" will match objects with
 30924  // name "my directory site", "directory site 2015" or simply, "directory
 30925  // site".
 30926  func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
 30927  	c.urlParams_.Set("searchString", searchString)
 30928  	return c
 30929  }
 30930  
 30931  // SortField sets the optional parameter "sortField": Field by which to
 30932  // sort the list.
 30933  //
 30934  // Possible values:
 30935  //
 30936  //	"ID" (default)
 30937  //	"NAME"
 30938  func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
 30939  	c.urlParams_.Set("sortField", sortField)
 30940  	return c
 30941  }
 30942  
 30943  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 30944  // results.
 30945  //
 30946  // Possible values:
 30947  //
 30948  //	"ASCENDING" (default)
 30949  //	"DESCENDING"
 30950  func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
 30951  	c.urlParams_.Set("sortOrder", sortOrder)
 30952  	return c
 30953  }
 30954  
 30955  // Fields allows partial responses to be retrieved. See
 30956  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30957  // for more information.
 30958  func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
 30959  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30960  	return c
 30961  }
 30962  
 30963  // IfNoneMatch sets the optional parameter which makes the operation
 30964  // fail if the object's ETag matches the given value. This is useful for
 30965  // getting updates only after the object has changed since the last
 30966  // request. Use googleapi.IsNotModified to check whether the response
 30967  // error from Do is the result of In-None-Match.
 30968  func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
 30969  	c.ifNoneMatch_ = entityTag
 30970  	return c
 30971  }
 30972  
 30973  // Context sets the context to be used in this call's Do method. Any
 30974  // pending HTTP request will be aborted if the provided context is
 30975  // canceled.
 30976  func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
 30977  	c.ctx_ = ctx
 30978  	return c
 30979  }
 30980  
 30981  // Header returns an http.Header that can be modified by the caller to
 30982  // add HTTP headers to the request.
 30983  func (c *DirectorySitesListCall) Header() http.Header {
 30984  	if c.header_ == nil {
 30985  		c.header_ = make(http.Header)
 30986  	}
 30987  	return c.header_
 30988  }
 30989  
 30990  func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
 30991  	reqHeaders := make(http.Header)
 30992  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 30993  	for k, v := range c.header_ {
 30994  		reqHeaders[k] = v
 30995  	}
 30996  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30997  	if c.ifNoneMatch_ != "" {
 30998  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30999  	}
 31000  	var body io.Reader = nil
 31001  	c.urlParams_.Set("alt", alt)
 31002  	c.urlParams_.Set("prettyPrint", "false")
 31003  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
 31004  	urls += "?" + c.urlParams_.Encode()
 31005  	req, err := http.NewRequest("GET", urls, body)
 31006  	if err != nil {
 31007  		return nil, err
 31008  	}
 31009  	req.Header = reqHeaders
 31010  	googleapi.Expand(req.URL, map[string]string{
 31011  		"profileId": strconv.FormatInt(c.profileId, 10),
 31012  	})
 31013  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31014  }
 31015  
 31016  // Do executes the "dfareporting.directorySites.list" call.
 31017  // Exactly one of *DirectorySitesListResponse or error will be non-nil.
 31018  // Any non-2xx status code is an error. Response headers are in either
 31019  // *DirectorySitesListResponse.ServerResponse.Header or (if a response
 31020  // was returned at all) in error.(*googleapi.Error).Header. Use
 31021  // googleapi.IsNotModified to check whether the returned error was
 31022  // because http.StatusNotModified was returned.
 31023  func (c *DirectorySitesListCall) Do(opts ...googleapi.CallOption) (*DirectorySitesListResponse, error) {
 31024  	gensupport.SetOptions(c.urlParams_, opts...)
 31025  	res, err := c.doRequest("json")
 31026  	if res != nil && res.StatusCode == http.StatusNotModified {
 31027  		if res.Body != nil {
 31028  			res.Body.Close()
 31029  		}
 31030  		return nil, &googleapi.Error{
 31031  			Code:   res.StatusCode,
 31032  			Header: res.Header,
 31033  		}
 31034  	}
 31035  	if err != nil {
 31036  		return nil, err
 31037  	}
 31038  	defer googleapi.CloseBody(res)
 31039  	if err := googleapi.CheckResponse(res); err != nil {
 31040  		return nil, err
 31041  	}
 31042  	ret := &DirectorySitesListResponse{
 31043  		ServerResponse: googleapi.ServerResponse{
 31044  			Header:         res.Header,
 31045  			HTTPStatusCode: res.StatusCode,
 31046  		},
 31047  	}
 31048  	target := &ret
 31049  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31050  		return nil, err
 31051  	}
 31052  	return ret, nil
 31053  	// {
 31054  	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
 31055  	//   "flatPath": "userprofiles/{profileId}/directorySites",
 31056  	//   "httpMethod": "GET",
 31057  	//   "id": "dfareporting.directorySites.list",
 31058  	//   "parameterOrder": [
 31059  	//     "profileId"
 31060  	//   ],
 31061  	//   "parameters": {
 31062  	//     "acceptsInStreamVideoPlacements": {
 31063  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 31064  	//       "location": "query",
 31065  	//       "type": "boolean"
 31066  	//     },
 31067  	//     "acceptsInterstitialPlacements": {
 31068  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 31069  	//       "location": "query",
 31070  	//       "type": "boolean"
 31071  	//     },
 31072  	//     "acceptsPublisherPaidPlacements": {
 31073  	//       "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
 31074  	//       "location": "query",
 31075  	//       "type": "boolean"
 31076  	//     },
 31077  	//     "active": {
 31078  	//       "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
 31079  	//       "location": "query",
 31080  	//       "type": "boolean"
 31081  	//     },
 31082  	//     "dfpNetworkCode": {
 31083  	//       "description": "Select only directory sites with this Ad Manager network code.",
 31084  	//       "location": "query",
 31085  	//       "type": "string"
 31086  	//     },
 31087  	//     "ids": {
 31088  	//       "description": "Select only directory sites with these IDs.",
 31089  	//       "format": "int64",
 31090  	//       "location": "query",
 31091  	//       "repeated": true,
 31092  	//       "type": "string"
 31093  	//     },
 31094  	//     "maxResults": {
 31095  	//       "default": "1000",
 31096  	//       "description": "Maximum number of results to return.",
 31097  	//       "format": "int32",
 31098  	//       "location": "query",
 31099  	//       "maximum": "1000",
 31100  	//       "minimum": "0",
 31101  	//       "type": "integer"
 31102  	//     },
 31103  	//     "pageToken": {
 31104  	//       "description": "Value of the nextPageToken from the previous result page.",
 31105  	//       "location": "query",
 31106  	//       "type": "string"
 31107  	//     },
 31108  	//     "profileId": {
 31109  	//       "description": "User profile ID associated with this request.",
 31110  	//       "format": "int64",
 31111  	//       "location": "path",
 31112  	//       "required": true,
 31113  	//       "type": "string"
 31114  	//     },
 31115  	//     "searchString": {
 31116  	//       "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\".",
 31117  	//       "location": "query",
 31118  	//       "type": "string"
 31119  	//     },
 31120  	//     "sortField": {
 31121  	//       "default": "ID",
 31122  	//       "description": "Field by which to sort the list.",
 31123  	//       "enum": [
 31124  	//         "ID",
 31125  	//         "NAME"
 31126  	//       ],
 31127  	//       "enumDescriptions": [
 31128  	//         "",
 31129  	//         ""
 31130  	//       ],
 31131  	//       "location": "query",
 31132  	//       "type": "string"
 31133  	//     },
 31134  	//     "sortOrder": {
 31135  	//       "default": "ASCENDING",
 31136  	//       "description": "Order of sorted results.",
 31137  	//       "enum": [
 31138  	//         "ASCENDING",
 31139  	//         "DESCENDING"
 31140  	//       ],
 31141  	//       "enumDescriptions": [
 31142  	//         "",
 31143  	//         ""
 31144  	//       ],
 31145  	//       "location": "query",
 31146  	//       "type": "string"
 31147  	//     }
 31148  	//   },
 31149  	//   "path": "userprofiles/{profileId}/directorySites",
 31150  	//   "response": {
 31151  	//     "$ref": "DirectorySitesListResponse"
 31152  	//   },
 31153  	//   "scopes": [
 31154  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31155  	//   ]
 31156  	// }
 31157  
 31158  }
 31159  
 31160  // Pages invokes f for each page of results.
 31161  // A non-nil error returned from f will halt the iteration.
 31162  // The provided context supersedes any context provided to the Context method.
 31163  func (c *DirectorySitesListCall) Pages(ctx context.Context, f func(*DirectorySitesListResponse) error) error {
 31164  	c.ctx_ = ctx
 31165  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 31166  	for {
 31167  		x, err := c.Do()
 31168  		if err != nil {
 31169  			return err
 31170  		}
 31171  		if err := f(x); err != nil {
 31172  			return err
 31173  		}
 31174  		if x.NextPageToken == "" {
 31175  			return nil
 31176  		}
 31177  		c.PageToken(x.NextPageToken)
 31178  	}
 31179  }
 31180  
 31181  // method id "dfareporting.dynamicTargetingKeys.delete":
 31182  
 31183  type DynamicTargetingKeysDeleteCall struct {
 31184  	s          *Service
 31185  	profileId  int64
 31186  	objectId   int64
 31187  	urlParams_ gensupport.URLParams
 31188  	ctx_       context.Context
 31189  	header_    http.Header
 31190  }
 31191  
 31192  // Delete: Deletes an existing dynamic targeting key.
 31193  //
 31194  //   - name: Name of this dynamic targeting key. This is a required field.
 31195  //     Must be less than 256 characters long and cannot contain commas.
 31196  //     All characters are converted to lowercase.
 31197  //   - objectId: ID of the object of this dynamic targeting key. This is a
 31198  //     required field.
 31199  //   - objectType: Type of the object of this dynamic targeting key. This
 31200  //     is a required field.
 31201  //   - profileId: User profile ID associated with this request.
 31202  func (r *DynamicTargetingKeysService) Delete(profileId int64, objectId int64, name string, objectType string) *DynamicTargetingKeysDeleteCall {
 31203  	c := &DynamicTargetingKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31204  	c.profileId = profileId
 31205  	c.objectId = objectId
 31206  	c.urlParams_.Set("name", name)
 31207  	c.urlParams_.Set("objectType", objectType)
 31208  	return c
 31209  }
 31210  
 31211  // Fields allows partial responses to be retrieved. See
 31212  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31213  // for more information.
 31214  func (c *DynamicTargetingKeysDeleteCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysDeleteCall {
 31215  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31216  	return c
 31217  }
 31218  
 31219  // Context sets the context to be used in this call's Do method. Any
 31220  // pending HTTP request will be aborted if the provided context is
 31221  // canceled.
 31222  func (c *DynamicTargetingKeysDeleteCall) Context(ctx context.Context) *DynamicTargetingKeysDeleteCall {
 31223  	c.ctx_ = ctx
 31224  	return c
 31225  }
 31226  
 31227  // Header returns an http.Header that can be modified by the caller to
 31228  // add HTTP headers to the request.
 31229  func (c *DynamicTargetingKeysDeleteCall) Header() http.Header {
 31230  	if c.header_ == nil {
 31231  		c.header_ = make(http.Header)
 31232  	}
 31233  	return c.header_
 31234  }
 31235  
 31236  func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 31237  	reqHeaders := make(http.Header)
 31238  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 31239  	for k, v := range c.header_ {
 31240  		reqHeaders[k] = v
 31241  	}
 31242  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31243  	var body io.Reader = nil
 31244  	c.urlParams_.Set("alt", alt)
 31245  	c.urlParams_.Set("prettyPrint", "false")
 31246  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}")
 31247  	urls += "?" + c.urlParams_.Encode()
 31248  	req, err := http.NewRequest("DELETE", urls, body)
 31249  	if err != nil {
 31250  		return nil, err
 31251  	}
 31252  	req.Header = reqHeaders
 31253  	googleapi.Expand(req.URL, map[string]string{
 31254  		"profileId": strconv.FormatInt(c.profileId, 10),
 31255  		"objectId":  strconv.FormatInt(c.objectId, 10),
 31256  	})
 31257  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31258  }
 31259  
 31260  // Do executes the "dfareporting.dynamicTargetingKeys.delete" call.
 31261  func (c *DynamicTargetingKeysDeleteCall) Do(opts ...googleapi.CallOption) error {
 31262  	gensupport.SetOptions(c.urlParams_, opts...)
 31263  	res, err := c.doRequest("json")
 31264  	if err != nil {
 31265  		return err
 31266  	}
 31267  	defer googleapi.CloseBody(res)
 31268  	if err := googleapi.CheckResponse(res); err != nil {
 31269  		return err
 31270  	}
 31271  	return nil
 31272  	// {
 31273  	//   "description": "Deletes an existing dynamic targeting key.",
 31274  	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
 31275  	//   "httpMethod": "DELETE",
 31276  	//   "id": "dfareporting.dynamicTargetingKeys.delete",
 31277  	//   "parameterOrder": [
 31278  	//     "profileId",
 31279  	//     "objectId",
 31280  	//     "name",
 31281  	//     "objectType"
 31282  	//   ],
 31283  	//   "parameters": {
 31284  	//     "name": {
 31285  	//       "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.",
 31286  	//       "location": "query",
 31287  	//       "required": true,
 31288  	//       "type": "string"
 31289  	//     },
 31290  	//     "objectId": {
 31291  	//       "description": "ID of the object of this dynamic targeting key. This is a required field.",
 31292  	//       "format": "int64",
 31293  	//       "location": "path",
 31294  	//       "required": true,
 31295  	//       "type": "string"
 31296  	//     },
 31297  	//     "objectType": {
 31298  	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
 31299  	//       "enum": [
 31300  	//         "OBJECT_ADVERTISER",
 31301  	//         "OBJECT_AD",
 31302  	//         "OBJECT_CREATIVE",
 31303  	//         "OBJECT_PLACEMENT"
 31304  	//       ],
 31305  	//       "enumDescriptions": [
 31306  	//         "",
 31307  	//         "",
 31308  	//         "",
 31309  	//         ""
 31310  	//       ],
 31311  	//       "location": "query",
 31312  	//       "required": true,
 31313  	//       "type": "string"
 31314  	//     },
 31315  	//     "profileId": {
 31316  	//       "description": "User profile ID associated with this request.",
 31317  	//       "format": "int64",
 31318  	//       "location": "path",
 31319  	//       "required": true,
 31320  	//       "type": "string"
 31321  	//     }
 31322  	//   },
 31323  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
 31324  	//   "scopes": [
 31325  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31326  	//   ]
 31327  	// }
 31328  
 31329  }
 31330  
 31331  // method id "dfareporting.dynamicTargetingKeys.insert":
 31332  
 31333  type DynamicTargetingKeysInsertCall struct {
 31334  	s                   *Service
 31335  	profileId           int64
 31336  	dynamictargetingkey *DynamicTargetingKey
 31337  	urlParams_          gensupport.URLParams
 31338  	ctx_                context.Context
 31339  	header_             http.Header
 31340  }
 31341  
 31342  // Insert: Inserts a new dynamic targeting key. Keys must be created at
 31343  // the advertiser level before being assigned to the advertiser's ads,
 31344  // creatives, or placements. There is a maximum of 1000 keys per
 31345  // advertiser, out of which a maximum of 20 keys can be assigned per ad,
 31346  // creative, or placement.
 31347  //
 31348  // - profileId: User profile ID associated with this request.
 31349  func (r *DynamicTargetingKeysService) Insert(profileId int64, dynamictargetingkey *DynamicTargetingKey) *DynamicTargetingKeysInsertCall {
 31350  	c := &DynamicTargetingKeysInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31351  	c.profileId = profileId
 31352  	c.dynamictargetingkey = dynamictargetingkey
 31353  	return c
 31354  }
 31355  
 31356  // Fields allows partial responses to be retrieved. See
 31357  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31358  // for more information.
 31359  func (c *DynamicTargetingKeysInsertCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysInsertCall {
 31360  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31361  	return c
 31362  }
 31363  
 31364  // Context sets the context to be used in this call's Do method. Any
 31365  // pending HTTP request will be aborted if the provided context is
 31366  // canceled.
 31367  func (c *DynamicTargetingKeysInsertCall) Context(ctx context.Context) *DynamicTargetingKeysInsertCall {
 31368  	c.ctx_ = ctx
 31369  	return c
 31370  }
 31371  
 31372  // Header returns an http.Header that can be modified by the caller to
 31373  // add HTTP headers to the request.
 31374  func (c *DynamicTargetingKeysInsertCall) Header() http.Header {
 31375  	if c.header_ == nil {
 31376  		c.header_ = make(http.Header)
 31377  	}
 31378  	return c.header_
 31379  }
 31380  
 31381  func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
 31382  	reqHeaders := make(http.Header)
 31383  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 31384  	for k, v := range c.header_ {
 31385  		reqHeaders[k] = v
 31386  	}
 31387  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31388  	var body io.Reader = nil
 31389  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dynamictargetingkey)
 31390  	if err != nil {
 31391  		return nil, err
 31392  	}
 31393  	reqHeaders.Set("Content-Type", "application/json")
 31394  	c.urlParams_.Set("alt", alt)
 31395  	c.urlParams_.Set("prettyPrint", "false")
 31396  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
 31397  	urls += "?" + c.urlParams_.Encode()
 31398  	req, err := http.NewRequest("POST", urls, body)
 31399  	if err != nil {
 31400  		return nil, err
 31401  	}
 31402  	req.Header = reqHeaders
 31403  	googleapi.Expand(req.URL, map[string]string{
 31404  		"profileId": strconv.FormatInt(c.profileId, 10),
 31405  	})
 31406  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31407  }
 31408  
 31409  // Do executes the "dfareporting.dynamicTargetingKeys.insert" call.
 31410  // Exactly one of *DynamicTargetingKey or error will be non-nil. Any
 31411  // non-2xx status code is an error. Response headers are in either
 31412  // *DynamicTargetingKey.ServerResponse.Header or (if a response was
 31413  // returned at all) in error.(*googleapi.Error).Header. Use
 31414  // googleapi.IsNotModified to check whether the returned error was
 31415  // because http.StatusNotModified was returned.
 31416  func (c *DynamicTargetingKeysInsertCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKey, error) {
 31417  	gensupport.SetOptions(c.urlParams_, opts...)
 31418  	res, err := c.doRequest("json")
 31419  	if res != nil && res.StatusCode == http.StatusNotModified {
 31420  		if res.Body != nil {
 31421  			res.Body.Close()
 31422  		}
 31423  		return nil, &googleapi.Error{
 31424  			Code:   res.StatusCode,
 31425  			Header: res.Header,
 31426  		}
 31427  	}
 31428  	if err != nil {
 31429  		return nil, err
 31430  	}
 31431  	defer googleapi.CloseBody(res)
 31432  	if err := googleapi.CheckResponse(res); err != nil {
 31433  		return nil, err
 31434  	}
 31435  	ret := &DynamicTargetingKey{
 31436  		ServerResponse: googleapi.ServerResponse{
 31437  			Header:         res.Header,
 31438  			HTTPStatusCode: res.StatusCode,
 31439  		},
 31440  	}
 31441  	target := &ret
 31442  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31443  		return nil, err
 31444  	}
 31445  	return ret, nil
 31446  	// {
 31447  	//   "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.",
 31448  	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
 31449  	//   "httpMethod": "POST",
 31450  	//   "id": "dfareporting.dynamicTargetingKeys.insert",
 31451  	//   "parameterOrder": [
 31452  	//     "profileId"
 31453  	//   ],
 31454  	//   "parameters": {
 31455  	//     "profileId": {
 31456  	//       "description": "User profile ID associated with this request.",
 31457  	//       "format": "int64",
 31458  	//       "location": "path",
 31459  	//       "required": true,
 31460  	//       "type": "string"
 31461  	//     }
 31462  	//   },
 31463  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
 31464  	//   "request": {
 31465  	//     "$ref": "DynamicTargetingKey"
 31466  	//   },
 31467  	//   "response": {
 31468  	//     "$ref": "DynamicTargetingKey"
 31469  	//   },
 31470  	//   "scopes": [
 31471  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31472  	//   ]
 31473  	// }
 31474  
 31475  }
 31476  
 31477  // method id "dfareporting.dynamicTargetingKeys.list":
 31478  
 31479  type DynamicTargetingKeysListCall struct {
 31480  	s            *Service
 31481  	profileId    int64
 31482  	urlParams_   gensupport.URLParams
 31483  	ifNoneMatch_ string
 31484  	ctx_         context.Context
 31485  	header_      http.Header
 31486  }
 31487  
 31488  // List: Retrieves a list of dynamic targeting keys.
 31489  //
 31490  // - profileId: User profile ID associated with this request.
 31491  func (r *DynamicTargetingKeysService) List(profileId int64) *DynamicTargetingKeysListCall {
 31492  	c := &DynamicTargetingKeysListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31493  	c.profileId = profileId
 31494  	return c
 31495  }
 31496  
 31497  // AdvertiserId sets the optional parameter "advertiserId": Select only
 31498  // dynamic targeting keys whose object has this advertiser ID.
 31499  func (c *DynamicTargetingKeysListCall) AdvertiserId(advertiserId int64) *DynamicTargetingKeysListCall {
 31500  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31501  	return c
 31502  }
 31503  
 31504  // Names sets the optional parameter "names": Select only dynamic
 31505  // targeting keys exactly matching these names.
 31506  func (c *DynamicTargetingKeysListCall) Names(names ...string) *DynamicTargetingKeysListCall {
 31507  	c.urlParams_.SetMulti("names", append([]string{}, names...))
 31508  	return c
 31509  }
 31510  
 31511  // ObjectId sets the optional parameter "objectId": Select only dynamic
 31512  // targeting keys with this object ID.
 31513  func (c *DynamicTargetingKeysListCall) ObjectId(objectId int64) *DynamicTargetingKeysListCall {
 31514  	c.urlParams_.Set("objectId", fmt.Sprint(objectId))
 31515  	return c
 31516  }
 31517  
 31518  // ObjectType sets the optional parameter "objectType": Select only
 31519  // dynamic targeting keys with this object type.
 31520  //
 31521  // Possible values:
 31522  //
 31523  //	"OBJECT_ADVERTISER"
 31524  //	"OBJECT_AD"
 31525  //	"OBJECT_CREATIVE"
 31526  //	"OBJECT_PLACEMENT"
 31527  func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
 31528  	c.urlParams_.Set("objectType", objectType)
 31529  	return c
 31530  }
 31531  
 31532  // Fields allows partial responses to be retrieved. See
 31533  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31534  // for more information.
 31535  func (c *DynamicTargetingKeysListCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysListCall {
 31536  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31537  	return c
 31538  }
 31539  
 31540  // IfNoneMatch sets the optional parameter which makes the operation
 31541  // fail if the object's ETag matches the given value. This is useful for
 31542  // getting updates only after the object has changed since the last
 31543  // request. Use googleapi.IsNotModified to check whether the response
 31544  // error from Do is the result of In-None-Match.
 31545  func (c *DynamicTargetingKeysListCall) IfNoneMatch(entityTag string) *DynamicTargetingKeysListCall {
 31546  	c.ifNoneMatch_ = entityTag
 31547  	return c
 31548  }
 31549  
 31550  // Context sets the context to be used in this call's Do method. Any
 31551  // pending HTTP request will be aborted if the provided context is
 31552  // canceled.
 31553  func (c *DynamicTargetingKeysListCall) Context(ctx context.Context) *DynamicTargetingKeysListCall {
 31554  	c.ctx_ = ctx
 31555  	return c
 31556  }
 31557  
 31558  // Header returns an http.Header that can be modified by the caller to
 31559  // add HTTP headers to the request.
 31560  func (c *DynamicTargetingKeysListCall) Header() http.Header {
 31561  	if c.header_ == nil {
 31562  		c.header_ = make(http.Header)
 31563  	}
 31564  	return c.header_
 31565  }
 31566  
 31567  func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
 31568  	reqHeaders := make(http.Header)
 31569  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 31570  	for k, v := range c.header_ {
 31571  		reqHeaders[k] = v
 31572  	}
 31573  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31574  	if c.ifNoneMatch_ != "" {
 31575  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31576  	}
 31577  	var body io.Reader = nil
 31578  	c.urlParams_.Set("alt", alt)
 31579  	c.urlParams_.Set("prettyPrint", "false")
 31580  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
 31581  	urls += "?" + c.urlParams_.Encode()
 31582  	req, err := http.NewRequest("GET", urls, body)
 31583  	if err != nil {
 31584  		return nil, err
 31585  	}
 31586  	req.Header = reqHeaders
 31587  	googleapi.Expand(req.URL, map[string]string{
 31588  		"profileId": strconv.FormatInt(c.profileId, 10),
 31589  	})
 31590  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31591  }
 31592  
 31593  // Do executes the "dfareporting.dynamicTargetingKeys.list" call.
 31594  // Exactly one of *DynamicTargetingKeysListResponse or error will be
 31595  // non-nil. Any non-2xx status code is an error. Response headers are in
 31596  // either *DynamicTargetingKeysListResponse.ServerResponse.Header or (if
 31597  // a response was returned at all) in error.(*googleapi.Error).Header.
 31598  // Use googleapi.IsNotModified to check whether the returned error was
 31599  // because http.StatusNotModified was returned.
 31600  func (c *DynamicTargetingKeysListCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKeysListResponse, error) {
 31601  	gensupport.SetOptions(c.urlParams_, opts...)
 31602  	res, err := c.doRequest("json")
 31603  	if res != nil && res.StatusCode == http.StatusNotModified {
 31604  		if res.Body != nil {
 31605  			res.Body.Close()
 31606  		}
 31607  		return nil, &googleapi.Error{
 31608  			Code:   res.StatusCode,
 31609  			Header: res.Header,
 31610  		}
 31611  	}
 31612  	if err != nil {
 31613  		return nil, err
 31614  	}
 31615  	defer googleapi.CloseBody(res)
 31616  	if err := googleapi.CheckResponse(res); err != nil {
 31617  		return nil, err
 31618  	}
 31619  	ret := &DynamicTargetingKeysListResponse{
 31620  		ServerResponse: googleapi.ServerResponse{
 31621  			Header:         res.Header,
 31622  			HTTPStatusCode: res.StatusCode,
 31623  		},
 31624  	}
 31625  	target := &ret
 31626  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31627  		return nil, err
 31628  	}
 31629  	return ret, nil
 31630  	// {
 31631  	//   "description": "Retrieves a list of dynamic targeting keys.",
 31632  	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
 31633  	//   "httpMethod": "GET",
 31634  	//   "id": "dfareporting.dynamicTargetingKeys.list",
 31635  	//   "parameterOrder": [
 31636  	//     "profileId"
 31637  	//   ],
 31638  	//   "parameters": {
 31639  	//     "advertiserId": {
 31640  	//       "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
 31641  	//       "format": "int64",
 31642  	//       "location": "query",
 31643  	//       "type": "string"
 31644  	//     },
 31645  	//     "names": {
 31646  	//       "description": "Select only dynamic targeting keys exactly matching these names.",
 31647  	//       "location": "query",
 31648  	//       "repeated": true,
 31649  	//       "type": "string"
 31650  	//     },
 31651  	//     "objectId": {
 31652  	//       "description": "Select only dynamic targeting keys with this object ID.",
 31653  	//       "format": "int64",
 31654  	//       "location": "query",
 31655  	//       "type": "string"
 31656  	//     },
 31657  	//     "objectType": {
 31658  	//       "description": "Select only dynamic targeting keys with this object type.",
 31659  	//       "enum": [
 31660  	//         "OBJECT_ADVERTISER",
 31661  	//         "OBJECT_AD",
 31662  	//         "OBJECT_CREATIVE",
 31663  	//         "OBJECT_PLACEMENT"
 31664  	//       ],
 31665  	//       "enumDescriptions": [
 31666  	//         "",
 31667  	//         "",
 31668  	//         "",
 31669  	//         ""
 31670  	//       ],
 31671  	//       "location": "query",
 31672  	//       "type": "string"
 31673  	//     },
 31674  	//     "profileId": {
 31675  	//       "description": "User profile ID associated with this request.",
 31676  	//       "format": "int64",
 31677  	//       "location": "path",
 31678  	//       "required": true,
 31679  	//       "type": "string"
 31680  	//     }
 31681  	//   },
 31682  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
 31683  	//   "response": {
 31684  	//     "$ref": "DynamicTargetingKeysListResponse"
 31685  	//   },
 31686  	//   "scopes": [
 31687  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31688  	//   ]
 31689  	// }
 31690  
 31691  }
 31692  
 31693  // method id "dfareporting.eventTags.delete":
 31694  
 31695  type EventTagsDeleteCall struct {
 31696  	s          *Service
 31697  	profileId  int64
 31698  	id         int64
 31699  	urlParams_ gensupport.URLParams
 31700  	ctx_       context.Context
 31701  	header_    http.Header
 31702  }
 31703  
 31704  // Delete: Deletes an existing event tag.
 31705  //
 31706  // - id: Event tag ID.
 31707  // - profileId: User profile ID associated with this request.
 31708  func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
 31709  	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31710  	c.profileId = profileId
 31711  	c.id = id
 31712  	return c
 31713  }
 31714  
 31715  // Fields allows partial responses to be retrieved. See
 31716  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31717  // for more information.
 31718  func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
 31719  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31720  	return c
 31721  }
 31722  
 31723  // Context sets the context to be used in this call's Do method. Any
 31724  // pending HTTP request will be aborted if the provided context is
 31725  // canceled.
 31726  func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
 31727  	c.ctx_ = ctx
 31728  	return c
 31729  }
 31730  
 31731  // Header returns an http.Header that can be modified by the caller to
 31732  // add HTTP headers to the request.
 31733  func (c *EventTagsDeleteCall) Header() http.Header {
 31734  	if c.header_ == nil {
 31735  		c.header_ = make(http.Header)
 31736  	}
 31737  	return c.header_
 31738  }
 31739  
 31740  func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 31741  	reqHeaders := make(http.Header)
 31742  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 31743  	for k, v := range c.header_ {
 31744  		reqHeaders[k] = v
 31745  	}
 31746  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31747  	var body io.Reader = nil
 31748  	c.urlParams_.Set("alt", alt)
 31749  	c.urlParams_.Set("prettyPrint", "false")
 31750  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
 31751  	urls += "?" + c.urlParams_.Encode()
 31752  	req, err := http.NewRequest("DELETE", urls, body)
 31753  	if err != nil {
 31754  		return nil, err
 31755  	}
 31756  	req.Header = reqHeaders
 31757  	googleapi.Expand(req.URL, map[string]string{
 31758  		"profileId": strconv.FormatInt(c.profileId, 10),
 31759  		"id":        strconv.FormatInt(c.id, 10),
 31760  	})
 31761  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31762  }
 31763  
 31764  // Do executes the "dfareporting.eventTags.delete" call.
 31765  func (c *EventTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
 31766  	gensupport.SetOptions(c.urlParams_, opts...)
 31767  	res, err := c.doRequest("json")
 31768  	if err != nil {
 31769  		return err
 31770  	}
 31771  	defer googleapi.CloseBody(res)
 31772  	if err := googleapi.CheckResponse(res); err != nil {
 31773  		return err
 31774  	}
 31775  	return nil
 31776  	// {
 31777  	//   "description": "Deletes an existing event tag.",
 31778  	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
 31779  	//   "httpMethod": "DELETE",
 31780  	//   "id": "dfareporting.eventTags.delete",
 31781  	//   "parameterOrder": [
 31782  	//     "profileId",
 31783  	//     "id"
 31784  	//   ],
 31785  	//   "parameters": {
 31786  	//     "id": {
 31787  	//       "description": "Event tag ID.",
 31788  	//       "format": "int64",
 31789  	//       "location": "path",
 31790  	//       "required": true,
 31791  	//       "type": "string"
 31792  	//     },
 31793  	//     "profileId": {
 31794  	//       "description": "User profile ID associated with this request.",
 31795  	//       "format": "int64",
 31796  	//       "location": "path",
 31797  	//       "required": true,
 31798  	//       "type": "string"
 31799  	//     }
 31800  	//   },
 31801  	//   "path": "userprofiles/{profileId}/eventTags/{id}",
 31802  	//   "scopes": [
 31803  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31804  	//   ]
 31805  	// }
 31806  
 31807  }
 31808  
 31809  // method id "dfareporting.eventTags.get":
 31810  
 31811  type EventTagsGetCall struct {
 31812  	s            *Service
 31813  	profileId    int64
 31814  	id           int64
 31815  	urlParams_   gensupport.URLParams
 31816  	ifNoneMatch_ string
 31817  	ctx_         context.Context
 31818  	header_      http.Header
 31819  }
 31820  
 31821  // Get: Gets one event tag by ID.
 31822  //
 31823  // - id: Event tag ID.
 31824  // - profileId: User profile ID associated with this request.
 31825  func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
 31826  	c := &EventTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31827  	c.profileId = profileId
 31828  	c.id = id
 31829  	return c
 31830  }
 31831  
 31832  // Fields allows partial responses to be retrieved. See
 31833  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31834  // for more information.
 31835  func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
 31836  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31837  	return c
 31838  }
 31839  
 31840  // IfNoneMatch sets the optional parameter which makes the operation
 31841  // fail if the object's ETag matches the given value. This is useful for
 31842  // getting updates only after the object has changed since the last
 31843  // request. Use googleapi.IsNotModified to check whether the response
 31844  // error from Do is the result of In-None-Match.
 31845  func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
 31846  	c.ifNoneMatch_ = entityTag
 31847  	return c
 31848  }
 31849  
 31850  // Context sets the context to be used in this call's Do method. Any
 31851  // pending HTTP request will be aborted if the provided context is
 31852  // canceled.
 31853  func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
 31854  	c.ctx_ = ctx
 31855  	return c
 31856  }
 31857  
 31858  // Header returns an http.Header that can be modified by the caller to
 31859  // add HTTP headers to the request.
 31860  func (c *EventTagsGetCall) Header() http.Header {
 31861  	if c.header_ == nil {
 31862  		c.header_ = make(http.Header)
 31863  	}
 31864  	return c.header_
 31865  }
 31866  
 31867  func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
 31868  	reqHeaders := make(http.Header)
 31869  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 31870  	for k, v := range c.header_ {
 31871  		reqHeaders[k] = v
 31872  	}
 31873  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31874  	if c.ifNoneMatch_ != "" {
 31875  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31876  	}
 31877  	var body io.Reader = nil
 31878  	c.urlParams_.Set("alt", alt)
 31879  	c.urlParams_.Set("prettyPrint", "false")
 31880  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
 31881  	urls += "?" + c.urlParams_.Encode()
 31882  	req, err := http.NewRequest("GET", urls, body)
 31883  	if err != nil {
 31884  		return nil, err
 31885  	}
 31886  	req.Header = reqHeaders
 31887  	googleapi.Expand(req.URL, map[string]string{
 31888  		"profileId": strconv.FormatInt(c.profileId, 10),
 31889  		"id":        strconv.FormatInt(c.id, 10),
 31890  	})
 31891  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31892  }
 31893  
 31894  // Do executes the "dfareporting.eventTags.get" call.
 31895  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 31896  // code is an error. Response headers are in either
 31897  // *EventTag.ServerResponse.Header or (if a response was returned at
 31898  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 31899  // to check whether the returned error was because
 31900  // http.StatusNotModified was returned.
 31901  func (c *EventTagsGetCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 31902  	gensupport.SetOptions(c.urlParams_, opts...)
 31903  	res, err := c.doRequest("json")
 31904  	if res != nil && res.StatusCode == http.StatusNotModified {
 31905  		if res.Body != nil {
 31906  			res.Body.Close()
 31907  		}
 31908  		return nil, &googleapi.Error{
 31909  			Code:   res.StatusCode,
 31910  			Header: res.Header,
 31911  		}
 31912  	}
 31913  	if err != nil {
 31914  		return nil, err
 31915  	}
 31916  	defer googleapi.CloseBody(res)
 31917  	if err := googleapi.CheckResponse(res); err != nil {
 31918  		return nil, err
 31919  	}
 31920  	ret := &EventTag{
 31921  		ServerResponse: googleapi.ServerResponse{
 31922  			Header:         res.Header,
 31923  			HTTPStatusCode: res.StatusCode,
 31924  		},
 31925  	}
 31926  	target := &ret
 31927  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31928  		return nil, err
 31929  	}
 31930  	return ret, nil
 31931  	// {
 31932  	//   "description": "Gets one event tag by ID.",
 31933  	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
 31934  	//   "httpMethod": "GET",
 31935  	//   "id": "dfareporting.eventTags.get",
 31936  	//   "parameterOrder": [
 31937  	//     "profileId",
 31938  	//     "id"
 31939  	//   ],
 31940  	//   "parameters": {
 31941  	//     "id": {
 31942  	//       "description": "Event tag ID.",
 31943  	//       "format": "int64",
 31944  	//       "location": "path",
 31945  	//       "required": true,
 31946  	//       "type": "string"
 31947  	//     },
 31948  	//     "profileId": {
 31949  	//       "description": "User profile ID associated with this request.",
 31950  	//       "format": "int64",
 31951  	//       "location": "path",
 31952  	//       "required": true,
 31953  	//       "type": "string"
 31954  	//     }
 31955  	//   },
 31956  	//   "path": "userprofiles/{profileId}/eventTags/{id}",
 31957  	//   "response": {
 31958  	//     "$ref": "EventTag"
 31959  	//   },
 31960  	//   "scopes": [
 31961  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31962  	//   ]
 31963  	// }
 31964  
 31965  }
 31966  
 31967  // method id "dfareporting.eventTags.insert":
 31968  
 31969  type EventTagsInsertCall struct {
 31970  	s          *Service
 31971  	profileId  int64
 31972  	eventtag   *EventTag
 31973  	urlParams_ gensupport.URLParams
 31974  	ctx_       context.Context
 31975  	header_    http.Header
 31976  }
 31977  
 31978  // Insert: Inserts a new event tag.
 31979  //
 31980  // - profileId: User profile ID associated with this request.
 31981  func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
 31982  	c := &EventTagsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31983  	c.profileId = profileId
 31984  	c.eventtag = eventtag
 31985  	return c
 31986  }
 31987  
 31988  // Fields allows partial responses to be retrieved. See
 31989  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31990  // for more information.
 31991  func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
 31992  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31993  	return c
 31994  }
 31995  
 31996  // Context sets the context to be used in this call's Do method. Any
 31997  // pending HTTP request will be aborted if the provided context is
 31998  // canceled.
 31999  func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
 32000  	c.ctx_ = ctx
 32001  	return c
 32002  }
 32003  
 32004  // Header returns an http.Header that can be modified by the caller to
 32005  // add HTTP headers to the request.
 32006  func (c *EventTagsInsertCall) Header() http.Header {
 32007  	if c.header_ == nil {
 32008  		c.header_ = make(http.Header)
 32009  	}
 32010  	return c.header_
 32011  }
 32012  
 32013  func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
 32014  	reqHeaders := make(http.Header)
 32015  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 32016  	for k, v := range c.header_ {
 32017  		reqHeaders[k] = v
 32018  	}
 32019  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32020  	var body io.Reader = nil
 32021  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 32022  	if err != nil {
 32023  		return nil, err
 32024  	}
 32025  	reqHeaders.Set("Content-Type", "application/json")
 32026  	c.urlParams_.Set("alt", alt)
 32027  	c.urlParams_.Set("prettyPrint", "false")
 32028  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 32029  	urls += "?" + c.urlParams_.Encode()
 32030  	req, err := http.NewRequest("POST", urls, body)
 32031  	if err != nil {
 32032  		return nil, err
 32033  	}
 32034  	req.Header = reqHeaders
 32035  	googleapi.Expand(req.URL, map[string]string{
 32036  		"profileId": strconv.FormatInt(c.profileId, 10),
 32037  	})
 32038  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32039  }
 32040  
 32041  // Do executes the "dfareporting.eventTags.insert" call.
 32042  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 32043  // code is an error. Response headers are in either
 32044  // *EventTag.ServerResponse.Header or (if a response was returned at
 32045  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 32046  // to check whether the returned error was because
 32047  // http.StatusNotModified was returned.
 32048  func (c *EventTagsInsertCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 32049  	gensupport.SetOptions(c.urlParams_, opts...)
 32050  	res, err := c.doRequest("json")
 32051  	if res != nil && res.StatusCode == http.StatusNotModified {
 32052  		if res.Body != nil {
 32053  			res.Body.Close()
 32054  		}
 32055  		return nil, &googleapi.Error{
 32056  			Code:   res.StatusCode,
 32057  			Header: res.Header,
 32058  		}
 32059  	}
 32060  	if err != nil {
 32061  		return nil, err
 32062  	}
 32063  	defer googleapi.CloseBody(res)
 32064  	if err := googleapi.CheckResponse(res); err != nil {
 32065  		return nil, err
 32066  	}
 32067  	ret := &EventTag{
 32068  		ServerResponse: googleapi.ServerResponse{
 32069  			Header:         res.Header,
 32070  			HTTPStatusCode: res.StatusCode,
 32071  		},
 32072  	}
 32073  	target := &ret
 32074  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32075  		return nil, err
 32076  	}
 32077  	return ret, nil
 32078  	// {
 32079  	//   "description": "Inserts a new event tag.",
 32080  	//   "flatPath": "userprofiles/{profileId}/eventTags",
 32081  	//   "httpMethod": "POST",
 32082  	//   "id": "dfareporting.eventTags.insert",
 32083  	//   "parameterOrder": [
 32084  	//     "profileId"
 32085  	//   ],
 32086  	//   "parameters": {
 32087  	//     "profileId": {
 32088  	//       "description": "User profile ID associated with this request.",
 32089  	//       "format": "int64",
 32090  	//       "location": "path",
 32091  	//       "required": true,
 32092  	//       "type": "string"
 32093  	//     }
 32094  	//   },
 32095  	//   "path": "userprofiles/{profileId}/eventTags",
 32096  	//   "request": {
 32097  	//     "$ref": "EventTag"
 32098  	//   },
 32099  	//   "response": {
 32100  	//     "$ref": "EventTag"
 32101  	//   },
 32102  	//   "scopes": [
 32103  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32104  	//   ]
 32105  	// }
 32106  
 32107  }
 32108  
 32109  // method id "dfareporting.eventTags.list":
 32110  
 32111  type EventTagsListCall struct {
 32112  	s            *Service
 32113  	profileId    int64
 32114  	urlParams_   gensupport.URLParams
 32115  	ifNoneMatch_ string
 32116  	ctx_         context.Context
 32117  	header_      http.Header
 32118  }
 32119  
 32120  // List: Retrieves a list of event tags, possibly filtered.
 32121  //
 32122  // - profileId: User profile ID associated with this request.
 32123  func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
 32124  	c := &EventTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32125  	c.profileId = profileId
 32126  	return c
 32127  }
 32128  
 32129  // AdId sets the optional parameter "adId": Select only event tags that
 32130  // belong to this ad.
 32131  func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
 32132  	c.urlParams_.Set("adId", fmt.Sprint(adId))
 32133  	return c
 32134  }
 32135  
 32136  // AdvertiserId sets the optional parameter "advertiserId": Select only
 32137  // event tags that belong to this advertiser.
 32138  func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
 32139  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32140  	return c
 32141  }
 32142  
 32143  // CampaignId sets the optional parameter "campaignId": Select only
 32144  // event tags that belong to this campaign.
 32145  func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
 32146  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 32147  	return c
 32148  }
 32149  
 32150  // DefinitionsOnly sets the optional parameter "definitionsOnly":
 32151  // Examine only the specified campaign or advertiser's event tags for
 32152  // matching selector criteria. When set to false, the parent advertiser
 32153  // and parent campaign of the specified ad or campaign is examined as
 32154  // well. In addition, when set to false, the status field is examined as
 32155  // well, along with the enabledByDefault field. This parameter can not
 32156  // be set to true when adId is specified as ads do not define their own
 32157  // even tags.
 32158  func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
 32159  	c.urlParams_.Set("definitionsOnly", fmt.Sprint(definitionsOnly))
 32160  	return c
 32161  }
 32162  
 32163  // Enabled sets the optional parameter "enabled": Select only enabled
 32164  // event tags. What is considered enabled or disabled depends on the
 32165  // definitionsOnly parameter. When definitionsOnly is set to true, only
 32166  // the specified advertiser or campaign's event tags' enabledByDefault
 32167  // field is examined. When definitionsOnly is set to false, the
 32168  // specified ad or specified campaign's parent advertiser's or parent
 32169  // campaign's event tags' enabledByDefault and status fields are
 32170  // examined as well.
 32171  func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
 32172  	c.urlParams_.Set("enabled", fmt.Sprint(enabled))
 32173  	return c
 32174  }
 32175  
 32176  // EventTagTypes sets the optional parameter "eventTagTypes": Select
 32177  // only event tags with the specified event tag types. Event tag types
 32178  // can be used to specify whether to use a third-party pixel, a
 32179  // third-party JavaScript URL, or a third-party click-through URL for
 32180  // either impression or click tracking.
 32181  //
 32182  // Possible values:
 32183  //
 32184  //	"IMPRESSION_IMAGE_EVENT_TAG"
 32185  //	"IMPRESSION_JAVASCRIPT_EVENT_TAG"
 32186  //	"CLICK_THROUGH_EVENT_TAG"
 32187  func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
 32188  	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
 32189  	return c
 32190  }
 32191  
 32192  // Ids sets the optional parameter "ids": Select only event tags with
 32193  // these IDs.
 32194  func (c *EventTagsListCall) Ids(ids ...int64) *EventTagsListCall {
 32195  	var ids_ []string
 32196  	for _, v := range ids {
 32197  		ids_ = append(ids_, fmt.Sprint(v))
 32198  	}
 32199  	c.urlParams_.SetMulti("ids", ids_)
 32200  	return c
 32201  }
 32202  
 32203  // SearchString sets the optional parameter "searchString": Allows
 32204  // searching for objects by name or ID. Wildcards (*) are allowed. For
 32205  // example, "eventtag*2015" will return objects with names like
 32206  // "eventtag June 2015", "eventtag April 2015", or simply "eventtag
 32207  // 2015". Most of the searches also add wildcards implicitly at the
 32208  // start and the end of the search string. For example, a search string
 32209  // of "eventtag" will match objects with name "my eventtag", "eventtag
 32210  // 2015", or simply "eventtag".
 32211  func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
 32212  	c.urlParams_.Set("searchString", searchString)
 32213  	return c
 32214  }
 32215  
 32216  // SortField sets the optional parameter "sortField": Field by which to
 32217  // sort the list.
 32218  //
 32219  // Possible values:
 32220  //
 32221  //	"ID" (default)
 32222  //	"NAME"
 32223  func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
 32224  	c.urlParams_.Set("sortField", sortField)
 32225  	return c
 32226  }
 32227  
 32228  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 32229  // results.
 32230  //
 32231  // Possible values:
 32232  //
 32233  //	"ASCENDING" (default)
 32234  //	"DESCENDING"
 32235  func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
 32236  	c.urlParams_.Set("sortOrder", sortOrder)
 32237  	return c
 32238  }
 32239  
 32240  // Fields allows partial responses to be retrieved. See
 32241  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32242  // for more information.
 32243  func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
 32244  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32245  	return c
 32246  }
 32247  
 32248  // IfNoneMatch sets the optional parameter which makes the operation
 32249  // fail if the object's ETag matches the given value. This is useful for
 32250  // getting updates only after the object has changed since the last
 32251  // request. Use googleapi.IsNotModified to check whether the response
 32252  // error from Do is the result of In-None-Match.
 32253  func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
 32254  	c.ifNoneMatch_ = entityTag
 32255  	return c
 32256  }
 32257  
 32258  // Context sets the context to be used in this call's Do method. Any
 32259  // pending HTTP request will be aborted if the provided context is
 32260  // canceled.
 32261  func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
 32262  	c.ctx_ = ctx
 32263  	return c
 32264  }
 32265  
 32266  // Header returns an http.Header that can be modified by the caller to
 32267  // add HTTP headers to the request.
 32268  func (c *EventTagsListCall) Header() http.Header {
 32269  	if c.header_ == nil {
 32270  		c.header_ = make(http.Header)
 32271  	}
 32272  	return c.header_
 32273  }
 32274  
 32275  func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
 32276  	reqHeaders := make(http.Header)
 32277  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 32278  	for k, v := range c.header_ {
 32279  		reqHeaders[k] = v
 32280  	}
 32281  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32282  	if c.ifNoneMatch_ != "" {
 32283  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32284  	}
 32285  	var body io.Reader = nil
 32286  	c.urlParams_.Set("alt", alt)
 32287  	c.urlParams_.Set("prettyPrint", "false")
 32288  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 32289  	urls += "?" + c.urlParams_.Encode()
 32290  	req, err := http.NewRequest("GET", urls, body)
 32291  	if err != nil {
 32292  		return nil, err
 32293  	}
 32294  	req.Header = reqHeaders
 32295  	googleapi.Expand(req.URL, map[string]string{
 32296  		"profileId": strconv.FormatInt(c.profileId, 10),
 32297  	})
 32298  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32299  }
 32300  
 32301  // Do executes the "dfareporting.eventTags.list" call.
 32302  // Exactly one of *EventTagsListResponse or error will be non-nil. Any
 32303  // non-2xx status code is an error. Response headers are in either
 32304  // *EventTagsListResponse.ServerResponse.Header or (if a response was
 32305  // returned at all) in error.(*googleapi.Error).Header. Use
 32306  // googleapi.IsNotModified to check whether the returned error was
 32307  // because http.StatusNotModified was returned.
 32308  func (c *EventTagsListCall) Do(opts ...googleapi.CallOption) (*EventTagsListResponse, error) {
 32309  	gensupport.SetOptions(c.urlParams_, opts...)
 32310  	res, err := c.doRequest("json")
 32311  	if res != nil && res.StatusCode == http.StatusNotModified {
 32312  		if res.Body != nil {
 32313  			res.Body.Close()
 32314  		}
 32315  		return nil, &googleapi.Error{
 32316  			Code:   res.StatusCode,
 32317  			Header: res.Header,
 32318  		}
 32319  	}
 32320  	if err != nil {
 32321  		return nil, err
 32322  	}
 32323  	defer googleapi.CloseBody(res)
 32324  	if err := googleapi.CheckResponse(res); err != nil {
 32325  		return nil, err
 32326  	}
 32327  	ret := &EventTagsListResponse{
 32328  		ServerResponse: googleapi.ServerResponse{
 32329  			Header:         res.Header,
 32330  			HTTPStatusCode: res.StatusCode,
 32331  		},
 32332  	}
 32333  	target := &ret
 32334  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32335  		return nil, err
 32336  	}
 32337  	return ret, nil
 32338  	// {
 32339  	//   "description": "Retrieves a list of event tags, possibly filtered.",
 32340  	//   "flatPath": "userprofiles/{profileId}/eventTags",
 32341  	//   "httpMethod": "GET",
 32342  	//   "id": "dfareporting.eventTags.list",
 32343  	//   "parameterOrder": [
 32344  	//     "profileId"
 32345  	//   ],
 32346  	//   "parameters": {
 32347  	//     "adId": {
 32348  	//       "description": "Select only event tags that belong to this ad.",
 32349  	//       "format": "int64",
 32350  	//       "location": "query",
 32351  	//       "type": "string"
 32352  	//     },
 32353  	//     "advertiserId": {
 32354  	//       "description": "Select only event tags that belong to this advertiser.",
 32355  	//       "format": "int64",
 32356  	//       "location": "query",
 32357  	//       "type": "string"
 32358  	//     },
 32359  	//     "campaignId": {
 32360  	//       "description": "Select only event tags that belong to this campaign.",
 32361  	//       "format": "int64",
 32362  	//       "location": "query",
 32363  	//       "type": "string"
 32364  	//     },
 32365  	//     "definitionsOnly": {
 32366  	//       "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.",
 32367  	//       "location": "query",
 32368  	//       "type": "boolean"
 32369  	//     },
 32370  	//     "enabled": {
 32371  	//       "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.",
 32372  	//       "location": "query",
 32373  	//       "type": "boolean"
 32374  	//     },
 32375  	//     "eventTagTypes": {
 32376  	//       "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.",
 32377  	//       "enum": [
 32378  	//         "IMPRESSION_IMAGE_EVENT_TAG",
 32379  	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG",
 32380  	//         "CLICK_THROUGH_EVENT_TAG"
 32381  	//       ],
 32382  	//       "enumDescriptions": [
 32383  	//         "",
 32384  	//         "",
 32385  	//         ""
 32386  	//       ],
 32387  	//       "location": "query",
 32388  	//       "repeated": true,
 32389  	//       "type": "string"
 32390  	//     },
 32391  	//     "ids": {
 32392  	//       "description": "Select only event tags with these IDs.",
 32393  	//       "format": "int64",
 32394  	//       "location": "query",
 32395  	//       "repeated": true,
 32396  	//       "type": "string"
 32397  	//     },
 32398  	//     "profileId": {
 32399  	//       "description": "User profile ID associated with this request.",
 32400  	//       "format": "int64",
 32401  	//       "location": "path",
 32402  	//       "required": true,
 32403  	//       "type": "string"
 32404  	//     },
 32405  	//     "searchString": {
 32406  	//       "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\".",
 32407  	//       "location": "query",
 32408  	//       "type": "string"
 32409  	//     },
 32410  	//     "sortField": {
 32411  	//       "default": "ID",
 32412  	//       "description": "Field by which to sort the list.",
 32413  	//       "enum": [
 32414  	//         "ID",
 32415  	//         "NAME"
 32416  	//       ],
 32417  	//       "enumDescriptions": [
 32418  	//         "",
 32419  	//         ""
 32420  	//       ],
 32421  	//       "location": "query",
 32422  	//       "type": "string"
 32423  	//     },
 32424  	//     "sortOrder": {
 32425  	//       "default": "ASCENDING",
 32426  	//       "description": "Order of sorted results.",
 32427  	//       "enum": [
 32428  	//         "ASCENDING",
 32429  	//         "DESCENDING"
 32430  	//       ],
 32431  	//       "enumDescriptions": [
 32432  	//         "",
 32433  	//         ""
 32434  	//       ],
 32435  	//       "location": "query",
 32436  	//       "type": "string"
 32437  	//     }
 32438  	//   },
 32439  	//   "path": "userprofiles/{profileId}/eventTags",
 32440  	//   "response": {
 32441  	//     "$ref": "EventTagsListResponse"
 32442  	//   },
 32443  	//   "scopes": [
 32444  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32445  	//   ]
 32446  	// }
 32447  
 32448  }
 32449  
 32450  // method id "dfareporting.eventTags.patch":
 32451  
 32452  type EventTagsPatchCall struct {
 32453  	s          *Service
 32454  	profileId  int64
 32455  	eventtag   *EventTag
 32456  	urlParams_ gensupport.URLParams
 32457  	ctx_       context.Context
 32458  	header_    http.Header
 32459  }
 32460  
 32461  // Patch: Updates an existing event tag. This method supports patch
 32462  // semantics.
 32463  //
 32464  // - id: EventTag ID.
 32465  // - profileId: User profile ID associated with this request.
 32466  func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
 32467  	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32468  	c.profileId = profileId
 32469  	c.urlParams_.Set("id", fmt.Sprint(id))
 32470  	c.eventtag = eventtag
 32471  	return c
 32472  }
 32473  
 32474  // Fields allows partial responses to be retrieved. See
 32475  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32476  // for more information.
 32477  func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
 32478  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32479  	return c
 32480  }
 32481  
 32482  // Context sets the context to be used in this call's Do method. Any
 32483  // pending HTTP request will be aborted if the provided context is
 32484  // canceled.
 32485  func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
 32486  	c.ctx_ = ctx
 32487  	return c
 32488  }
 32489  
 32490  // Header returns an http.Header that can be modified by the caller to
 32491  // add HTTP headers to the request.
 32492  func (c *EventTagsPatchCall) Header() http.Header {
 32493  	if c.header_ == nil {
 32494  		c.header_ = make(http.Header)
 32495  	}
 32496  	return c.header_
 32497  }
 32498  
 32499  func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
 32500  	reqHeaders := make(http.Header)
 32501  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 32502  	for k, v := range c.header_ {
 32503  		reqHeaders[k] = v
 32504  	}
 32505  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32506  	var body io.Reader = nil
 32507  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 32508  	if err != nil {
 32509  		return nil, err
 32510  	}
 32511  	reqHeaders.Set("Content-Type", "application/json")
 32512  	c.urlParams_.Set("alt", alt)
 32513  	c.urlParams_.Set("prettyPrint", "false")
 32514  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 32515  	urls += "?" + c.urlParams_.Encode()
 32516  	req, err := http.NewRequest("PATCH", urls, body)
 32517  	if err != nil {
 32518  		return nil, err
 32519  	}
 32520  	req.Header = reqHeaders
 32521  	googleapi.Expand(req.URL, map[string]string{
 32522  		"profileId": strconv.FormatInt(c.profileId, 10),
 32523  	})
 32524  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32525  }
 32526  
 32527  // Do executes the "dfareporting.eventTags.patch" call.
 32528  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 32529  // code is an error. Response headers are in either
 32530  // *EventTag.ServerResponse.Header or (if a response was returned at
 32531  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 32532  // to check whether the returned error was because
 32533  // http.StatusNotModified was returned.
 32534  func (c *EventTagsPatchCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 32535  	gensupport.SetOptions(c.urlParams_, opts...)
 32536  	res, err := c.doRequest("json")
 32537  	if res != nil && res.StatusCode == http.StatusNotModified {
 32538  		if res.Body != nil {
 32539  			res.Body.Close()
 32540  		}
 32541  		return nil, &googleapi.Error{
 32542  			Code:   res.StatusCode,
 32543  			Header: res.Header,
 32544  		}
 32545  	}
 32546  	if err != nil {
 32547  		return nil, err
 32548  	}
 32549  	defer googleapi.CloseBody(res)
 32550  	if err := googleapi.CheckResponse(res); err != nil {
 32551  		return nil, err
 32552  	}
 32553  	ret := &EventTag{
 32554  		ServerResponse: googleapi.ServerResponse{
 32555  			Header:         res.Header,
 32556  			HTTPStatusCode: res.StatusCode,
 32557  		},
 32558  	}
 32559  	target := &ret
 32560  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32561  		return nil, err
 32562  	}
 32563  	return ret, nil
 32564  	// {
 32565  	//   "description": "Updates an existing event tag. This method supports patch semantics.",
 32566  	//   "flatPath": "userprofiles/{profileId}/eventTags",
 32567  	//   "httpMethod": "PATCH",
 32568  	//   "id": "dfareporting.eventTags.patch",
 32569  	//   "parameterOrder": [
 32570  	//     "profileId",
 32571  	//     "id"
 32572  	//   ],
 32573  	//   "parameters": {
 32574  	//     "id": {
 32575  	//       "description": "EventTag ID.",
 32576  	//       "format": "int64",
 32577  	//       "location": "query",
 32578  	//       "required": true,
 32579  	//       "type": "string"
 32580  	//     },
 32581  	//     "profileId": {
 32582  	//       "description": "User profile ID associated with this request.",
 32583  	//       "format": "int64",
 32584  	//       "location": "path",
 32585  	//       "required": true,
 32586  	//       "type": "string"
 32587  	//     }
 32588  	//   },
 32589  	//   "path": "userprofiles/{profileId}/eventTags",
 32590  	//   "request": {
 32591  	//     "$ref": "EventTag"
 32592  	//   },
 32593  	//   "response": {
 32594  	//     "$ref": "EventTag"
 32595  	//   },
 32596  	//   "scopes": [
 32597  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32598  	//   ]
 32599  	// }
 32600  
 32601  }
 32602  
 32603  // method id "dfareporting.eventTags.update":
 32604  
 32605  type EventTagsUpdateCall struct {
 32606  	s          *Service
 32607  	profileId  int64
 32608  	eventtag   *EventTag
 32609  	urlParams_ gensupport.URLParams
 32610  	ctx_       context.Context
 32611  	header_    http.Header
 32612  }
 32613  
 32614  // Update: Updates an existing event tag.
 32615  //
 32616  // - profileId: User profile ID associated with this request.
 32617  func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
 32618  	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32619  	c.profileId = profileId
 32620  	c.eventtag = eventtag
 32621  	return c
 32622  }
 32623  
 32624  // Fields allows partial responses to be retrieved. See
 32625  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32626  // for more information.
 32627  func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
 32628  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32629  	return c
 32630  }
 32631  
 32632  // Context sets the context to be used in this call's Do method. Any
 32633  // pending HTTP request will be aborted if the provided context is
 32634  // canceled.
 32635  func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
 32636  	c.ctx_ = ctx
 32637  	return c
 32638  }
 32639  
 32640  // Header returns an http.Header that can be modified by the caller to
 32641  // add HTTP headers to the request.
 32642  func (c *EventTagsUpdateCall) Header() http.Header {
 32643  	if c.header_ == nil {
 32644  		c.header_ = make(http.Header)
 32645  	}
 32646  	return c.header_
 32647  }
 32648  
 32649  func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
 32650  	reqHeaders := make(http.Header)
 32651  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 32652  	for k, v := range c.header_ {
 32653  		reqHeaders[k] = v
 32654  	}
 32655  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32656  	var body io.Reader = nil
 32657  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 32658  	if err != nil {
 32659  		return nil, err
 32660  	}
 32661  	reqHeaders.Set("Content-Type", "application/json")
 32662  	c.urlParams_.Set("alt", alt)
 32663  	c.urlParams_.Set("prettyPrint", "false")
 32664  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 32665  	urls += "?" + c.urlParams_.Encode()
 32666  	req, err := http.NewRequest("PUT", urls, body)
 32667  	if err != nil {
 32668  		return nil, err
 32669  	}
 32670  	req.Header = reqHeaders
 32671  	googleapi.Expand(req.URL, map[string]string{
 32672  		"profileId": strconv.FormatInt(c.profileId, 10),
 32673  	})
 32674  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32675  }
 32676  
 32677  // Do executes the "dfareporting.eventTags.update" call.
 32678  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 32679  // code is an error. Response headers are in either
 32680  // *EventTag.ServerResponse.Header or (if a response was returned at
 32681  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 32682  // to check whether the returned error was because
 32683  // http.StatusNotModified was returned.
 32684  func (c *EventTagsUpdateCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 32685  	gensupport.SetOptions(c.urlParams_, opts...)
 32686  	res, err := c.doRequest("json")
 32687  	if res != nil && res.StatusCode == http.StatusNotModified {
 32688  		if res.Body != nil {
 32689  			res.Body.Close()
 32690  		}
 32691  		return nil, &googleapi.Error{
 32692  			Code:   res.StatusCode,
 32693  			Header: res.Header,
 32694  		}
 32695  	}
 32696  	if err != nil {
 32697  		return nil, err
 32698  	}
 32699  	defer googleapi.CloseBody(res)
 32700  	if err := googleapi.CheckResponse(res); err != nil {
 32701  		return nil, err
 32702  	}
 32703  	ret := &EventTag{
 32704  		ServerResponse: googleapi.ServerResponse{
 32705  			Header:         res.Header,
 32706  			HTTPStatusCode: res.StatusCode,
 32707  		},
 32708  	}
 32709  	target := &ret
 32710  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32711  		return nil, err
 32712  	}
 32713  	return ret, nil
 32714  	// {
 32715  	//   "description": "Updates an existing event tag.",
 32716  	//   "flatPath": "userprofiles/{profileId}/eventTags",
 32717  	//   "httpMethod": "PUT",
 32718  	//   "id": "dfareporting.eventTags.update",
 32719  	//   "parameterOrder": [
 32720  	//     "profileId"
 32721  	//   ],
 32722  	//   "parameters": {
 32723  	//     "profileId": {
 32724  	//       "description": "User profile ID associated with this request.",
 32725  	//       "format": "int64",
 32726  	//       "location": "path",
 32727  	//       "required": true,
 32728  	//       "type": "string"
 32729  	//     }
 32730  	//   },
 32731  	//   "path": "userprofiles/{profileId}/eventTags",
 32732  	//   "request": {
 32733  	//     "$ref": "EventTag"
 32734  	//   },
 32735  	//   "response": {
 32736  	//     "$ref": "EventTag"
 32737  	//   },
 32738  	//   "scopes": [
 32739  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32740  	//   ]
 32741  	// }
 32742  
 32743  }
 32744  
 32745  // method id "dfareporting.files.get":
 32746  
 32747  type FilesGetCall struct {
 32748  	s            *Service
 32749  	reportId     int64
 32750  	fileId       int64
 32751  	urlParams_   gensupport.URLParams
 32752  	ifNoneMatch_ string
 32753  	ctx_         context.Context
 32754  	header_      http.Header
 32755  }
 32756  
 32757  // Get: Retrieves a report file by its report ID and file ID. This
 32758  // method supports media download.
 32759  //
 32760  // - fileId: The ID of the report file.
 32761  // - reportId: The ID of the report.
 32762  func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
 32763  	c := &FilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32764  	c.reportId = reportId
 32765  	c.fileId = fileId
 32766  	return c
 32767  }
 32768  
 32769  // Fields allows partial responses to be retrieved. See
 32770  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32771  // for more information.
 32772  func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
 32773  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32774  	return c
 32775  }
 32776  
 32777  // IfNoneMatch sets the optional parameter which makes the operation
 32778  // fail if the object's ETag matches the given value. This is useful for
 32779  // getting updates only after the object has changed since the last
 32780  // request. Use googleapi.IsNotModified to check whether the response
 32781  // error from Do is the result of In-None-Match.
 32782  func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
 32783  	c.ifNoneMatch_ = entityTag
 32784  	return c
 32785  }
 32786  
 32787  // Context sets the context to be used in this call's Do and Download
 32788  // methods. Any pending HTTP request will be aborted if the provided
 32789  // context is canceled.
 32790  func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
 32791  	c.ctx_ = ctx
 32792  	return c
 32793  }
 32794  
 32795  // Header returns an http.Header that can be modified by the caller to
 32796  // add HTTP headers to the request.
 32797  func (c *FilesGetCall) Header() http.Header {
 32798  	if c.header_ == nil {
 32799  		c.header_ = make(http.Header)
 32800  	}
 32801  	return c.header_
 32802  }
 32803  
 32804  func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 32805  	reqHeaders := make(http.Header)
 32806  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 32807  	for k, v := range c.header_ {
 32808  		reqHeaders[k] = v
 32809  	}
 32810  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32811  	if c.ifNoneMatch_ != "" {
 32812  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32813  	}
 32814  	var body io.Reader = nil
 32815  	c.urlParams_.Set("alt", alt)
 32816  	c.urlParams_.Set("prettyPrint", "false")
 32817  	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
 32818  	urls += "?" + c.urlParams_.Encode()
 32819  	req, err := http.NewRequest("GET", urls, body)
 32820  	if err != nil {
 32821  		return nil, err
 32822  	}
 32823  	req.Header = reqHeaders
 32824  	googleapi.Expand(req.URL, map[string]string{
 32825  		"reportId": strconv.FormatInt(c.reportId, 10),
 32826  		"fileId":   strconv.FormatInt(c.fileId, 10),
 32827  	})
 32828  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32829  }
 32830  
 32831  // Download fetches the API endpoint's "media" value, instead of the normal
 32832  // API response value. If the returned error is nil, the Response is guaranteed to
 32833  // have a 2xx status code. Callers must close the Response.Body as usual.
 32834  func (c *FilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 32835  	gensupport.SetOptions(c.urlParams_, opts...)
 32836  	res, err := c.doRequest("media")
 32837  	if err != nil {
 32838  		return nil, err
 32839  	}
 32840  	if err := googleapi.CheckResponse(res); err != nil {
 32841  		res.Body.Close()
 32842  		return nil, err
 32843  	}
 32844  	return res, nil
 32845  }
 32846  
 32847  // Do executes the "dfareporting.files.get" call.
 32848  // Exactly one of *File or error will be non-nil. Any non-2xx status
 32849  // code is an error. Response headers are in either
 32850  // *File.ServerResponse.Header or (if a response was returned at all) in
 32851  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 32852  // whether the returned error was because http.StatusNotModified was
 32853  // returned.
 32854  func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
 32855  	gensupport.SetOptions(c.urlParams_, opts...)
 32856  	res, err := c.doRequest("json")
 32857  	if res != nil && res.StatusCode == http.StatusNotModified {
 32858  		if res.Body != nil {
 32859  			res.Body.Close()
 32860  		}
 32861  		return nil, &googleapi.Error{
 32862  			Code:   res.StatusCode,
 32863  			Header: res.Header,
 32864  		}
 32865  	}
 32866  	if err != nil {
 32867  		return nil, err
 32868  	}
 32869  	defer googleapi.CloseBody(res)
 32870  	if err := googleapi.CheckResponse(res); err != nil {
 32871  		return nil, err
 32872  	}
 32873  	ret := &File{
 32874  		ServerResponse: googleapi.ServerResponse{
 32875  			Header:         res.Header,
 32876  			HTTPStatusCode: res.StatusCode,
 32877  		},
 32878  	}
 32879  	target := &ret
 32880  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32881  		return nil, err
 32882  	}
 32883  	return ret, nil
 32884  	// {
 32885  	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
 32886  	//   "flatPath": "reports/{reportId}/files/{fileId}",
 32887  	//   "httpMethod": "GET",
 32888  	//   "id": "dfareporting.files.get",
 32889  	//   "parameterOrder": [
 32890  	//     "reportId",
 32891  	//     "fileId"
 32892  	//   ],
 32893  	//   "parameters": {
 32894  	//     "fileId": {
 32895  	//       "description": "The ID of the report file.",
 32896  	//       "format": "int64",
 32897  	//       "location": "path",
 32898  	//       "required": true,
 32899  	//       "type": "string"
 32900  	//     },
 32901  	//     "reportId": {
 32902  	//       "description": "The ID of the report.",
 32903  	//       "format": "int64",
 32904  	//       "location": "path",
 32905  	//       "required": true,
 32906  	//       "type": "string"
 32907  	//     }
 32908  	//   },
 32909  	//   "path": "reports/{reportId}/files/{fileId}",
 32910  	//   "response": {
 32911  	//     "$ref": "File"
 32912  	//   },
 32913  	//   "scopes": [
 32914  	//     "https://www.googleapis.com/auth/dfareporting"
 32915  	//   ],
 32916  	//   "supportsMediaDownload": true
 32917  	// }
 32918  
 32919  }
 32920  
 32921  // method id "dfareporting.files.list":
 32922  
 32923  type FilesListCall struct {
 32924  	s            *Service
 32925  	profileId    int64
 32926  	urlParams_   gensupport.URLParams
 32927  	ifNoneMatch_ string
 32928  	ctx_         context.Context
 32929  	header_      http.Header
 32930  }
 32931  
 32932  // List: Lists files for a user profile.
 32933  //
 32934  // - profileId: The Campaign Manager 360 user profile ID.
 32935  func (r *FilesService) List(profileId int64) *FilesListCall {
 32936  	c := &FilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32937  	c.profileId = profileId
 32938  	return c
 32939  }
 32940  
 32941  // MaxResults sets the optional parameter "maxResults": Maximum number
 32942  // of results to return.
 32943  func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
 32944  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 32945  	return c
 32946  }
 32947  
 32948  // PageToken sets the optional parameter "pageToken": The value of the
 32949  // nextToken from the previous result page.
 32950  func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
 32951  	c.urlParams_.Set("pageToken", pageToken)
 32952  	return c
 32953  }
 32954  
 32955  // Scope sets the optional parameter "scope": The scope that defines
 32956  // which results are returned.
 32957  //
 32958  // Possible values:
 32959  //
 32960  //	"ALL" - All files in account.
 32961  //	"MINE" (default) - My files.
 32962  //	"SHARED_WITH_ME" - Files shared with me.
 32963  func (c *FilesListCall) Scope(scope string) *FilesListCall {
 32964  	c.urlParams_.Set("scope", scope)
 32965  	return c
 32966  }
 32967  
 32968  // SortField sets the optional parameter "sortField": The field by which
 32969  // to sort the list.
 32970  //
 32971  // Possible values:
 32972  //
 32973  //	"ID" - Sort by file ID.
 32974  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 32975  func (c *FilesListCall) SortField(sortField string) *FilesListCall {
 32976  	c.urlParams_.Set("sortField", sortField)
 32977  	return c
 32978  }
 32979  
 32980  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 32981  // results.
 32982  //
 32983  // Possible values:
 32984  //
 32985  //	"ASCENDING" - Ascending order.
 32986  //	"DESCENDING" (default) - Descending order.
 32987  func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
 32988  	c.urlParams_.Set("sortOrder", sortOrder)
 32989  	return c
 32990  }
 32991  
 32992  // Fields allows partial responses to be retrieved. See
 32993  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32994  // for more information.
 32995  func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
 32996  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32997  	return c
 32998  }
 32999  
 33000  // IfNoneMatch sets the optional parameter which makes the operation
 33001  // fail if the object's ETag matches the given value. This is useful for
 33002  // getting updates only after the object has changed since the last
 33003  // request. Use googleapi.IsNotModified to check whether the response
 33004  // error from Do is the result of In-None-Match.
 33005  func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
 33006  	c.ifNoneMatch_ = entityTag
 33007  	return c
 33008  }
 33009  
 33010  // Context sets the context to be used in this call's Do method. Any
 33011  // pending HTTP request will be aborted if the provided context is
 33012  // canceled.
 33013  func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
 33014  	c.ctx_ = ctx
 33015  	return c
 33016  }
 33017  
 33018  // Header returns an http.Header that can be modified by the caller to
 33019  // add HTTP headers to the request.
 33020  func (c *FilesListCall) Header() http.Header {
 33021  	if c.header_ == nil {
 33022  		c.header_ = make(http.Header)
 33023  	}
 33024  	return c.header_
 33025  }
 33026  
 33027  func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 33028  	reqHeaders := make(http.Header)
 33029  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 33030  	for k, v := range c.header_ {
 33031  		reqHeaders[k] = v
 33032  	}
 33033  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33034  	if c.ifNoneMatch_ != "" {
 33035  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33036  	}
 33037  	var body io.Reader = nil
 33038  	c.urlParams_.Set("alt", alt)
 33039  	c.urlParams_.Set("prettyPrint", "false")
 33040  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
 33041  	urls += "?" + c.urlParams_.Encode()
 33042  	req, err := http.NewRequest("GET", urls, body)
 33043  	if err != nil {
 33044  		return nil, err
 33045  	}
 33046  	req.Header = reqHeaders
 33047  	googleapi.Expand(req.URL, map[string]string{
 33048  		"profileId": strconv.FormatInt(c.profileId, 10),
 33049  	})
 33050  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33051  }
 33052  
 33053  // Do executes the "dfareporting.files.list" call.
 33054  // Exactly one of *FileList or error will be non-nil. Any non-2xx status
 33055  // code is an error. Response headers are in either
 33056  // *FileList.ServerResponse.Header or (if a response was returned at
 33057  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 33058  // to check whether the returned error was because
 33059  // http.StatusNotModified was returned.
 33060  func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
 33061  	gensupport.SetOptions(c.urlParams_, opts...)
 33062  	res, err := c.doRequest("json")
 33063  	if res != nil && res.StatusCode == http.StatusNotModified {
 33064  		if res.Body != nil {
 33065  			res.Body.Close()
 33066  		}
 33067  		return nil, &googleapi.Error{
 33068  			Code:   res.StatusCode,
 33069  			Header: res.Header,
 33070  		}
 33071  	}
 33072  	if err != nil {
 33073  		return nil, err
 33074  	}
 33075  	defer googleapi.CloseBody(res)
 33076  	if err := googleapi.CheckResponse(res); err != nil {
 33077  		return nil, err
 33078  	}
 33079  	ret := &FileList{
 33080  		ServerResponse: googleapi.ServerResponse{
 33081  			Header:         res.Header,
 33082  			HTTPStatusCode: res.StatusCode,
 33083  		},
 33084  	}
 33085  	target := &ret
 33086  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33087  		return nil, err
 33088  	}
 33089  	return ret, nil
 33090  	// {
 33091  	//   "description": "Lists files for a user profile.",
 33092  	//   "flatPath": "userprofiles/{profileId}/files",
 33093  	//   "httpMethod": "GET",
 33094  	//   "id": "dfareporting.files.list",
 33095  	//   "parameterOrder": [
 33096  	//     "profileId"
 33097  	//   ],
 33098  	//   "parameters": {
 33099  	//     "maxResults": {
 33100  	//       "default": "10",
 33101  	//       "description": "Maximum number of results to return.",
 33102  	//       "format": "int32",
 33103  	//       "location": "query",
 33104  	//       "maximum": "10",
 33105  	//       "minimum": "0",
 33106  	//       "type": "integer"
 33107  	//     },
 33108  	//     "pageToken": {
 33109  	//       "description": "The value of the nextToken from the previous result page.",
 33110  	//       "location": "query",
 33111  	//       "type": "string"
 33112  	//     },
 33113  	//     "profileId": {
 33114  	//       "description": "The Campaign Manager 360 user profile ID.",
 33115  	//       "format": "int64",
 33116  	//       "location": "path",
 33117  	//       "required": true,
 33118  	//       "type": "string"
 33119  	//     },
 33120  	//     "scope": {
 33121  	//       "default": "MINE",
 33122  	//       "description": "The scope that defines which results are returned.",
 33123  	//       "enum": [
 33124  	//         "ALL",
 33125  	//         "MINE",
 33126  	//         "SHARED_WITH_ME"
 33127  	//       ],
 33128  	//       "enumDescriptions": [
 33129  	//         "All files in account.",
 33130  	//         "My files.",
 33131  	//         "Files shared with me."
 33132  	//       ],
 33133  	//       "location": "query",
 33134  	//       "type": "string"
 33135  	//     },
 33136  	//     "sortField": {
 33137  	//       "default": "LAST_MODIFIED_TIME",
 33138  	//       "description": "The field by which to sort the list.",
 33139  	//       "enum": [
 33140  	//         "ID",
 33141  	//         "LAST_MODIFIED_TIME"
 33142  	//       ],
 33143  	//       "enumDescriptions": [
 33144  	//         "Sort by file ID.",
 33145  	//         "Sort by 'lastmodifiedAt' field."
 33146  	//       ],
 33147  	//       "location": "query",
 33148  	//       "type": "string"
 33149  	//     },
 33150  	//     "sortOrder": {
 33151  	//       "default": "DESCENDING",
 33152  	//       "description": "Order of sorted results.",
 33153  	//       "enum": [
 33154  	//         "ASCENDING",
 33155  	//         "DESCENDING"
 33156  	//       ],
 33157  	//       "enumDescriptions": [
 33158  	//         "Ascending order.",
 33159  	//         "Descending order."
 33160  	//       ],
 33161  	//       "location": "query",
 33162  	//       "type": "string"
 33163  	//     }
 33164  	//   },
 33165  	//   "path": "userprofiles/{profileId}/files",
 33166  	//   "response": {
 33167  	//     "$ref": "FileList"
 33168  	//   },
 33169  	//   "scopes": [
 33170  	//     "https://www.googleapis.com/auth/dfareporting"
 33171  	//   ]
 33172  	// }
 33173  
 33174  }
 33175  
 33176  // Pages invokes f for each page of results.
 33177  // A non-nil error returned from f will halt the iteration.
 33178  // The provided context supersedes any context provided to the Context method.
 33179  func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
 33180  	c.ctx_ = ctx
 33181  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 33182  	for {
 33183  		x, err := c.Do()
 33184  		if err != nil {
 33185  			return err
 33186  		}
 33187  		if err := f(x); err != nil {
 33188  			return err
 33189  		}
 33190  		if x.NextPageToken == "" {
 33191  			return nil
 33192  		}
 33193  		c.PageToken(x.NextPageToken)
 33194  	}
 33195  }
 33196  
 33197  // method id "dfareporting.floodlightActivities.delete":
 33198  
 33199  type FloodlightActivitiesDeleteCall struct {
 33200  	s          *Service
 33201  	profileId  int64
 33202  	id         int64
 33203  	urlParams_ gensupport.URLParams
 33204  	ctx_       context.Context
 33205  	header_    http.Header
 33206  }
 33207  
 33208  // Delete: Deletes an existing floodlight activity.
 33209  //
 33210  // - id: Floodlight activity ID.
 33211  // - profileId: User profile ID associated with this request.
 33212  func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
 33213  	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33214  	c.profileId = profileId
 33215  	c.id = id
 33216  	return c
 33217  }
 33218  
 33219  // Fields allows partial responses to be retrieved. See
 33220  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33221  // for more information.
 33222  func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
 33223  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33224  	return c
 33225  }
 33226  
 33227  // Context sets the context to be used in this call's Do method. Any
 33228  // pending HTTP request will be aborted if the provided context is
 33229  // canceled.
 33230  func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
 33231  	c.ctx_ = ctx
 33232  	return c
 33233  }
 33234  
 33235  // Header returns an http.Header that can be modified by the caller to
 33236  // add HTTP headers to the request.
 33237  func (c *FloodlightActivitiesDeleteCall) Header() http.Header {
 33238  	if c.header_ == nil {
 33239  		c.header_ = make(http.Header)
 33240  	}
 33241  	return c.header_
 33242  }
 33243  
 33244  func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 33245  	reqHeaders := make(http.Header)
 33246  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 33247  	for k, v := range c.header_ {
 33248  		reqHeaders[k] = v
 33249  	}
 33250  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33251  	var body io.Reader = nil
 33252  	c.urlParams_.Set("alt", alt)
 33253  	c.urlParams_.Set("prettyPrint", "false")
 33254  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
 33255  	urls += "?" + c.urlParams_.Encode()
 33256  	req, err := http.NewRequest("DELETE", urls, body)
 33257  	if err != nil {
 33258  		return nil, err
 33259  	}
 33260  	req.Header = reqHeaders
 33261  	googleapi.Expand(req.URL, map[string]string{
 33262  		"profileId": strconv.FormatInt(c.profileId, 10),
 33263  		"id":        strconv.FormatInt(c.id, 10),
 33264  	})
 33265  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33266  }
 33267  
 33268  // Do executes the "dfareporting.floodlightActivities.delete" call.
 33269  func (c *FloodlightActivitiesDeleteCall) Do(opts ...googleapi.CallOption) error {
 33270  	gensupport.SetOptions(c.urlParams_, opts...)
 33271  	res, err := c.doRequest("json")
 33272  	if err != nil {
 33273  		return err
 33274  	}
 33275  	defer googleapi.CloseBody(res)
 33276  	if err := googleapi.CheckResponse(res); err != nil {
 33277  		return err
 33278  	}
 33279  	return nil
 33280  	// {
 33281  	//   "description": "Deletes an existing floodlight activity.",
 33282  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
 33283  	//   "httpMethod": "DELETE",
 33284  	//   "id": "dfareporting.floodlightActivities.delete",
 33285  	//   "parameterOrder": [
 33286  	//     "profileId",
 33287  	//     "id"
 33288  	//   ],
 33289  	//   "parameters": {
 33290  	//     "id": {
 33291  	//       "description": "Floodlight activity ID.",
 33292  	//       "format": "int64",
 33293  	//       "location": "path",
 33294  	//       "required": true,
 33295  	//       "type": "string"
 33296  	//     },
 33297  	//     "profileId": {
 33298  	//       "description": "User profile ID associated with this request.",
 33299  	//       "format": "int64",
 33300  	//       "location": "path",
 33301  	//       "required": true,
 33302  	//       "type": "string"
 33303  	//     }
 33304  	//   },
 33305  	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
 33306  	//   "scopes": [
 33307  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33308  	//   ]
 33309  	// }
 33310  
 33311  }
 33312  
 33313  // method id "dfareporting.floodlightActivities.generatetag":
 33314  
 33315  type FloodlightActivitiesGeneratetagCall struct {
 33316  	s          *Service
 33317  	profileId  int64
 33318  	urlParams_ gensupport.URLParams
 33319  	ctx_       context.Context
 33320  	header_    http.Header
 33321  }
 33322  
 33323  // Generatetag: Generates a tag for a floodlight activity.
 33324  //
 33325  // - profileId: User profile ID associated with this request.
 33326  func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
 33327  	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33328  	c.profileId = profileId
 33329  	return c
 33330  }
 33331  
 33332  // FloodlightActivityId sets the optional parameter
 33333  // "floodlightActivityId": Floodlight activity ID for which we want to
 33334  // generate a tag.
 33335  func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
 33336  	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
 33337  	return c
 33338  }
 33339  
 33340  // Fields allows partial responses to be retrieved. See
 33341  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33342  // for more information.
 33343  func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
 33344  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33345  	return c
 33346  }
 33347  
 33348  // Context sets the context to be used in this call's Do method. Any
 33349  // pending HTTP request will be aborted if the provided context is
 33350  // canceled.
 33351  func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
 33352  	c.ctx_ = ctx
 33353  	return c
 33354  }
 33355  
 33356  // Header returns an http.Header that can be modified by the caller to
 33357  // add HTTP headers to the request.
 33358  func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
 33359  	if c.header_ == nil {
 33360  		c.header_ = make(http.Header)
 33361  	}
 33362  	return c.header_
 33363  }
 33364  
 33365  func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
 33366  	reqHeaders := make(http.Header)
 33367  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 33368  	for k, v := range c.header_ {
 33369  		reqHeaders[k] = v
 33370  	}
 33371  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33372  	var body io.Reader = nil
 33373  	c.urlParams_.Set("alt", alt)
 33374  	c.urlParams_.Set("prettyPrint", "false")
 33375  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
 33376  	urls += "?" + c.urlParams_.Encode()
 33377  	req, err := http.NewRequest("POST", urls, body)
 33378  	if err != nil {
 33379  		return nil, err
 33380  	}
 33381  	req.Header = reqHeaders
 33382  	googleapi.Expand(req.URL, map[string]string{
 33383  		"profileId": strconv.FormatInt(c.profileId, 10),
 33384  	})
 33385  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33386  }
 33387  
 33388  // Do executes the "dfareporting.floodlightActivities.generatetag" call.
 33389  // Exactly one of *FloodlightActivitiesGenerateTagResponse or error will
 33390  // be non-nil. Any non-2xx status code is an error. Response headers are
 33391  // in either
 33392  // *FloodlightActivitiesGenerateTagResponse.ServerResponse.Header or (if
 33393  // a response was returned at all) in error.(*googleapi.Error).Header.
 33394  // Use googleapi.IsNotModified to check whether the returned error was
 33395  // because http.StatusNotModified was returned.
 33396  func (c *FloodlightActivitiesGeneratetagCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesGenerateTagResponse, error) {
 33397  	gensupport.SetOptions(c.urlParams_, opts...)
 33398  	res, err := c.doRequest("json")
 33399  	if res != nil && res.StatusCode == http.StatusNotModified {
 33400  		if res.Body != nil {
 33401  			res.Body.Close()
 33402  		}
 33403  		return nil, &googleapi.Error{
 33404  			Code:   res.StatusCode,
 33405  			Header: res.Header,
 33406  		}
 33407  	}
 33408  	if err != nil {
 33409  		return nil, err
 33410  	}
 33411  	defer googleapi.CloseBody(res)
 33412  	if err := googleapi.CheckResponse(res); err != nil {
 33413  		return nil, err
 33414  	}
 33415  	ret := &FloodlightActivitiesGenerateTagResponse{
 33416  		ServerResponse: googleapi.ServerResponse{
 33417  			Header:         res.Header,
 33418  			HTTPStatusCode: res.StatusCode,
 33419  		},
 33420  	}
 33421  	target := &ret
 33422  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33423  		return nil, err
 33424  	}
 33425  	return ret, nil
 33426  	// {
 33427  	//   "description": "Generates a tag for a floodlight activity.",
 33428  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/generatetag",
 33429  	//   "httpMethod": "POST",
 33430  	//   "id": "dfareporting.floodlightActivities.generatetag",
 33431  	//   "parameterOrder": [
 33432  	//     "profileId"
 33433  	//   ],
 33434  	//   "parameters": {
 33435  	//     "floodlightActivityId": {
 33436  	//       "description": "Floodlight activity ID for which we want to generate a tag.",
 33437  	//       "format": "int64",
 33438  	//       "location": "query",
 33439  	//       "type": "string"
 33440  	//     },
 33441  	//     "profileId": {
 33442  	//       "description": "User profile ID associated with this request.",
 33443  	//       "format": "int64",
 33444  	//       "location": "path",
 33445  	//       "required": true,
 33446  	//       "type": "string"
 33447  	//     }
 33448  	//   },
 33449  	//   "path": "userprofiles/{profileId}/floodlightActivities/generatetag",
 33450  	//   "response": {
 33451  	//     "$ref": "FloodlightActivitiesGenerateTagResponse"
 33452  	//   },
 33453  	//   "scopes": [
 33454  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33455  	//   ]
 33456  	// }
 33457  
 33458  }
 33459  
 33460  // method id "dfareporting.floodlightActivities.get":
 33461  
 33462  type FloodlightActivitiesGetCall struct {
 33463  	s            *Service
 33464  	profileId    int64
 33465  	id           int64
 33466  	urlParams_   gensupport.URLParams
 33467  	ifNoneMatch_ string
 33468  	ctx_         context.Context
 33469  	header_      http.Header
 33470  }
 33471  
 33472  // Get: Gets one floodlight activity by ID.
 33473  //
 33474  // - id: Floodlight activity ID.
 33475  // - profileId: User profile ID associated with this request.
 33476  func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
 33477  	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33478  	c.profileId = profileId
 33479  	c.id = id
 33480  	return c
 33481  }
 33482  
 33483  // Fields allows partial responses to be retrieved. See
 33484  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33485  // for more information.
 33486  func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
 33487  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33488  	return c
 33489  }
 33490  
 33491  // IfNoneMatch sets the optional parameter which makes the operation
 33492  // fail if the object's ETag matches the given value. This is useful for
 33493  // getting updates only after the object has changed since the last
 33494  // request. Use googleapi.IsNotModified to check whether the response
 33495  // error from Do is the result of In-None-Match.
 33496  func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
 33497  	c.ifNoneMatch_ = entityTag
 33498  	return c
 33499  }
 33500  
 33501  // Context sets the context to be used in this call's Do method. Any
 33502  // pending HTTP request will be aborted if the provided context is
 33503  // canceled.
 33504  func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
 33505  	c.ctx_ = ctx
 33506  	return c
 33507  }
 33508  
 33509  // Header returns an http.Header that can be modified by the caller to
 33510  // add HTTP headers to the request.
 33511  func (c *FloodlightActivitiesGetCall) Header() http.Header {
 33512  	if c.header_ == nil {
 33513  		c.header_ = make(http.Header)
 33514  	}
 33515  	return c.header_
 33516  }
 33517  
 33518  func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 33519  	reqHeaders := make(http.Header)
 33520  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 33521  	for k, v := range c.header_ {
 33522  		reqHeaders[k] = v
 33523  	}
 33524  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33525  	if c.ifNoneMatch_ != "" {
 33526  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33527  	}
 33528  	var body io.Reader = nil
 33529  	c.urlParams_.Set("alt", alt)
 33530  	c.urlParams_.Set("prettyPrint", "false")
 33531  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
 33532  	urls += "?" + c.urlParams_.Encode()
 33533  	req, err := http.NewRequest("GET", urls, body)
 33534  	if err != nil {
 33535  		return nil, err
 33536  	}
 33537  	req.Header = reqHeaders
 33538  	googleapi.Expand(req.URL, map[string]string{
 33539  		"profileId": strconv.FormatInt(c.profileId, 10),
 33540  		"id":        strconv.FormatInt(c.id, 10),
 33541  	})
 33542  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33543  }
 33544  
 33545  // Do executes the "dfareporting.floodlightActivities.get" call.
 33546  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 33547  // non-2xx status code is an error. Response headers are in either
 33548  // *FloodlightActivity.ServerResponse.Header or (if a response was
 33549  // returned at all) in error.(*googleapi.Error).Header. Use
 33550  // googleapi.IsNotModified to check whether the returned error was
 33551  // because http.StatusNotModified was returned.
 33552  func (c *FloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 33553  	gensupport.SetOptions(c.urlParams_, opts...)
 33554  	res, err := c.doRequest("json")
 33555  	if res != nil && res.StatusCode == http.StatusNotModified {
 33556  		if res.Body != nil {
 33557  			res.Body.Close()
 33558  		}
 33559  		return nil, &googleapi.Error{
 33560  			Code:   res.StatusCode,
 33561  			Header: res.Header,
 33562  		}
 33563  	}
 33564  	if err != nil {
 33565  		return nil, err
 33566  	}
 33567  	defer googleapi.CloseBody(res)
 33568  	if err := googleapi.CheckResponse(res); err != nil {
 33569  		return nil, err
 33570  	}
 33571  	ret := &FloodlightActivity{
 33572  		ServerResponse: googleapi.ServerResponse{
 33573  			Header:         res.Header,
 33574  			HTTPStatusCode: res.StatusCode,
 33575  		},
 33576  	}
 33577  	target := &ret
 33578  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33579  		return nil, err
 33580  	}
 33581  	return ret, nil
 33582  	// {
 33583  	//   "description": "Gets one floodlight activity by ID.",
 33584  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
 33585  	//   "httpMethod": "GET",
 33586  	//   "id": "dfareporting.floodlightActivities.get",
 33587  	//   "parameterOrder": [
 33588  	//     "profileId",
 33589  	//     "id"
 33590  	//   ],
 33591  	//   "parameters": {
 33592  	//     "id": {
 33593  	//       "description": "Floodlight activity ID.",
 33594  	//       "format": "int64",
 33595  	//       "location": "path",
 33596  	//       "required": true,
 33597  	//       "type": "string"
 33598  	//     },
 33599  	//     "profileId": {
 33600  	//       "description": "User profile ID associated with this request.",
 33601  	//       "format": "int64",
 33602  	//       "location": "path",
 33603  	//       "required": true,
 33604  	//       "type": "string"
 33605  	//     }
 33606  	//   },
 33607  	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
 33608  	//   "response": {
 33609  	//     "$ref": "FloodlightActivity"
 33610  	//   },
 33611  	//   "scopes": [
 33612  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33613  	//   ]
 33614  	// }
 33615  
 33616  }
 33617  
 33618  // method id "dfareporting.floodlightActivities.insert":
 33619  
 33620  type FloodlightActivitiesInsertCall struct {
 33621  	s                  *Service
 33622  	profileId          int64
 33623  	floodlightactivity *FloodlightActivity
 33624  	urlParams_         gensupport.URLParams
 33625  	ctx_               context.Context
 33626  	header_            http.Header
 33627  }
 33628  
 33629  // Insert: Inserts a new floodlight activity.
 33630  //
 33631  // - profileId: User profile ID associated with this request.
 33632  func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
 33633  	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33634  	c.profileId = profileId
 33635  	c.floodlightactivity = floodlightactivity
 33636  	return c
 33637  }
 33638  
 33639  // Fields allows partial responses to be retrieved. See
 33640  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33641  // for more information.
 33642  func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
 33643  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33644  	return c
 33645  }
 33646  
 33647  // Context sets the context to be used in this call's Do method. Any
 33648  // pending HTTP request will be aborted if the provided context is
 33649  // canceled.
 33650  func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
 33651  	c.ctx_ = ctx
 33652  	return c
 33653  }
 33654  
 33655  // Header returns an http.Header that can be modified by the caller to
 33656  // add HTTP headers to the request.
 33657  func (c *FloodlightActivitiesInsertCall) Header() http.Header {
 33658  	if c.header_ == nil {
 33659  		c.header_ = make(http.Header)
 33660  	}
 33661  	return c.header_
 33662  }
 33663  
 33664  func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
 33665  	reqHeaders := make(http.Header)
 33666  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 33667  	for k, v := range c.header_ {
 33668  		reqHeaders[k] = v
 33669  	}
 33670  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33671  	var body io.Reader = nil
 33672  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 33673  	if err != nil {
 33674  		return nil, err
 33675  	}
 33676  	reqHeaders.Set("Content-Type", "application/json")
 33677  	c.urlParams_.Set("alt", alt)
 33678  	c.urlParams_.Set("prettyPrint", "false")
 33679  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 33680  	urls += "?" + c.urlParams_.Encode()
 33681  	req, err := http.NewRequest("POST", urls, body)
 33682  	if err != nil {
 33683  		return nil, err
 33684  	}
 33685  	req.Header = reqHeaders
 33686  	googleapi.Expand(req.URL, map[string]string{
 33687  		"profileId": strconv.FormatInt(c.profileId, 10),
 33688  	})
 33689  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33690  }
 33691  
 33692  // Do executes the "dfareporting.floodlightActivities.insert" call.
 33693  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 33694  // non-2xx status code is an error. Response headers are in either
 33695  // *FloodlightActivity.ServerResponse.Header or (if a response was
 33696  // returned at all) in error.(*googleapi.Error).Header. Use
 33697  // googleapi.IsNotModified to check whether the returned error was
 33698  // because http.StatusNotModified was returned.
 33699  func (c *FloodlightActivitiesInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 33700  	gensupport.SetOptions(c.urlParams_, opts...)
 33701  	res, err := c.doRequest("json")
 33702  	if res != nil && res.StatusCode == http.StatusNotModified {
 33703  		if res.Body != nil {
 33704  			res.Body.Close()
 33705  		}
 33706  		return nil, &googleapi.Error{
 33707  			Code:   res.StatusCode,
 33708  			Header: res.Header,
 33709  		}
 33710  	}
 33711  	if err != nil {
 33712  		return nil, err
 33713  	}
 33714  	defer googleapi.CloseBody(res)
 33715  	if err := googleapi.CheckResponse(res); err != nil {
 33716  		return nil, err
 33717  	}
 33718  	ret := &FloodlightActivity{
 33719  		ServerResponse: googleapi.ServerResponse{
 33720  			Header:         res.Header,
 33721  			HTTPStatusCode: res.StatusCode,
 33722  		},
 33723  	}
 33724  	target := &ret
 33725  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33726  		return nil, err
 33727  	}
 33728  	return ret, nil
 33729  	// {
 33730  	//   "description": "Inserts a new floodlight activity.",
 33731  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
 33732  	//   "httpMethod": "POST",
 33733  	//   "id": "dfareporting.floodlightActivities.insert",
 33734  	//   "parameterOrder": [
 33735  	//     "profileId"
 33736  	//   ],
 33737  	//   "parameters": {
 33738  	//     "profileId": {
 33739  	//       "description": "User profile ID associated with this request.",
 33740  	//       "format": "int64",
 33741  	//       "location": "path",
 33742  	//       "required": true,
 33743  	//       "type": "string"
 33744  	//     }
 33745  	//   },
 33746  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 33747  	//   "request": {
 33748  	//     "$ref": "FloodlightActivity"
 33749  	//   },
 33750  	//   "response": {
 33751  	//     "$ref": "FloodlightActivity"
 33752  	//   },
 33753  	//   "scopes": [
 33754  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33755  	//   ]
 33756  	// }
 33757  
 33758  }
 33759  
 33760  // method id "dfareporting.floodlightActivities.list":
 33761  
 33762  type FloodlightActivitiesListCall struct {
 33763  	s            *Service
 33764  	profileId    int64
 33765  	urlParams_   gensupport.URLParams
 33766  	ifNoneMatch_ string
 33767  	ctx_         context.Context
 33768  	header_      http.Header
 33769  }
 33770  
 33771  // List: Retrieves a list of floodlight activities, possibly filtered.
 33772  // This method supports paging.
 33773  //
 33774  // - profileId: User profile ID associated with this request.
 33775  func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
 33776  	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33777  	c.profileId = profileId
 33778  	return c
 33779  }
 33780  
 33781  // AdvertiserId sets the optional parameter "advertiserId": Select only
 33782  // floodlight activities for the specified advertiser ID. Must specify
 33783  // either ids, advertiserId, or floodlightConfigurationId for a
 33784  // non-empty result.
 33785  func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
 33786  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 33787  	return c
 33788  }
 33789  
 33790  // FloodlightActivityGroupIds sets the optional parameter
 33791  // "floodlightActivityGroupIds": Select only floodlight activities with
 33792  // the specified floodlight activity group IDs.
 33793  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds ...int64) *FloodlightActivitiesListCall {
 33794  	var floodlightActivityGroupIds_ []string
 33795  	for _, v := range floodlightActivityGroupIds {
 33796  		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprint(v))
 33797  	}
 33798  	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
 33799  	return c
 33800  }
 33801  
 33802  // FloodlightActivityGroupName sets the optional parameter
 33803  // "floodlightActivityGroupName": Select only floodlight activities with
 33804  // the specified floodlight activity group name.
 33805  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
 33806  	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
 33807  	return c
 33808  }
 33809  
 33810  // FloodlightActivityGroupTagString sets the optional parameter
 33811  // "floodlightActivityGroupTagString": Select only floodlight activities
 33812  // with the specified floodlight activity group tag string.
 33813  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
 33814  	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
 33815  	return c
 33816  }
 33817  
 33818  // FloodlightActivityGroupType sets the optional parameter
 33819  // "floodlightActivityGroupType": Select only floodlight activities with
 33820  // the specified floodlight activity group type.
 33821  //
 33822  // Possible values:
 33823  //
 33824  //	"COUNTER"
 33825  //	"SALE"
 33826  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
 33827  	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
 33828  	return c
 33829  }
 33830  
 33831  // FloodlightConfigurationId sets the optional parameter
 33832  // "floodlightConfigurationId": Select only floodlight activities for
 33833  // the specified floodlight configuration ID. Must specify either ids,
 33834  // advertiserId, or floodlightConfigurationId for a non-empty result.
 33835  func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
 33836  	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
 33837  	return c
 33838  }
 33839  
 33840  // Ids sets the optional parameter "ids": Select only floodlight
 33841  // activities with the specified IDs. Must specify either ids,
 33842  // advertiserId, or floodlightConfigurationId for a non-empty result.
 33843  func (c *FloodlightActivitiesListCall) Ids(ids ...int64) *FloodlightActivitiesListCall {
 33844  	var ids_ []string
 33845  	for _, v := range ids {
 33846  		ids_ = append(ids_, fmt.Sprint(v))
 33847  	}
 33848  	c.urlParams_.SetMulti("ids", ids_)
 33849  	return c
 33850  }
 33851  
 33852  // MaxResults sets the optional parameter "maxResults": Maximum number
 33853  // of results to return.
 33854  func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
 33855  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 33856  	return c
 33857  }
 33858  
 33859  // PageToken sets the optional parameter "pageToken": Value of the
 33860  // nextPageToken from the previous result page.
 33861  func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
 33862  	c.urlParams_.Set("pageToken", pageToken)
 33863  	return c
 33864  }
 33865  
 33866  // SearchString sets the optional parameter "searchString": Allows
 33867  // searching for objects by name or ID. Wildcards (*) are allowed. For
 33868  // example, "floodlightactivity*2015" will return objects with names
 33869  // like "floodlightactivity June 2015", "floodlightactivity April 2015",
 33870  // or simply "floodlightactivity 2015". Most of the searches also add
 33871  // wildcards implicitly at the start and the end of the search string.
 33872  // For example, a search string of "floodlightactivity" will match
 33873  // objects with name "my floodlightactivity activity",
 33874  // "floodlightactivity 2015", or simply "floodlightactivity".
 33875  func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
 33876  	c.urlParams_.Set("searchString", searchString)
 33877  	return c
 33878  }
 33879  
 33880  // SortField sets the optional parameter "sortField": Field by which to
 33881  // sort the list.
 33882  //
 33883  // Possible values:
 33884  //
 33885  //	"ID" (default)
 33886  //	"NAME"
 33887  func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
 33888  	c.urlParams_.Set("sortField", sortField)
 33889  	return c
 33890  }
 33891  
 33892  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 33893  // results.
 33894  //
 33895  // Possible values:
 33896  //
 33897  //	"ASCENDING" (default)
 33898  //	"DESCENDING"
 33899  func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
 33900  	c.urlParams_.Set("sortOrder", sortOrder)
 33901  	return c
 33902  }
 33903  
 33904  // TagString sets the optional parameter "tagString": Select only
 33905  // floodlight activities with the specified tag string.
 33906  func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
 33907  	c.urlParams_.Set("tagString", tagString)
 33908  	return c
 33909  }
 33910  
 33911  // Fields allows partial responses to be retrieved. See
 33912  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33913  // for more information.
 33914  func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
 33915  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33916  	return c
 33917  }
 33918  
 33919  // IfNoneMatch sets the optional parameter which makes the operation
 33920  // fail if the object's ETag matches the given value. This is useful for
 33921  // getting updates only after the object has changed since the last
 33922  // request. Use googleapi.IsNotModified to check whether the response
 33923  // error from Do is the result of In-None-Match.
 33924  func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
 33925  	c.ifNoneMatch_ = entityTag
 33926  	return c
 33927  }
 33928  
 33929  // Context sets the context to be used in this call's Do method. Any
 33930  // pending HTTP request will be aborted if the provided context is
 33931  // canceled.
 33932  func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
 33933  	c.ctx_ = ctx
 33934  	return c
 33935  }
 33936  
 33937  // Header returns an http.Header that can be modified by the caller to
 33938  // add HTTP headers to the request.
 33939  func (c *FloodlightActivitiesListCall) Header() http.Header {
 33940  	if c.header_ == nil {
 33941  		c.header_ = make(http.Header)
 33942  	}
 33943  	return c.header_
 33944  }
 33945  
 33946  func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 33947  	reqHeaders := make(http.Header)
 33948  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 33949  	for k, v := range c.header_ {
 33950  		reqHeaders[k] = v
 33951  	}
 33952  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33953  	if c.ifNoneMatch_ != "" {
 33954  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33955  	}
 33956  	var body io.Reader = nil
 33957  	c.urlParams_.Set("alt", alt)
 33958  	c.urlParams_.Set("prettyPrint", "false")
 33959  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 33960  	urls += "?" + c.urlParams_.Encode()
 33961  	req, err := http.NewRequest("GET", urls, body)
 33962  	if err != nil {
 33963  		return nil, err
 33964  	}
 33965  	req.Header = reqHeaders
 33966  	googleapi.Expand(req.URL, map[string]string{
 33967  		"profileId": strconv.FormatInt(c.profileId, 10),
 33968  	})
 33969  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33970  }
 33971  
 33972  // Do executes the "dfareporting.floodlightActivities.list" call.
 33973  // Exactly one of *FloodlightActivitiesListResponse or error will be
 33974  // non-nil. Any non-2xx status code is an error. Response headers are in
 33975  // either *FloodlightActivitiesListResponse.ServerResponse.Header or (if
 33976  // a response was returned at all) in error.(*googleapi.Error).Header.
 33977  // Use googleapi.IsNotModified to check whether the returned error was
 33978  // because http.StatusNotModified was returned.
 33979  func (c *FloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesListResponse, error) {
 33980  	gensupport.SetOptions(c.urlParams_, opts...)
 33981  	res, err := c.doRequest("json")
 33982  	if res != nil && res.StatusCode == http.StatusNotModified {
 33983  		if res.Body != nil {
 33984  			res.Body.Close()
 33985  		}
 33986  		return nil, &googleapi.Error{
 33987  			Code:   res.StatusCode,
 33988  			Header: res.Header,
 33989  		}
 33990  	}
 33991  	if err != nil {
 33992  		return nil, err
 33993  	}
 33994  	defer googleapi.CloseBody(res)
 33995  	if err := googleapi.CheckResponse(res); err != nil {
 33996  		return nil, err
 33997  	}
 33998  	ret := &FloodlightActivitiesListResponse{
 33999  		ServerResponse: googleapi.ServerResponse{
 34000  			Header:         res.Header,
 34001  			HTTPStatusCode: res.StatusCode,
 34002  		},
 34003  	}
 34004  	target := &ret
 34005  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34006  		return nil, err
 34007  	}
 34008  	return ret, nil
 34009  	// {
 34010  	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
 34011  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
 34012  	//   "httpMethod": "GET",
 34013  	//   "id": "dfareporting.floodlightActivities.list",
 34014  	//   "parameterOrder": [
 34015  	//     "profileId"
 34016  	//   ],
 34017  	//   "parameters": {
 34018  	//     "advertiserId": {
 34019  	//       "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 34020  	//       "format": "int64",
 34021  	//       "location": "query",
 34022  	//       "type": "string"
 34023  	//     },
 34024  	//     "floodlightActivityGroupIds": {
 34025  	//       "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
 34026  	//       "format": "int64",
 34027  	//       "location": "query",
 34028  	//       "repeated": true,
 34029  	//       "type": "string"
 34030  	//     },
 34031  	//     "floodlightActivityGroupName": {
 34032  	//       "description": "Select only floodlight activities with the specified floodlight activity group name.",
 34033  	//       "location": "query",
 34034  	//       "type": "string"
 34035  	//     },
 34036  	//     "floodlightActivityGroupTagString": {
 34037  	//       "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
 34038  	//       "location": "query",
 34039  	//       "type": "string"
 34040  	//     },
 34041  	//     "floodlightActivityGroupType": {
 34042  	//       "description": "Select only floodlight activities with the specified floodlight activity group type.",
 34043  	//       "enum": [
 34044  	//         "COUNTER",
 34045  	//         "SALE"
 34046  	//       ],
 34047  	//       "enumDescriptions": [
 34048  	//         "",
 34049  	//         ""
 34050  	//       ],
 34051  	//       "location": "query",
 34052  	//       "type": "string"
 34053  	//     },
 34054  	//     "floodlightConfigurationId": {
 34055  	//       "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 34056  	//       "format": "int64",
 34057  	//       "location": "query",
 34058  	//       "type": "string"
 34059  	//     },
 34060  	//     "ids": {
 34061  	//       "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 34062  	//       "format": "int64",
 34063  	//       "location": "query",
 34064  	//       "repeated": true,
 34065  	//       "type": "string"
 34066  	//     },
 34067  	//     "maxResults": {
 34068  	//       "default": "1000",
 34069  	//       "description": "Maximum number of results to return.",
 34070  	//       "format": "int32",
 34071  	//       "location": "query",
 34072  	//       "maximum": "1000",
 34073  	//       "minimum": "0",
 34074  	//       "type": "integer"
 34075  	//     },
 34076  	//     "pageToken": {
 34077  	//       "description": "Value of the nextPageToken from the previous result page.",
 34078  	//       "location": "query",
 34079  	//       "type": "string"
 34080  	//     },
 34081  	//     "profileId": {
 34082  	//       "description": "User profile ID associated with this request.",
 34083  	//       "format": "int64",
 34084  	//       "location": "path",
 34085  	//       "required": true,
 34086  	//       "type": "string"
 34087  	//     },
 34088  	//     "searchString": {
 34089  	//       "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\".",
 34090  	//       "location": "query",
 34091  	//       "type": "string"
 34092  	//     },
 34093  	//     "sortField": {
 34094  	//       "default": "ID",
 34095  	//       "description": "Field by which to sort the list.",
 34096  	//       "enum": [
 34097  	//         "ID",
 34098  	//         "NAME"
 34099  	//       ],
 34100  	//       "enumDescriptions": [
 34101  	//         "",
 34102  	//         ""
 34103  	//       ],
 34104  	//       "location": "query",
 34105  	//       "type": "string"
 34106  	//     },
 34107  	//     "sortOrder": {
 34108  	//       "default": "ASCENDING",
 34109  	//       "description": "Order of sorted results.",
 34110  	//       "enum": [
 34111  	//         "ASCENDING",
 34112  	//         "DESCENDING"
 34113  	//       ],
 34114  	//       "enumDescriptions": [
 34115  	//         "",
 34116  	//         ""
 34117  	//       ],
 34118  	//       "location": "query",
 34119  	//       "type": "string"
 34120  	//     },
 34121  	//     "tagString": {
 34122  	//       "description": "Select only floodlight activities with the specified tag string.",
 34123  	//       "location": "query",
 34124  	//       "type": "string"
 34125  	//     }
 34126  	//   },
 34127  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 34128  	//   "response": {
 34129  	//     "$ref": "FloodlightActivitiesListResponse"
 34130  	//   },
 34131  	//   "scopes": [
 34132  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34133  	//   ]
 34134  	// }
 34135  
 34136  }
 34137  
 34138  // Pages invokes f for each page of results.
 34139  // A non-nil error returned from f will halt the iteration.
 34140  // The provided context supersedes any context provided to the Context method.
 34141  func (c *FloodlightActivitiesListCall) Pages(ctx context.Context, f func(*FloodlightActivitiesListResponse) error) error {
 34142  	c.ctx_ = ctx
 34143  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 34144  	for {
 34145  		x, err := c.Do()
 34146  		if err != nil {
 34147  			return err
 34148  		}
 34149  		if err := f(x); err != nil {
 34150  			return err
 34151  		}
 34152  		if x.NextPageToken == "" {
 34153  			return nil
 34154  		}
 34155  		c.PageToken(x.NextPageToken)
 34156  	}
 34157  }
 34158  
 34159  // method id "dfareporting.floodlightActivities.patch":
 34160  
 34161  type FloodlightActivitiesPatchCall struct {
 34162  	s                  *Service
 34163  	profileId          int64
 34164  	floodlightactivity *FloodlightActivity
 34165  	urlParams_         gensupport.URLParams
 34166  	ctx_               context.Context
 34167  	header_            http.Header
 34168  }
 34169  
 34170  // Patch: Updates an existing floodlight activity. This method supports
 34171  // patch semantics.
 34172  //
 34173  // - id: FloodlightActivity ID.
 34174  // - profileId: User profile ID associated with this request.
 34175  func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
 34176  	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34177  	c.profileId = profileId
 34178  	c.urlParams_.Set("id", fmt.Sprint(id))
 34179  	c.floodlightactivity = floodlightactivity
 34180  	return c
 34181  }
 34182  
 34183  // Fields allows partial responses to be retrieved. See
 34184  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34185  // for more information.
 34186  func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
 34187  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34188  	return c
 34189  }
 34190  
 34191  // Context sets the context to be used in this call's Do method. Any
 34192  // pending HTTP request will be aborted if the provided context is
 34193  // canceled.
 34194  func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
 34195  	c.ctx_ = ctx
 34196  	return c
 34197  }
 34198  
 34199  // Header returns an http.Header that can be modified by the caller to
 34200  // add HTTP headers to the request.
 34201  func (c *FloodlightActivitiesPatchCall) Header() http.Header {
 34202  	if c.header_ == nil {
 34203  		c.header_ = make(http.Header)
 34204  	}
 34205  	return c.header_
 34206  }
 34207  
 34208  func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
 34209  	reqHeaders := make(http.Header)
 34210  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 34211  	for k, v := range c.header_ {
 34212  		reqHeaders[k] = v
 34213  	}
 34214  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34215  	var body io.Reader = nil
 34216  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 34217  	if err != nil {
 34218  		return nil, err
 34219  	}
 34220  	reqHeaders.Set("Content-Type", "application/json")
 34221  	c.urlParams_.Set("alt", alt)
 34222  	c.urlParams_.Set("prettyPrint", "false")
 34223  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 34224  	urls += "?" + c.urlParams_.Encode()
 34225  	req, err := http.NewRequest("PATCH", urls, body)
 34226  	if err != nil {
 34227  		return nil, err
 34228  	}
 34229  	req.Header = reqHeaders
 34230  	googleapi.Expand(req.URL, map[string]string{
 34231  		"profileId": strconv.FormatInt(c.profileId, 10),
 34232  	})
 34233  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34234  }
 34235  
 34236  // Do executes the "dfareporting.floodlightActivities.patch" call.
 34237  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 34238  // non-2xx status code is an error. Response headers are in either
 34239  // *FloodlightActivity.ServerResponse.Header or (if a response was
 34240  // returned at all) in error.(*googleapi.Error).Header. Use
 34241  // googleapi.IsNotModified to check whether the returned error was
 34242  // because http.StatusNotModified was returned.
 34243  func (c *FloodlightActivitiesPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 34244  	gensupport.SetOptions(c.urlParams_, opts...)
 34245  	res, err := c.doRequest("json")
 34246  	if res != nil && res.StatusCode == http.StatusNotModified {
 34247  		if res.Body != nil {
 34248  			res.Body.Close()
 34249  		}
 34250  		return nil, &googleapi.Error{
 34251  			Code:   res.StatusCode,
 34252  			Header: res.Header,
 34253  		}
 34254  	}
 34255  	if err != nil {
 34256  		return nil, err
 34257  	}
 34258  	defer googleapi.CloseBody(res)
 34259  	if err := googleapi.CheckResponse(res); err != nil {
 34260  		return nil, err
 34261  	}
 34262  	ret := &FloodlightActivity{
 34263  		ServerResponse: googleapi.ServerResponse{
 34264  			Header:         res.Header,
 34265  			HTTPStatusCode: res.StatusCode,
 34266  		},
 34267  	}
 34268  	target := &ret
 34269  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34270  		return nil, err
 34271  	}
 34272  	return ret, nil
 34273  	// {
 34274  	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
 34275  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
 34276  	//   "httpMethod": "PATCH",
 34277  	//   "id": "dfareporting.floodlightActivities.patch",
 34278  	//   "parameterOrder": [
 34279  	//     "profileId",
 34280  	//     "id"
 34281  	//   ],
 34282  	//   "parameters": {
 34283  	//     "id": {
 34284  	//       "description": "FloodlightActivity ID.",
 34285  	//       "format": "int64",
 34286  	//       "location": "query",
 34287  	//       "required": true,
 34288  	//       "type": "string"
 34289  	//     },
 34290  	//     "profileId": {
 34291  	//       "description": "User profile ID associated with this request.",
 34292  	//       "format": "int64",
 34293  	//       "location": "path",
 34294  	//       "required": true,
 34295  	//       "type": "string"
 34296  	//     }
 34297  	//   },
 34298  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 34299  	//   "request": {
 34300  	//     "$ref": "FloodlightActivity"
 34301  	//   },
 34302  	//   "response": {
 34303  	//     "$ref": "FloodlightActivity"
 34304  	//   },
 34305  	//   "scopes": [
 34306  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34307  	//   ]
 34308  	// }
 34309  
 34310  }
 34311  
 34312  // method id "dfareporting.floodlightActivities.update":
 34313  
 34314  type FloodlightActivitiesUpdateCall struct {
 34315  	s                  *Service
 34316  	profileId          int64
 34317  	floodlightactivity *FloodlightActivity
 34318  	urlParams_         gensupport.URLParams
 34319  	ctx_               context.Context
 34320  	header_            http.Header
 34321  }
 34322  
 34323  // Update: Updates an existing floodlight activity.
 34324  //
 34325  // - profileId: User profile ID associated with this request.
 34326  func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
 34327  	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34328  	c.profileId = profileId
 34329  	c.floodlightactivity = floodlightactivity
 34330  	return c
 34331  }
 34332  
 34333  // Fields allows partial responses to be retrieved. See
 34334  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34335  // for more information.
 34336  func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
 34337  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34338  	return c
 34339  }
 34340  
 34341  // Context sets the context to be used in this call's Do method. Any
 34342  // pending HTTP request will be aborted if the provided context is
 34343  // canceled.
 34344  func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
 34345  	c.ctx_ = ctx
 34346  	return c
 34347  }
 34348  
 34349  // Header returns an http.Header that can be modified by the caller to
 34350  // add HTTP headers to the request.
 34351  func (c *FloodlightActivitiesUpdateCall) Header() http.Header {
 34352  	if c.header_ == nil {
 34353  		c.header_ = make(http.Header)
 34354  	}
 34355  	return c.header_
 34356  }
 34357  
 34358  func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 34359  	reqHeaders := make(http.Header)
 34360  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 34361  	for k, v := range c.header_ {
 34362  		reqHeaders[k] = v
 34363  	}
 34364  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34365  	var body io.Reader = nil
 34366  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 34367  	if err != nil {
 34368  		return nil, err
 34369  	}
 34370  	reqHeaders.Set("Content-Type", "application/json")
 34371  	c.urlParams_.Set("alt", alt)
 34372  	c.urlParams_.Set("prettyPrint", "false")
 34373  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 34374  	urls += "?" + c.urlParams_.Encode()
 34375  	req, err := http.NewRequest("PUT", urls, body)
 34376  	if err != nil {
 34377  		return nil, err
 34378  	}
 34379  	req.Header = reqHeaders
 34380  	googleapi.Expand(req.URL, map[string]string{
 34381  		"profileId": strconv.FormatInt(c.profileId, 10),
 34382  	})
 34383  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34384  }
 34385  
 34386  // Do executes the "dfareporting.floodlightActivities.update" call.
 34387  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 34388  // non-2xx status code is an error. Response headers are in either
 34389  // *FloodlightActivity.ServerResponse.Header or (if a response was
 34390  // returned at all) in error.(*googleapi.Error).Header. Use
 34391  // googleapi.IsNotModified to check whether the returned error was
 34392  // because http.StatusNotModified was returned.
 34393  func (c *FloodlightActivitiesUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 34394  	gensupport.SetOptions(c.urlParams_, opts...)
 34395  	res, err := c.doRequest("json")
 34396  	if res != nil && res.StatusCode == http.StatusNotModified {
 34397  		if res.Body != nil {
 34398  			res.Body.Close()
 34399  		}
 34400  		return nil, &googleapi.Error{
 34401  			Code:   res.StatusCode,
 34402  			Header: res.Header,
 34403  		}
 34404  	}
 34405  	if err != nil {
 34406  		return nil, err
 34407  	}
 34408  	defer googleapi.CloseBody(res)
 34409  	if err := googleapi.CheckResponse(res); err != nil {
 34410  		return nil, err
 34411  	}
 34412  	ret := &FloodlightActivity{
 34413  		ServerResponse: googleapi.ServerResponse{
 34414  			Header:         res.Header,
 34415  			HTTPStatusCode: res.StatusCode,
 34416  		},
 34417  	}
 34418  	target := &ret
 34419  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34420  		return nil, err
 34421  	}
 34422  	return ret, nil
 34423  	// {
 34424  	//   "description": "Updates an existing floodlight activity.",
 34425  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
 34426  	//   "httpMethod": "PUT",
 34427  	//   "id": "dfareporting.floodlightActivities.update",
 34428  	//   "parameterOrder": [
 34429  	//     "profileId"
 34430  	//   ],
 34431  	//   "parameters": {
 34432  	//     "profileId": {
 34433  	//       "description": "User profile ID associated with this request.",
 34434  	//       "format": "int64",
 34435  	//       "location": "path",
 34436  	//       "required": true,
 34437  	//       "type": "string"
 34438  	//     }
 34439  	//   },
 34440  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 34441  	//   "request": {
 34442  	//     "$ref": "FloodlightActivity"
 34443  	//   },
 34444  	//   "response": {
 34445  	//     "$ref": "FloodlightActivity"
 34446  	//   },
 34447  	//   "scopes": [
 34448  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34449  	//   ]
 34450  	// }
 34451  
 34452  }
 34453  
 34454  // method id "dfareporting.floodlightActivityGroups.get":
 34455  
 34456  type FloodlightActivityGroupsGetCall struct {
 34457  	s            *Service
 34458  	profileId    int64
 34459  	id           int64
 34460  	urlParams_   gensupport.URLParams
 34461  	ifNoneMatch_ string
 34462  	ctx_         context.Context
 34463  	header_      http.Header
 34464  }
 34465  
 34466  // Get: Gets one floodlight activity group by ID.
 34467  //
 34468  // - id: Floodlight activity Group ID.
 34469  // - profileId: User profile ID associated with this request.
 34470  func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
 34471  	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34472  	c.profileId = profileId
 34473  	c.id = id
 34474  	return c
 34475  }
 34476  
 34477  // Fields allows partial responses to be retrieved. See
 34478  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34479  // for more information.
 34480  func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
 34481  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34482  	return c
 34483  }
 34484  
 34485  // IfNoneMatch sets the optional parameter which makes the operation
 34486  // fail if the object's ETag matches the given value. This is useful for
 34487  // getting updates only after the object has changed since the last
 34488  // request. Use googleapi.IsNotModified to check whether the response
 34489  // error from Do is the result of In-None-Match.
 34490  func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
 34491  	c.ifNoneMatch_ = entityTag
 34492  	return c
 34493  }
 34494  
 34495  // Context sets the context to be used in this call's Do method. Any
 34496  // pending HTTP request will be aborted if the provided context is
 34497  // canceled.
 34498  func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
 34499  	c.ctx_ = ctx
 34500  	return c
 34501  }
 34502  
 34503  // Header returns an http.Header that can be modified by the caller to
 34504  // add HTTP headers to the request.
 34505  func (c *FloodlightActivityGroupsGetCall) Header() http.Header {
 34506  	if c.header_ == nil {
 34507  		c.header_ = make(http.Header)
 34508  	}
 34509  	return c.header_
 34510  }
 34511  
 34512  func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 34513  	reqHeaders := make(http.Header)
 34514  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 34515  	for k, v := range c.header_ {
 34516  		reqHeaders[k] = v
 34517  	}
 34518  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34519  	if c.ifNoneMatch_ != "" {
 34520  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34521  	}
 34522  	var body io.Reader = nil
 34523  	c.urlParams_.Set("alt", alt)
 34524  	c.urlParams_.Set("prettyPrint", "false")
 34525  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
 34526  	urls += "?" + c.urlParams_.Encode()
 34527  	req, err := http.NewRequest("GET", urls, body)
 34528  	if err != nil {
 34529  		return nil, err
 34530  	}
 34531  	req.Header = reqHeaders
 34532  	googleapi.Expand(req.URL, map[string]string{
 34533  		"profileId": strconv.FormatInt(c.profileId, 10),
 34534  		"id":        strconv.FormatInt(c.id, 10),
 34535  	})
 34536  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34537  }
 34538  
 34539  // Do executes the "dfareporting.floodlightActivityGroups.get" call.
 34540  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 34541  // non-2xx status code is an error. Response headers are in either
 34542  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 34543  // returned at all) in error.(*googleapi.Error).Header. Use
 34544  // googleapi.IsNotModified to check whether the returned error was
 34545  // because http.StatusNotModified was returned.
 34546  func (c *FloodlightActivityGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 34547  	gensupport.SetOptions(c.urlParams_, opts...)
 34548  	res, err := c.doRequest("json")
 34549  	if res != nil && res.StatusCode == http.StatusNotModified {
 34550  		if res.Body != nil {
 34551  			res.Body.Close()
 34552  		}
 34553  		return nil, &googleapi.Error{
 34554  			Code:   res.StatusCode,
 34555  			Header: res.Header,
 34556  		}
 34557  	}
 34558  	if err != nil {
 34559  		return nil, err
 34560  	}
 34561  	defer googleapi.CloseBody(res)
 34562  	if err := googleapi.CheckResponse(res); err != nil {
 34563  		return nil, err
 34564  	}
 34565  	ret := &FloodlightActivityGroup{
 34566  		ServerResponse: googleapi.ServerResponse{
 34567  			Header:         res.Header,
 34568  			HTTPStatusCode: res.StatusCode,
 34569  		},
 34570  	}
 34571  	target := &ret
 34572  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34573  		return nil, err
 34574  	}
 34575  	return ret, nil
 34576  	// {
 34577  	//   "description": "Gets one floodlight activity group by ID.",
 34578  	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
 34579  	//   "httpMethod": "GET",
 34580  	//   "id": "dfareporting.floodlightActivityGroups.get",
 34581  	//   "parameterOrder": [
 34582  	//     "profileId",
 34583  	//     "id"
 34584  	//   ],
 34585  	//   "parameters": {
 34586  	//     "id": {
 34587  	//       "description": "Floodlight activity Group ID.",
 34588  	//       "format": "int64",
 34589  	//       "location": "path",
 34590  	//       "required": true,
 34591  	//       "type": "string"
 34592  	//     },
 34593  	//     "profileId": {
 34594  	//       "description": "User profile ID associated with this request.",
 34595  	//       "format": "int64",
 34596  	//       "location": "path",
 34597  	//       "required": true,
 34598  	//       "type": "string"
 34599  	//     }
 34600  	//   },
 34601  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
 34602  	//   "response": {
 34603  	//     "$ref": "FloodlightActivityGroup"
 34604  	//   },
 34605  	//   "scopes": [
 34606  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34607  	//   ]
 34608  	// }
 34609  
 34610  }
 34611  
 34612  // method id "dfareporting.floodlightActivityGroups.insert":
 34613  
 34614  type FloodlightActivityGroupsInsertCall struct {
 34615  	s                       *Service
 34616  	profileId               int64
 34617  	floodlightactivitygroup *FloodlightActivityGroup
 34618  	urlParams_              gensupport.URLParams
 34619  	ctx_                    context.Context
 34620  	header_                 http.Header
 34621  }
 34622  
 34623  // Insert: Inserts a new floodlight activity group.
 34624  //
 34625  // - profileId: User profile ID associated with this request.
 34626  func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
 34627  	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34628  	c.profileId = profileId
 34629  	c.floodlightactivitygroup = floodlightactivitygroup
 34630  	return c
 34631  }
 34632  
 34633  // Fields allows partial responses to be retrieved. See
 34634  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34635  // for more information.
 34636  func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
 34637  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34638  	return c
 34639  }
 34640  
 34641  // Context sets the context to be used in this call's Do method. Any
 34642  // pending HTTP request will be aborted if the provided context is
 34643  // canceled.
 34644  func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
 34645  	c.ctx_ = ctx
 34646  	return c
 34647  }
 34648  
 34649  // Header returns an http.Header that can be modified by the caller to
 34650  // add HTTP headers to the request.
 34651  func (c *FloodlightActivityGroupsInsertCall) Header() http.Header {
 34652  	if c.header_ == nil {
 34653  		c.header_ = make(http.Header)
 34654  	}
 34655  	return c.header_
 34656  }
 34657  
 34658  func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 34659  	reqHeaders := make(http.Header)
 34660  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 34661  	for k, v := range c.header_ {
 34662  		reqHeaders[k] = v
 34663  	}
 34664  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34665  	var body io.Reader = nil
 34666  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 34667  	if err != nil {
 34668  		return nil, err
 34669  	}
 34670  	reqHeaders.Set("Content-Type", "application/json")
 34671  	c.urlParams_.Set("alt", alt)
 34672  	c.urlParams_.Set("prettyPrint", "false")
 34673  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 34674  	urls += "?" + c.urlParams_.Encode()
 34675  	req, err := http.NewRequest("POST", urls, body)
 34676  	if err != nil {
 34677  		return nil, err
 34678  	}
 34679  	req.Header = reqHeaders
 34680  	googleapi.Expand(req.URL, map[string]string{
 34681  		"profileId": strconv.FormatInt(c.profileId, 10),
 34682  	})
 34683  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34684  }
 34685  
 34686  // Do executes the "dfareporting.floodlightActivityGroups.insert" call.
 34687  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 34688  // non-2xx status code is an error. Response headers are in either
 34689  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 34690  // returned at all) in error.(*googleapi.Error).Header. Use
 34691  // googleapi.IsNotModified to check whether the returned error was
 34692  // because http.StatusNotModified was returned.
 34693  func (c *FloodlightActivityGroupsInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 34694  	gensupport.SetOptions(c.urlParams_, opts...)
 34695  	res, err := c.doRequest("json")
 34696  	if res != nil && res.StatusCode == http.StatusNotModified {
 34697  		if res.Body != nil {
 34698  			res.Body.Close()
 34699  		}
 34700  		return nil, &googleapi.Error{
 34701  			Code:   res.StatusCode,
 34702  			Header: res.Header,
 34703  		}
 34704  	}
 34705  	if err != nil {
 34706  		return nil, err
 34707  	}
 34708  	defer googleapi.CloseBody(res)
 34709  	if err := googleapi.CheckResponse(res); err != nil {
 34710  		return nil, err
 34711  	}
 34712  	ret := &FloodlightActivityGroup{
 34713  		ServerResponse: googleapi.ServerResponse{
 34714  			Header:         res.Header,
 34715  			HTTPStatusCode: res.StatusCode,
 34716  		},
 34717  	}
 34718  	target := &ret
 34719  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34720  		return nil, err
 34721  	}
 34722  	return ret, nil
 34723  	// {
 34724  	//   "description": "Inserts a new floodlight activity group.",
 34725  	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
 34726  	//   "httpMethod": "POST",
 34727  	//   "id": "dfareporting.floodlightActivityGroups.insert",
 34728  	//   "parameterOrder": [
 34729  	//     "profileId"
 34730  	//   ],
 34731  	//   "parameters": {
 34732  	//     "profileId": {
 34733  	//       "description": "User profile ID associated with this request.",
 34734  	//       "format": "int64",
 34735  	//       "location": "path",
 34736  	//       "required": true,
 34737  	//       "type": "string"
 34738  	//     }
 34739  	//   },
 34740  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 34741  	//   "request": {
 34742  	//     "$ref": "FloodlightActivityGroup"
 34743  	//   },
 34744  	//   "response": {
 34745  	//     "$ref": "FloodlightActivityGroup"
 34746  	//   },
 34747  	//   "scopes": [
 34748  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34749  	//   ]
 34750  	// }
 34751  
 34752  }
 34753  
 34754  // method id "dfareporting.floodlightActivityGroups.list":
 34755  
 34756  type FloodlightActivityGroupsListCall struct {
 34757  	s            *Service
 34758  	profileId    int64
 34759  	urlParams_   gensupport.URLParams
 34760  	ifNoneMatch_ string
 34761  	ctx_         context.Context
 34762  	header_      http.Header
 34763  }
 34764  
 34765  // List: Retrieves a list of floodlight activity groups, possibly
 34766  // filtered. This method supports paging.
 34767  //
 34768  // - profileId: User profile ID associated with this request.
 34769  func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
 34770  	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34771  	c.profileId = profileId
 34772  	return c
 34773  }
 34774  
 34775  // AdvertiserId sets the optional parameter "advertiserId": Select only
 34776  // floodlight activity groups with the specified advertiser ID. Must
 34777  // specify either advertiserId or floodlightConfigurationId for a
 34778  // non-empty result.
 34779  func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
 34780  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 34781  	return c
 34782  }
 34783  
 34784  // FloodlightConfigurationId sets the optional parameter
 34785  // "floodlightConfigurationId": Select only floodlight activity groups
 34786  // with the specified floodlight configuration ID. Must specify either
 34787  // advertiserId, or floodlightConfigurationId for a non-empty result.
 34788  func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
 34789  	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
 34790  	return c
 34791  }
 34792  
 34793  // Ids sets the optional parameter "ids": Select only floodlight
 34794  // activity groups with the specified IDs. Must specify either
 34795  // advertiserId or floodlightConfigurationId for a non-empty result.
 34796  func (c *FloodlightActivityGroupsListCall) Ids(ids ...int64) *FloodlightActivityGroupsListCall {
 34797  	var ids_ []string
 34798  	for _, v := range ids {
 34799  		ids_ = append(ids_, fmt.Sprint(v))
 34800  	}
 34801  	c.urlParams_.SetMulti("ids", ids_)
 34802  	return c
 34803  }
 34804  
 34805  // MaxResults sets the optional parameter "maxResults": Maximum number
 34806  // of results to return.
 34807  func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
 34808  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 34809  	return c
 34810  }
 34811  
 34812  // PageToken sets the optional parameter "pageToken": Value of the
 34813  // nextPageToken from the previous result page.
 34814  func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
 34815  	c.urlParams_.Set("pageToken", pageToken)
 34816  	return c
 34817  }
 34818  
 34819  // SearchString sets the optional parameter "searchString": Allows
 34820  // searching for objects by name or ID. Wildcards (*) are allowed. For
 34821  // example, "floodlightactivitygroup*2015" will return objects with
 34822  // names like "floodlightactivitygroup June 2015",
 34823  // "floodlightactivitygroup April 2015", or simply
 34824  // "floodlightactivitygroup 2015". Most of the searches also add
 34825  // wildcards implicitly at the start and the end of the search string.
 34826  // For example, a search string of "floodlightactivitygroup" will match
 34827  // objects with name "my floodlightactivitygroup activity",
 34828  // "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
 34829  func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
 34830  	c.urlParams_.Set("searchString", searchString)
 34831  	return c
 34832  }
 34833  
 34834  // SortField sets the optional parameter "sortField": Field by which to
 34835  // sort the list.
 34836  //
 34837  // Possible values:
 34838  //
 34839  //	"ID" (default)
 34840  //	"NAME"
 34841  func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
 34842  	c.urlParams_.Set("sortField", sortField)
 34843  	return c
 34844  }
 34845  
 34846  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 34847  // results.
 34848  //
 34849  // Possible values:
 34850  //
 34851  //	"ASCENDING" (default)
 34852  //	"DESCENDING"
 34853  func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
 34854  	c.urlParams_.Set("sortOrder", sortOrder)
 34855  	return c
 34856  }
 34857  
 34858  // Type sets the optional parameter "type": Select only floodlight
 34859  // activity groups with the specified floodlight activity group type.
 34860  //
 34861  // Possible values:
 34862  //
 34863  //	"COUNTER"
 34864  //	"SALE"
 34865  func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
 34866  	c.urlParams_.Set("type", type_)
 34867  	return c
 34868  }
 34869  
 34870  // Fields allows partial responses to be retrieved. See
 34871  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34872  // for more information.
 34873  func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
 34874  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34875  	return c
 34876  }
 34877  
 34878  // IfNoneMatch sets the optional parameter which makes the operation
 34879  // fail if the object's ETag matches the given value. This is useful for
 34880  // getting updates only after the object has changed since the last
 34881  // request. Use googleapi.IsNotModified to check whether the response
 34882  // error from Do is the result of In-None-Match.
 34883  func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
 34884  	c.ifNoneMatch_ = entityTag
 34885  	return c
 34886  }
 34887  
 34888  // Context sets the context to be used in this call's Do method. Any
 34889  // pending HTTP request will be aborted if the provided context is
 34890  // canceled.
 34891  func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
 34892  	c.ctx_ = ctx
 34893  	return c
 34894  }
 34895  
 34896  // Header returns an http.Header that can be modified by the caller to
 34897  // add HTTP headers to the request.
 34898  func (c *FloodlightActivityGroupsListCall) Header() http.Header {
 34899  	if c.header_ == nil {
 34900  		c.header_ = make(http.Header)
 34901  	}
 34902  	return c.header_
 34903  }
 34904  
 34905  func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
 34906  	reqHeaders := make(http.Header)
 34907  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 34908  	for k, v := range c.header_ {
 34909  		reqHeaders[k] = v
 34910  	}
 34911  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34912  	if c.ifNoneMatch_ != "" {
 34913  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34914  	}
 34915  	var body io.Reader = nil
 34916  	c.urlParams_.Set("alt", alt)
 34917  	c.urlParams_.Set("prettyPrint", "false")
 34918  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 34919  	urls += "?" + c.urlParams_.Encode()
 34920  	req, err := http.NewRequest("GET", urls, body)
 34921  	if err != nil {
 34922  		return nil, err
 34923  	}
 34924  	req.Header = reqHeaders
 34925  	googleapi.Expand(req.URL, map[string]string{
 34926  		"profileId": strconv.FormatInt(c.profileId, 10),
 34927  	})
 34928  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34929  }
 34930  
 34931  // Do executes the "dfareporting.floodlightActivityGroups.list" call.
 34932  // Exactly one of *FloodlightActivityGroupsListResponse or error will be
 34933  // non-nil. Any non-2xx status code is an error. Response headers are in
 34934  // either *FloodlightActivityGroupsListResponse.ServerResponse.Header or
 34935  // (if a response was returned at all) in
 34936  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34937  // whether the returned error was because http.StatusNotModified was
 34938  // returned.
 34939  func (c *FloodlightActivityGroupsListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroupsListResponse, error) {
 34940  	gensupport.SetOptions(c.urlParams_, opts...)
 34941  	res, err := c.doRequest("json")
 34942  	if res != nil && res.StatusCode == http.StatusNotModified {
 34943  		if res.Body != nil {
 34944  			res.Body.Close()
 34945  		}
 34946  		return nil, &googleapi.Error{
 34947  			Code:   res.StatusCode,
 34948  			Header: res.Header,
 34949  		}
 34950  	}
 34951  	if err != nil {
 34952  		return nil, err
 34953  	}
 34954  	defer googleapi.CloseBody(res)
 34955  	if err := googleapi.CheckResponse(res); err != nil {
 34956  		return nil, err
 34957  	}
 34958  	ret := &FloodlightActivityGroupsListResponse{
 34959  		ServerResponse: googleapi.ServerResponse{
 34960  			Header:         res.Header,
 34961  			HTTPStatusCode: res.StatusCode,
 34962  		},
 34963  	}
 34964  	target := &ret
 34965  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34966  		return nil, err
 34967  	}
 34968  	return ret, nil
 34969  	// {
 34970  	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
 34971  	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
 34972  	//   "httpMethod": "GET",
 34973  	//   "id": "dfareporting.floodlightActivityGroups.list",
 34974  	//   "parameterOrder": [
 34975  	//     "profileId"
 34976  	//   ],
 34977  	//   "parameters": {
 34978  	//     "advertiserId": {
 34979  	//       "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
 34980  	//       "format": "int64",
 34981  	//       "location": "query",
 34982  	//       "type": "string"
 34983  	//     },
 34984  	//     "floodlightConfigurationId": {
 34985  	//       "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
 34986  	//       "format": "int64",
 34987  	//       "location": "query",
 34988  	//       "type": "string"
 34989  	//     },
 34990  	//     "ids": {
 34991  	//       "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
 34992  	//       "format": "int64",
 34993  	//       "location": "query",
 34994  	//       "repeated": true,
 34995  	//       "type": "string"
 34996  	//     },
 34997  	//     "maxResults": {
 34998  	//       "default": "1000",
 34999  	//       "description": "Maximum number of results to return.",
 35000  	//       "format": "int32",
 35001  	//       "location": "query",
 35002  	//       "maximum": "1000",
 35003  	//       "minimum": "0",
 35004  	//       "type": "integer"
 35005  	//     },
 35006  	//     "pageToken": {
 35007  	//       "description": "Value of the nextPageToken from the previous result page.",
 35008  	//       "location": "query",
 35009  	//       "type": "string"
 35010  	//     },
 35011  	//     "profileId": {
 35012  	//       "description": "User profile ID associated with this request.",
 35013  	//       "format": "int64",
 35014  	//       "location": "path",
 35015  	//       "required": true,
 35016  	//       "type": "string"
 35017  	//     },
 35018  	//     "searchString": {
 35019  	//       "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\".",
 35020  	//       "location": "query",
 35021  	//       "type": "string"
 35022  	//     },
 35023  	//     "sortField": {
 35024  	//       "default": "ID",
 35025  	//       "description": "Field by which to sort the list.",
 35026  	//       "enum": [
 35027  	//         "ID",
 35028  	//         "NAME"
 35029  	//       ],
 35030  	//       "enumDescriptions": [
 35031  	//         "",
 35032  	//         ""
 35033  	//       ],
 35034  	//       "location": "query",
 35035  	//       "type": "string"
 35036  	//     },
 35037  	//     "sortOrder": {
 35038  	//       "default": "ASCENDING",
 35039  	//       "description": "Order of sorted results.",
 35040  	//       "enum": [
 35041  	//         "ASCENDING",
 35042  	//         "DESCENDING"
 35043  	//       ],
 35044  	//       "enumDescriptions": [
 35045  	//         "",
 35046  	//         ""
 35047  	//       ],
 35048  	//       "location": "query",
 35049  	//       "type": "string"
 35050  	//     },
 35051  	//     "type": {
 35052  	//       "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
 35053  	//       "enum": [
 35054  	//         "COUNTER",
 35055  	//         "SALE"
 35056  	//       ],
 35057  	//       "enumDescriptions": [
 35058  	//         "",
 35059  	//         ""
 35060  	//       ],
 35061  	//       "location": "query",
 35062  	//       "type": "string"
 35063  	//     }
 35064  	//   },
 35065  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 35066  	//   "response": {
 35067  	//     "$ref": "FloodlightActivityGroupsListResponse"
 35068  	//   },
 35069  	//   "scopes": [
 35070  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35071  	//   ]
 35072  	// }
 35073  
 35074  }
 35075  
 35076  // Pages invokes f for each page of results.
 35077  // A non-nil error returned from f will halt the iteration.
 35078  // The provided context supersedes any context provided to the Context method.
 35079  func (c *FloodlightActivityGroupsListCall) Pages(ctx context.Context, f func(*FloodlightActivityGroupsListResponse) error) error {
 35080  	c.ctx_ = ctx
 35081  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 35082  	for {
 35083  		x, err := c.Do()
 35084  		if err != nil {
 35085  			return err
 35086  		}
 35087  		if err := f(x); err != nil {
 35088  			return err
 35089  		}
 35090  		if x.NextPageToken == "" {
 35091  			return nil
 35092  		}
 35093  		c.PageToken(x.NextPageToken)
 35094  	}
 35095  }
 35096  
 35097  // method id "dfareporting.floodlightActivityGroups.patch":
 35098  
 35099  type FloodlightActivityGroupsPatchCall struct {
 35100  	s                       *Service
 35101  	profileId               int64
 35102  	floodlightactivitygroup *FloodlightActivityGroup
 35103  	urlParams_              gensupport.URLParams
 35104  	ctx_                    context.Context
 35105  	header_                 http.Header
 35106  }
 35107  
 35108  // Patch: Updates an existing floodlight activity group. This method
 35109  // supports patch semantics.
 35110  //
 35111  // - id: FloodlightActivityGroup ID.
 35112  // - profileId: User profile ID associated with this request.
 35113  func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
 35114  	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35115  	c.profileId = profileId
 35116  	c.urlParams_.Set("id", fmt.Sprint(id))
 35117  	c.floodlightactivitygroup = floodlightactivitygroup
 35118  	return c
 35119  }
 35120  
 35121  // Fields allows partial responses to be retrieved. See
 35122  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35123  // for more information.
 35124  func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
 35125  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35126  	return c
 35127  }
 35128  
 35129  // Context sets the context to be used in this call's Do method. Any
 35130  // pending HTTP request will be aborted if the provided context is
 35131  // canceled.
 35132  func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
 35133  	c.ctx_ = ctx
 35134  	return c
 35135  }
 35136  
 35137  // Header returns an http.Header that can be modified by the caller to
 35138  // add HTTP headers to the request.
 35139  func (c *FloodlightActivityGroupsPatchCall) Header() http.Header {
 35140  	if c.header_ == nil {
 35141  		c.header_ = make(http.Header)
 35142  	}
 35143  	return c.header_
 35144  }
 35145  
 35146  func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 35147  	reqHeaders := make(http.Header)
 35148  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 35149  	for k, v := range c.header_ {
 35150  		reqHeaders[k] = v
 35151  	}
 35152  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35153  	var body io.Reader = nil
 35154  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 35155  	if err != nil {
 35156  		return nil, err
 35157  	}
 35158  	reqHeaders.Set("Content-Type", "application/json")
 35159  	c.urlParams_.Set("alt", alt)
 35160  	c.urlParams_.Set("prettyPrint", "false")
 35161  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 35162  	urls += "?" + c.urlParams_.Encode()
 35163  	req, err := http.NewRequest("PATCH", urls, body)
 35164  	if err != nil {
 35165  		return nil, err
 35166  	}
 35167  	req.Header = reqHeaders
 35168  	googleapi.Expand(req.URL, map[string]string{
 35169  		"profileId": strconv.FormatInt(c.profileId, 10),
 35170  	})
 35171  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35172  }
 35173  
 35174  // Do executes the "dfareporting.floodlightActivityGroups.patch" call.
 35175  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 35176  // non-2xx status code is an error. Response headers are in either
 35177  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 35178  // returned at all) in error.(*googleapi.Error).Header. Use
 35179  // googleapi.IsNotModified to check whether the returned error was
 35180  // because http.StatusNotModified was returned.
 35181  func (c *FloodlightActivityGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 35182  	gensupport.SetOptions(c.urlParams_, opts...)
 35183  	res, err := c.doRequest("json")
 35184  	if res != nil && res.StatusCode == http.StatusNotModified {
 35185  		if res.Body != nil {
 35186  			res.Body.Close()
 35187  		}
 35188  		return nil, &googleapi.Error{
 35189  			Code:   res.StatusCode,
 35190  			Header: res.Header,
 35191  		}
 35192  	}
 35193  	if err != nil {
 35194  		return nil, err
 35195  	}
 35196  	defer googleapi.CloseBody(res)
 35197  	if err := googleapi.CheckResponse(res); err != nil {
 35198  		return nil, err
 35199  	}
 35200  	ret := &FloodlightActivityGroup{
 35201  		ServerResponse: googleapi.ServerResponse{
 35202  			Header:         res.Header,
 35203  			HTTPStatusCode: res.StatusCode,
 35204  		},
 35205  	}
 35206  	target := &ret
 35207  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35208  		return nil, err
 35209  	}
 35210  	return ret, nil
 35211  	// {
 35212  	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
 35213  	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
 35214  	//   "httpMethod": "PATCH",
 35215  	//   "id": "dfareporting.floodlightActivityGroups.patch",
 35216  	//   "parameterOrder": [
 35217  	//     "profileId",
 35218  	//     "id"
 35219  	//   ],
 35220  	//   "parameters": {
 35221  	//     "id": {
 35222  	//       "description": "FloodlightActivityGroup ID.",
 35223  	//       "format": "int64",
 35224  	//       "location": "query",
 35225  	//       "required": true,
 35226  	//       "type": "string"
 35227  	//     },
 35228  	//     "profileId": {
 35229  	//       "description": "User profile ID associated with this request.",
 35230  	//       "format": "int64",
 35231  	//       "location": "path",
 35232  	//       "required": true,
 35233  	//       "type": "string"
 35234  	//     }
 35235  	//   },
 35236  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 35237  	//   "request": {
 35238  	//     "$ref": "FloodlightActivityGroup"
 35239  	//   },
 35240  	//   "response": {
 35241  	//     "$ref": "FloodlightActivityGroup"
 35242  	//   },
 35243  	//   "scopes": [
 35244  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35245  	//   ]
 35246  	// }
 35247  
 35248  }
 35249  
 35250  // method id "dfareporting.floodlightActivityGroups.update":
 35251  
 35252  type FloodlightActivityGroupsUpdateCall struct {
 35253  	s                       *Service
 35254  	profileId               int64
 35255  	floodlightactivitygroup *FloodlightActivityGroup
 35256  	urlParams_              gensupport.URLParams
 35257  	ctx_                    context.Context
 35258  	header_                 http.Header
 35259  }
 35260  
 35261  // Update: Updates an existing floodlight activity group.
 35262  //
 35263  // - profileId: User profile ID associated with this request.
 35264  func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
 35265  	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35266  	c.profileId = profileId
 35267  	c.floodlightactivitygroup = floodlightactivitygroup
 35268  	return c
 35269  }
 35270  
 35271  // Fields allows partial responses to be retrieved. See
 35272  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35273  // for more information.
 35274  func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
 35275  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35276  	return c
 35277  }
 35278  
 35279  // Context sets the context to be used in this call's Do method. Any
 35280  // pending HTTP request will be aborted if the provided context is
 35281  // canceled.
 35282  func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
 35283  	c.ctx_ = ctx
 35284  	return c
 35285  }
 35286  
 35287  // Header returns an http.Header that can be modified by the caller to
 35288  // add HTTP headers to the request.
 35289  func (c *FloodlightActivityGroupsUpdateCall) Header() http.Header {
 35290  	if c.header_ == nil {
 35291  		c.header_ = make(http.Header)
 35292  	}
 35293  	return c.header_
 35294  }
 35295  
 35296  func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 35297  	reqHeaders := make(http.Header)
 35298  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 35299  	for k, v := range c.header_ {
 35300  		reqHeaders[k] = v
 35301  	}
 35302  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35303  	var body io.Reader = nil
 35304  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 35305  	if err != nil {
 35306  		return nil, err
 35307  	}
 35308  	reqHeaders.Set("Content-Type", "application/json")
 35309  	c.urlParams_.Set("alt", alt)
 35310  	c.urlParams_.Set("prettyPrint", "false")
 35311  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 35312  	urls += "?" + c.urlParams_.Encode()
 35313  	req, err := http.NewRequest("PUT", urls, body)
 35314  	if err != nil {
 35315  		return nil, err
 35316  	}
 35317  	req.Header = reqHeaders
 35318  	googleapi.Expand(req.URL, map[string]string{
 35319  		"profileId": strconv.FormatInt(c.profileId, 10),
 35320  	})
 35321  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35322  }
 35323  
 35324  // Do executes the "dfareporting.floodlightActivityGroups.update" call.
 35325  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 35326  // non-2xx status code is an error. Response headers are in either
 35327  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 35328  // returned at all) in error.(*googleapi.Error).Header. Use
 35329  // googleapi.IsNotModified to check whether the returned error was
 35330  // because http.StatusNotModified was returned.
 35331  func (c *FloodlightActivityGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 35332  	gensupport.SetOptions(c.urlParams_, opts...)
 35333  	res, err := c.doRequest("json")
 35334  	if res != nil && res.StatusCode == http.StatusNotModified {
 35335  		if res.Body != nil {
 35336  			res.Body.Close()
 35337  		}
 35338  		return nil, &googleapi.Error{
 35339  			Code:   res.StatusCode,
 35340  			Header: res.Header,
 35341  		}
 35342  	}
 35343  	if err != nil {
 35344  		return nil, err
 35345  	}
 35346  	defer googleapi.CloseBody(res)
 35347  	if err := googleapi.CheckResponse(res); err != nil {
 35348  		return nil, err
 35349  	}
 35350  	ret := &FloodlightActivityGroup{
 35351  		ServerResponse: googleapi.ServerResponse{
 35352  			Header:         res.Header,
 35353  			HTTPStatusCode: res.StatusCode,
 35354  		},
 35355  	}
 35356  	target := &ret
 35357  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35358  		return nil, err
 35359  	}
 35360  	return ret, nil
 35361  	// {
 35362  	//   "description": "Updates an existing floodlight activity group.",
 35363  	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
 35364  	//   "httpMethod": "PUT",
 35365  	//   "id": "dfareporting.floodlightActivityGroups.update",
 35366  	//   "parameterOrder": [
 35367  	//     "profileId"
 35368  	//   ],
 35369  	//   "parameters": {
 35370  	//     "profileId": {
 35371  	//       "description": "User profile ID associated with this request.",
 35372  	//       "format": "int64",
 35373  	//       "location": "path",
 35374  	//       "required": true,
 35375  	//       "type": "string"
 35376  	//     }
 35377  	//   },
 35378  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 35379  	//   "request": {
 35380  	//     "$ref": "FloodlightActivityGroup"
 35381  	//   },
 35382  	//   "response": {
 35383  	//     "$ref": "FloodlightActivityGroup"
 35384  	//   },
 35385  	//   "scopes": [
 35386  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35387  	//   ]
 35388  	// }
 35389  
 35390  }
 35391  
 35392  // method id "dfareporting.floodlightConfigurations.get":
 35393  
 35394  type FloodlightConfigurationsGetCall struct {
 35395  	s            *Service
 35396  	profileId    int64
 35397  	id           int64
 35398  	urlParams_   gensupport.URLParams
 35399  	ifNoneMatch_ string
 35400  	ctx_         context.Context
 35401  	header_      http.Header
 35402  }
 35403  
 35404  // Get: Gets one floodlight configuration by ID.
 35405  //
 35406  // - id: Floodlight configuration ID.
 35407  // - profileId: User profile ID associated with this request.
 35408  func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
 35409  	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35410  	c.profileId = profileId
 35411  	c.id = id
 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 *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
 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 *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
 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 *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
 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 *FloodlightConfigurationsGetCall) Header() http.Header {
 35444  	if c.header_ == nil {
 35445  		c.header_ = make(http.Header)
 35446  	}
 35447  	return c.header_
 35448  }
 35449  
 35450  func (c *FloodlightConfigurationsGetCall) 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}/floodlightConfigurations/{id}")
 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  		"id":        strconv.FormatInt(c.id, 10),
 35473  	})
 35474  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35475  }
 35476  
 35477  // Do executes the "dfareporting.floodlightConfigurations.get" call.
 35478  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 35479  // non-2xx status code is an error. Response headers are in either
 35480  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 35481  // returned at all) in error.(*googleapi.Error).Header. Use
 35482  // googleapi.IsNotModified to check whether the returned error was
 35483  // because http.StatusNotModified was returned.
 35484  func (c *FloodlightConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 35485  	gensupport.SetOptions(c.urlParams_, opts...)
 35486  	res, err := c.doRequest("json")
 35487  	if res != nil && res.StatusCode == http.StatusNotModified {
 35488  		if res.Body != nil {
 35489  			res.Body.Close()
 35490  		}
 35491  		return nil, &googleapi.Error{
 35492  			Code:   res.StatusCode,
 35493  			Header: res.Header,
 35494  		}
 35495  	}
 35496  	if err != nil {
 35497  		return nil, err
 35498  	}
 35499  	defer googleapi.CloseBody(res)
 35500  	if err := googleapi.CheckResponse(res); err != nil {
 35501  		return nil, err
 35502  	}
 35503  	ret := &FloodlightConfiguration{
 35504  		ServerResponse: googleapi.ServerResponse{
 35505  			Header:         res.Header,
 35506  			HTTPStatusCode: res.StatusCode,
 35507  		},
 35508  	}
 35509  	target := &ret
 35510  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35511  		return nil, err
 35512  	}
 35513  	return ret, nil
 35514  	// {
 35515  	//   "description": "Gets one floodlight configuration by ID.",
 35516  	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations/{id}",
 35517  	//   "httpMethod": "GET",
 35518  	//   "id": "dfareporting.floodlightConfigurations.get",
 35519  	//   "parameterOrder": [
 35520  	//     "profileId",
 35521  	//     "id"
 35522  	//   ],
 35523  	//   "parameters": {
 35524  	//     "id": {
 35525  	//       "description": "Floodlight configuration ID.",
 35526  	//       "format": "int64",
 35527  	//       "location": "path",
 35528  	//       "required": true,
 35529  	//       "type": "string"
 35530  	//     },
 35531  	//     "profileId": {
 35532  	//       "description": "User profile ID associated with this request.",
 35533  	//       "format": "int64",
 35534  	//       "location": "path",
 35535  	//       "required": true,
 35536  	//       "type": "string"
 35537  	//     }
 35538  	//   },
 35539  	//   "path": "userprofiles/{profileId}/floodlightConfigurations/{id}",
 35540  	//   "response": {
 35541  	//     "$ref": "FloodlightConfiguration"
 35542  	//   },
 35543  	//   "scopes": [
 35544  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35545  	//   ]
 35546  	// }
 35547  
 35548  }
 35549  
 35550  // method id "dfareporting.floodlightConfigurations.list":
 35551  
 35552  type FloodlightConfigurationsListCall struct {
 35553  	s            *Service
 35554  	profileId    int64
 35555  	urlParams_   gensupport.URLParams
 35556  	ifNoneMatch_ string
 35557  	ctx_         context.Context
 35558  	header_      http.Header
 35559  }
 35560  
 35561  // List: Retrieves a list of floodlight configurations, possibly
 35562  // filtered.
 35563  //
 35564  // - profileId: User profile ID associated with this request.
 35565  func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
 35566  	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35567  	c.profileId = profileId
 35568  	return c
 35569  }
 35570  
 35571  // Ids sets the optional parameter "ids": Set of IDs of floodlight
 35572  // configurations to retrieve. Required field; otherwise an empty list
 35573  // will be returned.
 35574  func (c *FloodlightConfigurationsListCall) Ids(ids ...int64) *FloodlightConfigurationsListCall {
 35575  	var ids_ []string
 35576  	for _, v := range ids {
 35577  		ids_ = append(ids_, fmt.Sprint(v))
 35578  	}
 35579  	c.urlParams_.SetMulti("ids", ids_)
 35580  	return c
 35581  }
 35582  
 35583  // Fields allows partial responses to be retrieved. See
 35584  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35585  // for more information.
 35586  func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
 35587  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35588  	return c
 35589  }
 35590  
 35591  // IfNoneMatch sets the optional parameter which makes the operation
 35592  // fail if the object's ETag matches the given value. This is useful for
 35593  // getting updates only after the object has changed since the last
 35594  // request. Use googleapi.IsNotModified to check whether the response
 35595  // error from Do is the result of In-None-Match.
 35596  func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
 35597  	c.ifNoneMatch_ = entityTag
 35598  	return c
 35599  }
 35600  
 35601  // Context sets the context to be used in this call's Do method. Any
 35602  // pending HTTP request will be aborted if the provided context is
 35603  // canceled.
 35604  func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
 35605  	c.ctx_ = ctx
 35606  	return c
 35607  }
 35608  
 35609  // Header returns an http.Header that can be modified by the caller to
 35610  // add HTTP headers to the request.
 35611  func (c *FloodlightConfigurationsListCall) Header() http.Header {
 35612  	if c.header_ == nil {
 35613  		c.header_ = make(http.Header)
 35614  	}
 35615  	return c.header_
 35616  }
 35617  
 35618  func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 35619  	reqHeaders := make(http.Header)
 35620  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 35621  	for k, v := range c.header_ {
 35622  		reqHeaders[k] = v
 35623  	}
 35624  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35625  	if c.ifNoneMatch_ != "" {
 35626  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35627  	}
 35628  	var body io.Reader = nil
 35629  	c.urlParams_.Set("alt", alt)
 35630  	c.urlParams_.Set("prettyPrint", "false")
 35631  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 35632  	urls += "?" + c.urlParams_.Encode()
 35633  	req, err := http.NewRequest("GET", urls, body)
 35634  	if err != nil {
 35635  		return nil, err
 35636  	}
 35637  	req.Header = reqHeaders
 35638  	googleapi.Expand(req.URL, map[string]string{
 35639  		"profileId": strconv.FormatInt(c.profileId, 10),
 35640  	})
 35641  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35642  }
 35643  
 35644  // Do executes the "dfareporting.floodlightConfigurations.list" call.
 35645  // Exactly one of *FloodlightConfigurationsListResponse or error will be
 35646  // non-nil. Any non-2xx status code is an error. Response headers are in
 35647  // either *FloodlightConfigurationsListResponse.ServerResponse.Header or
 35648  // (if a response was returned at all) in
 35649  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 35650  // whether the returned error was because http.StatusNotModified was
 35651  // returned.
 35652  func (c *FloodlightConfigurationsListCall) Do(opts ...googleapi.CallOption) (*FloodlightConfigurationsListResponse, error) {
 35653  	gensupport.SetOptions(c.urlParams_, opts...)
 35654  	res, err := c.doRequest("json")
 35655  	if res != nil && res.StatusCode == http.StatusNotModified {
 35656  		if res.Body != nil {
 35657  			res.Body.Close()
 35658  		}
 35659  		return nil, &googleapi.Error{
 35660  			Code:   res.StatusCode,
 35661  			Header: res.Header,
 35662  		}
 35663  	}
 35664  	if err != nil {
 35665  		return nil, err
 35666  	}
 35667  	defer googleapi.CloseBody(res)
 35668  	if err := googleapi.CheckResponse(res); err != nil {
 35669  		return nil, err
 35670  	}
 35671  	ret := &FloodlightConfigurationsListResponse{
 35672  		ServerResponse: googleapi.ServerResponse{
 35673  			Header:         res.Header,
 35674  			HTTPStatusCode: res.StatusCode,
 35675  		},
 35676  	}
 35677  	target := &ret
 35678  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35679  		return nil, err
 35680  	}
 35681  	return ret, nil
 35682  	// {
 35683  	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
 35684  	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
 35685  	//   "httpMethod": "GET",
 35686  	//   "id": "dfareporting.floodlightConfigurations.list",
 35687  	//   "parameterOrder": [
 35688  	//     "profileId"
 35689  	//   ],
 35690  	//   "parameters": {
 35691  	//     "ids": {
 35692  	//       "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
 35693  	//       "format": "int64",
 35694  	//       "location": "query",
 35695  	//       "repeated": true,
 35696  	//       "type": "string"
 35697  	//     },
 35698  	//     "profileId": {
 35699  	//       "description": "User profile ID associated with this request.",
 35700  	//       "format": "int64",
 35701  	//       "location": "path",
 35702  	//       "required": true,
 35703  	//       "type": "string"
 35704  	//     }
 35705  	//   },
 35706  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 35707  	//   "response": {
 35708  	//     "$ref": "FloodlightConfigurationsListResponse"
 35709  	//   },
 35710  	//   "scopes": [
 35711  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35712  	//   ]
 35713  	// }
 35714  
 35715  }
 35716  
 35717  // method id "dfareporting.floodlightConfigurations.patch":
 35718  
 35719  type FloodlightConfigurationsPatchCall struct {
 35720  	s                       *Service
 35721  	profileId               int64
 35722  	floodlightconfiguration *FloodlightConfiguration
 35723  	urlParams_              gensupport.URLParams
 35724  	ctx_                    context.Context
 35725  	header_                 http.Header
 35726  }
 35727  
 35728  // Patch: Updates an existing floodlight configuration. This method
 35729  // supports patch semantics.
 35730  //
 35731  // - id: FloodlightConfiguration ID.
 35732  // - profileId: User profile ID associated with this request.
 35733  func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
 35734  	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35735  	c.profileId = profileId
 35736  	c.urlParams_.Set("id", fmt.Sprint(id))
 35737  	c.floodlightconfiguration = floodlightconfiguration
 35738  	return c
 35739  }
 35740  
 35741  // Fields allows partial responses to be retrieved. See
 35742  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35743  // for more information.
 35744  func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
 35745  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35746  	return c
 35747  }
 35748  
 35749  // Context sets the context to be used in this call's Do method. Any
 35750  // pending HTTP request will be aborted if the provided context is
 35751  // canceled.
 35752  func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
 35753  	c.ctx_ = ctx
 35754  	return c
 35755  }
 35756  
 35757  // Header returns an http.Header that can be modified by the caller to
 35758  // add HTTP headers to the request.
 35759  func (c *FloodlightConfigurationsPatchCall) Header() http.Header {
 35760  	if c.header_ == nil {
 35761  		c.header_ = make(http.Header)
 35762  	}
 35763  	return c.header_
 35764  }
 35765  
 35766  func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
 35767  	reqHeaders := make(http.Header)
 35768  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 35769  	for k, v := range c.header_ {
 35770  		reqHeaders[k] = v
 35771  	}
 35772  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35773  	var body io.Reader = nil
 35774  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
 35775  	if err != nil {
 35776  		return nil, err
 35777  	}
 35778  	reqHeaders.Set("Content-Type", "application/json")
 35779  	c.urlParams_.Set("alt", alt)
 35780  	c.urlParams_.Set("prettyPrint", "false")
 35781  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 35782  	urls += "?" + c.urlParams_.Encode()
 35783  	req, err := http.NewRequest("PATCH", urls, body)
 35784  	if err != nil {
 35785  		return nil, err
 35786  	}
 35787  	req.Header = reqHeaders
 35788  	googleapi.Expand(req.URL, map[string]string{
 35789  		"profileId": strconv.FormatInt(c.profileId, 10),
 35790  	})
 35791  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35792  }
 35793  
 35794  // Do executes the "dfareporting.floodlightConfigurations.patch" call.
 35795  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 35796  // non-2xx status code is an error. Response headers are in either
 35797  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 35798  // returned at all) in error.(*googleapi.Error).Header. Use
 35799  // googleapi.IsNotModified to check whether the returned error was
 35800  // because http.StatusNotModified was returned.
 35801  func (c *FloodlightConfigurationsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 35802  	gensupport.SetOptions(c.urlParams_, opts...)
 35803  	res, err := c.doRequest("json")
 35804  	if res != nil && res.StatusCode == http.StatusNotModified {
 35805  		if res.Body != nil {
 35806  			res.Body.Close()
 35807  		}
 35808  		return nil, &googleapi.Error{
 35809  			Code:   res.StatusCode,
 35810  			Header: res.Header,
 35811  		}
 35812  	}
 35813  	if err != nil {
 35814  		return nil, err
 35815  	}
 35816  	defer googleapi.CloseBody(res)
 35817  	if err := googleapi.CheckResponse(res); err != nil {
 35818  		return nil, err
 35819  	}
 35820  	ret := &FloodlightConfiguration{
 35821  		ServerResponse: googleapi.ServerResponse{
 35822  			Header:         res.Header,
 35823  			HTTPStatusCode: res.StatusCode,
 35824  		},
 35825  	}
 35826  	target := &ret
 35827  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35828  		return nil, err
 35829  	}
 35830  	return ret, nil
 35831  	// {
 35832  	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
 35833  	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
 35834  	//   "httpMethod": "PATCH",
 35835  	//   "id": "dfareporting.floodlightConfigurations.patch",
 35836  	//   "parameterOrder": [
 35837  	//     "profileId",
 35838  	//     "id"
 35839  	//   ],
 35840  	//   "parameters": {
 35841  	//     "id": {
 35842  	//       "description": "FloodlightConfiguration ID.",
 35843  	//       "format": "int64",
 35844  	//       "location": "query",
 35845  	//       "required": true,
 35846  	//       "type": "string"
 35847  	//     },
 35848  	//     "profileId": {
 35849  	//       "description": "User profile ID associated with this request.",
 35850  	//       "format": "int64",
 35851  	//       "location": "path",
 35852  	//       "required": true,
 35853  	//       "type": "string"
 35854  	//     }
 35855  	//   },
 35856  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 35857  	//   "request": {
 35858  	//     "$ref": "FloodlightConfiguration"
 35859  	//   },
 35860  	//   "response": {
 35861  	//     "$ref": "FloodlightConfiguration"
 35862  	//   },
 35863  	//   "scopes": [
 35864  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35865  	//   ]
 35866  	// }
 35867  
 35868  }
 35869  
 35870  // method id "dfareporting.floodlightConfigurations.update":
 35871  
 35872  type FloodlightConfigurationsUpdateCall struct {
 35873  	s                       *Service
 35874  	profileId               int64
 35875  	floodlightconfiguration *FloodlightConfiguration
 35876  	urlParams_              gensupport.URLParams
 35877  	ctx_                    context.Context
 35878  	header_                 http.Header
 35879  }
 35880  
 35881  // Update: Updates an existing floodlight configuration.
 35882  //
 35883  // - profileId: User profile ID associated with this request.
 35884  func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
 35885  	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35886  	c.profileId = profileId
 35887  	c.floodlightconfiguration = floodlightconfiguration
 35888  	return c
 35889  }
 35890  
 35891  // Fields allows partial responses to be retrieved. See
 35892  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35893  // for more information.
 35894  func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
 35895  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35896  	return c
 35897  }
 35898  
 35899  // Context sets the context to be used in this call's Do method. Any
 35900  // pending HTTP request will be aborted if the provided context is
 35901  // canceled.
 35902  func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
 35903  	c.ctx_ = ctx
 35904  	return c
 35905  }
 35906  
 35907  // Header returns an http.Header that can be modified by the caller to
 35908  // add HTTP headers to the request.
 35909  func (c *FloodlightConfigurationsUpdateCall) Header() http.Header {
 35910  	if c.header_ == nil {
 35911  		c.header_ = make(http.Header)
 35912  	}
 35913  	return c.header_
 35914  }
 35915  
 35916  func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 35917  	reqHeaders := make(http.Header)
 35918  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 35919  	for k, v := range c.header_ {
 35920  		reqHeaders[k] = v
 35921  	}
 35922  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35923  	var body io.Reader = nil
 35924  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
 35925  	if err != nil {
 35926  		return nil, err
 35927  	}
 35928  	reqHeaders.Set("Content-Type", "application/json")
 35929  	c.urlParams_.Set("alt", alt)
 35930  	c.urlParams_.Set("prettyPrint", "false")
 35931  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 35932  	urls += "?" + c.urlParams_.Encode()
 35933  	req, err := http.NewRequest("PUT", urls, body)
 35934  	if err != nil {
 35935  		return nil, err
 35936  	}
 35937  	req.Header = reqHeaders
 35938  	googleapi.Expand(req.URL, map[string]string{
 35939  		"profileId": strconv.FormatInt(c.profileId, 10),
 35940  	})
 35941  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35942  }
 35943  
 35944  // Do executes the "dfareporting.floodlightConfigurations.update" call.
 35945  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 35946  // non-2xx status code is an error. Response headers are in either
 35947  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 35948  // returned at all) in error.(*googleapi.Error).Header. Use
 35949  // googleapi.IsNotModified to check whether the returned error was
 35950  // because http.StatusNotModified was returned.
 35951  func (c *FloodlightConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 35952  	gensupport.SetOptions(c.urlParams_, opts...)
 35953  	res, err := c.doRequest("json")
 35954  	if res != nil && res.StatusCode == http.StatusNotModified {
 35955  		if res.Body != nil {
 35956  			res.Body.Close()
 35957  		}
 35958  		return nil, &googleapi.Error{
 35959  			Code:   res.StatusCode,
 35960  			Header: res.Header,
 35961  		}
 35962  	}
 35963  	if err != nil {
 35964  		return nil, err
 35965  	}
 35966  	defer googleapi.CloseBody(res)
 35967  	if err := googleapi.CheckResponse(res); err != nil {
 35968  		return nil, err
 35969  	}
 35970  	ret := &FloodlightConfiguration{
 35971  		ServerResponse: googleapi.ServerResponse{
 35972  			Header:         res.Header,
 35973  			HTTPStatusCode: res.StatusCode,
 35974  		},
 35975  	}
 35976  	target := &ret
 35977  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35978  		return nil, err
 35979  	}
 35980  	return ret, nil
 35981  	// {
 35982  	//   "description": "Updates an existing floodlight configuration.",
 35983  	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
 35984  	//   "httpMethod": "PUT",
 35985  	//   "id": "dfareporting.floodlightConfigurations.update",
 35986  	//   "parameterOrder": [
 35987  	//     "profileId"
 35988  	//   ],
 35989  	//   "parameters": {
 35990  	//     "profileId": {
 35991  	//       "description": "User profile ID associated with this request.",
 35992  	//       "format": "int64",
 35993  	//       "location": "path",
 35994  	//       "required": true,
 35995  	//       "type": "string"
 35996  	//     }
 35997  	//   },
 35998  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 35999  	//   "request": {
 36000  	//     "$ref": "FloodlightConfiguration"
 36001  	//   },
 36002  	//   "response": {
 36003  	//     "$ref": "FloodlightConfiguration"
 36004  	//   },
 36005  	//   "scopes": [
 36006  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36007  	//   ]
 36008  	// }
 36009  
 36010  }
 36011  
 36012  // method id "dfareporting.inventoryItems.get":
 36013  
 36014  type InventoryItemsGetCall struct {
 36015  	s            *Service
 36016  	profileId    int64
 36017  	projectId    int64
 36018  	id           int64
 36019  	urlParams_   gensupport.URLParams
 36020  	ifNoneMatch_ string
 36021  	ctx_         context.Context
 36022  	header_      http.Header
 36023  }
 36024  
 36025  // Get: Gets one inventory item by ID.
 36026  //
 36027  // - id: Inventory item ID.
 36028  // - profileId: User profile ID associated with this request.
 36029  // - projectId: Project ID for order documents.
 36030  func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
 36031  	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36032  	c.profileId = profileId
 36033  	c.projectId = projectId
 36034  	c.id = id
 36035  	return c
 36036  }
 36037  
 36038  // Fields allows partial responses to be retrieved. See
 36039  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36040  // for more information.
 36041  func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
 36042  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36043  	return c
 36044  }
 36045  
 36046  // IfNoneMatch sets the optional parameter which makes the operation
 36047  // fail if the object's ETag matches the given value. This is useful for
 36048  // getting updates only after the object has changed since the last
 36049  // request. Use googleapi.IsNotModified to check whether the response
 36050  // error from Do is the result of In-None-Match.
 36051  func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
 36052  	c.ifNoneMatch_ = entityTag
 36053  	return c
 36054  }
 36055  
 36056  // Context sets the context to be used in this call's Do method. Any
 36057  // pending HTTP request will be aborted if the provided context is
 36058  // canceled.
 36059  func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
 36060  	c.ctx_ = ctx
 36061  	return c
 36062  }
 36063  
 36064  // Header returns an http.Header that can be modified by the caller to
 36065  // add HTTP headers to the request.
 36066  func (c *InventoryItemsGetCall) Header() http.Header {
 36067  	if c.header_ == nil {
 36068  		c.header_ = make(http.Header)
 36069  	}
 36070  	return c.header_
 36071  }
 36072  
 36073  func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
 36074  	reqHeaders := make(http.Header)
 36075  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 36076  	for k, v := range c.header_ {
 36077  		reqHeaders[k] = v
 36078  	}
 36079  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36080  	if c.ifNoneMatch_ != "" {
 36081  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36082  	}
 36083  	var body io.Reader = nil
 36084  	c.urlParams_.Set("alt", alt)
 36085  	c.urlParams_.Set("prettyPrint", "false")
 36086  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
 36087  	urls += "?" + c.urlParams_.Encode()
 36088  	req, err := http.NewRequest("GET", urls, body)
 36089  	if err != nil {
 36090  		return nil, err
 36091  	}
 36092  	req.Header = reqHeaders
 36093  	googleapi.Expand(req.URL, map[string]string{
 36094  		"profileId": strconv.FormatInt(c.profileId, 10),
 36095  		"projectId": strconv.FormatInt(c.projectId, 10),
 36096  		"id":        strconv.FormatInt(c.id, 10),
 36097  	})
 36098  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36099  }
 36100  
 36101  // Do executes the "dfareporting.inventoryItems.get" call.
 36102  // Exactly one of *InventoryItem or error will be non-nil. Any non-2xx
 36103  // status code is an error. Response headers are in either
 36104  // *InventoryItem.ServerResponse.Header or (if a response was returned
 36105  // at all) in error.(*googleapi.Error).Header. Use
 36106  // googleapi.IsNotModified to check whether the returned error was
 36107  // because http.StatusNotModified was returned.
 36108  func (c *InventoryItemsGetCall) Do(opts ...googleapi.CallOption) (*InventoryItem, error) {
 36109  	gensupport.SetOptions(c.urlParams_, opts...)
 36110  	res, err := c.doRequest("json")
 36111  	if res != nil && res.StatusCode == http.StatusNotModified {
 36112  		if res.Body != nil {
 36113  			res.Body.Close()
 36114  		}
 36115  		return nil, &googleapi.Error{
 36116  			Code:   res.StatusCode,
 36117  			Header: res.Header,
 36118  		}
 36119  	}
 36120  	if err != nil {
 36121  		return nil, err
 36122  	}
 36123  	defer googleapi.CloseBody(res)
 36124  	if err := googleapi.CheckResponse(res); err != nil {
 36125  		return nil, err
 36126  	}
 36127  	ret := &InventoryItem{
 36128  		ServerResponse: googleapi.ServerResponse{
 36129  			Header:         res.Header,
 36130  			HTTPStatusCode: res.StatusCode,
 36131  		},
 36132  	}
 36133  	target := &ret
 36134  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36135  		return nil, err
 36136  	}
 36137  	return ret, nil
 36138  	// {
 36139  	//   "description": "Gets one inventory item by ID.",
 36140  	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
 36141  	//   "httpMethod": "GET",
 36142  	//   "id": "dfareporting.inventoryItems.get",
 36143  	//   "parameterOrder": [
 36144  	//     "profileId",
 36145  	//     "projectId",
 36146  	//     "id"
 36147  	//   ],
 36148  	//   "parameters": {
 36149  	//     "id": {
 36150  	//       "description": "Inventory item ID.",
 36151  	//       "format": "int64",
 36152  	//       "location": "path",
 36153  	//       "required": true,
 36154  	//       "type": "string"
 36155  	//     },
 36156  	//     "profileId": {
 36157  	//       "description": "User profile ID associated with this request.",
 36158  	//       "format": "int64",
 36159  	//       "location": "path",
 36160  	//       "required": true,
 36161  	//       "type": "string"
 36162  	//     },
 36163  	//     "projectId": {
 36164  	//       "description": "Project ID for order documents.",
 36165  	//       "format": "int64",
 36166  	//       "location": "path",
 36167  	//       "required": true,
 36168  	//       "type": "string"
 36169  	//     }
 36170  	//   },
 36171  	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
 36172  	//   "response": {
 36173  	//     "$ref": "InventoryItem"
 36174  	//   },
 36175  	//   "scopes": [
 36176  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36177  	//   ]
 36178  	// }
 36179  
 36180  }
 36181  
 36182  // method id "dfareporting.inventoryItems.list":
 36183  
 36184  type InventoryItemsListCall struct {
 36185  	s            *Service
 36186  	profileId    int64
 36187  	projectId    int64
 36188  	urlParams_   gensupport.URLParams
 36189  	ifNoneMatch_ string
 36190  	ctx_         context.Context
 36191  	header_      http.Header
 36192  }
 36193  
 36194  // List: Retrieves a list of inventory items, possibly filtered. This
 36195  // method supports paging.
 36196  //
 36197  // - profileId: User profile ID associated with this request.
 36198  // - projectId: Project ID for order documents.
 36199  func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
 36200  	c := &InventoryItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36201  	c.profileId = profileId
 36202  	c.projectId = projectId
 36203  	return c
 36204  }
 36205  
 36206  // Ids sets the optional parameter "ids": Select only inventory items
 36207  // with these IDs.
 36208  func (c *InventoryItemsListCall) Ids(ids ...int64) *InventoryItemsListCall {
 36209  	var ids_ []string
 36210  	for _, v := range ids {
 36211  		ids_ = append(ids_, fmt.Sprint(v))
 36212  	}
 36213  	c.urlParams_.SetMulti("ids", ids_)
 36214  	return c
 36215  }
 36216  
 36217  // InPlan sets the optional parameter "inPlan": Select only inventory
 36218  // items that are in plan.
 36219  func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
 36220  	c.urlParams_.Set("inPlan", fmt.Sprint(inPlan))
 36221  	return c
 36222  }
 36223  
 36224  // MaxResults sets the optional parameter "maxResults": Maximum number
 36225  // of results to return.
 36226  func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
 36227  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 36228  	return c
 36229  }
 36230  
 36231  // OrderId sets the optional parameter "orderId": Select only inventory
 36232  // items that belong to specified orders.
 36233  func (c *InventoryItemsListCall) OrderId(orderId ...int64) *InventoryItemsListCall {
 36234  	var orderId_ []string
 36235  	for _, v := range orderId {
 36236  		orderId_ = append(orderId_, fmt.Sprint(v))
 36237  	}
 36238  	c.urlParams_.SetMulti("orderId", orderId_)
 36239  	return c
 36240  }
 36241  
 36242  // PageToken sets the optional parameter "pageToken": Value of the
 36243  // nextPageToken from the previous result page.
 36244  func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
 36245  	c.urlParams_.Set("pageToken", pageToken)
 36246  	return c
 36247  }
 36248  
 36249  // SiteId sets the optional parameter "siteId": Select only inventory
 36250  // items that are associated with these sites.
 36251  func (c *InventoryItemsListCall) SiteId(siteId ...int64) *InventoryItemsListCall {
 36252  	var siteId_ []string
 36253  	for _, v := range siteId {
 36254  		siteId_ = append(siteId_, fmt.Sprint(v))
 36255  	}
 36256  	c.urlParams_.SetMulti("siteId", siteId_)
 36257  	return c
 36258  }
 36259  
 36260  // SortField sets the optional parameter "sortField": Field by which to
 36261  // sort the list.
 36262  //
 36263  // Possible values:
 36264  //
 36265  //	"ID" (default)
 36266  //	"NAME"
 36267  func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
 36268  	c.urlParams_.Set("sortField", sortField)
 36269  	return c
 36270  }
 36271  
 36272  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 36273  // results.
 36274  //
 36275  // Possible values:
 36276  //
 36277  //	"ASCENDING" (default)
 36278  //	"DESCENDING"
 36279  func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
 36280  	c.urlParams_.Set("sortOrder", sortOrder)
 36281  	return c
 36282  }
 36283  
 36284  // Type sets the optional parameter "type": Select only inventory items
 36285  // with this type.
 36286  //
 36287  // Possible values:
 36288  //
 36289  //	"PLANNING_PLACEMENT_TYPE_REGULAR"
 36290  //	"PLANNING_PLACEMENT_TYPE_CREDIT"
 36291  func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
 36292  	c.urlParams_.Set("type", type_)
 36293  	return c
 36294  }
 36295  
 36296  // Fields allows partial responses to be retrieved. See
 36297  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36298  // for more information.
 36299  func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
 36300  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36301  	return c
 36302  }
 36303  
 36304  // IfNoneMatch sets the optional parameter which makes the operation
 36305  // fail if the object's ETag matches the given value. This is useful for
 36306  // getting updates only after the object has changed since the last
 36307  // request. Use googleapi.IsNotModified to check whether the response
 36308  // error from Do is the result of In-None-Match.
 36309  func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
 36310  	c.ifNoneMatch_ = entityTag
 36311  	return c
 36312  }
 36313  
 36314  // Context sets the context to be used in this call's Do method. Any
 36315  // pending HTTP request will be aborted if the provided context is
 36316  // canceled.
 36317  func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
 36318  	c.ctx_ = ctx
 36319  	return c
 36320  }
 36321  
 36322  // Header returns an http.Header that can be modified by the caller to
 36323  // add HTTP headers to the request.
 36324  func (c *InventoryItemsListCall) Header() http.Header {
 36325  	if c.header_ == nil {
 36326  		c.header_ = make(http.Header)
 36327  	}
 36328  	return c.header_
 36329  }
 36330  
 36331  func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
 36332  	reqHeaders := make(http.Header)
 36333  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 36334  	for k, v := range c.header_ {
 36335  		reqHeaders[k] = v
 36336  	}
 36337  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36338  	if c.ifNoneMatch_ != "" {
 36339  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36340  	}
 36341  	var body io.Reader = nil
 36342  	c.urlParams_.Set("alt", alt)
 36343  	c.urlParams_.Set("prettyPrint", "false")
 36344  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
 36345  	urls += "?" + c.urlParams_.Encode()
 36346  	req, err := http.NewRequest("GET", urls, body)
 36347  	if err != nil {
 36348  		return nil, err
 36349  	}
 36350  	req.Header = reqHeaders
 36351  	googleapi.Expand(req.URL, map[string]string{
 36352  		"profileId": strconv.FormatInt(c.profileId, 10),
 36353  		"projectId": strconv.FormatInt(c.projectId, 10),
 36354  	})
 36355  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36356  }
 36357  
 36358  // Do executes the "dfareporting.inventoryItems.list" call.
 36359  // Exactly one of *InventoryItemsListResponse or error will be non-nil.
 36360  // Any non-2xx status code is an error. Response headers are in either
 36361  // *InventoryItemsListResponse.ServerResponse.Header or (if a response
 36362  // was returned at all) in error.(*googleapi.Error).Header. Use
 36363  // googleapi.IsNotModified to check whether the returned error was
 36364  // because http.StatusNotModified was returned.
 36365  func (c *InventoryItemsListCall) Do(opts ...googleapi.CallOption) (*InventoryItemsListResponse, error) {
 36366  	gensupport.SetOptions(c.urlParams_, opts...)
 36367  	res, err := c.doRequest("json")
 36368  	if res != nil && res.StatusCode == http.StatusNotModified {
 36369  		if res.Body != nil {
 36370  			res.Body.Close()
 36371  		}
 36372  		return nil, &googleapi.Error{
 36373  			Code:   res.StatusCode,
 36374  			Header: res.Header,
 36375  		}
 36376  	}
 36377  	if err != nil {
 36378  		return nil, err
 36379  	}
 36380  	defer googleapi.CloseBody(res)
 36381  	if err := googleapi.CheckResponse(res); err != nil {
 36382  		return nil, err
 36383  	}
 36384  	ret := &InventoryItemsListResponse{
 36385  		ServerResponse: googleapi.ServerResponse{
 36386  			Header:         res.Header,
 36387  			HTTPStatusCode: res.StatusCode,
 36388  		},
 36389  	}
 36390  	target := &ret
 36391  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36392  		return nil, err
 36393  	}
 36394  	return ret, nil
 36395  	// {
 36396  	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
 36397  	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
 36398  	//   "httpMethod": "GET",
 36399  	//   "id": "dfareporting.inventoryItems.list",
 36400  	//   "parameterOrder": [
 36401  	//     "profileId",
 36402  	//     "projectId"
 36403  	//   ],
 36404  	//   "parameters": {
 36405  	//     "ids": {
 36406  	//       "description": "Select only inventory items with these IDs.",
 36407  	//       "format": "int64",
 36408  	//       "location": "query",
 36409  	//       "repeated": true,
 36410  	//       "type": "string"
 36411  	//     },
 36412  	//     "inPlan": {
 36413  	//       "description": "Select only inventory items that are in plan.",
 36414  	//       "location": "query",
 36415  	//       "type": "boolean"
 36416  	//     },
 36417  	//     "maxResults": {
 36418  	//       "default": "1000",
 36419  	//       "description": "Maximum number of results to return.",
 36420  	//       "format": "int32",
 36421  	//       "location": "query",
 36422  	//       "maximum": "1000",
 36423  	//       "minimum": "0",
 36424  	//       "type": "integer"
 36425  	//     },
 36426  	//     "orderId": {
 36427  	//       "description": "Select only inventory items that belong to specified orders.",
 36428  	//       "format": "int64",
 36429  	//       "location": "query",
 36430  	//       "repeated": true,
 36431  	//       "type": "string"
 36432  	//     },
 36433  	//     "pageToken": {
 36434  	//       "description": "Value of the nextPageToken from the previous result page.",
 36435  	//       "location": "query",
 36436  	//       "type": "string"
 36437  	//     },
 36438  	//     "profileId": {
 36439  	//       "description": "User profile ID associated with this request.",
 36440  	//       "format": "int64",
 36441  	//       "location": "path",
 36442  	//       "required": true,
 36443  	//       "type": "string"
 36444  	//     },
 36445  	//     "projectId": {
 36446  	//       "description": "Project ID for order documents.",
 36447  	//       "format": "int64",
 36448  	//       "location": "path",
 36449  	//       "required": true,
 36450  	//       "type": "string"
 36451  	//     },
 36452  	//     "siteId": {
 36453  	//       "description": "Select only inventory items that are associated with these sites.",
 36454  	//       "format": "int64",
 36455  	//       "location": "query",
 36456  	//       "repeated": true,
 36457  	//       "type": "string"
 36458  	//     },
 36459  	//     "sortField": {
 36460  	//       "default": "ID",
 36461  	//       "description": "Field by which to sort the list.",
 36462  	//       "enum": [
 36463  	//         "ID",
 36464  	//         "NAME"
 36465  	//       ],
 36466  	//       "enumDescriptions": [
 36467  	//         "",
 36468  	//         ""
 36469  	//       ],
 36470  	//       "location": "query",
 36471  	//       "type": "string"
 36472  	//     },
 36473  	//     "sortOrder": {
 36474  	//       "default": "ASCENDING",
 36475  	//       "description": "Order of sorted results.",
 36476  	//       "enum": [
 36477  	//         "ASCENDING",
 36478  	//         "DESCENDING"
 36479  	//       ],
 36480  	//       "enumDescriptions": [
 36481  	//         "",
 36482  	//         ""
 36483  	//       ],
 36484  	//       "location": "query",
 36485  	//       "type": "string"
 36486  	//     },
 36487  	//     "type": {
 36488  	//       "description": "Select only inventory items with this type.",
 36489  	//       "enum": [
 36490  	//         "PLANNING_PLACEMENT_TYPE_REGULAR",
 36491  	//         "PLANNING_PLACEMENT_TYPE_CREDIT"
 36492  	//       ],
 36493  	//       "enumDescriptions": [
 36494  	//         "",
 36495  	//         ""
 36496  	//       ],
 36497  	//       "location": "query",
 36498  	//       "type": "string"
 36499  	//     }
 36500  	//   },
 36501  	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
 36502  	//   "response": {
 36503  	//     "$ref": "InventoryItemsListResponse"
 36504  	//   },
 36505  	//   "scopes": [
 36506  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36507  	//   ]
 36508  	// }
 36509  
 36510  }
 36511  
 36512  // Pages invokes f for each page of results.
 36513  // A non-nil error returned from f will halt the iteration.
 36514  // The provided context supersedes any context provided to the Context method.
 36515  func (c *InventoryItemsListCall) Pages(ctx context.Context, f func(*InventoryItemsListResponse) error) error {
 36516  	c.ctx_ = ctx
 36517  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 36518  	for {
 36519  		x, err := c.Do()
 36520  		if err != nil {
 36521  			return err
 36522  		}
 36523  		if err := f(x); err != nil {
 36524  			return err
 36525  		}
 36526  		if x.NextPageToken == "" {
 36527  			return nil
 36528  		}
 36529  		c.PageToken(x.NextPageToken)
 36530  	}
 36531  }
 36532  
 36533  // method id "dfareporting.languages.list":
 36534  
 36535  type LanguagesListCall struct {
 36536  	s            *Service
 36537  	profileId    int64
 36538  	urlParams_   gensupport.URLParams
 36539  	ifNoneMatch_ string
 36540  	ctx_         context.Context
 36541  	header_      http.Header
 36542  }
 36543  
 36544  // List: Retrieves a list of languages.
 36545  //
 36546  // - profileId: User profile ID associated with this request.
 36547  func (r *LanguagesService) List(profileId int64) *LanguagesListCall {
 36548  	c := &LanguagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36549  	c.profileId = profileId
 36550  	return c
 36551  }
 36552  
 36553  // Fields allows partial responses to be retrieved. See
 36554  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36555  // for more information.
 36556  func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
 36557  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36558  	return c
 36559  }
 36560  
 36561  // IfNoneMatch sets the optional parameter which makes the operation
 36562  // fail if the object's ETag matches the given value. This is useful for
 36563  // getting updates only after the object has changed since the last
 36564  // request. Use googleapi.IsNotModified to check whether the response
 36565  // error from Do is the result of In-None-Match.
 36566  func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
 36567  	c.ifNoneMatch_ = entityTag
 36568  	return c
 36569  }
 36570  
 36571  // Context sets the context to be used in this call's Do method. Any
 36572  // pending HTTP request will be aborted if the provided context is
 36573  // canceled.
 36574  func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
 36575  	c.ctx_ = ctx
 36576  	return c
 36577  }
 36578  
 36579  // Header returns an http.Header that can be modified by the caller to
 36580  // add HTTP headers to the request.
 36581  func (c *LanguagesListCall) Header() http.Header {
 36582  	if c.header_ == nil {
 36583  		c.header_ = make(http.Header)
 36584  	}
 36585  	return c.header_
 36586  }
 36587  
 36588  func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
 36589  	reqHeaders := make(http.Header)
 36590  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 36591  	for k, v := range c.header_ {
 36592  		reqHeaders[k] = v
 36593  	}
 36594  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36595  	if c.ifNoneMatch_ != "" {
 36596  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36597  	}
 36598  	var body io.Reader = nil
 36599  	c.urlParams_.Set("alt", alt)
 36600  	c.urlParams_.Set("prettyPrint", "false")
 36601  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/languages")
 36602  	urls += "?" + c.urlParams_.Encode()
 36603  	req, err := http.NewRequest("GET", urls, body)
 36604  	if err != nil {
 36605  		return nil, err
 36606  	}
 36607  	req.Header = reqHeaders
 36608  	googleapi.Expand(req.URL, map[string]string{
 36609  		"profileId": strconv.FormatInt(c.profileId, 10),
 36610  	})
 36611  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36612  }
 36613  
 36614  // Do executes the "dfareporting.languages.list" call.
 36615  // Exactly one of *LanguagesListResponse or error will be non-nil. Any
 36616  // non-2xx status code is an error. Response headers are in either
 36617  // *LanguagesListResponse.ServerResponse.Header or (if a response was
 36618  // returned at all) in error.(*googleapi.Error).Header. Use
 36619  // googleapi.IsNotModified to check whether the returned error was
 36620  // because http.StatusNotModified was returned.
 36621  func (c *LanguagesListCall) Do(opts ...googleapi.CallOption) (*LanguagesListResponse, error) {
 36622  	gensupport.SetOptions(c.urlParams_, opts...)
 36623  	res, err := c.doRequest("json")
 36624  	if res != nil && res.StatusCode == http.StatusNotModified {
 36625  		if res.Body != nil {
 36626  			res.Body.Close()
 36627  		}
 36628  		return nil, &googleapi.Error{
 36629  			Code:   res.StatusCode,
 36630  			Header: res.Header,
 36631  		}
 36632  	}
 36633  	if err != nil {
 36634  		return nil, err
 36635  	}
 36636  	defer googleapi.CloseBody(res)
 36637  	if err := googleapi.CheckResponse(res); err != nil {
 36638  		return nil, err
 36639  	}
 36640  	ret := &LanguagesListResponse{
 36641  		ServerResponse: googleapi.ServerResponse{
 36642  			Header:         res.Header,
 36643  			HTTPStatusCode: res.StatusCode,
 36644  		},
 36645  	}
 36646  	target := &ret
 36647  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36648  		return nil, err
 36649  	}
 36650  	return ret, nil
 36651  	// {
 36652  	//   "description": "Retrieves a list of languages.",
 36653  	//   "flatPath": "userprofiles/{profileId}/languages",
 36654  	//   "httpMethod": "GET",
 36655  	//   "id": "dfareporting.languages.list",
 36656  	//   "parameterOrder": [
 36657  	//     "profileId"
 36658  	//   ],
 36659  	//   "parameters": {
 36660  	//     "profileId": {
 36661  	//       "description": "User profile ID associated with this request.",
 36662  	//       "format": "int64",
 36663  	//       "location": "path",
 36664  	//       "required": true,
 36665  	//       "type": "string"
 36666  	//     }
 36667  	//   },
 36668  	//   "path": "userprofiles/{profileId}/languages",
 36669  	//   "response": {
 36670  	//     "$ref": "LanguagesListResponse"
 36671  	//   },
 36672  	//   "scopes": [
 36673  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36674  	//   ]
 36675  	// }
 36676  
 36677  }
 36678  
 36679  // method id "dfareporting.metros.list":
 36680  
 36681  type MetrosListCall struct {
 36682  	s            *Service
 36683  	profileId    int64
 36684  	urlParams_   gensupport.URLParams
 36685  	ifNoneMatch_ string
 36686  	ctx_         context.Context
 36687  	header_      http.Header
 36688  }
 36689  
 36690  // List: Retrieves a list of metros.
 36691  //
 36692  // - profileId: User profile ID associated with this request.
 36693  func (r *MetrosService) List(profileId int64) *MetrosListCall {
 36694  	c := &MetrosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36695  	c.profileId = profileId
 36696  	return c
 36697  }
 36698  
 36699  // Fields allows partial responses to be retrieved. See
 36700  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36701  // for more information.
 36702  func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
 36703  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36704  	return c
 36705  }
 36706  
 36707  // IfNoneMatch sets the optional parameter which makes the operation
 36708  // fail if the object's ETag matches the given value. This is useful for
 36709  // getting updates only after the object has changed since the last
 36710  // request. Use googleapi.IsNotModified to check whether the response
 36711  // error from Do is the result of In-None-Match.
 36712  func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
 36713  	c.ifNoneMatch_ = entityTag
 36714  	return c
 36715  }
 36716  
 36717  // Context sets the context to be used in this call's Do method. Any
 36718  // pending HTTP request will be aborted if the provided context is
 36719  // canceled.
 36720  func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
 36721  	c.ctx_ = ctx
 36722  	return c
 36723  }
 36724  
 36725  // Header returns an http.Header that can be modified by the caller to
 36726  // add HTTP headers to the request.
 36727  func (c *MetrosListCall) Header() http.Header {
 36728  	if c.header_ == nil {
 36729  		c.header_ = make(http.Header)
 36730  	}
 36731  	return c.header_
 36732  }
 36733  
 36734  func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
 36735  	reqHeaders := make(http.Header)
 36736  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 36737  	for k, v := range c.header_ {
 36738  		reqHeaders[k] = v
 36739  	}
 36740  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36741  	if c.ifNoneMatch_ != "" {
 36742  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36743  	}
 36744  	var body io.Reader = nil
 36745  	c.urlParams_.Set("alt", alt)
 36746  	c.urlParams_.Set("prettyPrint", "false")
 36747  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
 36748  	urls += "?" + c.urlParams_.Encode()
 36749  	req, err := http.NewRequest("GET", urls, body)
 36750  	if err != nil {
 36751  		return nil, err
 36752  	}
 36753  	req.Header = reqHeaders
 36754  	googleapi.Expand(req.URL, map[string]string{
 36755  		"profileId": strconv.FormatInt(c.profileId, 10),
 36756  	})
 36757  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36758  }
 36759  
 36760  // Do executes the "dfareporting.metros.list" call.
 36761  // Exactly one of *MetrosListResponse or error will be non-nil. Any
 36762  // non-2xx status code is an error. Response headers are in either
 36763  // *MetrosListResponse.ServerResponse.Header or (if a response was
 36764  // returned at all) in error.(*googleapi.Error).Header. Use
 36765  // googleapi.IsNotModified to check whether the returned error was
 36766  // because http.StatusNotModified was returned.
 36767  func (c *MetrosListCall) Do(opts ...googleapi.CallOption) (*MetrosListResponse, error) {
 36768  	gensupport.SetOptions(c.urlParams_, opts...)
 36769  	res, err := c.doRequest("json")
 36770  	if res != nil && res.StatusCode == http.StatusNotModified {
 36771  		if res.Body != nil {
 36772  			res.Body.Close()
 36773  		}
 36774  		return nil, &googleapi.Error{
 36775  			Code:   res.StatusCode,
 36776  			Header: res.Header,
 36777  		}
 36778  	}
 36779  	if err != nil {
 36780  		return nil, err
 36781  	}
 36782  	defer googleapi.CloseBody(res)
 36783  	if err := googleapi.CheckResponse(res); err != nil {
 36784  		return nil, err
 36785  	}
 36786  	ret := &MetrosListResponse{
 36787  		ServerResponse: googleapi.ServerResponse{
 36788  			Header:         res.Header,
 36789  			HTTPStatusCode: res.StatusCode,
 36790  		},
 36791  	}
 36792  	target := &ret
 36793  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36794  		return nil, err
 36795  	}
 36796  	return ret, nil
 36797  	// {
 36798  	//   "description": "Retrieves a list of metros.",
 36799  	//   "flatPath": "userprofiles/{profileId}/metros",
 36800  	//   "httpMethod": "GET",
 36801  	//   "id": "dfareporting.metros.list",
 36802  	//   "parameterOrder": [
 36803  	//     "profileId"
 36804  	//   ],
 36805  	//   "parameters": {
 36806  	//     "profileId": {
 36807  	//       "description": "User profile ID associated with this request.",
 36808  	//       "format": "int64",
 36809  	//       "location": "path",
 36810  	//       "required": true,
 36811  	//       "type": "string"
 36812  	//     }
 36813  	//   },
 36814  	//   "path": "userprofiles/{profileId}/metros",
 36815  	//   "response": {
 36816  	//     "$ref": "MetrosListResponse"
 36817  	//   },
 36818  	//   "scopes": [
 36819  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36820  	//   ]
 36821  	// }
 36822  
 36823  }
 36824  
 36825  // method id "dfareporting.mobileApps.get":
 36826  
 36827  type MobileAppsGetCall struct {
 36828  	s            *Service
 36829  	profileId    int64
 36830  	id           string
 36831  	urlParams_   gensupport.URLParams
 36832  	ifNoneMatch_ string
 36833  	ctx_         context.Context
 36834  	header_      http.Header
 36835  }
 36836  
 36837  // Get: Gets one mobile app by ID.
 36838  //
 36839  // - id: Mobile app ID.
 36840  // - profileId: User profile ID associated with this request.
 36841  func (r *MobileAppsService) Get(profileId int64, id string) *MobileAppsGetCall {
 36842  	c := &MobileAppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36843  	c.profileId = profileId
 36844  	c.id = id
 36845  	return c
 36846  }
 36847  
 36848  // Fields allows partial responses to be retrieved. See
 36849  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36850  // for more information.
 36851  func (c *MobileAppsGetCall) Fields(s ...googleapi.Field) *MobileAppsGetCall {
 36852  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36853  	return c
 36854  }
 36855  
 36856  // IfNoneMatch sets the optional parameter which makes the operation
 36857  // fail if the object's ETag matches the given value. This is useful for
 36858  // getting updates only after the object has changed since the last
 36859  // request. Use googleapi.IsNotModified to check whether the response
 36860  // error from Do is the result of In-None-Match.
 36861  func (c *MobileAppsGetCall) IfNoneMatch(entityTag string) *MobileAppsGetCall {
 36862  	c.ifNoneMatch_ = entityTag
 36863  	return c
 36864  }
 36865  
 36866  // Context sets the context to be used in this call's Do method. Any
 36867  // pending HTTP request will be aborted if the provided context is
 36868  // canceled.
 36869  func (c *MobileAppsGetCall) Context(ctx context.Context) *MobileAppsGetCall {
 36870  	c.ctx_ = ctx
 36871  	return c
 36872  }
 36873  
 36874  // Header returns an http.Header that can be modified by the caller to
 36875  // add HTTP headers to the request.
 36876  func (c *MobileAppsGetCall) Header() http.Header {
 36877  	if c.header_ == nil {
 36878  		c.header_ = make(http.Header)
 36879  	}
 36880  	return c.header_
 36881  }
 36882  
 36883  func (c *MobileAppsGetCall) doRequest(alt string) (*http.Response, error) {
 36884  	reqHeaders := make(http.Header)
 36885  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 36886  	for k, v := range c.header_ {
 36887  		reqHeaders[k] = v
 36888  	}
 36889  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36890  	if c.ifNoneMatch_ != "" {
 36891  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36892  	}
 36893  	var body io.Reader = nil
 36894  	c.urlParams_.Set("alt", alt)
 36895  	c.urlParams_.Set("prettyPrint", "false")
 36896  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps/{id}")
 36897  	urls += "?" + c.urlParams_.Encode()
 36898  	req, err := http.NewRequest("GET", urls, body)
 36899  	if err != nil {
 36900  		return nil, err
 36901  	}
 36902  	req.Header = reqHeaders
 36903  	googleapi.Expand(req.URL, map[string]string{
 36904  		"profileId": strconv.FormatInt(c.profileId, 10),
 36905  		"id":        c.id,
 36906  	})
 36907  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36908  }
 36909  
 36910  // Do executes the "dfareporting.mobileApps.get" call.
 36911  // Exactly one of *MobileApp or error will be non-nil. Any non-2xx
 36912  // status code is an error. Response headers are in either
 36913  // *MobileApp.ServerResponse.Header or (if a response was returned at
 36914  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 36915  // to check whether the returned error was because
 36916  // http.StatusNotModified was returned.
 36917  func (c *MobileAppsGetCall) Do(opts ...googleapi.CallOption) (*MobileApp, error) {
 36918  	gensupport.SetOptions(c.urlParams_, opts...)
 36919  	res, err := c.doRequest("json")
 36920  	if res != nil && res.StatusCode == http.StatusNotModified {
 36921  		if res.Body != nil {
 36922  			res.Body.Close()
 36923  		}
 36924  		return nil, &googleapi.Error{
 36925  			Code:   res.StatusCode,
 36926  			Header: res.Header,
 36927  		}
 36928  	}
 36929  	if err != nil {
 36930  		return nil, err
 36931  	}
 36932  	defer googleapi.CloseBody(res)
 36933  	if err := googleapi.CheckResponse(res); err != nil {
 36934  		return nil, err
 36935  	}
 36936  	ret := &MobileApp{
 36937  		ServerResponse: googleapi.ServerResponse{
 36938  			Header:         res.Header,
 36939  			HTTPStatusCode: res.StatusCode,
 36940  		},
 36941  	}
 36942  	target := &ret
 36943  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36944  		return nil, err
 36945  	}
 36946  	return ret, nil
 36947  	// {
 36948  	//   "description": "Gets one mobile app by ID.",
 36949  	//   "flatPath": "userprofiles/{profileId}/mobileApps/{id}",
 36950  	//   "httpMethod": "GET",
 36951  	//   "id": "dfareporting.mobileApps.get",
 36952  	//   "parameterOrder": [
 36953  	//     "profileId",
 36954  	//     "id"
 36955  	//   ],
 36956  	//   "parameters": {
 36957  	//     "id": {
 36958  	//       "description": "Mobile app ID.",
 36959  	//       "location": "path",
 36960  	//       "required": true,
 36961  	//       "type": "string"
 36962  	//     },
 36963  	//     "profileId": {
 36964  	//       "description": "User profile ID associated with this request.",
 36965  	//       "format": "int64",
 36966  	//       "location": "path",
 36967  	//       "required": true,
 36968  	//       "type": "string"
 36969  	//     }
 36970  	//   },
 36971  	//   "path": "userprofiles/{profileId}/mobileApps/{id}",
 36972  	//   "response": {
 36973  	//     "$ref": "MobileApp"
 36974  	//   },
 36975  	//   "scopes": [
 36976  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36977  	//   ]
 36978  	// }
 36979  
 36980  }
 36981  
 36982  // method id "dfareporting.mobileApps.list":
 36983  
 36984  type MobileAppsListCall struct {
 36985  	s            *Service
 36986  	profileId    int64
 36987  	urlParams_   gensupport.URLParams
 36988  	ifNoneMatch_ string
 36989  	ctx_         context.Context
 36990  	header_      http.Header
 36991  }
 36992  
 36993  // List: Retrieves list of available mobile apps.
 36994  //
 36995  // - profileId: User profile ID associated with this request.
 36996  func (r *MobileAppsService) List(profileId int64) *MobileAppsListCall {
 36997  	c := &MobileAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36998  	c.profileId = profileId
 36999  	return c
 37000  }
 37001  
 37002  // Directories sets the optional parameter "directories": Select only
 37003  // apps from these directories.
 37004  //
 37005  // Possible values:
 37006  //
 37007  //	"UNKNOWN"
 37008  //	"APPLE_APP_STORE"
 37009  //	"GOOGLE_PLAY_STORE"
 37010  func (c *MobileAppsListCall) Directories(directories ...string) *MobileAppsListCall {
 37011  	c.urlParams_.SetMulti("directories", append([]string{}, directories...))
 37012  	return c
 37013  }
 37014  
 37015  // Ids sets the optional parameter "ids": Select only apps with these
 37016  // IDs.
 37017  func (c *MobileAppsListCall) Ids(ids ...string) *MobileAppsListCall {
 37018  	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
 37019  	return c
 37020  }
 37021  
 37022  // MaxResults sets the optional parameter "maxResults": Maximum number
 37023  // of results to return.
 37024  func (c *MobileAppsListCall) MaxResults(maxResults int64) *MobileAppsListCall {
 37025  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 37026  	return c
 37027  }
 37028  
 37029  // PageToken sets the optional parameter "pageToken": Value of the
 37030  // nextPageToken from the previous result page.
 37031  func (c *MobileAppsListCall) PageToken(pageToken string) *MobileAppsListCall {
 37032  	c.urlParams_.Set("pageToken", pageToken)
 37033  	return c
 37034  }
 37035  
 37036  // SearchString sets the optional parameter "searchString": Allows
 37037  // searching for objects by name or ID. Wildcards (*) are allowed. For
 37038  // example, "app*2015" will return objects with names like "app Jan
 37039  // 2018", "app Jan 2018", or simply "app 2018". Most of the searches
 37040  // also add wildcards implicitly at the start and the end of the search
 37041  // string. For example, a search string of "app" will match objects with
 37042  // name "my app", "app 2018", or simply "app".
 37043  func (c *MobileAppsListCall) SearchString(searchString string) *MobileAppsListCall {
 37044  	c.urlParams_.Set("searchString", searchString)
 37045  	return c
 37046  }
 37047  
 37048  // Fields allows partial responses to be retrieved. See
 37049  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37050  // for more information.
 37051  func (c *MobileAppsListCall) Fields(s ...googleapi.Field) *MobileAppsListCall {
 37052  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37053  	return c
 37054  }
 37055  
 37056  // IfNoneMatch sets the optional parameter which makes the operation
 37057  // fail if the object's ETag matches the given value. This is useful for
 37058  // getting updates only after the object has changed since the last
 37059  // request. Use googleapi.IsNotModified to check whether the response
 37060  // error from Do is the result of In-None-Match.
 37061  func (c *MobileAppsListCall) IfNoneMatch(entityTag string) *MobileAppsListCall {
 37062  	c.ifNoneMatch_ = entityTag
 37063  	return c
 37064  }
 37065  
 37066  // Context sets the context to be used in this call's Do method. Any
 37067  // pending HTTP request will be aborted if the provided context is
 37068  // canceled.
 37069  func (c *MobileAppsListCall) Context(ctx context.Context) *MobileAppsListCall {
 37070  	c.ctx_ = ctx
 37071  	return c
 37072  }
 37073  
 37074  // Header returns an http.Header that can be modified by the caller to
 37075  // add HTTP headers to the request.
 37076  func (c *MobileAppsListCall) Header() http.Header {
 37077  	if c.header_ == nil {
 37078  		c.header_ = make(http.Header)
 37079  	}
 37080  	return c.header_
 37081  }
 37082  
 37083  func (c *MobileAppsListCall) doRequest(alt string) (*http.Response, error) {
 37084  	reqHeaders := make(http.Header)
 37085  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 37086  	for k, v := range c.header_ {
 37087  		reqHeaders[k] = v
 37088  	}
 37089  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37090  	if c.ifNoneMatch_ != "" {
 37091  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37092  	}
 37093  	var body io.Reader = nil
 37094  	c.urlParams_.Set("alt", alt)
 37095  	c.urlParams_.Set("prettyPrint", "false")
 37096  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps")
 37097  	urls += "?" + c.urlParams_.Encode()
 37098  	req, err := http.NewRequest("GET", urls, body)
 37099  	if err != nil {
 37100  		return nil, err
 37101  	}
 37102  	req.Header = reqHeaders
 37103  	googleapi.Expand(req.URL, map[string]string{
 37104  		"profileId": strconv.FormatInt(c.profileId, 10),
 37105  	})
 37106  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37107  }
 37108  
 37109  // Do executes the "dfareporting.mobileApps.list" call.
 37110  // Exactly one of *MobileAppsListResponse or error will be non-nil. Any
 37111  // non-2xx status code is an error. Response headers are in either
 37112  // *MobileAppsListResponse.ServerResponse.Header or (if a response was
 37113  // returned at all) in error.(*googleapi.Error).Header. Use
 37114  // googleapi.IsNotModified to check whether the returned error was
 37115  // because http.StatusNotModified was returned.
 37116  func (c *MobileAppsListCall) Do(opts ...googleapi.CallOption) (*MobileAppsListResponse, error) {
 37117  	gensupport.SetOptions(c.urlParams_, opts...)
 37118  	res, err := c.doRequest("json")
 37119  	if res != nil && res.StatusCode == http.StatusNotModified {
 37120  		if res.Body != nil {
 37121  			res.Body.Close()
 37122  		}
 37123  		return nil, &googleapi.Error{
 37124  			Code:   res.StatusCode,
 37125  			Header: res.Header,
 37126  		}
 37127  	}
 37128  	if err != nil {
 37129  		return nil, err
 37130  	}
 37131  	defer googleapi.CloseBody(res)
 37132  	if err := googleapi.CheckResponse(res); err != nil {
 37133  		return nil, err
 37134  	}
 37135  	ret := &MobileAppsListResponse{
 37136  		ServerResponse: googleapi.ServerResponse{
 37137  			Header:         res.Header,
 37138  			HTTPStatusCode: res.StatusCode,
 37139  		},
 37140  	}
 37141  	target := &ret
 37142  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37143  		return nil, err
 37144  	}
 37145  	return ret, nil
 37146  	// {
 37147  	//   "description": "Retrieves list of available mobile apps.",
 37148  	//   "flatPath": "userprofiles/{profileId}/mobileApps",
 37149  	//   "httpMethod": "GET",
 37150  	//   "id": "dfareporting.mobileApps.list",
 37151  	//   "parameterOrder": [
 37152  	//     "profileId"
 37153  	//   ],
 37154  	//   "parameters": {
 37155  	//     "directories": {
 37156  	//       "description": "Select only apps from these directories.",
 37157  	//       "enum": [
 37158  	//         "UNKNOWN",
 37159  	//         "APPLE_APP_STORE",
 37160  	//         "GOOGLE_PLAY_STORE"
 37161  	//       ],
 37162  	//       "enumDescriptions": [
 37163  	//         "",
 37164  	//         "",
 37165  	//         ""
 37166  	//       ],
 37167  	//       "location": "query",
 37168  	//       "repeated": true,
 37169  	//       "type": "string"
 37170  	//     },
 37171  	//     "ids": {
 37172  	//       "description": "Select only apps with these IDs.",
 37173  	//       "location": "query",
 37174  	//       "repeated": true,
 37175  	//       "type": "string"
 37176  	//     },
 37177  	//     "maxResults": {
 37178  	//       "default": "1000",
 37179  	//       "description": "Maximum number of results to return.",
 37180  	//       "format": "int32",
 37181  	//       "location": "query",
 37182  	//       "maximum": "1000",
 37183  	//       "minimum": "0",
 37184  	//       "type": "integer"
 37185  	//     },
 37186  	//     "pageToken": {
 37187  	//       "description": "Value of the nextPageToken from the previous result page.",
 37188  	//       "location": "query",
 37189  	//       "type": "string"
 37190  	//     },
 37191  	//     "profileId": {
 37192  	//       "description": "User profile ID associated with this request.",
 37193  	//       "format": "int64",
 37194  	//       "location": "path",
 37195  	//       "required": true,
 37196  	//       "type": "string"
 37197  	//     },
 37198  	//     "searchString": {
 37199  	//       "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\".",
 37200  	//       "location": "query",
 37201  	//       "type": "string"
 37202  	//     }
 37203  	//   },
 37204  	//   "path": "userprofiles/{profileId}/mobileApps",
 37205  	//   "response": {
 37206  	//     "$ref": "MobileAppsListResponse"
 37207  	//   },
 37208  	//   "scopes": [
 37209  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37210  	//   ]
 37211  	// }
 37212  
 37213  }
 37214  
 37215  // Pages invokes f for each page of results.
 37216  // A non-nil error returned from f will halt the iteration.
 37217  // The provided context supersedes any context provided to the Context method.
 37218  func (c *MobileAppsListCall) Pages(ctx context.Context, f func(*MobileAppsListResponse) error) error {
 37219  	c.ctx_ = ctx
 37220  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 37221  	for {
 37222  		x, err := c.Do()
 37223  		if err != nil {
 37224  			return err
 37225  		}
 37226  		if err := f(x); err != nil {
 37227  			return err
 37228  		}
 37229  		if x.NextPageToken == "" {
 37230  			return nil
 37231  		}
 37232  		c.PageToken(x.NextPageToken)
 37233  	}
 37234  }
 37235  
 37236  // method id "dfareporting.mobileCarriers.get":
 37237  
 37238  type MobileCarriersGetCall struct {
 37239  	s            *Service
 37240  	profileId    int64
 37241  	id           int64
 37242  	urlParams_   gensupport.URLParams
 37243  	ifNoneMatch_ string
 37244  	ctx_         context.Context
 37245  	header_      http.Header
 37246  }
 37247  
 37248  // Get: Gets one mobile carrier by ID.
 37249  //
 37250  // - id: Mobile carrier ID.
 37251  // - profileId: User profile ID associated with this request.
 37252  func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
 37253  	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37254  	c.profileId = profileId
 37255  	c.id = id
 37256  	return c
 37257  }
 37258  
 37259  // Fields allows partial responses to be retrieved. See
 37260  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37261  // for more information.
 37262  func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
 37263  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37264  	return c
 37265  }
 37266  
 37267  // IfNoneMatch sets the optional parameter which makes the operation
 37268  // fail if the object's ETag matches the given value. This is useful for
 37269  // getting updates only after the object has changed since the last
 37270  // request. Use googleapi.IsNotModified to check whether the response
 37271  // error from Do is the result of In-None-Match.
 37272  func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
 37273  	c.ifNoneMatch_ = entityTag
 37274  	return c
 37275  }
 37276  
 37277  // Context sets the context to be used in this call's Do method. Any
 37278  // pending HTTP request will be aborted if the provided context is
 37279  // canceled.
 37280  func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
 37281  	c.ctx_ = ctx
 37282  	return c
 37283  }
 37284  
 37285  // Header returns an http.Header that can be modified by the caller to
 37286  // add HTTP headers to the request.
 37287  func (c *MobileCarriersGetCall) Header() http.Header {
 37288  	if c.header_ == nil {
 37289  		c.header_ = make(http.Header)
 37290  	}
 37291  	return c.header_
 37292  }
 37293  
 37294  func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
 37295  	reqHeaders := make(http.Header)
 37296  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 37297  	for k, v := range c.header_ {
 37298  		reqHeaders[k] = v
 37299  	}
 37300  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37301  	if c.ifNoneMatch_ != "" {
 37302  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37303  	}
 37304  	var body io.Reader = nil
 37305  	c.urlParams_.Set("alt", alt)
 37306  	c.urlParams_.Set("prettyPrint", "false")
 37307  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
 37308  	urls += "?" + c.urlParams_.Encode()
 37309  	req, err := http.NewRequest("GET", urls, body)
 37310  	if err != nil {
 37311  		return nil, err
 37312  	}
 37313  	req.Header = reqHeaders
 37314  	googleapi.Expand(req.URL, map[string]string{
 37315  		"profileId": strconv.FormatInt(c.profileId, 10),
 37316  		"id":        strconv.FormatInt(c.id, 10),
 37317  	})
 37318  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37319  }
 37320  
 37321  // Do executes the "dfareporting.mobileCarriers.get" call.
 37322  // Exactly one of *MobileCarrier or error will be non-nil. Any non-2xx
 37323  // status code is an error. Response headers are in either
 37324  // *MobileCarrier.ServerResponse.Header or (if a response was returned
 37325  // at all) in error.(*googleapi.Error).Header. Use
 37326  // googleapi.IsNotModified to check whether the returned error was
 37327  // because http.StatusNotModified was returned.
 37328  func (c *MobileCarriersGetCall) Do(opts ...googleapi.CallOption) (*MobileCarrier, error) {
 37329  	gensupport.SetOptions(c.urlParams_, opts...)
 37330  	res, err := c.doRequest("json")
 37331  	if res != nil && res.StatusCode == http.StatusNotModified {
 37332  		if res.Body != nil {
 37333  			res.Body.Close()
 37334  		}
 37335  		return nil, &googleapi.Error{
 37336  			Code:   res.StatusCode,
 37337  			Header: res.Header,
 37338  		}
 37339  	}
 37340  	if err != nil {
 37341  		return nil, err
 37342  	}
 37343  	defer googleapi.CloseBody(res)
 37344  	if err := googleapi.CheckResponse(res); err != nil {
 37345  		return nil, err
 37346  	}
 37347  	ret := &MobileCarrier{
 37348  		ServerResponse: googleapi.ServerResponse{
 37349  			Header:         res.Header,
 37350  			HTTPStatusCode: res.StatusCode,
 37351  		},
 37352  	}
 37353  	target := &ret
 37354  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37355  		return nil, err
 37356  	}
 37357  	return ret, nil
 37358  	// {
 37359  	//   "description": "Gets one mobile carrier by ID.",
 37360  	//   "flatPath": "userprofiles/{profileId}/mobileCarriers/{id}",
 37361  	//   "httpMethod": "GET",
 37362  	//   "id": "dfareporting.mobileCarriers.get",
 37363  	//   "parameterOrder": [
 37364  	//     "profileId",
 37365  	//     "id"
 37366  	//   ],
 37367  	//   "parameters": {
 37368  	//     "id": {
 37369  	//       "description": "Mobile carrier ID.",
 37370  	//       "format": "int64",
 37371  	//       "location": "path",
 37372  	//       "required": true,
 37373  	//       "type": "string"
 37374  	//     },
 37375  	//     "profileId": {
 37376  	//       "description": "User profile ID associated with this request.",
 37377  	//       "format": "int64",
 37378  	//       "location": "path",
 37379  	//       "required": true,
 37380  	//       "type": "string"
 37381  	//     }
 37382  	//   },
 37383  	//   "path": "userprofiles/{profileId}/mobileCarriers/{id}",
 37384  	//   "response": {
 37385  	//     "$ref": "MobileCarrier"
 37386  	//   },
 37387  	//   "scopes": [
 37388  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37389  	//   ]
 37390  	// }
 37391  
 37392  }
 37393  
 37394  // method id "dfareporting.mobileCarriers.list":
 37395  
 37396  type MobileCarriersListCall struct {
 37397  	s            *Service
 37398  	profileId    int64
 37399  	urlParams_   gensupport.URLParams
 37400  	ifNoneMatch_ string
 37401  	ctx_         context.Context
 37402  	header_      http.Header
 37403  }
 37404  
 37405  // List: Retrieves a list of mobile carriers.
 37406  //
 37407  // - profileId: User profile ID associated with this request.
 37408  func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
 37409  	c := &MobileCarriersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37410  	c.profileId = profileId
 37411  	return c
 37412  }
 37413  
 37414  // Fields allows partial responses to be retrieved. See
 37415  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37416  // for more information.
 37417  func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
 37418  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37419  	return c
 37420  }
 37421  
 37422  // IfNoneMatch sets the optional parameter which makes the operation
 37423  // fail if the object's ETag matches the given value. This is useful for
 37424  // getting updates only after the object has changed since the last
 37425  // request. Use googleapi.IsNotModified to check whether the response
 37426  // error from Do is the result of In-None-Match.
 37427  func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
 37428  	c.ifNoneMatch_ = entityTag
 37429  	return c
 37430  }
 37431  
 37432  // Context sets the context to be used in this call's Do method. Any
 37433  // pending HTTP request will be aborted if the provided context is
 37434  // canceled.
 37435  func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
 37436  	c.ctx_ = ctx
 37437  	return c
 37438  }
 37439  
 37440  // Header returns an http.Header that can be modified by the caller to
 37441  // add HTTP headers to the request.
 37442  func (c *MobileCarriersListCall) Header() http.Header {
 37443  	if c.header_ == nil {
 37444  		c.header_ = make(http.Header)
 37445  	}
 37446  	return c.header_
 37447  }
 37448  
 37449  func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
 37450  	reqHeaders := make(http.Header)
 37451  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 37452  	for k, v := range c.header_ {
 37453  		reqHeaders[k] = v
 37454  	}
 37455  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37456  	if c.ifNoneMatch_ != "" {
 37457  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37458  	}
 37459  	var body io.Reader = nil
 37460  	c.urlParams_.Set("alt", alt)
 37461  	c.urlParams_.Set("prettyPrint", "false")
 37462  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
 37463  	urls += "?" + c.urlParams_.Encode()
 37464  	req, err := http.NewRequest("GET", urls, body)
 37465  	if err != nil {
 37466  		return nil, err
 37467  	}
 37468  	req.Header = reqHeaders
 37469  	googleapi.Expand(req.URL, map[string]string{
 37470  		"profileId": strconv.FormatInt(c.profileId, 10),
 37471  	})
 37472  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37473  }
 37474  
 37475  // Do executes the "dfareporting.mobileCarriers.list" call.
 37476  // Exactly one of *MobileCarriersListResponse or error will be non-nil.
 37477  // Any non-2xx status code is an error. Response headers are in either
 37478  // *MobileCarriersListResponse.ServerResponse.Header or (if a response
 37479  // was returned at all) in error.(*googleapi.Error).Header. Use
 37480  // googleapi.IsNotModified to check whether the returned error was
 37481  // because http.StatusNotModified was returned.
 37482  func (c *MobileCarriersListCall) Do(opts ...googleapi.CallOption) (*MobileCarriersListResponse, error) {
 37483  	gensupport.SetOptions(c.urlParams_, opts...)
 37484  	res, err := c.doRequest("json")
 37485  	if res != nil && res.StatusCode == http.StatusNotModified {
 37486  		if res.Body != nil {
 37487  			res.Body.Close()
 37488  		}
 37489  		return nil, &googleapi.Error{
 37490  			Code:   res.StatusCode,
 37491  			Header: res.Header,
 37492  		}
 37493  	}
 37494  	if err != nil {
 37495  		return nil, err
 37496  	}
 37497  	defer googleapi.CloseBody(res)
 37498  	if err := googleapi.CheckResponse(res); err != nil {
 37499  		return nil, err
 37500  	}
 37501  	ret := &MobileCarriersListResponse{
 37502  		ServerResponse: googleapi.ServerResponse{
 37503  			Header:         res.Header,
 37504  			HTTPStatusCode: res.StatusCode,
 37505  		},
 37506  	}
 37507  	target := &ret
 37508  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37509  		return nil, err
 37510  	}
 37511  	return ret, nil
 37512  	// {
 37513  	//   "description": "Retrieves a list of mobile carriers.",
 37514  	//   "flatPath": "userprofiles/{profileId}/mobileCarriers",
 37515  	//   "httpMethod": "GET",
 37516  	//   "id": "dfareporting.mobileCarriers.list",
 37517  	//   "parameterOrder": [
 37518  	//     "profileId"
 37519  	//   ],
 37520  	//   "parameters": {
 37521  	//     "profileId": {
 37522  	//       "description": "User profile ID associated with this request.",
 37523  	//       "format": "int64",
 37524  	//       "location": "path",
 37525  	//       "required": true,
 37526  	//       "type": "string"
 37527  	//     }
 37528  	//   },
 37529  	//   "path": "userprofiles/{profileId}/mobileCarriers",
 37530  	//   "response": {
 37531  	//     "$ref": "MobileCarriersListResponse"
 37532  	//   },
 37533  	//   "scopes": [
 37534  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37535  	//   ]
 37536  	// }
 37537  
 37538  }
 37539  
 37540  // method id "dfareporting.operatingSystemVersions.get":
 37541  
 37542  type OperatingSystemVersionsGetCall struct {
 37543  	s            *Service
 37544  	profileId    int64
 37545  	id           int64
 37546  	urlParams_   gensupport.URLParams
 37547  	ifNoneMatch_ string
 37548  	ctx_         context.Context
 37549  	header_      http.Header
 37550  }
 37551  
 37552  // Get: Gets one operating system version by ID.
 37553  //
 37554  // - id: Operating system version ID.
 37555  // - profileId: User profile ID associated with this request.
 37556  func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
 37557  	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37558  	c.profileId = profileId
 37559  	c.id = id
 37560  	return c
 37561  }
 37562  
 37563  // Fields allows partial responses to be retrieved. See
 37564  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37565  // for more information.
 37566  func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
 37567  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37568  	return c
 37569  }
 37570  
 37571  // IfNoneMatch sets the optional parameter which makes the operation
 37572  // fail if the object's ETag matches the given value. This is useful for
 37573  // getting updates only after the object has changed since the last
 37574  // request. Use googleapi.IsNotModified to check whether the response
 37575  // error from Do is the result of In-None-Match.
 37576  func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
 37577  	c.ifNoneMatch_ = entityTag
 37578  	return c
 37579  }
 37580  
 37581  // Context sets the context to be used in this call's Do method. Any
 37582  // pending HTTP request will be aborted if the provided context is
 37583  // canceled.
 37584  func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
 37585  	c.ctx_ = ctx
 37586  	return c
 37587  }
 37588  
 37589  // Header returns an http.Header that can be modified by the caller to
 37590  // add HTTP headers to the request.
 37591  func (c *OperatingSystemVersionsGetCall) Header() http.Header {
 37592  	if c.header_ == nil {
 37593  		c.header_ = make(http.Header)
 37594  	}
 37595  	return c.header_
 37596  }
 37597  
 37598  func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 37599  	reqHeaders := make(http.Header)
 37600  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 37601  	for k, v := range c.header_ {
 37602  		reqHeaders[k] = v
 37603  	}
 37604  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37605  	if c.ifNoneMatch_ != "" {
 37606  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37607  	}
 37608  	var body io.Reader = nil
 37609  	c.urlParams_.Set("alt", alt)
 37610  	c.urlParams_.Set("prettyPrint", "false")
 37611  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
 37612  	urls += "?" + c.urlParams_.Encode()
 37613  	req, err := http.NewRequest("GET", urls, body)
 37614  	if err != nil {
 37615  		return nil, err
 37616  	}
 37617  	req.Header = reqHeaders
 37618  	googleapi.Expand(req.URL, map[string]string{
 37619  		"profileId": strconv.FormatInt(c.profileId, 10),
 37620  		"id":        strconv.FormatInt(c.id, 10),
 37621  	})
 37622  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37623  }
 37624  
 37625  // Do executes the "dfareporting.operatingSystemVersions.get" call.
 37626  // Exactly one of *OperatingSystemVersion or error will be non-nil. Any
 37627  // non-2xx status code is an error. Response headers are in either
 37628  // *OperatingSystemVersion.ServerResponse.Header or (if a response was
 37629  // returned at all) in error.(*googleapi.Error).Header. Use
 37630  // googleapi.IsNotModified to check whether the returned error was
 37631  // because http.StatusNotModified was returned.
 37632  func (c *OperatingSystemVersionsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersion, error) {
 37633  	gensupport.SetOptions(c.urlParams_, opts...)
 37634  	res, err := c.doRequest("json")
 37635  	if res != nil && res.StatusCode == http.StatusNotModified {
 37636  		if res.Body != nil {
 37637  			res.Body.Close()
 37638  		}
 37639  		return nil, &googleapi.Error{
 37640  			Code:   res.StatusCode,
 37641  			Header: res.Header,
 37642  		}
 37643  	}
 37644  	if err != nil {
 37645  		return nil, err
 37646  	}
 37647  	defer googleapi.CloseBody(res)
 37648  	if err := googleapi.CheckResponse(res); err != nil {
 37649  		return nil, err
 37650  	}
 37651  	ret := &OperatingSystemVersion{
 37652  		ServerResponse: googleapi.ServerResponse{
 37653  			Header:         res.Header,
 37654  			HTTPStatusCode: res.StatusCode,
 37655  		},
 37656  	}
 37657  	target := &ret
 37658  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37659  		return nil, err
 37660  	}
 37661  	return ret, nil
 37662  	// {
 37663  	//   "description": "Gets one operating system version by ID.",
 37664  	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions/{id}",
 37665  	//   "httpMethod": "GET",
 37666  	//   "id": "dfareporting.operatingSystemVersions.get",
 37667  	//   "parameterOrder": [
 37668  	//     "profileId",
 37669  	//     "id"
 37670  	//   ],
 37671  	//   "parameters": {
 37672  	//     "id": {
 37673  	//       "description": "Operating system version ID.",
 37674  	//       "format": "int64",
 37675  	//       "location": "path",
 37676  	//       "required": true,
 37677  	//       "type": "string"
 37678  	//     },
 37679  	//     "profileId": {
 37680  	//       "description": "User profile ID associated with this request.",
 37681  	//       "format": "int64",
 37682  	//       "location": "path",
 37683  	//       "required": true,
 37684  	//       "type": "string"
 37685  	//     }
 37686  	//   },
 37687  	//   "path": "userprofiles/{profileId}/operatingSystemVersions/{id}",
 37688  	//   "response": {
 37689  	//     "$ref": "OperatingSystemVersion"
 37690  	//   },
 37691  	//   "scopes": [
 37692  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37693  	//   ]
 37694  	// }
 37695  
 37696  }
 37697  
 37698  // method id "dfareporting.operatingSystemVersions.list":
 37699  
 37700  type OperatingSystemVersionsListCall struct {
 37701  	s            *Service
 37702  	profileId    int64
 37703  	urlParams_   gensupport.URLParams
 37704  	ifNoneMatch_ string
 37705  	ctx_         context.Context
 37706  	header_      http.Header
 37707  }
 37708  
 37709  // List: Retrieves a list of operating system versions.
 37710  //
 37711  // - profileId: User profile ID associated with this request.
 37712  func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
 37713  	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37714  	c.profileId = profileId
 37715  	return c
 37716  }
 37717  
 37718  // Fields allows partial responses to be retrieved. See
 37719  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37720  // for more information.
 37721  func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
 37722  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37723  	return c
 37724  }
 37725  
 37726  // IfNoneMatch sets the optional parameter which makes the operation
 37727  // fail if the object's ETag matches the given value. This is useful for
 37728  // getting updates only after the object has changed since the last
 37729  // request. Use googleapi.IsNotModified to check whether the response
 37730  // error from Do is the result of In-None-Match.
 37731  func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
 37732  	c.ifNoneMatch_ = entityTag
 37733  	return c
 37734  }
 37735  
 37736  // Context sets the context to be used in this call's Do method. Any
 37737  // pending HTTP request will be aborted if the provided context is
 37738  // canceled.
 37739  func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
 37740  	c.ctx_ = ctx
 37741  	return c
 37742  }
 37743  
 37744  // Header returns an http.Header that can be modified by the caller to
 37745  // add HTTP headers to the request.
 37746  func (c *OperatingSystemVersionsListCall) Header() http.Header {
 37747  	if c.header_ == nil {
 37748  		c.header_ = make(http.Header)
 37749  	}
 37750  	return c.header_
 37751  }
 37752  
 37753  func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
 37754  	reqHeaders := make(http.Header)
 37755  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 37756  	for k, v := range c.header_ {
 37757  		reqHeaders[k] = v
 37758  	}
 37759  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37760  	if c.ifNoneMatch_ != "" {
 37761  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37762  	}
 37763  	var body io.Reader = nil
 37764  	c.urlParams_.Set("alt", alt)
 37765  	c.urlParams_.Set("prettyPrint", "false")
 37766  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
 37767  	urls += "?" + c.urlParams_.Encode()
 37768  	req, err := http.NewRequest("GET", urls, body)
 37769  	if err != nil {
 37770  		return nil, err
 37771  	}
 37772  	req.Header = reqHeaders
 37773  	googleapi.Expand(req.URL, map[string]string{
 37774  		"profileId": strconv.FormatInt(c.profileId, 10),
 37775  	})
 37776  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37777  }
 37778  
 37779  // Do executes the "dfareporting.operatingSystemVersions.list" call.
 37780  // Exactly one of *OperatingSystemVersionsListResponse or error will be
 37781  // non-nil. Any non-2xx status code is an error. Response headers are in
 37782  // either *OperatingSystemVersionsListResponse.ServerResponse.Header or
 37783  // (if a response was returned at all) in
 37784  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 37785  // whether the returned error was because http.StatusNotModified was
 37786  // returned.
 37787  func (c *OperatingSystemVersionsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersionsListResponse, error) {
 37788  	gensupport.SetOptions(c.urlParams_, opts...)
 37789  	res, err := c.doRequest("json")
 37790  	if res != nil && res.StatusCode == http.StatusNotModified {
 37791  		if res.Body != nil {
 37792  			res.Body.Close()
 37793  		}
 37794  		return nil, &googleapi.Error{
 37795  			Code:   res.StatusCode,
 37796  			Header: res.Header,
 37797  		}
 37798  	}
 37799  	if err != nil {
 37800  		return nil, err
 37801  	}
 37802  	defer googleapi.CloseBody(res)
 37803  	if err := googleapi.CheckResponse(res); err != nil {
 37804  		return nil, err
 37805  	}
 37806  	ret := &OperatingSystemVersionsListResponse{
 37807  		ServerResponse: googleapi.ServerResponse{
 37808  			Header:         res.Header,
 37809  			HTTPStatusCode: res.StatusCode,
 37810  		},
 37811  	}
 37812  	target := &ret
 37813  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37814  		return nil, err
 37815  	}
 37816  	return ret, nil
 37817  	// {
 37818  	//   "description": "Retrieves a list of operating system versions.",
 37819  	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions",
 37820  	//   "httpMethod": "GET",
 37821  	//   "id": "dfareporting.operatingSystemVersions.list",
 37822  	//   "parameterOrder": [
 37823  	//     "profileId"
 37824  	//   ],
 37825  	//   "parameters": {
 37826  	//     "profileId": {
 37827  	//       "description": "User profile ID associated with this request.",
 37828  	//       "format": "int64",
 37829  	//       "location": "path",
 37830  	//       "required": true,
 37831  	//       "type": "string"
 37832  	//     }
 37833  	//   },
 37834  	//   "path": "userprofiles/{profileId}/operatingSystemVersions",
 37835  	//   "response": {
 37836  	//     "$ref": "OperatingSystemVersionsListResponse"
 37837  	//   },
 37838  	//   "scopes": [
 37839  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37840  	//   ]
 37841  	// }
 37842  
 37843  }
 37844  
 37845  // method id "dfareporting.operatingSystems.get":
 37846  
 37847  type OperatingSystemsGetCall struct {
 37848  	s            *Service
 37849  	profileId    int64
 37850  	dartId       int64
 37851  	urlParams_   gensupport.URLParams
 37852  	ifNoneMatch_ string
 37853  	ctx_         context.Context
 37854  	header_      http.Header
 37855  }
 37856  
 37857  // Get: Gets one operating system by DART ID.
 37858  //
 37859  // - dartId: Operating system DART ID.
 37860  // - profileId: User profile ID associated with this request.
 37861  func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
 37862  	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37863  	c.profileId = profileId
 37864  	c.dartId = dartId
 37865  	return c
 37866  }
 37867  
 37868  // Fields allows partial responses to be retrieved. See
 37869  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37870  // for more information.
 37871  func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
 37872  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37873  	return c
 37874  }
 37875  
 37876  // IfNoneMatch sets the optional parameter which makes the operation
 37877  // fail if the object's ETag matches the given value. This is useful for
 37878  // getting updates only after the object has changed since the last
 37879  // request. Use googleapi.IsNotModified to check whether the response
 37880  // error from Do is the result of In-None-Match.
 37881  func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
 37882  	c.ifNoneMatch_ = entityTag
 37883  	return c
 37884  }
 37885  
 37886  // Context sets the context to be used in this call's Do method. Any
 37887  // pending HTTP request will be aborted if the provided context is
 37888  // canceled.
 37889  func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
 37890  	c.ctx_ = ctx
 37891  	return c
 37892  }
 37893  
 37894  // Header returns an http.Header that can be modified by the caller to
 37895  // add HTTP headers to the request.
 37896  func (c *OperatingSystemsGetCall) Header() http.Header {
 37897  	if c.header_ == nil {
 37898  		c.header_ = make(http.Header)
 37899  	}
 37900  	return c.header_
 37901  }
 37902  
 37903  func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
 37904  	reqHeaders := make(http.Header)
 37905  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 37906  	for k, v := range c.header_ {
 37907  		reqHeaders[k] = v
 37908  	}
 37909  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37910  	if c.ifNoneMatch_ != "" {
 37911  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37912  	}
 37913  	var body io.Reader = nil
 37914  	c.urlParams_.Set("alt", alt)
 37915  	c.urlParams_.Set("prettyPrint", "false")
 37916  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
 37917  	urls += "?" + c.urlParams_.Encode()
 37918  	req, err := http.NewRequest("GET", urls, body)
 37919  	if err != nil {
 37920  		return nil, err
 37921  	}
 37922  	req.Header = reqHeaders
 37923  	googleapi.Expand(req.URL, map[string]string{
 37924  		"profileId": strconv.FormatInt(c.profileId, 10),
 37925  		"dartId":    strconv.FormatInt(c.dartId, 10),
 37926  	})
 37927  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37928  }
 37929  
 37930  // Do executes the "dfareporting.operatingSystems.get" call.
 37931  // Exactly one of *OperatingSystem or error will be non-nil. Any non-2xx
 37932  // status code is an error. Response headers are in either
 37933  // *OperatingSystem.ServerResponse.Header or (if a response was returned
 37934  // at all) in error.(*googleapi.Error).Header. Use
 37935  // googleapi.IsNotModified to check whether the returned error was
 37936  // because http.StatusNotModified was returned.
 37937  func (c *OperatingSystemsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystem, error) {
 37938  	gensupport.SetOptions(c.urlParams_, opts...)
 37939  	res, err := c.doRequest("json")
 37940  	if res != nil && res.StatusCode == http.StatusNotModified {
 37941  		if res.Body != nil {
 37942  			res.Body.Close()
 37943  		}
 37944  		return nil, &googleapi.Error{
 37945  			Code:   res.StatusCode,
 37946  			Header: res.Header,
 37947  		}
 37948  	}
 37949  	if err != nil {
 37950  		return nil, err
 37951  	}
 37952  	defer googleapi.CloseBody(res)
 37953  	if err := googleapi.CheckResponse(res); err != nil {
 37954  		return nil, err
 37955  	}
 37956  	ret := &OperatingSystem{
 37957  		ServerResponse: googleapi.ServerResponse{
 37958  			Header:         res.Header,
 37959  			HTTPStatusCode: res.StatusCode,
 37960  		},
 37961  	}
 37962  	target := &ret
 37963  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37964  		return nil, err
 37965  	}
 37966  	return ret, nil
 37967  	// {
 37968  	//   "description": "Gets one operating system by DART ID.",
 37969  	//   "flatPath": "userprofiles/{profileId}/operatingSystems/{dartId}",
 37970  	//   "httpMethod": "GET",
 37971  	//   "id": "dfareporting.operatingSystems.get",
 37972  	//   "parameterOrder": [
 37973  	//     "profileId",
 37974  	//     "dartId"
 37975  	//   ],
 37976  	//   "parameters": {
 37977  	//     "dartId": {
 37978  	//       "description": "Operating system DART ID.",
 37979  	//       "format": "int64",
 37980  	//       "location": "path",
 37981  	//       "required": true,
 37982  	//       "type": "string"
 37983  	//     },
 37984  	//     "profileId": {
 37985  	//       "description": "User profile ID associated with this request.",
 37986  	//       "format": "int64",
 37987  	//       "location": "path",
 37988  	//       "required": true,
 37989  	//       "type": "string"
 37990  	//     }
 37991  	//   },
 37992  	//   "path": "userprofiles/{profileId}/operatingSystems/{dartId}",
 37993  	//   "response": {
 37994  	//     "$ref": "OperatingSystem"
 37995  	//   },
 37996  	//   "scopes": [
 37997  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37998  	//   ]
 37999  	// }
 38000  
 38001  }
 38002  
 38003  // method id "dfareporting.operatingSystems.list":
 38004  
 38005  type OperatingSystemsListCall struct {
 38006  	s            *Service
 38007  	profileId    int64
 38008  	urlParams_   gensupport.URLParams
 38009  	ifNoneMatch_ string
 38010  	ctx_         context.Context
 38011  	header_      http.Header
 38012  }
 38013  
 38014  // List: Retrieves a list of operating systems.
 38015  //
 38016  // - profileId: User profile ID associated with this request.
 38017  func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
 38018  	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38019  	c.profileId = profileId
 38020  	return c
 38021  }
 38022  
 38023  // Fields allows partial responses to be retrieved. See
 38024  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38025  // for more information.
 38026  func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
 38027  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38028  	return c
 38029  }
 38030  
 38031  // IfNoneMatch sets the optional parameter which makes the operation
 38032  // fail if the object's ETag matches the given value. This is useful for
 38033  // getting updates only after the object has changed since the last
 38034  // request. Use googleapi.IsNotModified to check whether the response
 38035  // error from Do is the result of In-None-Match.
 38036  func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
 38037  	c.ifNoneMatch_ = entityTag
 38038  	return c
 38039  }
 38040  
 38041  // Context sets the context to be used in this call's Do method. Any
 38042  // pending HTTP request will be aborted if the provided context is
 38043  // canceled.
 38044  func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
 38045  	c.ctx_ = ctx
 38046  	return c
 38047  }
 38048  
 38049  // Header returns an http.Header that can be modified by the caller to
 38050  // add HTTP headers to the request.
 38051  func (c *OperatingSystemsListCall) Header() http.Header {
 38052  	if c.header_ == nil {
 38053  		c.header_ = make(http.Header)
 38054  	}
 38055  	return c.header_
 38056  }
 38057  
 38058  func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
 38059  	reqHeaders := make(http.Header)
 38060  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 38061  	for k, v := range c.header_ {
 38062  		reqHeaders[k] = v
 38063  	}
 38064  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38065  	if c.ifNoneMatch_ != "" {
 38066  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38067  	}
 38068  	var body io.Reader = nil
 38069  	c.urlParams_.Set("alt", alt)
 38070  	c.urlParams_.Set("prettyPrint", "false")
 38071  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
 38072  	urls += "?" + c.urlParams_.Encode()
 38073  	req, err := http.NewRequest("GET", urls, body)
 38074  	if err != nil {
 38075  		return nil, err
 38076  	}
 38077  	req.Header = reqHeaders
 38078  	googleapi.Expand(req.URL, map[string]string{
 38079  		"profileId": strconv.FormatInt(c.profileId, 10),
 38080  	})
 38081  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38082  }
 38083  
 38084  // Do executes the "dfareporting.operatingSystems.list" call.
 38085  // Exactly one of *OperatingSystemsListResponse or error will be
 38086  // non-nil. Any non-2xx status code is an error. Response headers are in
 38087  // either *OperatingSystemsListResponse.ServerResponse.Header or (if a
 38088  // response was returned at all) in error.(*googleapi.Error).Header. Use
 38089  // googleapi.IsNotModified to check whether the returned error was
 38090  // because http.StatusNotModified was returned.
 38091  func (c *OperatingSystemsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemsListResponse, error) {
 38092  	gensupport.SetOptions(c.urlParams_, opts...)
 38093  	res, err := c.doRequest("json")
 38094  	if res != nil && res.StatusCode == http.StatusNotModified {
 38095  		if res.Body != nil {
 38096  			res.Body.Close()
 38097  		}
 38098  		return nil, &googleapi.Error{
 38099  			Code:   res.StatusCode,
 38100  			Header: res.Header,
 38101  		}
 38102  	}
 38103  	if err != nil {
 38104  		return nil, err
 38105  	}
 38106  	defer googleapi.CloseBody(res)
 38107  	if err := googleapi.CheckResponse(res); err != nil {
 38108  		return nil, err
 38109  	}
 38110  	ret := &OperatingSystemsListResponse{
 38111  		ServerResponse: googleapi.ServerResponse{
 38112  			Header:         res.Header,
 38113  			HTTPStatusCode: res.StatusCode,
 38114  		},
 38115  	}
 38116  	target := &ret
 38117  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38118  		return nil, err
 38119  	}
 38120  	return ret, nil
 38121  	// {
 38122  	//   "description": "Retrieves a list of operating systems.",
 38123  	//   "flatPath": "userprofiles/{profileId}/operatingSystems",
 38124  	//   "httpMethod": "GET",
 38125  	//   "id": "dfareporting.operatingSystems.list",
 38126  	//   "parameterOrder": [
 38127  	//     "profileId"
 38128  	//   ],
 38129  	//   "parameters": {
 38130  	//     "profileId": {
 38131  	//       "description": "User profile ID associated with this request.",
 38132  	//       "format": "int64",
 38133  	//       "location": "path",
 38134  	//       "required": true,
 38135  	//       "type": "string"
 38136  	//     }
 38137  	//   },
 38138  	//   "path": "userprofiles/{profileId}/operatingSystems",
 38139  	//   "response": {
 38140  	//     "$ref": "OperatingSystemsListResponse"
 38141  	//   },
 38142  	//   "scopes": [
 38143  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38144  	//   ]
 38145  	// }
 38146  
 38147  }
 38148  
 38149  // method id "dfareporting.orderDocuments.get":
 38150  
 38151  type OrderDocumentsGetCall struct {
 38152  	s            *Service
 38153  	profileId    int64
 38154  	projectId    int64
 38155  	id           int64
 38156  	urlParams_   gensupport.URLParams
 38157  	ifNoneMatch_ string
 38158  	ctx_         context.Context
 38159  	header_      http.Header
 38160  }
 38161  
 38162  // Get: Gets one order document by ID.
 38163  //
 38164  // - id: Order document ID.
 38165  // - profileId: User profile ID associated with this request.
 38166  // - projectId: Project ID for order documents.
 38167  func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
 38168  	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38169  	c.profileId = profileId
 38170  	c.projectId = projectId
 38171  	c.id = id
 38172  	return c
 38173  }
 38174  
 38175  // Fields allows partial responses to be retrieved. See
 38176  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38177  // for more information.
 38178  func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
 38179  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38180  	return c
 38181  }
 38182  
 38183  // IfNoneMatch sets the optional parameter which makes the operation
 38184  // fail if the object's ETag matches the given value. This is useful for
 38185  // getting updates only after the object has changed since the last
 38186  // request. Use googleapi.IsNotModified to check whether the response
 38187  // error from Do is the result of In-None-Match.
 38188  func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
 38189  	c.ifNoneMatch_ = entityTag
 38190  	return c
 38191  }
 38192  
 38193  // Context sets the context to be used in this call's Do method. Any
 38194  // pending HTTP request will be aborted if the provided context is
 38195  // canceled.
 38196  func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
 38197  	c.ctx_ = ctx
 38198  	return c
 38199  }
 38200  
 38201  // Header returns an http.Header that can be modified by the caller to
 38202  // add HTTP headers to the request.
 38203  func (c *OrderDocumentsGetCall) Header() http.Header {
 38204  	if c.header_ == nil {
 38205  		c.header_ = make(http.Header)
 38206  	}
 38207  	return c.header_
 38208  }
 38209  
 38210  func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 38211  	reqHeaders := make(http.Header)
 38212  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 38213  	for k, v := range c.header_ {
 38214  		reqHeaders[k] = v
 38215  	}
 38216  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38217  	if c.ifNoneMatch_ != "" {
 38218  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38219  	}
 38220  	var body io.Reader = nil
 38221  	c.urlParams_.Set("alt", alt)
 38222  	c.urlParams_.Set("prettyPrint", "false")
 38223  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
 38224  	urls += "?" + c.urlParams_.Encode()
 38225  	req, err := http.NewRequest("GET", urls, body)
 38226  	if err != nil {
 38227  		return nil, err
 38228  	}
 38229  	req.Header = reqHeaders
 38230  	googleapi.Expand(req.URL, map[string]string{
 38231  		"profileId": strconv.FormatInt(c.profileId, 10),
 38232  		"projectId": strconv.FormatInt(c.projectId, 10),
 38233  		"id":        strconv.FormatInt(c.id, 10),
 38234  	})
 38235  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38236  }
 38237  
 38238  // Do executes the "dfareporting.orderDocuments.get" call.
 38239  // Exactly one of *OrderDocument or error will be non-nil. Any non-2xx
 38240  // status code is an error. Response headers are in either
 38241  // *OrderDocument.ServerResponse.Header or (if a response was returned
 38242  // at all) in error.(*googleapi.Error).Header. Use
 38243  // googleapi.IsNotModified to check whether the returned error was
 38244  // because http.StatusNotModified was returned.
 38245  func (c *OrderDocumentsGetCall) Do(opts ...googleapi.CallOption) (*OrderDocument, error) {
 38246  	gensupport.SetOptions(c.urlParams_, opts...)
 38247  	res, err := c.doRequest("json")
 38248  	if res != nil && res.StatusCode == http.StatusNotModified {
 38249  		if res.Body != nil {
 38250  			res.Body.Close()
 38251  		}
 38252  		return nil, &googleapi.Error{
 38253  			Code:   res.StatusCode,
 38254  			Header: res.Header,
 38255  		}
 38256  	}
 38257  	if err != nil {
 38258  		return nil, err
 38259  	}
 38260  	defer googleapi.CloseBody(res)
 38261  	if err := googleapi.CheckResponse(res); err != nil {
 38262  		return nil, err
 38263  	}
 38264  	ret := &OrderDocument{
 38265  		ServerResponse: googleapi.ServerResponse{
 38266  			Header:         res.Header,
 38267  			HTTPStatusCode: res.StatusCode,
 38268  		},
 38269  	}
 38270  	target := &ret
 38271  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38272  		return nil, err
 38273  	}
 38274  	return ret, nil
 38275  	// {
 38276  	//   "description": "Gets one order document by ID.",
 38277  	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
 38278  	//   "httpMethod": "GET",
 38279  	//   "id": "dfareporting.orderDocuments.get",
 38280  	//   "parameterOrder": [
 38281  	//     "profileId",
 38282  	//     "projectId",
 38283  	//     "id"
 38284  	//   ],
 38285  	//   "parameters": {
 38286  	//     "id": {
 38287  	//       "description": "Order document ID.",
 38288  	//       "format": "int64",
 38289  	//       "location": "path",
 38290  	//       "required": true,
 38291  	//       "type": "string"
 38292  	//     },
 38293  	//     "profileId": {
 38294  	//       "description": "User profile ID associated with this request.",
 38295  	//       "format": "int64",
 38296  	//       "location": "path",
 38297  	//       "required": true,
 38298  	//       "type": "string"
 38299  	//     },
 38300  	//     "projectId": {
 38301  	//       "description": "Project ID for order documents.",
 38302  	//       "format": "int64",
 38303  	//       "location": "path",
 38304  	//       "required": true,
 38305  	//       "type": "string"
 38306  	//     }
 38307  	//   },
 38308  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
 38309  	//   "response": {
 38310  	//     "$ref": "OrderDocument"
 38311  	//   },
 38312  	//   "scopes": [
 38313  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38314  	//   ]
 38315  	// }
 38316  
 38317  }
 38318  
 38319  // method id "dfareporting.orderDocuments.list":
 38320  
 38321  type OrderDocumentsListCall struct {
 38322  	s            *Service
 38323  	profileId    int64
 38324  	projectId    int64
 38325  	urlParams_   gensupport.URLParams
 38326  	ifNoneMatch_ string
 38327  	ctx_         context.Context
 38328  	header_      http.Header
 38329  }
 38330  
 38331  // List: Retrieves a list of order documents, possibly filtered. This
 38332  // method supports paging.
 38333  //
 38334  // - profileId: User profile ID associated with this request.
 38335  // - projectId: Project ID for order documents.
 38336  func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
 38337  	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38338  	c.profileId = profileId
 38339  	c.projectId = projectId
 38340  	return c
 38341  }
 38342  
 38343  // Approved sets the optional parameter "approved": Select only order
 38344  // documents that have been approved by at least one user.
 38345  func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
 38346  	c.urlParams_.Set("approved", fmt.Sprint(approved))
 38347  	return c
 38348  }
 38349  
 38350  // Ids sets the optional parameter "ids": Select only order documents
 38351  // with these IDs.
 38352  func (c *OrderDocumentsListCall) Ids(ids ...int64) *OrderDocumentsListCall {
 38353  	var ids_ []string
 38354  	for _, v := range ids {
 38355  		ids_ = append(ids_, fmt.Sprint(v))
 38356  	}
 38357  	c.urlParams_.SetMulti("ids", ids_)
 38358  	return c
 38359  }
 38360  
 38361  // MaxResults sets the optional parameter "maxResults": Maximum number
 38362  // of results to return.
 38363  func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
 38364  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 38365  	return c
 38366  }
 38367  
 38368  // OrderId sets the optional parameter "orderId": Select only order
 38369  // documents for specified orders.
 38370  func (c *OrderDocumentsListCall) OrderId(orderId ...int64) *OrderDocumentsListCall {
 38371  	var orderId_ []string
 38372  	for _, v := range orderId {
 38373  		orderId_ = append(orderId_, fmt.Sprint(v))
 38374  	}
 38375  	c.urlParams_.SetMulti("orderId", orderId_)
 38376  	return c
 38377  }
 38378  
 38379  // PageToken sets the optional parameter "pageToken": Value of the
 38380  // nextPageToken from the previous result page.
 38381  func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
 38382  	c.urlParams_.Set("pageToken", pageToken)
 38383  	return c
 38384  }
 38385  
 38386  // SearchString sets the optional parameter "searchString": Allows
 38387  // searching for order documents by name or ID. Wildcards (*) are
 38388  // allowed. For example, "orderdocument*2015" will return order
 38389  // documents with names like "orderdocument June 2015", "orderdocument
 38390  // April 2015", or simply "orderdocument 2015". Most of the searches
 38391  // also add wildcards implicitly at the start and the end of the search
 38392  // string. For example, a search string of "orderdocument" will match
 38393  // order documents with name "my orderdocument", "orderdocument 2015",
 38394  // or simply "orderdocument".
 38395  func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
 38396  	c.urlParams_.Set("searchString", searchString)
 38397  	return c
 38398  }
 38399  
 38400  // SiteId sets the optional parameter "siteId": Select only order
 38401  // documents that are associated with these sites.
 38402  func (c *OrderDocumentsListCall) SiteId(siteId ...int64) *OrderDocumentsListCall {
 38403  	var siteId_ []string
 38404  	for _, v := range siteId {
 38405  		siteId_ = append(siteId_, fmt.Sprint(v))
 38406  	}
 38407  	c.urlParams_.SetMulti("siteId", siteId_)
 38408  	return c
 38409  }
 38410  
 38411  // SortField sets the optional parameter "sortField": Field by which to
 38412  // sort the list.
 38413  //
 38414  // Possible values:
 38415  //
 38416  //	"ID" (default)
 38417  //	"NAME"
 38418  func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
 38419  	c.urlParams_.Set("sortField", sortField)
 38420  	return c
 38421  }
 38422  
 38423  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 38424  // results.
 38425  //
 38426  // Possible values:
 38427  //
 38428  //	"ASCENDING" (default)
 38429  //	"DESCENDING"
 38430  func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
 38431  	c.urlParams_.Set("sortOrder", sortOrder)
 38432  	return c
 38433  }
 38434  
 38435  // Fields allows partial responses to be retrieved. See
 38436  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38437  // for more information.
 38438  func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
 38439  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38440  	return c
 38441  }
 38442  
 38443  // IfNoneMatch sets the optional parameter which makes the operation
 38444  // fail if the object's ETag matches the given value. This is useful for
 38445  // getting updates only after the object has changed since the last
 38446  // request. Use googleapi.IsNotModified to check whether the response
 38447  // error from Do is the result of In-None-Match.
 38448  func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
 38449  	c.ifNoneMatch_ = entityTag
 38450  	return c
 38451  }
 38452  
 38453  // Context sets the context to be used in this call's Do method. Any
 38454  // pending HTTP request will be aborted if the provided context is
 38455  // canceled.
 38456  func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
 38457  	c.ctx_ = ctx
 38458  	return c
 38459  }
 38460  
 38461  // Header returns an http.Header that can be modified by the caller to
 38462  // add HTTP headers to the request.
 38463  func (c *OrderDocumentsListCall) Header() http.Header {
 38464  	if c.header_ == nil {
 38465  		c.header_ = make(http.Header)
 38466  	}
 38467  	return c.header_
 38468  }
 38469  
 38470  func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 38471  	reqHeaders := make(http.Header)
 38472  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 38473  	for k, v := range c.header_ {
 38474  		reqHeaders[k] = v
 38475  	}
 38476  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38477  	if c.ifNoneMatch_ != "" {
 38478  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38479  	}
 38480  	var body io.Reader = nil
 38481  	c.urlParams_.Set("alt", alt)
 38482  	c.urlParams_.Set("prettyPrint", "false")
 38483  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
 38484  	urls += "?" + c.urlParams_.Encode()
 38485  	req, err := http.NewRequest("GET", urls, body)
 38486  	if err != nil {
 38487  		return nil, err
 38488  	}
 38489  	req.Header = reqHeaders
 38490  	googleapi.Expand(req.URL, map[string]string{
 38491  		"profileId": strconv.FormatInt(c.profileId, 10),
 38492  		"projectId": strconv.FormatInt(c.projectId, 10),
 38493  	})
 38494  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38495  }
 38496  
 38497  // Do executes the "dfareporting.orderDocuments.list" call.
 38498  // Exactly one of *OrderDocumentsListResponse or error will be non-nil.
 38499  // Any non-2xx status code is an error. Response headers are in either
 38500  // *OrderDocumentsListResponse.ServerResponse.Header or (if a response
 38501  // was returned at all) in error.(*googleapi.Error).Header. Use
 38502  // googleapi.IsNotModified to check whether the returned error was
 38503  // because http.StatusNotModified was returned.
 38504  func (c *OrderDocumentsListCall) Do(opts ...googleapi.CallOption) (*OrderDocumentsListResponse, error) {
 38505  	gensupport.SetOptions(c.urlParams_, opts...)
 38506  	res, err := c.doRequest("json")
 38507  	if res != nil && res.StatusCode == http.StatusNotModified {
 38508  		if res.Body != nil {
 38509  			res.Body.Close()
 38510  		}
 38511  		return nil, &googleapi.Error{
 38512  			Code:   res.StatusCode,
 38513  			Header: res.Header,
 38514  		}
 38515  	}
 38516  	if err != nil {
 38517  		return nil, err
 38518  	}
 38519  	defer googleapi.CloseBody(res)
 38520  	if err := googleapi.CheckResponse(res); err != nil {
 38521  		return nil, err
 38522  	}
 38523  	ret := &OrderDocumentsListResponse{
 38524  		ServerResponse: googleapi.ServerResponse{
 38525  			Header:         res.Header,
 38526  			HTTPStatusCode: res.StatusCode,
 38527  		},
 38528  	}
 38529  	target := &ret
 38530  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38531  		return nil, err
 38532  	}
 38533  	return ret, nil
 38534  	// {
 38535  	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
 38536  	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
 38537  	//   "httpMethod": "GET",
 38538  	//   "id": "dfareporting.orderDocuments.list",
 38539  	//   "parameterOrder": [
 38540  	//     "profileId",
 38541  	//     "projectId"
 38542  	//   ],
 38543  	//   "parameters": {
 38544  	//     "approved": {
 38545  	//       "description": "Select only order documents that have been approved by at least one user.",
 38546  	//       "location": "query",
 38547  	//       "type": "boolean"
 38548  	//     },
 38549  	//     "ids": {
 38550  	//       "description": "Select only order documents with these IDs.",
 38551  	//       "format": "int64",
 38552  	//       "location": "query",
 38553  	//       "repeated": true,
 38554  	//       "type": "string"
 38555  	//     },
 38556  	//     "maxResults": {
 38557  	//       "default": "1000",
 38558  	//       "description": "Maximum number of results to return.",
 38559  	//       "format": "int32",
 38560  	//       "location": "query",
 38561  	//       "maximum": "1000",
 38562  	//       "minimum": "0",
 38563  	//       "type": "integer"
 38564  	//     },
 38565  	//     "orderId": {
 38566  	//       "description": "Select only order documents for specified orders.",
 38567  	//       "format": "int64",
 38568  	//       "location": "query",
 38569  	//       "repeated": true,
 38570  	//       "type": "string"
 38571  	//     },
 38572  	//     "pageToken": {
 38573  	//       "description": "Value of the nextPageToken from the previous result page.",
 38574  	//       "location": "query",
 38575  	//       "type": "string"
 38576  	//     },
 38577  	//     "profileId": {
 38578  	//       "description": "User profile ID associated with this request.",
 38579  	//       "format": "int64",
 38580  	//       "location": "path",
 38581  	//       "required": true,
 38582  	//       "type": "string"
 38583  	//     },
 38584  	//     "projectId": {
 38585  	//       "description": "Project ID for order documents.",
 38586  	//       "format": "int64",
 38587  	//       "location": "path",
 38588  	//       "required": true,
 38589  	//       "type": "string"
 38590  	//     },
 38591  	//     "searchString": {
 38592  	//       "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\".",
 38593  	//       "location": "query",
 38594  	//       "type": "string"
 38595  	//     },
 38596  	//     "siteId": {
 38597  	//       "description": "Select only order documents that are associated with these sites.",
 38598  	//       "format": "int64",
 38599  	//       "location": "query",
 38600  	//       "repeated": true,
 38601  	//       "type": "string"
 38602  	//     },
 38603  	//     "sortField": {
 38604  	//       "default": "ID",
 38605  	//       "description": "Field by which to sort the list.",
 38606  	//       "enum": [
 38607  	//         "ID",
 38608  	//         "NAME"
 38609  	//       ],
 38610  	//       "enumDescriptions": [
 38611  	//         "",
 38612  	//         ""
 38613  	//       ],
 38614  	//       "location": "query",
 38615  	//       "type": "string"
 38616  	//     },
 38617  	//     "sortOrder": {
 38618  	//       "default": "ASCENDING",
 38619  	//       "description": "Order of sorted results.",
 38620  	//       "enum": [
 38621  	//         "ASCENDING",
 38622  	//         "DESCENDING"
 38623  	//       ],
 38624  	//       "enumDescriptions": [
 38625  	//         "",
 38626  	//         ""
 38627  	//       ],
 38628  	//       "location": "query",
 38629  	//       "type": "string"
 38630  	//     }
 38631  	//   },
 38632  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
 38633  	//   "response": {
 38634  	//     "$ref": "OrderDocumentsListResponse"
 38635  	//   },
 38636  	//   "scopes": [
 38637  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38638  	//   ]
 38639  	// }
 38640  
 38641  }
 38642  
 38643  // Pages invokes f for each page of results.
 38644  // A non-nil error returned from f will halt the iteration.
 38645  // The provided context supersedes any context provided to the Context method.
 38646  func (c *OrderDocumentsListCall) Pages(ctx context.Context, f func(*OrderDocumentsListResponse) error) error {
 38647  	c.ctx_ = ctx
 38648  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 38649  	for {
 38650  		x, err := c.Do()
 38651  		if err != nil {
 38652  			return err
 38653  		}
 38654  		if err := f(x); err != nil {
 38655  			return err
 38656  		}
 38657  		if x.NextPageToken == "" {
 38658  			return nil
 38659  		}
 38660  		c.PageToken(x.NextPageToken)
 38661  	}
 38662  }
 38663  
 38664  // method id "dfareporting.orders.get":
 38665  
 38666  type OrdersGetCall struct {
 38667  	s            *Service
 38668  	profileId    int64
 38669  	projectId    int64
 38670  	id           int64
 38671  	urlParams_   gensupport.URLParams
 38672  	ifNoneMatch_ string
 38673  	ctx_         context.Context
 38674  	header_      http.Header
 38675  }
 38676  
 38677  // Get: Gets one order by ID.
 38678  //
 38679  // - id: Order ID.
 38680  // - profileId: User profile ID associated with this request.
 38681  // - projectId: Project ID for orders.
 38682  func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
 38683  	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38684  	c.profileId = profileId
 38685  	c.projectId = projectId
 38686  	c.id = id
 38687  	return c
 38688  }
 38689  
 38690  // Fields allows partial responses to be retrieved. See
 38691  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38692  // for more information.
 38693  func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
 38694  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38695  	return c
 38696  }
 38697  
 38698  // IfNoneMatch sets the optional parameter which makes the operation
 38699  // fail if the object's ETag matches the given value. This is useful for
 38700  // getting updates only after the object has changed since the last
 38701  // request. Use googleapi.IsNotModified to check whether the response
 38702  // error from Do is the result of In-None-Match.
 38703  func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
 38704  	c.ifNoneMatch_ = entityTag
 38705  	return c
 38706  }
 38707  
 38708  // Context sets the context to be used in this call's Do method. Any
 38709  // pending HTTP request will be aborted if the provided context is
 38710  // canceled.
 38711  func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
 38712  	c.ctx_ = ctx
 38713  	return c
 38714  }
 38715  
 38716  // Header returns an http.Header that can be modified by the caller to
 38717  // add HTTP headers to the request.
 38718  func (c *OrdersGetCall) Header() http.Header {
 38719  	if c.header_ == nil {
 38720  		c.header_ = make(http.Header)
 38721  	}
 38722  	return c.header_
 38723  }
 38724  
 38725  func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 38726  	reqHeaders := make(http.Header)
 38727  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 38728  	for k, v := range c.header_ {
 38729  		reqHeaders[k] = v
 38730  	}
 38731  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38732  	if c.ifNoneMatch_ != "" {
 38733  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38734  	}
 38735  	var body io.Reader = nil
 38736  	c.urlParams_.Set("alt", alt)
 38737  	c.urlParams_.Set("prettyPrint", "false")
 38738  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
 38739  	urls += "?" + c.urlParams_.Encode()
 38740  	req, err := http.NewRequest("GET", urls, body)
 38741  	if err != nil {
 38742  		return nil, err
 38743  	}
 38744  	req.Header = reqHeaders
 38745  	googleapi.Expand(req.URL, map[string]string{
 38746  		"profileId": strconv.FormatInt(c.profileId, 10),
 38747  		"projectId": strconv.FormatInt(c.projectId, 10),
 38748  		"id":        strconv.FormatInt(c.id, 10),
 38749  	})
 38750  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38751  }
 38752  
 38753  // Do executes the "dfareporting.orders.get" call.
 38754  // Exactly one of *Order or error will be non-nil. Any non-2xx status
 38755  // code is an error. Response headers are in either
 38756  // *Order.ServerResponse.Header or (if a response was returned at all)
 38757  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 38758  // check whether the returned error was because http.StatusNotModified
 38759  // was returned.
 38760  func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
 38761  	gensupport.SetOptions(c.urlParams_, opts...)
 38762  	res, err := c.doRequest("json")
 38763  	if res != nil && res.StatusCode == http.StatusNotModified {
 38764  		if res.Body != nil {
 38765  			res.Body.Close()
 38766  		}
 38767  		return nil, &googleapi.Error{
 38768  			Code:   res.StatusCode,
 38769  			Header: res.Header,
 38770  		}
 38771  	}
 38772  	if err != nil {
 38773  		return nil, err
 38774  	}
 38775  	defer googleapi.CloseBody(res)
 38776  	if err := googleapi.CheckResponse(res); err != nil {
 38777  		return nil, err
 38778  	}
 38779  	ret := &Order{
 38780  		ServerResponse: googleapi.ServerResponse{
 38781  			Header:         res.Header,
 38782  			HTTPStatusCode: res.StatusCode,
 38783  		},
 38784  	}
 38785  	target := &ret
 38786  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38787  		return nil, err
 38788  	}
 38789  	return ret, nil
 38790  	// {
 38791  	//   "description": "Gets one order by ID.",
 38792  	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
 38793  	//   "httpMethod": "GET",
 38794  	//   "id": "dfareporting.orders.get",
 38795  	//   "parameterOrder": [
 38796  	//     "profileId",
 38797  	//     "projectId",
 38798  	//     "id"
 38799  	//   ],
 38800  	//   "parameters": {
 38801  	//     "id": {
 38802  	//       "description": "Order ID.",
 38803  	//       "format": "int64",
 38804  	//       "location": "path",
 38805  	//       "required": true,
 38806  	//       "type": "string"
 38807  	//     },
 38808  	//     "profileId": {
 38809  	//       "description": "User profile ID associated with this request.",
 38810  	//       "format": "int64",
 38811  	//       "location": "path",
 38812  	//       "required": true,
 38813  	//       "type": "string"
 38814  	//     },
 38815  	//     "projectId": {
 38816  	//       "description": "Project ID for orders.",
 38817  	//       "format": "int64",
 38818  	//       "location": "path",
 38819  	//       "required": true,
 38820  	//       "type": "string"
 38821  	//     }
 38822  	//   },
 38823  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
 38824  	//   "response": {
 38825  	//     "$ref": "Order"
 38826  	//   },
 38827  	//   "scopes": [
 38828  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38829  	//   ]
 38830  	// }
 38831  
 38832  }
 38833  
 38834  // method id "dfareporting.orders.list":
 38835  
 38836  type OrdersListCall struct {
 38837  	s            *Service
 38838  	profileId    int64
 38839  	projectId    int64
 38840  	urlParams_   gensupport.URLParams
 38841  	ifNoneMatch_ string
 38842  	ctx_         context.Context
 38843  	header_      http.Header
 38844  }
 38845  
 38846  // List: Retrieves a list of orders, possibly filtered. This method
 38847  // supports paging.
 38848  //
 38849  // - profileId: User profile ID associated with this request.
 38850  // - projectId: Project ID for orders.
 38851  func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
 38852  	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38853  	c.profileId = profileId
 38854  	c.projectId = projectId
 38855  	return c
 38856  }
 38857  
 38858  // Ids sets the optional parameter "ids": Select only orders with these
 38859  // IDs.
 38860  func (c *OrdersListCall) Ids(ids ...int64) *OrdersListCall {
 38861  	var ids_ []string
 38862  	for _, v := range ids {
 38863  		ids_ = append(ids_, fmt.Sprint(v))
 38864  	}
 38865  	c.urlParams_.SetMulti("ids", ids_)
 38866  	return c
 38867  }
 38868  
 38869  // MaxResults sets the optional parameter "maxResults": Maximum number
 38870  // of results to return.
 38871  func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
 38872  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 38873  	return c
 38874  }
 38875  
 38876  // PageToken sets the optional parameter "pageToken": Value of the
 38877  // nextPageToken from the previous result page.
 38878  func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
 38879  	c.urlParams_.Set("pageToken", pageToken)
 38880  	return c
 38881  }
 38882  
 38883  // SearchString sets the optional parameter "searchString": Allows
 38884  // searching for orders by name or ID. Wildcards (*) are allowed. For
 38885  // example, "order*2015" will return orders with names like "order June
 38886  // 2015", "order April 2015", or simply "order 2015". Most of the
 38887  // searches also add wildcards implicitly at the start and the end of
 38888  // the search string. For example, a search string of "order" will match
 38889  // orders with name "my order", "order 2015", or simply "order".
 38890  func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
 38891  	c.urlParams_.Set("searchString", searchString)
 38892  	return c
 38893  }
 38894  
 38895  // SiteId sets the optional parameter "siteId": Select only orders that
 38896  // are associated with these site IDs.
 38897  func (c *OrdersListCall) SiteId(siteId ...int64) *OrdersListCall {
 38898  	var siteId_ []string
 38899  	for _, v := range siteId {
 38900  		siteId_ = append(siteId_, fmt.Sprint(v))
 38901  	}
 38902  	c.urlParams_.SetMulti("siteId", siteId_)
 38903  	return c
 38904  }
 38905  
 38906  // SortField sets the optional parameter "sortField": Field by which to
 38907  // sort the list.
 38908  //
 38909  // Possible values:
 38910  //
 38911  //	"ID" (default)
 38912  //	"NAME"
 38913  func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
 38914  	c.urlParams_.Set("sortField", sortField)
 38915  	return c
 38916  }
 38917  
 38918  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 38919  // results.
 38920  //
 38921  // Possible values:
 38922  //
 38923  //	"ASCENDING" (default)
 38924  //	"DESCENDING"
 38925  func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
 38926  	c.urlParams_.Set("sortOrder", sortOrder)
 38927  	return c
 38928  }
 38929  
 38930  // Fields allows partial responses to be retrieved. See
 38931  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38932  // for more information.
 38933  func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
 38934  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38935  	return c
 38936  }
 38937  
 38938  // IfNoneMatch sets the optional parameter which makes the operation
 38939  // fail if the object's ETag matches the given value. This is useful for
 38940  // getting updates only after the object has changed since the last
 38941  // request. Use googleapi.IsNotModified to check whether the response
 38942  // error from Do is the result of In-None-Match.
 38943  func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
 38944  	c.ifNoneMatch_ = entityTag
 38945  	return c
 38946  }
 38947  
 38948  // Context sets the context to be used in this call's Do method. Any
 38949  // pending HTTP request will be aborted if the provided context is
 38950  // canceled.
 38951  func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
 38952  	c.ctx_ = ctx
 38953  	return c
 38954  }
 38955  
 38956  // Header returns an http.Header that can be modified by the caller to
 38957  // add HTTP headers to the request.
 38958  func (c *OrdersListCall) Header() http.Header {
 38959  	if c.header_ == nil {
 38960  		c.header_ = make(http.Header)
 38961  	}
 38962  	return c.header_
 38963  }
 38964  
 38965  func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 38966  	reqHeaders := make(http.Header)
 38967  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 38968  	for k, v := range c.header_ {
 38969  		reqHeaders[k] = v
 38970  	}
 38971  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38972  	if c.ifNoneMatch_ != "" {
 38973  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38974  	}
 38975  	var body io.Reader = nil
 38976  	c.urlParams_.Set("alt", alt)
 38977  	c.urlParams_.Set("prettyPrint", "false")
 38978  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
 38979  	urls += "?" + c.urlParams_.Encode()
 38980  	req, err := http.NewRequest("GET", urls, body)
 38981  	if err != nil {
 38982  		return nil, err
 38983  	}
 38984  	req.Header = reqHeaders
 38985  	googleapi.Expand(req.URL, map[string]string{
 38986  		"profileId": strconv.FormatInt(c.profileId, 10),
 38987  		"projectId": strconv.FormatInt(c.projectId, 10),
 38988  	})
 38989  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38990  }
 38991  
 38992  // Do executes the "dfareporting.orders.list" call.
 38993  // Exactly one of *OrdersListResponse or error will be non-nil. Any
 38994  // non-2xx status code is an error. Response headers are in either
 38995  // *OrdersListResponse.ServerResponse.Header or (if a response was
 38996  // returned at all) in error.(*googleapi.Error).Header. Use
 38997  // googleapi.IsNotModified to check whether the returned error was
 38998  // because http.StatusNotModified was returned.
 38999  func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
 39000  	gensupport.SetOptions(c.urlParams_, opts...)
 39001  	res, err := c.doRequest("json")
 39002  	if res != nil && res.StatusCode == http.StatusNotModified {
 39003  		if res.Body != nil {
 39004  			res.Body.Close()
 39005  		}
 39006  		return nil, &googleapi.Error{
 39007  			Code:   res.StatusCode,
 39008  			Header: res.Header,
 39009  		}
 39010  	}
 39011  	if err != nil {
 39012  		return nil, err
 39013  	}
 39014  	defer googleapi.CloseBody(res)
 39015  	if err := googleapi.CheckResponse(res); err != nil {
 39016  		return nil, err
 39017  	}
 39018  	ret := &OrdersListResponse{
 39019  		ServerResponse: googleapi.ServerResponse{
 39020  			Header:         res.Header,
 39021  			HTTPStatusCode: res.StatusCode,
 39022  		},
 39023  	}
 39024  	target := &ret
 39025  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39026  		return nil, err
 39027  	}
 39028  	return ret, nil
 39029  	// {
 39030  	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
 39031  	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders",
 39032  	//   "httpMethod": "GET",
 39033  	//   "id": "dfareporting.orders.list",
 39034  	//   "parameterOrder": [
 39035  	//     "profileId",
 39036  	//     "projectId"
 39037  	//   ],
 39038  	//   "parameters": {
 39039  	//     "ids": {
 39040  	//       "description": "Select only orders with these IDs.",
 39041  	//       "format": "int64",
 39042  	//       "location": "query",
 39043  	//       "repeated": true,
 39044  	//       "type": "string"
 39045  	//     },
 39046  	//     "maxResults": {
 39047  	//       "default": "1000",
 39048  	//       "description": "Maximum number of results to return.",
 39049  	//       "format": "int32",
 39050  	//       "location": "query",
 39051  	//       "maximum": "1000",
 39052  	//       "minimum": "0",
 39053  	//       "type": "integer"
 39054  	//     },
 39055  	//     "pageToken": {
 39056  	//       "description": "Value of the nextPageToken from the previous result page.",
 39057  	//       "location": "query",
 39058  	//       "type": "string"
 39059  	//     },
 39060  	//     "profileId": {
 39061  	//       "description": "User profile ID associated with this request.",
 39062  	//       "format": "int64",
 39063  	//       "location": "path",
 39064  	//       "required": true,
 39065  	//       "type": "string"
 39066  	//     },
 39067  	//     "projectId": {
 39068  	//       "description": "Project ID for orders.",
 39069  	//       "format": "int64",
 39070  	//       "location": "path",
 39071  	//       "required": true,
 39072  	//       "type": "string"
 39073  	//     },
 39074  	//     "searchString": {
 39075  	//       "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\".",
 39076  	//       "location": "query",
 39077  	//       "type": "string"
 39078  	//     },
 39079  	//     "siteId": {
 39080  	//       "description": "Select only orders that are associated with these site IDs.",
 39081  	//       "format": "int64",
 39082  	//       "location": "query",
 39083  	//       "repeated": true,
 39084  	//       "type": "string"
 39085  	//     },
 39086  	//     "sortField": {
 39087  	//       "default": "ID",
 39088  	//       "description": "Field by which to sort the list.",
 39089  	//       "enum": [
 39090  	//         "ID",
 39091  	//         "NAME"
 39092  	//       ],
 39093  	//       "enumDescriptions": [
 39094  	//         "",
 39095  	//         ""
 39096  	//       ],
 39097  	//       "location": "query",
 39098  	//       "type": "string"
 39099  	//     },
 39100  	//     "sortOrder": {
 39101  	//       "default": "ASCENDING",
 39102  	//       "description": "Order of sorted results.",
 39103  	//       "enum": [
 39104  	//         "ASCENDING",
 39105  	//         "DESCENDING"
 39106  	//       ],
 39107  	//       "enumDescriptions": [
 39108  	//         "",
 39109  	//         ""
 39110  	//       ],
 39111  	//       "location": "query",
 39112  	//       "type": "string"
 39113  	//     }
 39114  	//   },
 39115  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders",
 39116  	//   "response": {
 39117  	//     "$ref": "OrdersListResponse"
 39118  	//   },
 39119  	//   "scopes": [
 39120  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39121  	//   ]
 39122  	// }
 39123  
 39124  }
 39125  
 39126  // Pages invokes f for each page of results.
 39127  // A non-nil error returned from f will halt the iteration.
 39128  // The provided context supersedes any context provided to the Context method.
 39129  func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
 39130  	c.ctx_ = ctx
 39131  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 39132  	for {
 39133  		x, err := c.Do()
 39134  		if err != nil {
 39135  			return err
 39136  		}
 39137  		if err := f(x); err != nil {
 39138  			return err
 39139  		}
 39140  		if x.NextPageToken == "" {
 39141  			return nil
 39142  		}
 39143  		c.PageToken(x.NextPageToken)
 39144  	}
 39145  }
 39146  
 39147  // method id "dfareporting.placementGroups.get":
 39148  
 39149  type PlacementGroupsGetCall struct {
 39150  	s            *Service
 39151  	profileId    int64
 39152  	id           int64
 39153  	urlParams_   gensupport.URLParams
 39154  	ifNoneMatch_ string
 39155  	ctx_         context.Context
 39156  	header_      http.Header
 39157  }
 39158  
 39159  // Get: Gets one placement group by ID.
 39160  //
 39161  // - id: Placement group ID.
 39162  // - profileId: User profile ID associated with this request.
 39163  func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
 39164  	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39165  	c.profileId = profileId
 39166  	c.id = id
 39167  	return c
 39168  }
 39169  
 39170  // Fields allows partial responses to be retrieved. See
 39171  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39172  // for more information.
 39173  func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
 39174  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39175  	return c
 39176  }
 39177  
 39178  // IfNoneMatch sets the optional parameter which makes the operation
 39179  // fail if the object's ETag matches the given value. This is useful for
 39180  // getting updates only after the object has changed since the last
 39181  // request. Use googleapi.IsNotModified to check whether the response
 39182  // error from Do is the result of In-None-Match.
 39183  func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
 39184  	c.ifNoneMatch_ = entityTag
 39185  	return c
 39186  }
 39187  
 39188  // Context sets the context to be used in this call's Do method. Any
 39189  // pending HTTP request will be aborted if the provided context is
 39190  // canceled.
 39191  func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
 39192  	c.ctx_ = ctx
 39193  	return c
 39194  }
 39195  
 39196  // Header returns an http.Header that can be modified by the caller to
 39197  // add HTTP headers to the request.
 39198  func (c *PlacementGroupsGetCall) Header() http.Header {
 39199  	if c.header_ == nil {
 39200  		c.header_ = make(http.Header)
 39201  	}
 39202  	return c.header_
 39203  }
 39204  
 39205  func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 39206  	reqHeaders := make(http.Header)
 39207  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 39208  	for k, v := range c.header_ {
 39209  		reqHeaders[k] = v
 39210  	}
 39211  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39212  	if c.ifNoneMatch_ != "" {
 39213  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 39214  	}
 39215  	var body io.Reader = nil
 39216  	c.urlParams_.Set("alt", alt)
 39217  	c.urlParams_.Set("prettyPrint", "false")
 39218  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
 39219  	urls += "?" + c.urlParams_.Encode()
 39220  	req, err := http.NewRequest("GET", urls, body)
 39221  	if err != nil {
 39222  		return nil, err
 39223  	}
 39224  	req.Header = reqHeaders
 39225  	googleapi.Expand(req.URL, map[string]string{
 39226  		"profileId": strconv.FormatInt(c.profileId, 10),
 39227  		"id":        strconv.FormatInt(c.id, 10),
 39228  	})
 39229  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39230  }
 39231  
 39232  // Do executes the "dfareporting.placementGroups.get" call.
 39233  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 39234  // status code is an error. Response headers are in either
 39235  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 39236  // at all) in error.(*googleapi.Error).Header. Use
 39237  // googleapi.IsNotModified to check whether the returned error was
 39238  // because http.StatusNotModified was returned.
 39239  func (c *PlacementGroupsGetCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 39240  	gensupport.SetOptions(c.urlParams_, opts...)
 39241  	res, err := c.doRequest("json")
 39242  	if res != nil && res.StatusCode == http.StatusNotModified {
 39243  		if res.Body != nil {
 39244  			res.Body.Close()
 39245  		}
 39246  		return nil, &googleapi.Error{
 39247  			Code:   res.StatusCode,
 39248  			Header: res.Header,
 39249  		}
 39250  	}
 39251  	if err != nil {
 39252  		return nil, err
 39253  	}
 39254  	defer googleapi.CloseBody(res)
 39255  	if err := googleapi.CheckResponse(res); err != nil {
 39256  		return nil, err
 39257  	}
 39258  	ret := &PlacementGroup{
 39259  		ServerResponse: googleapi.ServerResponse{
 39260  			Header:         res.Header,
 39261  			HTTPStatusCode: res.StatusCode,
 39262  		},
 39263  	}
 39264  	target := &ret
 39265  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39266  		return nil, err
 39267  	}
 39268  	return ret, nil
 39269  	// {
 39270  	//   "description": "Gets one placement group by ID.",
 39271  	//   "flatPath": "userprofiles/{profileId}/placementGroups/{id}",
 39272  	//   "httpMethod": "GET",
 39273  	//   "id": "dfareporting.placementGroups.get",
 39274  	//   "parameterOrder": [
 39275  	//     "profileId",
 39276  	//     "id"
 39277  	//   ],
 39278  	//   "parameters": {
 39279  	//     "id": {
 39280  	//       "description": "Placement group ID.",
 39281  	//       "format": "int64",
 39282  	//       "location": "path",
 39283  	//       "required": true,
 39284  	//       "type": "string"
 39285  	//     },
 39286  	//     "profileId": {
 39287  	//       "description": "User profile ID associated with this request.",
 39288  	//       "format": "int64",
 39289  	//       "location": "path",
 39290  	//       "required": true,
 39291  	//       "type": "string"
 39292  	//     }
 39293  	//   },
 39294  	//   "path": "userprofiles/{profileId}/placementGroups/{id}",
 39295  	//   "response": {
 39296  	//     "$ref": "PlacementGroup"
 39297  	//   },
 39298  	//   "scopes": [
 39299  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39300  	//   ]
 39301  	// }
 39302  
 39303  }
 39304  
 39305  // method id "dfareporting.placementGroups.insert":
 39306  
 39307  type PlacementGroupsInsertCall struct {
 39308  	s              *Service
 39309  	profileId      int64
 39310  	placementgroup *PlacementGroup
 39311  	urlParams_     gensupport.URLParams
 39312  	ctx_           context.Context
 39313  	header_        http.Header
 39314  }
 39315  
 39316  // Insert: Inserts a new placement group.
 39317  //
 39318  // - profileId: User profile ID associated with this request.
 39319  func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
 39320  	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39321  	c.profileId = profileId
 39322  	c.placementgroup = placementgroup
 39323  	return c
 39324  }
 39325  
 39326  // Fields allows partial responses to be retrieved. See
 39327  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39328  // for more information.
 39329  func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
 39330  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39331  	return c
 39332  }
 39333  
 39334  // Context sets the context to be used in this call's Do method. Any
 39335  // pending HTTP request will be aborted if the provided context is
 39336  // canceled.
 39337  func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
 39338  	c.ctx_ = ctx
 39339  	return c
 39340  }
 39341  
 39342  // Header returns an http.Header that can be modified by the caller to
 39343  // add HTTP headers to the request.
 39344  func (c *PlacementGroupsInsertCall) Header() http.Header {
 39345  	if c.header_ == nil {
 39346  		c.header_ = make(http.Header)
 39347  	}
 39348  	return c.header_
 39349  }
 39350  
 39351  func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 39352  	reqHeaders := make(http.Header)
 39353  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 39354  	for k, v := range c.header_ {
 39355  		reqHeaders[k] = v
 39356  	}
 39357  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39358  	var body io.Reader = nil
 39359  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 39360  	if err != nil {
 39361  		return nil, err
 39362  	}
 39363  	reqHeaders.Set("Content-Type", "application/json")
 39364  	c.urlParams_.Set("alt", alt)
 39365  	c.urlParams_.Set("prettyPrint", "false")
 39366  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 39367  	urls += "?" + c.urlParams_.Encode()
 39368  	req, err := http.NewRequest("POST", urls, body)
 39369  	if err != nil {
 39370  		return nil, err
 39371  	}
 39372  	req.Header = reqHeaders
 39373  	googleapi.Expand(req.URL, map[string]string{
 39374  		"profileId": strconv.FormatInt(c.profileId, 10),
 39375  	})
 39376  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39377  }
 39378  
 39379  // Do executes the "dfareporting.placementGroups.insert" call.
 39380  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 39381  // status code is an error. Response headers are in either
 39382  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 39383  // at all) in error.(*googleapi.Error).Header. Use
 39384  // googleapi.IsNotModified to check whether the returned error was
 39385  // because http.StatusNotModified was returned.
 39386  func (c *PlacementGroupsInsertCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 39387  	gensupport.SetOptions(c.urlParams_, opts...)
 39388  	res, err := c.doRequest("json")
 39389  	if res != nil && res.StatusCode == http.StatusNotModified {
 39390  		if res.Body != nil {
 39391  			res.Body.Close()
 39392  		}
 39393  		return nil, &googleapi.Error{
 39394  			Code:   res.StatusCode,
 39395  			Header: res.Header,
 39396  		}
 39397  	}
 39398  	if err != nil {
 39399  		return nil, err
 39400  	}
 39401  	defer googleapi.CloseBody(res)
 39402  	if err := googleapi.CheckResponse(res); err != nil {
 39403  		return nil, err
 39404  	}
 39405  	ret := &PlacementGroup{
 39406  		ServerResponse: googleapi.ServerResponse{
 39407  			Header:         res.Header,
 39408  			HTTPStatusCode: res.StatusCode,
 39409  		},
 39410  	}
 39411  	target := &ret
 39412  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39413  		return nil, err
 39414  	}
 39415  	return ret, nil
 39416  	// {
 39417  	//   "description": "Inserts a new placement group.",
 39418  	//   "flatPath": "userprofiles/{profileId}/placementGroups",
 39419  	//   "httpMethod": "POST",
 39420  	//   "id": "dfareporting.placementGroups.insert",
 39421  	//   "parameterOrder": [
 39422  	//     "profileId"
 39423  	//   ],
 39424  	//   "parameters": {
 39425  	//     "profileId": {
 39426  	//       "description": "User profile ID associated with this request.",
 39427  	//       "format": "int64",
 39428  	//       "location": "path",
 39429  	//       "required": true,
 39430  	//       "type": "string"
 39431  	//     }
 39432  	//   },
 39433  	//   "path": "userprofiles/{profileId}/placementGroups",
 39434  	//   "request": {
 39435  	//     "$ref": "PlacementGroup"
 39436  	//   },
 39437  	//   "response": {
 39438  	//     "$ref": "PlacementGroup"
 39439  	//   },
 39440  	//   "scopes": [
 39441  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39442  	//   ]
 39443  	// }
 39444  
 39445  }
 39446  
 39447  // method id "dfareporting.placementGroups.list":
 39448  
 39449  type PlacementGroupsListCall struct {
 39450  	s            *Service
 39451  	profileId    int64
 39452  	urlParams_   gensupport.URLParams
 39453  	ifNoneMatch_ string
 39454  	ctx_         context.Context
 39455  	header_      http.Header
 39456  }
 39457  
 39458  // List: Retrieves a list of placement groups, possibly filtered. This
 39459  // method supports paging.
 39460  //
 39461  // - profileId: User profile ID associated with this request.
 39462  func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
 39463  	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39464  	c.profileId = profileId
 39465  	return c
 39466  }
 39467  
 39468  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 39469  // only placement groups that belong to these advertisers.
 39470  func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementGroupsListCall {
 39471  	var advertiserIds_ []string
 39472  	for _, v := range advertiserIds {
 39473  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 39474  	}
 39475  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 39476  	return c
 39477  }
 39478  
 39479  // Archived sets the optional parameter "archived": Select only archived
 39480  // placements. Don't set this field to select both archived and
 39481  // non-archived placements.
 39482  func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
 39483  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 39484  	return c
 39485  }
 39486  
 39487  // CampaignIds sets the optional parameter "campaignIds": Select only
 39488  // placement groups that belong to these campaigns.
 39489  func (c *PlacementGroupsListCall) CampaignIds(campaignIds ...int64) *PlacementGroupsListCall {
 39490  	var campaignIds_ []string
 39491  	for _, v := range campaignIds {
 39492  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 39493  	}
 39494  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 39495  	return c
 39496  }
 39497  
 39498  // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 39499  // Select only placement groups that are associated with these content
 39500  // categories.
 39501  func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementGroupsListCall {
 39502  	var contentCategoryIds_ []string
 39503  	for _, v := range contentCategoryIds {
 39504  		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
 39505  	}
 39506  	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
 39507  	return c
 39508  }
 39509  
 39510  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 39511  // Select only placement groups that are associated with these directory
 39512  // sites.
 39513  func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementGroupsListCall {
 39514  	var directorySiteIds_ []string
 39515  	for _, v := range directorySiteIds {
 39516  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 39517  	}
 39518  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 39519  	return c
 39520  }
 39521  
 39522  // Ids sets the optional parameter "ids": Select only placement groups
 39523  // with these IDs.
 39524  func (c *PlacementGroupsListCall) Ids(ids ...int64) *PlacementGroupsListCall {
 39525  	var ids_ []string
 39526  	for _, v := range ids {
 39527  		ids_ = append(ids_, fmt.Sprint(v))
 39528  	}
 39529  	c.urlParams_.SetMulti("ids", ids_)
 39530  	return c
 39531  }
 39532  
 39533  // MaxEndDate sets the optional parameter "maxEndDate": Select only
 39534  // placements or placement groups whose end date is on or before the
 39535  // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 39536  func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
 39537  	c.urlParams_.Set("maxEndDate", maxEndDate)
 39538  	return c
 39539  }
 39540  
 39541  // MaxResults sets the optional parameter "maxResults": Maximum number
 39542  // of results to return.
 39543  func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
 39544  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 39545  	return c
 39546  }
 39547  
 39548  // MaxStartDate sets the optional parameter "maxStartDate": Select only
 39549  // placements or placement groups whose start date is on or before the
 39550  // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 39551  func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
 39552  	c.urlParams_.Set("maxStartDate", maxStartDate)
 39553  	return c
 39554  }
 39555  
 39556  // MinEndDate sets the optional parameter "minEndDate": Select only
 39557  // placements or placement groups whose end date is on or after the
 39558  // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 39559  func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
 39560  	c.urlParams_.Set("minEndDate", minEndDate)
 39561  	return c
 39562  }
 39563  
 39564  // MinStartDate sets the optional parameter "minStartDate": Select only
 39565  // placements or placement groups whose start date is on or after the
 39566  // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 39567  func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
 39568  	c.urlParams_.Set("minStartDate", minStartDate)
 39569  	return c
 39570  }
 39571  
 39572  // PageToken sets the optional parameter "pageToken": Value of the
 39573  // nextPageToken from the previous result page.
 39574  func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
 39575  	c.urlParams_.Set("pageToken", pageToken)
 39576  	return c
 39577  }
 39578  
 39579  // PlacementGroupType sets the optional parameter "placementGroupType":
 39580  // Select only placement groups belonging with this group type. A
 39581  // package is a simple group of placements that acts as a single pricing
 39582  // point for a group of tags. A roadblock is a group of placements that
 39583  // not only acts as a single pricing point but also assumes that all the
 39584  // tags in it will be served at the same time. A roadblock requires one
 39585  // of its assigned placements to be marked as primary for reporting.
 39586  //
 39587  // Possible values:
 39588  //
 39589  //	"PLACEMENT_PACKAGE"
 39590  //	"PLACEMENT_ROADBLOCK"
 39591  func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
 39592  	c.urlParams_.Set("placementGroupType", placementGroupType)
 39593  	return c
 39594  }
 39595  
 39596  // PlacementStrategyIds sets the optional parameter
 39597  // "placementStrategyIds": Select only placement groups that are
 39598  // associated with these placement strategies.
 39599  func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementGroupsListCall {
 39600  	var placementStrategyIds_ []string
 39601  	for _, v := range placementStrategyIds {
 39602  		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
 39603  	}
 39604  	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
 39605  	return c
 39606  }
 39607  
 39608  // PricingTypes sets the optional parameter "pricingTypes": Select only
 39609  // placement groups with these pricing types.
 39610  //
 39611  // Possible values:
 39612  //
 39613  //	"PRICING_TYPE_CPM"
 39614  //	"PRICING_TYPE_CPC"
 39615  //	"PRICING_TYPE_CPA"
 39616  //	"PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 39617  //	"PRICING_TYPE_FLAT_RATE_CLICKS"
 39618  //	"PRICING_TYPE_CPM_ACTIVEVIEW"
 39619  func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
 39620  	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 39621  	return c
 39622  }
 39623  
 39624  // SearchString sets the optional parameter "searchString": Allows
 39625  // searching for placement groups by name or ID. Wildcards (*) are
 39626  // allowed. For example, "placement*2015" will return placement groups
 39627  // with names like "placement group June 2015", "placement group May
 39628  // 2015", or simply "placements 2015". Most of the searches also add
 39629  // wildcards implicitly at the start and the end of the search string.
 39630  // For example, a search string of "placementgroup" will match placement
 39631  // groups with name "my placementgroup", "placementgroup 2015", or
 39632  // simply "placementgroup".
 39633  func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
 39634  	c.urlParams_.Set("searchString", searchString)
 39635  	return c
 39636  }
 39637  
 39638  // SiteIds sets the optional parameter "siteIds": Select only placement
 39639  // groups that are associated with these sites.
 39640  func (c *PlacementGroupsListCall) SiteIds(siteIds ...int64) *PlacementGroupsListCall {
 39641  	var siteIds_ []string
 39642  	for _, v := range siteIds {
 39643  		siteIds_ = append(siteIds_, fmt.Sprint(v))
 39644  	}
 39645  	c.urlParams_.SetMulti("siteIds", siteIds_)
 39646  	return c
 39647  }
 39648  
 39649  // SortField sets the optional parameter "sortField": Field by which to
 39650  // sort the list.
 39651  //
 39652  // Possible values:
 39653  //
 39654  //	"ID" (default)
 39655  //	"NAME"
 39656  func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
 39657  	c.urlParams_.Set("sortField", sortField)
 39658  	return c
 39659  }
 39660  
 39661  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 39662  // results.
 39663  //
 39664  // Possible values:
 39665  //
 39666  //	"ASCENDING" (default)
 39667  //	"DESCENDING"
 39668  func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
 39669  	c.urlParams_.Set("sortOrder", sortOrder)
 39670  	return c
 39671  }
 39672  
 39673  // Fields allows partial responses to be retrieved. See
 39674  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39675  // for more information.
 39676  func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
 39677  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39678  	return c
 39679  }
 39680  
 39681  // IfNoneMatch sets the optional parameter which makes the operation
 39682  // fail if the object's ETag matches the given value. This is useful for
 39683  // getting updates only after the object has changed since the last
 39684  // request. Use googleapi.IsNotModified to check whether the response
 39685  // error from Do is the result of In-None-Match.
 39686  func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
 39687  	c.ifNoneMatch_ = entityTag
 39688  	return c
 39689  }
 39690  
 39691  // Context sets the context to be used in this call's Do method. Any
 39692  // pending HTTP request will be aborted if the provided context is
 39693  // canceled.
 39694  func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
 39695  	c.ctx_ = ctx
 39696  	return c
 39697  }
 39698  
 39699  // Header returns an http.Header that can be modified by the caller to
 39700  // add HTTP headers to the request.
 39701  func (c *PlacementGroupsListCall) Header() http.Header {
 39702  	if c.header_ == nil {
 39703  		c.header_ = make(http.Header)
 39704  	}
 39705  	return c.header_
 39706  }
 39707  
 39708  func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
 39709  	reqHeaders := make(http.Header)
 39710  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 39711  	for k, v := range c.header_ {
 39712  		reqHeaders[k] = v
 39713  	}
 39714  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39715  	if c.ifNoneMatch_ != "" {
 39716  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 39717  	}
 39718  	var body io.Reader = nil
 39719  	c.urlParams_.Set("alt", alt)
 39720  	c.urlParams_.Set("prettyPrint", "false")
 39721  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 39722  	urls += "?" + c.urlParams_.Encode()
 39723  	req, err := http.NewRequest("GET", urls, body)
 39724  	if err != nil {
 39725  		return nil, err
 39726  	}
 39727  	req.Header = reqHeaders
 39728  	googleapi.Expand(req.URL, map[string]string{
 39729  		"profileId": strconv.FormatInt(c.profileId, 10),
 39730  	})
 39731  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39732  }
 39733  
 39734  // Do executes the "dfareporting.placementGroups.list" call.
 39735  // Exactly one of *PlacementGroupsListResponse or error will be non-nil.
 39736  // Any non-2xx status code is an error. Response headers are in either
 39737  // *PlacementGroupsListResponse.ServerResponse.Header or (if a response
 39738  // was returned at all) in error.(*googleapi.Error).Header. Use
 39739  // googleapi.IsNotModified to check whether the returned error was
 39740  // because http.StatusNotModified was returned.
 39741  func (c *PlacementGroupsListCall) Do(opts ...googleapi.CallOption) (*PlacementGroupsListResponse, error) {
 39742  	gensupport.SetOptions(c.urlParams_, opts...)
 39743  	res, err := c.doRequest("json")
 39744  	if res != nil && res.StatusCode == http.StatusNotModified {
 39745  		if res.Body != nil {
 39746  			res.Body.Close()
 39747  		}
 39748  		return nil, &googleapi.Error{
 39749  			Code:   res.StatusCode,
 39750  			Header: res.Header,
 39751  		}
 39752  	}
 39753  	if err != nil {
 39754  		return nil, err
 39755  	}
 39756  	defer googleapi.CloseBody(res)
 39757  	if err := googleapi.CheckResponse(res); err != nil {
 39758  		return nil, err
 39759  	}
 39760  	ret := &PlacementGroupsListResponse{
 39761  		ServerResponse: googleapi.ServerResponse{
 39762  			Header:         res.Header,
 39763  			HTTPStatusCode: res.StatusCode,
 39764  		},
 39765  	}
 39766  	target := &ret
 39767  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39768  		return nil, err
 39769  	}
 39770  	return ret, nil
 39771  	// {
 39772  	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
 39773  	//   "flatPath": "userprofiles/{profileId}/placementGroups",
 39774  	//   "httpMethod": "GET",
 39775  	//   "id": "dfareporting.placementGroups.list",
 39776  	//   "parameterOrder": [
 39777  	//     "profileId"
 39778  	//   ],
 39779  	//   "parameters": {
 39780  	//     "advertiserIds": {
 39781  	//       "description": "Select only placement groups that belong to these advertisers.",
 39782  	//       "format": "int64",
 39783  	//       "location": "query",
 39784  	//       "repeated": true,
 39785  	//       "type": "string"
 39786  	//     },
 39787  	//     "archived": {
 39788  	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
 39789  	//       "location": "query",
 39790  	//       "type": "boolean"
 39791  	//     },
 39792  	//     "campaignIds": {
 39793  	//       "description": "Select only placement groups that belong to these campaigns.",
 39794  	//       "format": "int64",
 39795  	//       "location": "query",
 39796  	//       "repeated": true,
 39797  	//       "type": "string"
 39798  	//     },
 39799  	//     "contentCategoryIds": {
 39800  	//       "description": "Select only placement groups that are associated with these content categories.",
 39801  	//       "format": "int64",
 39802  	//       "location": "query",
 39803  	//       "repeated": true,
 39804  	//       "type": "string"
 39805  	//     },
 39806  	//     "directorySiteIds": {
 39807  	//       "description": "Select only placement groups that are associated with these directory sites.",
 39808  	//       "format": "int64",
 39809  	//       "location": "query",
 39810  	//       "repeated": true,
 39811  	//       "type": "string"
 39812  	//     },
 39813  	//     "ids": {
 39814  	//       "description": "Select only placement groups with these IDs.",
 39815  	//       "format": "int64",
 39816  	//       "location": "query",
 39817  	//       "repeated": true,
 39818  	//       "type": "string"
 39819  	//     },
 39820  	//     "maxEndDate": {
 39821  	//       "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\".",
 39822  	//       "location": "query",
 39823  	//       "type": "string"
 39824  	//     },
 39825  	//     "maxResults": {
 39826  	//       "default": "800",
 39827  	//       "description": "Maximum number of results to return.",
 39828  	//       "format": "int32",
 39829  	//       "location": "query",
 39830  	//       "maximum": "800",
 39831  	//       "minimum": "0",
 39832  	//       "type": "integer"
 39833  	//     },
 39834  	//     "maxStartDate": {
 39835  	//       "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\".",
 39836  	//       "location": "query",
 39837  	//       "type": "string"
 39838  	//     },
 39839  	//     "minEndDate": {
 39840  	//       "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\".",
 39841  	//       "location": "query",
 39842  	//       "type": "string"
 39843  	//     },
 39844  	//     "minStartDate": {
 39845  	//       "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\".",
 39846  	//       "location": "query",
 39847  	//       "type": "string"
 39848  	//     },
 39849  	//     "pageToken": {
 39850  	//       "description": "Value of the nextPageToken from the previous result page.",
 39851  	//       "location": "query",
 39852  	//       "type": "string"
 39853  	//     },
 39854  	//     "placementGroupType": {
 39855  	//       "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.",
 39856  	//       "enum": [
 39857  	//         "PLACEMENT_PACKAGE",
 39858  	//         "PLACEMENT_ROADBLOCK"
 39859  	//       ],
 39860  	//       "enumDescriptions": [
 39861  	//         "",
 39862  	//         ""
 39863  	//       ],
 39864  	//       "location": "query",
 39865  	//       "type": "string"
 39866  	//     },
 39867  	//     "placementStrategyIds": {
 39868  	//       "description": "Select only placement groups that are associated with these placement strategies.",
 39869  	//       "format": "int64",
 39870  	//       "location": "query",
 39871  	//       "repeated": true,
 39872  	//       "type": "string"
 39873  	//     },
 39874  	//     "pricingTypes": {
 39875  	//       "description": "Select only placement groups with these pricing types.",
 39876  	//       "enum": [
 39877  	//         "PRICING_TYPE_CPM",
 39878  	//         "PRICING_TYPE_CPC",
 39879  	//         "PRICING_TYPE_CPA",
 39880  	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
 39881  	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
 39882  	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
 39883  	//       ],
 39884  	//       "enumDescriptions": [
 39885  	//         "",
 39886  	//         "",
 39887  	//         "",
 39888  	//         "",
 39889  	//         "",
 39890  	//         ""
 39891  	//       ],
 39892  	//       "location": "query",
 39893  	//       "repeated": true,
 39894  	//       "type": "string"
 39895  	//     },
 39896  	//     "profileId": {
 39897  	//       "description": "User profile ID associated with this request.",
 39898  	//       "format": "int64",
 39899  	//       "location": "path",
 39900  	//       "required": true,
 39901  	//       "type": "string"
 39902  	//     },
 39903  	//     "searchString": {
 39904  	//       "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\".",
 39905  	//       "location": "query",
 39906  	//       "type": "string"
 39907  	//     },
 39908  	//     "siteIds": {
 39909  	//       "description": "Select only placement groups that are associated with these sites.",
 39910  	//       "format": "int64",
 39911  	//       "location": "query",
 39912  	//       "repeated": true,
 39913  	//       "type": "string"
 39914  	//     },
 39915  	//     "sortField": {
 39916  	//       "default": "ID",
 39917  	//       "description": "Field by which to sort the list.",
 39918  	//       "enum": [
 39919  	//         "ID",
 39920  	//         "NAME"
 39921  	//       ],
 39922  	//       "enumDescriptions": [
 39923  	//         "",
 39924  	//         ""
 39925  	//       ],
 39926  	//       "location": "query",
 39927  	//       "type": "string"
 39928  	//     },
 39929  	//     "sortOrder": {
 39930  	//       "default": "ASCENDING",
 39931  	//       "description": "Order of sorted results.",
 39932  	//       "enum": [
 39933  	//         "ASCENDING",
 39934  	//         "DESCENDING"
 39935  	//       ],
 39936  	//       "enumDescriptions": [
 39937  	//         "",
 39938  	//         ""
 39939  	//       ],
 39940  	//       "location": "query",
 39941  	//       "type": "string"
 39942  	//     }
 39943  	//   },
 39944  	//   "path": "userprofiles/{profileId}/placementGroups",
 39945  	//   "response": {
 39946  	//     "$ref": "PlacementGroupsListResponse"
 39947  	//   },
 39948  	//   "scopes": [
 39949  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39950  	//   ]
 39951  	// }
 39952  
 39953  }
 39954  
 39955  // Pages invokes f for each page of results.
 39956  // A non-nil error returned from f will halt the iteration.
 39957  // The provided context supersedes any context provided to the Context method.
 39958  func (c *PlacementGroupsListCall) Pages(ctx context.Context, f func(*PlacementGroupsListResponse) error) error {
 39959  	c.ctx_ = ctx
 39960  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 39961  	for {
 39962  		x, err := c.Do()
 39963  		if err != nil {
 39964  			return err
 39965  		}
 39966  		if err := f(x); err != nil {
 39967  			return err
 39968  		}
 39969  		if x.NextPageToken == "" {
 39970  			return nil
 39971  		}
 39972  		c.PageToken(x.NextPageToken)
 39973  	}
 39974  }
 39975  
 39976  // method id "dfareporting.placementGroups.patch":
 39977  
 39978  type PlacementGroupsPatchCall struct {
 39979  	s              *Service
 39980  	profileId      int64
 39981  	placementgroup *PlacementGroup
 39982  	urlParams_     gensupport.URLParams
 39983  	ctx_           context.Context
 39984  	header_        http.Header
 39985  }
 39986  
 39987  // Patch: Updates an existing placement group. This method supports
 39988  // patch semantics.
 39989  //
 39990  // - id: PlacementGroup ID.
 39991  // - profileId: User profile ID associated with this request.
 39992  func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
 39993  	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39994  	c.profileId = profileId
 39995  	c.urlParams_.Set("id", fmt.Sprint(id))
 39996  	c.placementgroup = placementgroup
 39997  	return c
 39998  }
 39999  
 40000  // Fields allows partial responses to be retrieved. See
 40001  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40002  // for more information.
 40003  func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
 40004  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40005  	return c
 40006  }
 40007  
 40008  // Context sets the context to be used in this call's Do method. Any
 40009  // pending HTTP request will be aborted if the provided context is
 40010  // canceled.
 40011  func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
 40012  	c.ctx_ = ctx
 40013  	return c
 40014  }
 40015  
 40016  // Header returns an http.Header that can be modified by the caller to
 40017  // add HTTP headers to the request.
 40018  func (c *PlacementGroupsPatchCall) Header() http.Header {
 40019  	if c.header_ == nil {
 40020  		c.header_ = make(http.Header)
 40021  	}
 40022  	return c.header_
 40023  }
 40024  
 40025  func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 40026  	reqHeaders := make(http.Header)
 40027  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 40028  	for k, v := range c.header_ {
 40029  		reqHeaders[k] = v
 40030  	}
 40031  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40032  	var body io.Reader = nil
 40033  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 40034  	if err != nil {
 40035  		return nil, err
 40036  	}
 40037  	reqHeaders.Set("Content-Type", "application/json")
 40038  	c.urlParams_.Set("alt", alt)
 40039  	c.urlParams_.Set("prettyPrint", "false")
 40040  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 40041  	urls += "?" + c.urlParams_.Encode()
 40042  	req, err := http.NewRequest("PATCH", urls, body)
 40043  	if err != nil {
 40044  		return nil, err
 40045  	}
 40046  	req.Header = reqHeaders
 40047  	googleapi.Expand(req.URL, map[string]string{
 40048  		"profileId": strconv.FormatInt(c.profileId, 10),
 40049  	})
 40050  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40051  }
 40052  
 40053  // Do executes the "dfareporting.placementGroups.patch" call.
 40054  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 40055  // status code is an error. Response headers are in either
 40056  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 40057  // at all) in error.(*googleapi.Error).Header. Use
 40058  // googleapi.IsNotModified to check whether the returned error was
 40059  // because http.StatusNotModified was returned.
 40060  func (c *PlacementGroupsPatchCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 40061  	gensupport.SetOptions(c.urlParams_, opts...)
 40062  	res, err := c.doRequest("json")
 40063  	if res != nil && res.StatusCode == http.StatusNotModified {
 40064  		if res.Body != nil {
 40065  			res.Body.Close()
 40066  		}
 40067  		return nil, &googleapi.Error{
 40068  			Code:   res.StatusCode,
 40069  			Header: res.Header,
 40070  		}
 40071  	}
 40072  	if err != nil {
 40073  		return nil, err
 40074  	}
 40075  	defer googleapi.CloseBody(res)
 40076  	if err := googleapi.CheckResponse(res); err != nil {
 40077  		return nil, err
 40078  	}
 40079  	ret := &PlacementGroup{
 40080  		ServerResponse: googleapi.ServerResponse{
 40081  			Header:         res.Header,
 40082  			HTTPStatusCode: res.StatusCode,
 40083  		},
 40084  	}
 40085  	target := &ret
 40086  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40087  		return nil, err
 40088  	}
 40089  	return ret, nil
 40090  	// {
 40091  	//   "description": "Updates an existing placement group. This method supports patch semantics.",
 40092  	//   "flatPath": "userprofiles/{profileId}/placementGroups",
 40093  	//   "httpMethod": "PATCH",
 40094  	//   "id": "dfareporting.placementGroups.patch",
 40095  	//   "parameterOrder": [
 40096  	//     "profileId",
 40097  	//     "id"
 40098  	//   ],
 40099  	//   "parameters": {
 40100  	//     "id": {
 40101  	//       "description": "PlacementGroup ID.",
 40102  	//       "format": "int64",
 40103  	//       "location": "query",
 40104  	//       "required": true,
 40105  	//       "type": "string"
 40106  	//     },
 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}/placementGroups",
 40116  	//   "request": {
 40117  	//     "$ref": "PlacementGroup"
 40118  	//   },
 40119  	//   "response": {
 40120  	//     "$ref": "PlacementGroup"
 40121  	//   },
 40122  	//   "scopes": [
 40123  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40124  	//   ]
 40125  	// }
 40126  
 40127  }
 40128  
 40129  // method id "dfareporting.placementGroups.update":
 40130  
 40131  type PlacementGroupsUpdateCall struct {
 40132  	s              *Service
 40133  	profileId      int64
 40134  	placementgroup *PlacementGroup
 40135  	urlParams_     gensupport.URLParams
 40136  	ctx_           context.Context
 40137  	header_        http.Header
 40138  }
 40139  
 40140  // Update: Updates an existing placement group.
 40141  //
 40142  // - profileId: User profile ID associated with this request.
 40143  func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
 40144  	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40145  	c.profileId = profileId
 40146  	c.placementgroup = placementgroup
 40147  	return c
 40148  }
 40149  
 40150  // Fields allows partial responses to be retrieved. See
 40151  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40152  // for more information.
 40153  func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
 40154  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40155  	return c
 40156  }
 40157  
 40158  // Context sets the context to be used in this call's Do method. Any
 40159  // pending HTTP request will be aborted if the provided context is
 40160  // canceled.
 40161  func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
 40162  	c.ctx_ = ctx
 40163  	return c
 40164  }
 40165  
 40166  // Header returns an http.Header that can be modified by the caller to
 40167  // add HTTP headers to the request.
 40168  func (c *PlacementGroupsUpdateCall) Header() http.Header {
 40169  	if c.header_ == nil {
 40170  		c.header_ = make(http.Header)
 40171  	}
 40172  	return c.header_
 40173  }
 40174  
 40175  func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 40176  	reqHeaders := make(http.Header)
 40177  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 40178  	for k, v := range c.header_ {
 40179  		reqHeaders[k] = v
 40180  	}
 40181  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40182  	var body io.Reader = nil
 40183  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 40184  	if err != nil {
 40185  		return nil, err
 40186  	}
 40187  	reqHeaders.Set("Content-Type", "application/json")
 40188  	c.urlParams_.Set("alt", alt)
 40189  	c.urlParams_.Set("prettyPrint", "false")
 40190  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 40191  	urls += "?" + c.urlParams_.Encode()
 40192  	req, err := http.NewRequest("PUT", urls, body)
 40193  	if err != nil {
 40194  		return nil, err
 40195  	}
 40196  	req.Header = reqHeaders
 40197  	googleapi.Expand(req.URL, map[string]string{
 40198  		"profileId": strconv.FormatInt(c.profileId, 10),
 40199  	})
 40200  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40201  }
 40202  
 40203  // Do executes the "dfareporting.placementGroups.update" call.
 40204  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 40205  // status code is an error. Response headers are in either
 40206  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 40207  // at all) in error.(*googleapi.Error).Header. Use
 40208  // googleapi.IsNotModified to check whether the returned error was
 40209  // because http.StatusNotModified was returned.
 40210  func (c *PlacementGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 40211  	gensupport.SetOptions(c.urlParams_, opts...)
 40212  	res, err := c.doRequest("json")
 40213  	if res != nil && res.StatusCode == http.StatusNotModified {
 40214  		if res.Body != nil {
 40215  			res.Body.Close()
 40216  		}
 40217  		return nil, &googleapi.Error{
 40218  			Code:   res.StatusCode,
 40219  			Header: res.Header,
 40220  		}
 40221  	}
 40222  	if err != nil {
 40223  		return nil, err
 40224  	}
 40225  	defer googleapi.CloseBody(res)
 40226  	if err := googleapi.CheckResponse(res); err != nil {
 40227  		return nil, err
 40228  	}
 40229  	ret := &PlacementGroup{
 40230  		ServerResponse: googleapi.ServerResponse{
 40231  			Header:         res.Header,
 40232  			HTTPStatusCode: res.StatusCode,
 40233  		},
 40234  	}
 40235  	target := &ret
 40236  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40237  		return nil, err
 40238  	}
 40239  	return ret, nil
 40240  	// {
 40241  	//   "description": "Updates an existing placement group.",
 40242  	//   "flatPath": "userprofiles/{profileId}/placementGroups",
 40243  	//   "httpMethod": "PUT",
 40244  	//   "id": "dfareporting.placementGroups.update",
 40245  	//   "parameterOrder": [
 40246  	//     "profileId"
 40247  	//   ],
 40248  	//   "parameters": {
 40249  	//     "profileId": {
 40250  	//       "description": "User profile ID associated with this request.",
 40251  	//       "format": "int64",
 40252  	//       "location": "path",
 40253  	//       "required": true,
 40254  	//       "type": "string"
 40255  	//     }
 40256  	//   },
 40257  	//   "path": "userprofiles/{profileId}/placementGroups",
 40258  	//   "request": {
 40259  	//     "$ref": "PlacementGroup"
 40260  	//   },
 40261  	//   "response": {
 40262  	//     "$ref": "PlacementGroup"
 40263  	//   },
 40264  	//   "scopes": [
 40265  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40266  	//   ]
 40267  	// }
 40268  
 40269  }
 40270  
 40271  // method id "dfareporting.placementStrategies.delete":
 40272  
 40273  type PlacementStrategiesDeleteCall struct {
 40274  	s          *Service
 40275  	profileId  int64
 40276  	id         int64
 40277  	urlParams_ gensupport.URLParams
 40278  	ctx_       context.Context
 40279  	header_    http.Header
 40280  }
 40281  
 40282  // Delete: Deletes an existing placement strategy.
 40283  //
 40284  // - id: Placement strategy ID.
 40285  // - profileId: User profile ID associated with this request.
 40286  func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
 40287  	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40288  	c.profileId = profileId
 40289  	c.id = id
 40290  	return c
 40291  }
 40292  
 40293  // Fields allows partial responses to be retrieved. See
 40294  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40295  // for more information.
 40296  func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
 40297  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40298  	return c
 40299  }
 40300  
 40301  // Context sets the context to be used in this call's Do method. Any
 40302  // pending HTTP request will be aborted if the provided context is
 40303  // canceled.
 40304  func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
 40305  	c.ctx_ = ctx
 40306  	return c
 40307  }
 40308  
 40309  // Header returns an http.Header that can be modified by the caller to
 40310  // add HTTP headers to the request.
 40311  func (c *PlacementStrategiesDeleteCall) Header() http.Header {
 40312  	if c.header_ == nil {
 40313  		c.header_ = make(http.Header)
 40314  	}
 40315  	return c.header_
 40316  }
 40317  
 40318  func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 40319  	reqHeaders := make(http.Header)
 40320  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 40321  	for k, v := range c.header_ {
 40322  		reqHeaders[k] = v
 40323  	}
 40324  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40325  	var body io.Reader = nil
 40326  	c.urlParams_.Set("alt", alt)
 40327  	c.urlParams_.Set("prettyPrint", "false")
 40328  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
 40329  	urls += "?" + c.urlParams_.Encode()
 40330  	req, err := http.NewRequest("DELETE", urls, body)
 40331  	if err != nil {
 40332  		return nil, err
 40333  	}
 40334  	req.Header = reqHeaders
 40335  	googleapi.Expand(req.URL, map[string]string{
 40336  		"profileId": strconv.FormatInt(c.profileId, 10),
 40337  		"id":        strconv.FormatInt(c.id, 10),
 40338  	})
 40339  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40340  }
 40341  
 40342  // Do executes the "dfareporting.placementStrategies.delete" call.
 40343  func (c *PlacementStrategiesDeleteCall) Do(opts ...googleapi.CallOption) error {
 40344  	gensupport.SetOptions(c.urlParams_, opts...)
 40345  	res, err := c.doRequest("json")
 40346  	if err != nil {
 40347  		return err
 40348  	}
 40349  	defer googleapi.CloseBody(res)
 40350  	if err := googleapi.CheckResponse(res); err != nil {
 40351  		return err
 40352  	}
 40353  	return nil
 40354  	// {
 40355  	//   "description": "Deletes an existing placement strategy.",
 40356  	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
 40357  	//   "httpMethod": "DELETE",
 40358  	//   "id": "dfareporting.placementStrategies.delete",
 40359  	//   "parameterOrder": [
 40360  	//     "profileId",
 40361  	//     "id"
 40362  	//   ],
 40363  	//   "parameters": {
 40364  	//     "id": {
 40365  	//       "description": "Placement strategy ID.",
 40366  	//       "format": "int64",
 40367  	//       "location": "path",
 40368  	//       "required": true,
 40369  	//       "type": "string"
 40370  	//     },
 40371  	//     "profileId": {
 40372  	//       "description": "User profile ID associated with this request.",
 40373  	//       "format": "int64",
 40374  	//       "location": "path",
 40375  	//       "required": true,
 40376  	//       "type": "string"
 40377  	//     }
 40378  	//   },
 40379  	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
 40380  	//   "scopes": [
 40381  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40382  	//   ]
 40383  	// }
 40384  
 40385  }
 40386  
 40387  // method id "dfareporting.placementStrategies.get":
 40388  
 40389  type PlacementStrategiesGetCall struct {
 40390  	s            *Service
 40391  	profileId    int64
 40392  	id           int64
 40393  	urlParams_   gensupport.URLParams
 40394  	ifNoneMatch_ string
 40395  	ctx_         context.Context
 40396  	header_      http.Header
 40397  }
 40398  
 40399  // Get: Gets one placement strategy by ID.
 40400  //
 40401  // - id: Placement strategy ID.
 40402  // - profileId: User profile ID associated with this request.
 40403  func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
 40404  	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40405  	c.profileId = profileId
 40406  	c.id = id
 40407  	return c
 40408  }
 40409  
 40410  // Fields allows partial responses to be retrieved. See
 40411  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40412  // for more information.
 40413  func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
 40414  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40415  	return c
 40416  }
 40417  
 40418  // IfNoneMatch sets the optional parameter which makes the operation
 40419  // fail if the object's ETag matches the given value. This is useful for
 40420  // getting updates only after the object has changed since the last
 40421  // request. Use googleapi.IsNotModified to check whether the response
 40422  // error from Do is the result of In-None-Match.
 40423  func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
 40424  	c.ifNoneMatch_ = entityTag
 40425  	return c
 40426  }
 40427  
 40428  // Context sets the context to be used in this call's Do method. Any
 40429  // pending HTTP request will be aborted if the provided context is
 40430  // canceled.
 40431  func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
 40432  	c.ctx_ = ctx
 40433  	return c
 40434  }
 40435  
 40436  // Header returns an http.Header that can be modified by the caller to
 40437  // add HTTP headers to the request.
 40438  func (c *PlacementStrategiesGetCall) Header() http.Header {
 40439  	if c.header_ == nil {
 40440  		c.header_ = make(http.Header)
 40441  	}
 40442  	return c.header_
 40443  }
 40444  
 40445  func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
 40446  	reqHeaders := make(http.Header)
 40447  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 40448  	for k, v := range c.header_ {
 40449  		reqHeaders[k] = v
 40450  	}
 40451  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40452  	if c.ifNoneMatch_ != "" {
 40453  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 40454  	}
 40455  	var body io.Reader = nil
 40456  	c.urlParams_.Set("alt", alt)
 40457  	c.urlParams_.Set("prettyPrint", "false")
 40458  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
 40459  	urls += "?" + c.urlParams_.Encode()
 40460  	req, err := http.NewRequest("GET", urls, body)
 40461  	if err != nil {
 40462  		return nil, err
 40463  	}
 40464  	req.Header = reqHeaders
 40465  	googleapi.Expand(req.URL, map[string]string{
 40466  		"profileId": strconv.FormatInt(c.profileId, 10),
 40467  		"id":        strconv.FormatInt(c.id, 10),
 40468  	})
 40469  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40470  }
 40471  
 40472  // Do executes the "dfareporting.placementStrategies.get" call.
 40473  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 40474  // non-2xx status code is an error. Response headers are in either
 40475  // *PlacementStrategy.ServerResponse.Header or (if a response was
 40476  // returned at all) in error.(*googleapi.Error).Header. Use
 40477  // googleapi.IsNotModified to check whether the returned error was
 40478  // because http.StatusNotModified was returned.
 40479  func (c *PlacementStrategiesGetCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 40480  	gensupport.SetOptions(c.urlParams_, opts...)
 40481  	res, err := c.doRequest("json")
 40482  	if res != nil && res.StatusCode == http.StatusNotModified {
 40483  		if res.Body != nil {
 40484  			res.Body.Close()
 40485  		}
 40486  		return nil, &googleapi.Error{
 40487  			Code:   res.StatusCode,
 40488  			Header: res.Header,
 40489  		}
 40490  	}
 40491  	if err != nil {
 40492  		return nil, err
 40493  	}
 40494  	defer googleapi.CloseBody(res)
 40495  	if err := googleapi.CheckResponse(res); err != nil {
 40496  		return nil, err
 40497  	}
 40498  	ret := &PlacementStrategy{
 40499  		ServerResponse: googleapi.ServerResponse{
 40500  			Header:         res.Header,
 40501  			HTTPStatusCode: res.StatusCode,
 40502  		},
 40503  	}
 40504  	target := &ret
 40505  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40506  		return nil, err
 40507  	}
 40508  	return ret, nil
 40509  	// {
 40510  	//   "description": "Gets one placement strategy by ID.",
 40511  	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
 40512  	//   "httpMethod": "GET",
 40513  	//   "id": "dfareporting.placementStrategies.get",
 40514  	//   "parameterOrder": [
 40515  	//     "profileId",
 40516  	//     "id"
 40517  	//   ],
 40518  	//   "parameters": {
 40519  	//     "id": {
 40520  	//       "description": "Placement strategy ID.",
 40521  	//       "format": "int64",
 40522  	//       "location": "path",
 40523  	//       "required": true,
 40524  	//       "type": "string"
 40525  	//     },
 40526  	//     "profileId": {
 40527  	//       "description": "User profile ID associated with this request.",
 40528  	//       "format": "int64",
 40529  	//       "location": "path",
 40530  	//       "required": true,
 40531  	//       "type": "string"
 40532  	//     }
 40533  	//   },
 40534  	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
 40535  	//   "response": {
 40536  	//     "$ref": "PlacementStrategy"
 40537  	//   },
 40538  	//   "scopes": [
 40539  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40540  	//   ]
 40541  	// }
 40542  
 40543  }
 40544  
 40545  // method id "dfareporting.placementStrategies.insert":
 40546  
 40547  type PlacementStrategiesInsertCall struct {
 40548  	s                 *Service
 40549  	profileId         int64
 40550  	placementstrategy *PlacementStrategy
 40551  	urlParams_        gensupport.URLParams
 40552  	ctx_              context.Context
 40553  	header_           http.Header
 40554  }
 40555  
 40556  // Insert: Inserts a new placement strategy.
 40557  //
 40558  // - profileId: User profile ID associated with this request.
 40559  func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
 40560  	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40561  	c.profileId = profileId
 40562  	c.placementstrategy = placementstrategy
 40563  	return c
 40564  }
 40565  
 40566  // Fields allows partial responses to be retrieved. See
 40567  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40568  // for more information.
 40569  func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
 40570  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40571  	return c
 40572  }
 40573  
 40574  // Context sets the context to be used in this call's Do method. Any
 40575  // pending HTTP request will be aborted if the provided context is
 40576  // canceled.
 40577  func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
 40578  	c.ctx_ = ctx
 40579  	return c
 40580  }
 40581  
 40582  // Header returns an http.Header that can be modified by the caller to
 40583  // add HTTP headers to the request.
 40584  func (c *PlacementStrategiesInsertCall) Header() http.Header {
 40585  	if c.header_ == nil {
 40586  		c.header_ = make(http.Header)
 40587  	}
 40588  	return c.header_
 40589  }
 40590  
 40591  func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
 40592  	reqHeaders := make(http.Header)
 40593  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 40594  	for k, v := range c.header_ {
 40595  		reqHeaders[k] = v
 40596  	}
 40597  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40598  	var body io.Reader = nil
 40599  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 40600  	if err != nil {
 40601  		return nil, err
 40602  	}
 40603  	reqHeaders.Set("Content-Type", "application/json")
 40604  	c.urlParams_.Set("alt", alt)
 40605  	c.urlParams_.Set("prettyPrint", "false")
 40606  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 40607  	urls += "?" + c.urlParams_.Encode()
 40608  	req, err := http.NewRequest("POST", urls, body)
 40609  	if err != nil {
 40610  		return nil, err
 40611  	}
 40612  	req.Header = reqHeaders
 40613  	googleapi.Expand(req.URL, map[string]string{
 40614  		"profileId": strconv.FormatInt(c.profileId, 10),
 40615  	})
 40616  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40617  }
 40618  
 40619  // Do executes the "dfareporting.placementStrategies.insert" call.
 40620  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 40621  // non-2xx status code is an error. Response headers are in either
 40622  // *PlacementStrategy.ServerResponse.Header or (if a response was
 40623  // returned at all) in error.(*googleapi.Error).Header. Use
 40624  // googleapi.IsNotModified to check whether the returned error was
 40625  // because http.StatusNotModified was returned.
 40626  func (c *PlacementStrategiesInsertCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 40627  	gensupport.SetOptions(c.urlParams_, opts...)
 40628  	res, err := c.doRequest("json")
 40629  	if res != nil && res.StatusCode == http.StatusNotModified {
 40630  		if res.Body != nil {
 40631  			res.Body.Close()
 40632  		}
 40633  		return nil, &googleapi.Error{
 40634  			Code:   res.StatusCode,
 40635  			Header: res.Header,
 40636  		}
 40637  	}
 40638  	if err != nil {
 40639  		return nil, err
 40640  	}
 40641  	defer googleapi.CloseBody(res)
 40642  	if err := googleapi.CheckResponse(res); err != nil {
 40643  		return nil, err
 40644  	}
 40645  	ret := &PlacementStrategy{
 40646  		ServerResponse: googleapi.ServerResponse{
 40647  			Header:         res.Header,
 40648  			HTTPStatusCode: res.StatusCode,
 40649  		},
 40650  	}
 40651  	target := &ret
 40652  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40653  		return nil, err
 40654  	}
 40655  	return ret, nil
 40656  	// {
 40657  	//   "description": "Inserts a new placement strategy.",
 40658  	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
 40659  	//   "httpMethod": "POST",
 40660  	//   "id": "dfareporting.placementStrategies.insert",
 40661  	//   "parameterOrder": [
 40662  	//     "profileId"
 40663  	//   ],
 40664  	//   "parameters": {
 40665  	//     "profileId": {
 40666  	//       "description": "User profile ID associated with this request.",
 40667  	//       "format": "int64",
 40668  	//       "location": "path",
 40669  	//       "required": true,
 40670  	//       "type": "string"
 40671  	//     }
 40672  	//   },
 40673  	//   "path": "userprofiles/{profileId}/placementStrategies",
 40674  	//   "request": {
 40675  	//     "$ref": "PlacementStrategy"
 40676  	//   },
 40677  	//   "response": {
 40678  	//     "$ref": "PlacementStrategy"
 40679  	//   },
 40680  	//   "scopes": [
 40681  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40682  	//   ]
 40683  	// }
 40684  
 40685  }
 40686  
 40687  // method id "dfareporting.placementStrategies.list":
 40688  
 40689  type PlacementStrategiesListCall struct {
 40690  	s            *Service
 40691  	profileId    int64
 40692  	urlParams_   gensupport.URLParams
 40693  	ifNoneMatch_ string
 40694  	ctx_         context.Context
 40695  	header_      http.Header
 40696  }
 40697  
 40698  // List: Retrieves a list of placement strategies, possibly filtered.
 40699  // This method supports paging.
 40700  //
 40701  // - profileId: User profile ID associated with this request.
 40702  func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
 40703  	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40704  	c.profileId = profileId
 40705  	return c
 40706  }
 40707  
 40708  // Ids sets the optional parameter "ids": Select only placement
 40709  // strategies with these IDs.
 40710  func (c *PlacementStrategiesListCall) Ids(ids ...int64) *PlacementStrategiesListCall {
 40711  	var ids_ []string
 40712  	for _, v := range ids {
 40713  		ids_ = append(ids_, fmt.Sprint(v))
 40714  	}
 40715  	c.urlParams_.SetMulti("ids", ids_)
 40716  	return c
 40717  }
 40718  
 40719  // MaxResults sets the optional parameter "maxResults": Maximum number
 40720  // of results to return.
 40721  func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
 40722  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 40723  	return c
 40724  }
 40725  
 40726  // PageToken sets the optional parameter "pageToken": Value of the
 40727  // nextPageToken from the previous result page.
 40728  func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
 40729  	c.urlParams_.Set("pageToken", pageToken)
 40730  	return c
 40731  }
 40732  
 40733  // SearchString sets the optional parameter "searchString": Allows
 40734  // searching for objects by name or ID. Wildcards (*) are allowed. For
 40735  // example, "placementstrategy*2015" will return objects with names like
 40736  // "placementstrategy June 2015", "placementstrategy April 2015", or
 40737  // simply "placementstrategy 2015". Most of the searches also add
 40738  // wildcards implicitly at the start and the end of the search string.
 40739  // For example, a search string of "placementstrategy" will match
 40740  // objects with name "my placementstrategy", "placementstrategy 2015",
 40741  // or simply "placementstrategy".
 40742  func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
 40743  	c.urlParams_.Set("searchString", searchString)
 40744  	return c
 40745  }
 40746  
 40747  // SortField sets the optional parameter "sortField": Field by which to
 40748  // sort the list.
 40749  //
 40750  // Possible values:
 40751  //
 40752  //	"ID" (default)
 40753  //	"NAME"
 40754  func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
 40755  	c.urlParams_.Set("sortField", sortField)
 40756  	return c
 40757  }
 40758  
 40759  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 40760  // results.
 40761  //
 40762  // Possible values:
 40763  //
 40764  //	"ASCENDING" (default)
 40765  //	"DESCENDING"
 40766  func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
 40767  	c.urlParams_.Set("sortOrder", sortOrder)
 40768  	return c
 40769  }
 40770  
 40771  // Fields allows partial responses to be retrieved. See
 40772  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40773  // for more information.
 40774  func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
 40775  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40776  	return c
 40777  }
 40778  
 40779  // IfNoneMatch sets the optional parameter which makes the operation
 40780  // fail if the object's ETag matches the given value. This is useful for
 40781  // getting updates only after the object has changed since the last
 40782  // request. Use googleapi.IsNotModified to check whether the response
 40783  // error from Do is the result of In-None-Match.
 40784  func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
 40785  	c.ifNoneMatch_ = entityTag
 40786  	return c
 40787  }
 40788  
 40789  // Context sets the context to be used in this call's Do method. Any
 40790  // pending HTTP request will be aborted if the provided context is
 40791  // canceled.
 40792  func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
 40793  	c.ctx_ = ctx
 40794  	return c
 40795  }
 40796  
 40797  // Header returns an http.Header that can be modified by the caller to
 40798  // add HTTP headers to the request.
 40799  func (c *PlacementStrategiesListCall) Header() http.Header {
 40800  	if c.header_ == nil {
 40801  		c.header_ = make(http.Header)
 40802  	}
 40803  	return c.header_
 40804  }
 40805  
 40806  func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
 40807  	reqHeaders := make(http.Header)
 40808  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 40809  	for k, v := range c.header_ {
 40810  		reqHeaders[k] = v
 40811  	}
 40812  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40813  	if c.ifNoneMatch_ != "" {
 40814  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 40815  	}
 40816  	var body io.Reader = nil
 40817  	c.urlParams_.Set("alt", alt)
 40818  	c.urlParams_.Set("prettyPrint", "false")
 40819  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 40820  	urls += "?" + c.urlParams_.Encode()
 40821  	req, err := http.NewRequest("GET", urls, body)
 40822  	if err != nil {
 40823  		return nil, err
 40824  	}
 40825  	req.Header = reqHeaders
 40826  	googleapi.Expand(req.URL, map[string]string{
 40827  		"profileId": strconv.FormatInt(c.profileId, 10),
 40828  	})
 40829  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40830  }
 40831  
 40832  // Do executes the "dfareporting.placementStrategies.list" call.
 40833  // Exactly one of *PlacementStrategiesListResponse or error will be
 40834  // non-nil. Any non-2xx status code is an error. Response headers are in
 40835  // either *PlacementStrategiesListResponse.ServerResponse.Header or (if
 40836  // a response was returned at all) in error.(*googleapi.Error).Header.
 40837  // Use googleapi.IsNotModified to check whether the returned error was
 40838  // because http.StatusNotModified was returned.
 40839  func (c *PlacementStrategiesListCall) Do(opts ...googleapi.CallOption) (*PlacementStrategiesListResponse, error) {
 40840  	gensupport.SetOptions(c.urlParams_, opts...)
 40841  	res, err := c.doRequest("json")
 40842  	if res != nil && res.StatusCode == http.StatusNotModified {
 40843  		if res.Body != nil {
 40844  			res.Body.Close()
 40845  		}
 40846  		return nil, &googleapi.Error{
 40847  			Code:   res.StatusCode,
 40848  			Header: res.Header,
 40849  		}
 40850  	}
 40851  	if err != nil {
 40852  		return nil, err
 40853  	}
 40854  	defer googleapi.CloseBody(res)
 40855  	if err := googleapi.CheckResponse(res); err != nil {
 40856  		return nil, err
 40857  	}
 40858  	ret := &PlacementStrategiesListResponse{
 40859  		ServerResponse: googleapi.ServerResponse{
 40860  			Header:         res.Header,
 40861  			HTTPStatusCode: res.StatusCode,
 40862  		},
 40863  	}
 40864  	target := &ret
 40865  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40866  		return nil, err
 40867  	}
 40868  	return ret, nil
 40869  	// {
 40870  	//   "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
 40871  	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
 40872  	//   "httpMethod": "GET",
 40873  	//   "id": "dfareporting.placementStrategies.list",
 40874  	//   "parameterOrder": [
 40875  	//     "profileId"
 40876  	//   ],
 40877  	//   "parameters": {
 40878  	//     "ids": {
 40879  	//       "description": "Select only placement strategies with these IDs.",
 40880  	//       "format": "int64",
 40881  	//       "location": "query",
 40882  	//       "repeated": true,
 40883  	//       "type": "string"
 40884  	//     },
 40885  	//     "maxResults": {
 40886  	//       "default": "1000",
 40887  	//       "description": "Maximum number of results to return.",
 40888  	//       "format": "int32",
 40889  	//       "location": "query",
 40890  	//       "maximum": "1000",
 40891  	//       "minimum": "0",
 40892  	//       "type": "integer"
 40893  	//     },
 40894  	//     "pageToken": {
 40895  	//       "description": "Value of the nextPageToken from the previous result page.",
 40896  	//       "location": "query",
 40897  	//       "type": "string"
 40898  	//     },
 40899  	//     "profileId": {
 40900  	//       "description": "User profile ID associated with this request.",
 40901  	//       "format": "int64",
 40902  	//       "location": "path",
 40903  	//       "required": true,
 40904  	//       "type": "string"
 40905  	//     },
 40906  	//     "searchString": {
 40907  	//       "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\".",
 40908  	//       "location": "query",
 40909  	//       "type": "string"
 40910  	//     },
 40911  	//     "sortField": {
 40912  	//       "default": "ID",
 40913  	//       "description": "Field by which to sort the list.",
 40914  	//       "enum": [
 40915  	//         "ID",
 40916  	//         "NAME"
 40917  	//       ],
 40918  	//       "enumDescriptions": [
 40919  	//         "",
 40920  	//         ""
 40921  	//       ],
 40922  	//       "location": "query",
 40923  	//       "type": "string"
 40924  	//     },
 40925  	//     "sortOrder": {
 40926  	//       "default": "ASCENDING",
 40927  	//       "description": "Order of sorted results.",
 40928  	//       "enum": [
 40929  	//         "ASCENDING",
 40930  	//         "DESCENDING"
 40931  	//       ],
 40932  	//       "enumDescriptions": [
 40933  	//         "",
 40934  	//         ""
 40935  	//       ],
 40936  	//       "location": "query",
 40937  	//       "type": "string"
 40938  	//     }
 40939  	//   },
 40940  	//   "path": "userprofiles/{profileId}/placementStrategies",
 40941  	//   "response": {
 40942  	//     "$ref": "PlacementStrategiesListResponse"
 40943  	//   },
 40944  	//   "scopes": [
 40945  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40946  	//   ]
 40947  	// }
 40948  
 40949  }
 40950  
 40951  // Pages invokes f for each page of results.
 40952  // A non-nil error returned from f will halt the iteration.
 40953  // The provided context supersedes any context provided to the Context method.
 40954  func (c *PlacementStrategiesListCall) Pages(ctx context.Context, f func(*PlacementStrategiesListResponse) error) error {
 40955  	c.ctx_ = ctx
 40956  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 40957  	for {
 40958  		x, err := c.Do()
 40959  		if err != nil {
 40960  			return err
 40961  		}
 40962  		if err := f(x); err != nil {
 40963  			return err
 40964  		}
 40965  		if x.NextPageToken == "" {
 40966  			return nil
 40967  		}
 40968  		c.PageToken(x.NextPageToken)
 40969  	}
 40970  }
 40971  
 40972  // method id "dfareporting.placementStrategies.patch":
 40973  
 40974  type PlacementStrategiesPatchCall struct {
 40975  	s                 *Service
 40976  	profileId         int64
 40977  	placementstrategy *PlacementStrategy
 40978  	urlParams_        gensupport.URLParams
 40979  	ctx_              context.Context
 40980  	header_           http.Header
 40981  }
 40982  
 40983  // Patch: Updates an existing placement strategy. This method supports
 40984  // patch semantics.
 40985  //
 40986  // - id: PlacementStrategy ID.
 40987  // - profileId: User profile ID associated with this request.
 40988  func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
 40989  	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40990  	c.profileId = profileId
 40991  	c.urlParams_.Set("id", fmt.Sprint(id))
 40992  	c.placementstrategy = placementstrategy
 40993  	return c
 40994  }
 40995  
 40996  // Fields allows partial responses to be retrieved. See
 40997  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40998  // for more information.
 40999  func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
 41000  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41001  	return c
 41002  }
 41003  
 41004  // Context sets the context to be used in this call's Do method. Any
 41005  // pending HTTP request will be aborted if the provided context is
 41006  // canceled.
 41007  func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
 41008  	c.ctx_ = ctx
 41009  	return c
 41010  }
 41011  
 41012  // Header returns an http.Header that can be modified by the caller to
 41013  // add HTTP headers to the request.
 41014  func (c *PlacementStrategiesPatchCall) Header() http.Header {
 41015  	if c.header_ == nil {
 41016  		c.header_ = make(http.Header)
 41017  	}
 41018  	return c.header_
 41019  }
 41020  
 41021  func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
 41022  	reqHeaders := make(http.Header)
 41023  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 41024  	for k, v := range c.header_ {
 41025  		reqHeaders[k] = v
 41026  	}
 41027  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41028  	var body io.Reader = nil
 41029  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 41030  	if err != nil {
 41031  		return nil, err
 41032  	}
 41033  	reqHeaders.Set("Content-Type", "application/json")
 41034  	c.urlParams_.Set("alt", alt)
 41035  	c.urlParams_.Set("prettyPrint", "false")
 41036  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 41037  	urls += "?" + c.urlParams_.Encode()
 41038  	req, err := http.NewRequest("PATCH", urls, body)
 41039  	if err != nil {
 41040  		return nil, err
 41041  	}
 41042  	req.Header = reqHeaders
 41043  	googleapi.Expand(req.URL, map[string]string{
 41044  		"profileId": strconv.FormatInt(c.profileId, 10),
 41045  	})
 41046  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41047  }
 41048  
 41049  // Do executes the "dfareporting.placementStrategies.patch" call.
 41050  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 41051  // non-2xx status code is an error. Response headers are in either
 41052  // *PlacementStrategy.ServerResponse.Header or (if a response was
 41053  // returned at all) in error.(*googleapi.Error).Header. Use
 41054  // googleapi.IsNotModified to check whether the returned error was
 41055  // because http.StatusNotModified was returned.
 41056  func (c *PlacementStrategiesPatchCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 41057  	gensupport.SetOptions(c.urlParams_, opts...)
 41058  	res, err := c.doRequest("json")
 41059  	if res != nil && res.StatusCode == http.StatusNotModified {
 41060  		if res.Body != nil {
 41061  			res.Body.Close()
 41062  		}
 41063  		return nil, &googleapi.Error{
 41064  			Code:   res.StatusCode,
 41065  			Header: res.Header,
 41066  		}
 41067  	}
 41068  	if err != nil {
 41069  		return nil, err
 41070  	}
 41071  	defer googleapi.CloseBody(res)
 41072  	if err := googleapi.CheckResponse(res); err != nil {
 41073  		return nil, err
 41074  	}
 41075  	ret := &PlacementStrategy{
 41076  		ServerResponse: googleapi.ServerResponse{
 41077  			Header:         res.Header,
 41078  			HTTPStatusCode: res.StatusCode,
 41079  		},
 41080  	}
 41081  	target := &ret
 41082  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41083  		return nil, err
 41084  	}
 41085  	return ret, nil
 41086  	// {
 41087  	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
 41088  	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
 41089  	//   "httpMethod": "PATCH",
 41090  	//   "id": "dfareporting.placementStrategies.patch",
 41091  	//   "parameterOrder": [
 41092  	//     "profileId",
 41093  	//     "id"
 41094  	//   ],
 41095  	//   "parameters": {
 41096  	//     "id": {
 41097  	//       "description": "PlacementStrategy ID.",
 41098  	//       "format": "int64",
 41099  	//       "location": "query",
 41100  	//       "required": true,
 41101  	//       "type": "string"
 41102  	//     },
 41103  	//     "profileId": {
 41104  	//       "description": "User profile ID associated with this request.",
 41105  	//       "format": "int64",
 41106  	//       "location": "path",
 41107  	//       "required": true,
 41108  	//       "type": "string"
 41109  	//     }
 41110  	//   },
 41111  	//   "path": "userprofiles/{profileId}/placementStrategies",
 41112  	//   "request": {
 41113  	//     "$ref": "PlacementStrategy"
 41114  	//   },
 41115  	//   "response": {
 41116  	//     "$ref": "PlacementStrategy"
 41117  	//   },
 41118  	//   "scopes": [
 41119  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41120  	//   ]
 41121  	// }
 41122  
 41123  }
 41124  
 41125  // method id "dfareporting.placementStrategies.update":
 41126  
 41127  type PlacementStrategiesUpdateCall struct {
 41128  	s                 *Service
 41129  	profileId         int64
 41130  	placementstrategy *PlacementStrategy
 41131  	urlParams_        gensupport.URLParams
 41132  	ctx_              context.Context
 41133  	header_           http.Header
 41134  }
 41135  
 41136  // Update: Updates an existing placement strategy.
 41137  //
 41138  // - profileId: User profile ID associated with this request.
 41139  func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
 41140  	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41141  	c.profileId = profileId
 41142  	c.placementstrategy = placementstrategy
 41143  	return c
 41144  }
 41145  
 41146  // Fields allows partial responses to be retrieved. See
 41147  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41148  // for more information.
 41149  func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
 41150  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41151  	return c
 41152  }
 41153  
 41154  // Context sets the context to be used in this call's Do method. Any
 41155  // pending HTTP request will be aborted if the provided context is
 41156  // canceled.
 41157  func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
 41158  	c.ctx_ = ctx
 41159  	return c
 41160  }
 41161  
 41162  // Header returns an http.Header that can be modified by the caller to
 41163  // add HTTP headers to the request.
 41164  func (c *PlacementStrategiesUpdateCall) Header() http.Header {
 41165  	if c.header_ == nil {
 41166  		c.header_ = make(http.Header)
 41167  	}
 41168  	return c.header_
 41169  }
 41170  
 41171  func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 41172  	reqHeaders := make(http.Header)
 41173  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 41174  	for k, v := range c.header_ {
 41175  		reqHeaders[k] = v
 41176  	}
 41177  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41178  	var body io.Reader = nil
 41179  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 41180  	if err != nil {
 41181  		return nil, err
 41182  	}
 41183  	reqHeaders.Set("Content-Type", "application/json")
 41184  	c.urlParams_.Set("alt", alt)
 41185  	c.urlParams_.Set("prettyPrint", "false")
 41186  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 41187  	urls += "?" + c.urlParams_.Encode()
 41188  	req, err := http.NewRequest("PUT", urls, body)
 41189  	if err != nil {
 41190  		return nil, err
 41191  	}
 41192  	req.Header = reqHeaders
 41193  	googleapi.Expand(req.URL, map[string]string{
 41194  		"profileId": strconv.FormatInt(c.profileId, 10),
 41195  	})
 41196  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41197  }
 41198  
 41199  // Do executes the "dfareporting.placementStrategies.update" call.
 41200  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 41201  // non-2xx status code is an error. Response headers are in either
 41202  // *PlacementStrategy.ServerResponse.Header or (if a response was
 41203  // returned at all) in error.(*googleapi.Error).Header. Use
 41204  // googleapi.IsNotModified to check whether the returned error was
 41205  // because http.StatusNotModified was returned.
 41206  func (c *PlacementStrategiesUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 41207  	gensupport.SetOptions(c.urlParams_, opts...)
 41208  	res, err := c.doRequest("json")
 41209  	if res != nil && res.StatusCode == http.StatusNotModified {
 41210  		if res.Body != nil {
 41211  			res.Body.Close()
 41212  		}
 41213  		return nil, &googleapi.Error{
 41214  			Code:   res.StatusCode,
 41215  			Header: res.Header,
 41216  		}
 41217  	}
 41218  	if err != nil {
 41219  		return nil, err
 41220  	}
 41221  	defer googleapi.CloseBody(res)
 41222  	if err := googleapi.CheckResponse(res); err != nil {
 41223  		return nil, err
 41224  	}
 41225  	ret := &PlacementStrategy{
 41226  		ServerResponse: googleapi.ServerResponse{
 41227  			Header:         res.Header,
 41228  			HTTPStatusCode: res.StatusCode,
 41229  		},
 41230  	}
 41231  	target := &ret
 41232  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41233  		return nil, err
 41234  	}
 41235  	return ret, nil
 41236  	// {
 41237  	//   "description": "Updates an existing placement strategy.",
 41238  	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
 41239  	//   "httpMethod": "PUT",
 41240  	//   "id": "dfareporting.placementStrategies.update",
 41241  	//   "parameterOrder": [
 41242  	//     "profileId"
 41243  	//   ],
 41244  	//   "parameters": {
 41245  	//     "profileId": {
 41246  	//       "description": "User profile ID associated with this request.",
 41247  	//       "format": "int64",
 41248  	//       "location": "path",
 41249  	//       "required": true,
 41250  	//       "type": "string"
 41251  	//     }
 41252  	//   },
 41253  	//   "path": "userprofiles/{profileId}/placementStrategies",
 41254  	//   "request": {
 41255  	//     "$ref": "PlacementStrategy"
 41256  	//   },
 41257  	//   "response": {
 41258  	//     "$ref": "PlacementStrategy"
 41259  	//   },
 41260  	//   "scopes": [
 41261  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41262  	//   ]
 41263  	// }
 41264  
 41265  }
 41266  
 41267  // method id "dfareporting.placements.generatetags":
 41268  
 41269  type PlacementsGeneratetagsCall struct {
 41270  	s          *Service
 41271  	profileId  int64
 41272  	urlParams_ gensupport.URLParams
 41273  	ctx_       context.Context
 41274  	header_    http.Header
 41275  }
 41276  
 41277  // Generatetags: Generates tags for a placement.
 41278  //
 41279  // - profileId: User profile ID associated with this request.
 41280  func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
 41281  	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41282  	c.profileId = profileId
 41283  	return c
 41284  }
 41285  
 41286  // CampaignId sets the optional parameter "campaignId": Generate
 41287  // placements belonging to this campaign. This is a required field.
 41288  func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
 41289  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 41290  	return c
 41291  }
 41292  
 41293  // PlacementIds sets the optional parameter "placementIds": Generate
 41294  // tags for these placements.
 41295  func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *PlacementsGeneratetagsCall {
 41296  	var placementIds_ []string
 41297  	for _, v := range placementIds {
 41298  		placementIds_ = append(placementIds_, fmt.Sprint(v))
 41299  	}
 41300  	c.urlParams_.SetMulti("placementIds", placementIds_)
 41301  	return c
 41302  }
 41303  
 41304  // TagFormats sets the optional parameter "tagFormats": Tag formats to
 41305  // generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can
 41306  // only be generated for 1x1 placements.
 41307  //
 41308  // Possible values:
 41309  //
 41310  //	"PLACEMENT_TAG_STANDARD"
 41311  //	"PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 41312  //	"PLACEMENT_TAG_IFRAME_ILAYER"
 41313  //	"PLACEMENT_TAG_INTERNAL_REDIRECT"
 41314  //	"PLACEMENT_TAG_JAVASCRIPT"
 41315  //	"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 41316  //	"PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 41317  //	"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 41318  //	"PLACEMENT_TAG_CLICK_COMMANDS"
 41319  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 41320  //	"PLACEMENT_TAG_TRACKING"
 41321  //	"PLACEMENT_TAG_TRACKING_IFRAME"
 41322  //	"PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 41323  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 41324  //	"PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 41325  //	"PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 41326  //	"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 41327  //	"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 41328  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 41329  //	"PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT"
 41330  func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
 41331  	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
 41332  	return c
 41333  }
 41334  
 41335  // Fields allows partial responses to be retrieved. See
 41336  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41337  // for more information.
 41338  func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
 41339  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41340  	return c
 41341  }
 41342  
 41343  // Context sets the context to be used in this call's Do method. Any
 41344  // pending HTTP request will be aborted if the provided context is
 41345  // canceled.
 41346  func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
 41347  	c.ctx_ = ctx
 41348  	return c
 41349  }
 41350  
 41351  // Header returns an http.Header that can be modified by the caller to
 41352  // add HTTP headers to the request.
 41353  func (c *PlacementsGeneratetagsCall) Header() http.Header {
 41354  	if c.header_ == nil {
 41355  		c.header_ = make(http.Header)
 41356  	}
 41357  	return c.header_
 41358  }
 41359  
 41360  func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
 41361  	reqHeaders := make(http.Header)
 41362  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 41363  	for k, v := range c.header_ {
 41364  		reqHeaders[k] = v
 41365  	}
 41366  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41367  	var body io.Reader = nil
 41368  	c.urlParams_.Set("alt", alt)
 41369  	c.urlParams_.Set("prettyPrint", "false")
 41370  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
 41371  	urls += "?" + c.urlParams_.Encode()
 41372  	req, err := http.NewRequest("POST", urls, body)
 41373  	if err != nil {
 41374  		return nil, err
 41375  	}
 41376  	req.Header = reqHeaders
 41377  	googleapi.Expand(req.URL, map[string]string{
 41378  		"profileId": strconv.FormatInt(c.profileId, 10),
 41379  	})
 41380  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41381  }
 41382  
 41383  // Do executes the "dfareporting.placements.generatetags" call.
 41384  // Exactly one of *PlacementsGenerateTagsResponse or error will be
 41385  // non-nil. Any non-2xx status code is an error. Response headers are in
 41386  // either *PlacementsGenerateTagsResponse.ServerResponse.Header or (if a
 41387  // response was returned at all) in error.(*googleapi.Error).Header. Use
 41388  // googleapi.IsNotModified to check whether the returned error was
 41389  // because http.StatusNotModified was returned.
 41390  func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*PlacementsGenerateTagsResponse, error) {
 41391  	gensupport.SetOptions(c.urlParams_, opts...)
 41392  	res, err := c.doRequest("json")
 41393  	if res != nil && res.StatusCode == http.StatusNotModified {
 41394  		if res.Body != nil {
 41395  			res.Body.Close()
 41396  		}
 41397  		return nil, &googleapi.Error{
 41398  			Code:   res.StatusCode,
 41399  			Header: res.Header,
 41400  		}
 41401  	}
 41402  	if err != nil {
 41403  		return nil, err
 41404  	}
 41405  	defer googleapi.CloseBody(res)
 41406  	if err := googleapi.CheckResponse(res); err != nil {
 41407  		return nil, err
 41408  	}
 41409  	ret := &PlacementsGenerateTagsResponse{
 41410  		ServerResponse: googleapi.ServerResponse{
 41411  			Header:         res.Header,
 41412  			HTTPStatusCode: res.StatusCode,
 41413  		},
 41414  	}
 41415  	target := &ret
 41416  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41417  		return nil, err
 41418  	}
 41419  	return ret, nil
 41420  	// {
 41421  	//   "description": "Generates tags for a placement.",
 41422  	//   "flatPath": "userprofiles/{profileId}/placements/generatetags",
 41423  	//   "httpMethod": "POST",
 41424  	//   "id": "dfareporting.placements.generatetags",
 41425  	//   "parameterOrder": [
 41426  	//     "profileId"
 41427  	//   ],
 41428  	//   "parameters": {
 41429  	//     "campaignId": {
 41430  	//       "description": "Generate placements belonging to this campaign. This is a required field.",
 41431  	//       "format": "int64",
 41432  	//       "location": "query",
 41433  	//       "type": "string"
 41434  	//     },
 41435  	//     "placementIds": {
 41436  	//       "description": "Generate tags for these placements.",
 41437  	//       "format": "int64",
 41438  	//       "location": "query",
 41439  	//       "repeated": true,
 41440  	//       "type": "string"
 41441  	//     },
 41442  	//     "profileId": {
 41443  	//       "description": "User profile ID associated with this request.",
 41444  	//       "format": "int64",
 41445  	//       "location": "path",
 41446  	//       "required": true,
 41447  	//       "type": "string"
 41448  	//     },
 41449  	//     "tagFormats": {
 41450  	//       "description": "Tag formats to generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
 41451  	//       "enum": [
 41452  	//         "PLACEMENT_TAG_STANDARD",
 41453  	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
 41454  	//         "PLACEMENT_TAG_IFRAME_ILAYER",
 41455  	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
 41456  	//         "PLACEMENT_TAG_JAVASCRIPT",
 41457  	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
 41458  	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
 41459  	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
 41460  	//         "PLACEMENT_TAG_CLICK_COMMANDS",
 41461  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
 41462  	//         "PLACEMENT_TAG_TRACKING",
 41463  	//         "PLACEMENT_TAG_TRACKING_IFRAME",
 41464  	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT",
 41465  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
 41466  	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
 41467  	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
 41468  	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
 41469  	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
 41470  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
 41471  	//         "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT"
 41472  	//       ],
 41473  	//       "enumDescriptions": [
 41474  	//         "",
 41475  	//         "",
 41476  	//         "",
 41477  	//         "",
 41478  	//         "",
 41479  	//         "",
 41480  	//         "",
 41481  	//         "",
 41482  	//         "",
 41483  	//         "",
 41484  	//         "",
 41485  	//         "",
 41486  	//         "",
 41487  	//         "",
 41488  	//         "",
 41489  	//         "",
 41490  	//         "",
 41491  	//         "",
 41492  	//         "",
 41493  	//         ""
 41494  	//       ],
 41495  	//       "location": "query",
 41496  	//       "repeated": true,
 41497  	//       "type": "string"
 41498  	//     }
 41499  	//   },
 41500  	//   "path": "userprofiles/{profileId}/placements/generatetags",
 41501  	//   "response": {
 41502  	//     "$ref": "PlacementsGenerateTagsResponse"
 41503  	//   },
 41504  	//   "scopes": [
 41505  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41506  	//   ]
 41507  	// }
 41508  
 41509  }
 41510  
 41511  // method id "dfareporting.placements.get":
 41512  
 41513  type PlacementsGetCall struct {
 41514  	s            *Service
 41515  	profileId    int64
 41516  	id           int64
 41517  	urlParams_   gensupport.URLParams
 41518  	ifNoneMatch_ string
 41519  	ctx_         context.Context
 41520  	header_      http.Header
 41521  }
 41522  
 41523  // Get: Gets one placement by ID.
 41524  //
 41525  // - id: Placement ID.
 41526  // - profileId: User profile ID associated with this request.
 41527  func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
 41528  	c := &PlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41529  	c.profileId = profileId
 41530  	c.id = id
 41531  	return c
 41532  }
 41533  
 41534  // Fields allows partial responses to be retrieved. See
 41535  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41536  // for more information.
 41537  func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
 41538  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41539  	return c
 41540  }
 41541  
 41542  // IfNoneMatch sets the optional parameter which makes the operation
 41543  // fail if the object's ETag matches the given value. This is useful for
 41544  // getting updates only after the object has changed since the last
 41545  // request. Use googleapi.IsNotModified to check whether the response
 41546  // error from Do is the result of In-None-Match.
 41547  func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
 41548  	c.ifNoneMatch_ = entityTag
 41549  	return c
 41550  }
 41551  
 41552  // Context sets the context to be used in this call's Do method. Any
 41553  // pending HTTP request will be aborted if the provided context is
 41554  // canceled.
 41555  func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
 41556  	c.ctx_ = ctx
 41557  	return c
 41558  }
 41559  
 41560  // Header returns an http.Header that can be modified by the caller to
 41561  // add HTTP headers to the request.
 41562  func (c *PlacementsGetCall) Header() http.Header {
 41563  	if c.header_ == nil {
 41564  		c.header_ = make(http.Header)
 41565  	}
 41566  	return c.header_
 41567  }
 41568  
 41569  func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
 41570  	reqHeaders := make(http.Header)
 41571  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 41572  	for k, v := range c.header_ {
 41573  		reqHeaders[k] = v
 41574  	}
 41575  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41576  	if c.ifNoneMatch_ != "" {
 41577  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41578  	}
 41579  	var body io.Reader = nil
 41580  	c.urlParams_.Set("alt", alt)
 41581  	c.urlParams_.Set("prettyPrint", "false")
 41582  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
 41583  	urls += "?" + c.urlParams_.Encode()
 41584  	req, err := http.NewRequest("GET", urls, body)
 41585  	if err != nil {
 41586  		return nil, err
 41587  	}
 41588  	req.Header = reqHeaders
 41589  	googleapi.Expand(req.URL, map[string]string{
 41590  		"profileId": strconv.FormatInt(c.profileId, 10),
 41591  		"id":        strconv.FormatInt(c.id, 10),
 41592  	})
 41593  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41594  }
 41595  
 41596  // Do executes the "dfareporting.placements.get" call.
 41597  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 41598  // status code is an error. Response headers are in either
 41599  // *Placement.ServerResponse.Header or (if a response was returned at
 41600  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41601  // to check whether the returned error was because
 41602  // http.StatusNotModified was returned.
 41603  func (c *PlacementsGetCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 41604  	gensupport.SetOptions(c.urlParams_, opts...)
 41605  	res, err := c.doRequest("json")
 41606  	if res != nil && res.StatusCode == http.StatusNotModified {
 41607  		if res.Body != nil {
 41608  			res.Body.Close()
 41609  		}
 41610  		return nil, &googleapi.Error{
 41611  			Code:   res.StatusCode,
 41612  			Header: res.Header,
 41613  		}
 41614  	}
 41615  	if err != nil {
 41616  		return nil, err
 41617  	}
 41618  	defer googleapi.CloseBody(res)
 41619  	if err := googleapi.CheckResponse(res); err != nil {
 41620  		return nil, err
 41621  	}
 41622  	ret := &Placement{
 41623  		ServerResponse: googleapi.ServerResponse{
 41624  			Header:         res.Header,
 41625  			HTTPStatusCode: res.StatusCode,
 41626  		},
 41627  	}
 41628  	target := &ret
 41629  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41630  		return nil, err
 41631  	}
 41632  	return ret, nil
 41633  	// {
 41634  	//   "description": "Gets one placement by ID.",
 41635  	//   "flatPath": "userprofiles/{profileId}/placements/{id}",
 41636  	//   "httpMethod": "GET",
 41637  	//   "id": "dfareporting.placements.get",
 41638  	//   "parameterOrder": [
 41639  	//     "profileId",
 41640  	//     "id"
 41641  	//   ],
 41642  	//   "parameters": {
 41643  	//     "id": {
 41644  	//       "description": "Placement ID.",
 41645  	//       "format": "int64",
 41646  	//       "location": "path",
 41647  	//       "required": true,
 41648  	//       "type": "string"
 41649  	//     },
 41650  	//     "profileId": {
 41651  	//       "description": "User profile ID associated with this request.",
 41652  	//       "format": "int64",
 41653  	//       "location": "path",
 41654  	//       "required": true,
 41655  	//       "type": "string"
 41656  	//     }
 41657  	//   },
 41658  	//   "path": "userprofiles/{profileId}/placements/{id}",
 41659  	//   "response": {
 41660  	//     "$ref": "Placement"
 41661  	//   },
 41662  	//   "scopes": [
 41663  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41664  	//   ]
 41665  	// }
 41666  
 41667  }
 41668  
 41669  // method id "dfareporting.placements.insert":
 41670  
 41671  type PlacementsInsertCall struct {
 41672  	s          *Service
 41673  	profileId  int64
 41674  	placement  *Placement
 41675  	urlParams_ gensupport.URLParams
 41676  	ctx_       context.Context
 41677  	header_    http.Header
 41678  }
 41679  
 41680  // Insert: Inserts a new placement.
 41681  //
 41682  // - profileId: User profile ID associated with this request.
 41683  func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
 41684  	c := &PlacementsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41685  	c.profileId = profileId
 41686  	c.placement = placement
 41687  	return c
 41688  }
 41689  
 41690  // Fields allows partial responses to be retrieved. See
 41691  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41692  // for more information.
 41693  func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
 41694  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41695  	return c
 41696  }
 41697  
 41698  // Context sets the context to be used in this call's Do method. Any
 41699  // pending HTTP request will be aborted if the provided context is
 41700  // canceled.
 41701  func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
 41702  	c.ctx_ = ctx
 41703  	return c
 41704  }
 41705  
 41706  // Header returns an http.Header that can be modified by the caller to
 41707  // add HTTP headers to the request.
 41708  func (c *PlacementsInsertCall) Header() http.Header {
 41709  	if c.header_ == nil {
 41710  		c.header_ = make(http.Header)
 41711  	}
 41712  	return c.header_
 41713  }
 41714  
 41715  func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
 41716  	reqHeaders := make(http.Header)
 41717  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 41718  	for k, v := range c.header_ {
 41719  		reqHeaders[k] = v
 41720  	}
 41721  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41722  	var body io.Reader = nil
 41723  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 41724  	if err != nil {
 41725  		return nil, err
 41726  	}
 41727  	reqHeaders.Set("Content-Type", "application/json")
 41728  	c.urlParams_.Set("alt", alt)
 41729  	c.urlParams_.Set("prettyPrint", "false")
 41730  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 41731  	urls += "?" + c.urlParams_.Encode()
 41732  	req, err := http.NewRequest("POST", urls, body)
 41733  	if err != nil {
 41734  		return nil, err
 41735  	}
 41736  	req.Header = reqHeaders
 41737  	googleapi.Expand(req.URL, map[string]string{
 41738  		"profileId": strconv.FormatInt(c.profileId, 10),
 41739  	})
 41740  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41741  }
 41742  
 41743  // Do executes the "dfareporting.placements.insert" call.
 41744  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 41745  // status code is an error. Response headers are in either
 41746  // *Placement.ServerResponse.Header or (if a response was returned at
 41747  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41748  // to check whether the returned error was because
 41749  // http.StatusNotModified was returned.
 41750  func (c *PlacementsInsertCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 41751  	gensupport.SetOptions(c.urlParams_, opts...)
 41752  	res, err := c.doRequest("json")
 41753  	if res != nil && res.StatusCode == http.StatusNotModified {
 41754  		if res.Body != nil {
 41755  			res.Body.Close()
 41756  		}
 41757  		return nil, &googleapi.Error{
 41758  			Code:   res.StatusCode,
 41759  			Header: res.Header,
 41760  		}
 41761  	}
 41762  	if err != nil {
 41763  		return nil, err
 41764  	}
 41765  	defer googleapi.CloseBody(res)
 41766  	if err := googleapi.CheckResponse(res); err != nil {
 41767  		return nil, err
 41768  	}
 41769  	ret := &Placement{
 41770  		ServerResponse: googleapi.ServerResponse{
 41771  			Header:         res.Header,
 41772  			HTTPStatusCode: res.StatusCode,
 41773  		},
 41774  	}
 41775  	target := &ret
 41776  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41777  		return nil, err
 41778  	}
 41779  	return ret, nil
 41780  	// {
 41781  	//   "description": "Inserts a new placement.",
 41782  	//   "flatPath": "userprofiles/{profileId}/placements",
 41783  	//   "httpMethod": "POST",
 41784  	//   "id": "dfareporting.placements.insert",
 41785  	//   "parameterOrder": [
 41786  	//     "profileId"
 41787  	//   ],
 41788  	//   "parameters": {
 41789  	//     "profileId": {
 41790  	//       "description": "User profile ID associated with this request.",
 41791  	//       "format": "int64",
 41792  	//       "location": "path",
 41793  	//       "required": true,
 41794  	//       "type": "string"
 41795  	//     }
 41796  	//   },
 41797  	//   "path": "userprofiles/{profileId}/placements",
 41798  	//   "request": {
 41799  	//     "$ref": "Placement"
 41800  	//   },
 41801  	//   "response": {
 41802  	//     "$ref": "Placement"
 41803  	//   },
 41804  	//   "scopes": [
 41805  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41806  	//   ]
 41807  	// }
 41808  
 41809  }
 41810  
 41811  // method id "dfareporting.placements.list":
 41812  
 41813  type PlacementsListCall struct {
 41814  	s            *Service
 41815  	profileId    int64
 41816  	urlParams_   gensupport.URLParams
 41817  	ifNoneMatch_ string
 41818  	ctx_         context.Context
 41819  	header_      http.Header
 41820  }
 41821  
 41822  // List: Retrieves a list of placements, possibly filtered. This method
 41823  // supports paging.
 41824  //
 41825  // - profileId: User profile ID associated with this request.
 41826  func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
 41827  	c := &PlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41828  	c.profileId = profileId
 41829  	return c
 41830  }
 41831  
 41832  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 41833  // only placements that belong to these advertisers.
 41834  func (c *PlacementsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementsListCall {
 41835  	var advertiserIds_ []string
 41836  	for _, v := range advertiserIds {
 41837  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 41838  	}
 41839  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 41840  	return c
 41841  }
 41842  
 41843  // Archived sets the optional parameter "archived": Select only archived
 41844  // placements. Don't set this field to select both archived and
 41845  // non-archived placements.
 41846  func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
 41847  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 41848  	return c
 41849  }
 41850  
 41851  // CampaignIds sets the optional parameter "campaignIds": Select only
 41852  // placements that belong to these campaigns.
 41853  func (c *PlacementsListCall) CampaignIds(campaignIds ...int64) *PlacementsListCall {
 41854  	var campaignIds_ []string
 41855  	for _, v := range campaignIds {
 41856  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 41857  	}
 41858  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 41859  	return c
 41860  }
 41861  
 41862  // Compatibilities sets the optional parameter "compatibilities": Select
 41863  // only placements that are associated with these compatibilities.
 41864  // DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
 41865  // or on mobile devices for regular or interstitial ads respectively.
 41866  // APP and APP_INTERSTITIAL are for rendering in mobile apps.
 41867  // IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
 41868  // with the VAST standard.
 41869  //
 41870  // Possible values:
 41871  //
 41872  //	"DISPLAY"
 41873  //	"DISPLAY_INTERSTITIAL"
 41874  //	"APP"
 41875  //	"APP_INTERSTITIAL"
 41876  //	"IN_STREAM_VIDEO"
 41877  //	"IN_STREAM_AUDIO"
 41878  func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
 41879  	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
 41880  	return c
 41881  }
 41882  
 41883  // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 41884  // Select only placements that are associated with these content
 41885  // categories.
 41886  func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementsListCall {
 41887  	var contentCategoryIds_ []string
 41888  	for _, v := range contentCategoryIds {
 41889  		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
 41890  	}
 41891  	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
 41892  	return c
 41893  }
 41894  
 41895  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 41896  // Select only placements that are associated with these directory
 41897  // sites.
 41898  func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementsListCall {
 41899  	var directorySiteIds_ []string
 41900  	for _, v := range directorySiteIds {
 41901  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 41902  	}
 41903  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 41904  	return c
 41905  }
 41906  
 41907  // GroupIds sets the optional parameter "groupIds": Select only
 41908  // placements that belong to these placement groups.
 41909  func (c *PlacementsListCall) GroupIds(groupIds ...int64) *PlacementsListCall {
 41910  	var groupIds_ []string
 41911  	for _, v := range groupIds {
 41912  		groupIds_ = append(groupIds_, fmt.Sprint(v))
 41913  	}
 41914  	c.urlParams_.SetMulti("groupIds", groupIds_)
 41915  	return c
 41916  }
 41917  
 41918  // Ids sets the optional parameter "ids": Select only placements with
 41919  // these IDs.
 41920  func (c *PlacementsListCall) Ids(ids ...int64) *PlacementsListCall {
 41921  	var ids_ []string
 41922  	for _, v := range ids {
 41923  		ids_ = append(ids_, fmt.Sprint(v))
 41924  	}
 41925  	c.urlParams_.SetMulti("ids", ids_)
 41926  	return c
 41927  }
 41928  
 41929  // MaxEndDate sets the optional parameter "maxEndDate": Select only
 41930  // placements or placement groups whose end date is on or before the
 41931  // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 41932  func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
 41933  	c.urlParams_.Set("maxEndDate", maxEndDate)
 41934  	return c
 41935  }
 41936  
 41937  // MaxResults sets the optional parameter "maxResults": Maximum number
 41938  // of results to return.
 41939  func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
 41940  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 41941  	return c
 41942  }
 41943  
 41944  // MaxStartDate sets the optional parameter "maxStartDate": Select only
 41945  // placements or placement groups whose start date is on or before the
 41946  // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 41947  func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
 41948  	c.urlParams_.Set("maxStartDate", maxStartDate)
 41949  	return c
 41950  }
 41951  
 41952  // MinEndDate sets the optional parameter "minEndDate": Select only
 41953  // placements or placement groups whose end date is on or after the
 41954  // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 41955  func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
 41956  	c.urlParams_.Set("minEndDate", minEndDate)
 41957  	return c
 41958  }
 41959  
 41960  // MinStartDate sets the optional parameter "minStartDate": Select only
 41961  // placements or placement groups whose start date is on or after the
 41962  // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 41963  func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
 41964  	c.urlParams_.Set("minStartDate", minStartDate)
 41965  	return c
 41966  }
 41967  
 41968  // PageToken sets the optional parameter "pageToken": Value of the
 41969  // nextPageToken from the previous result page.
 41970  func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
 41971  	c.urlParams_.Set("pageToken", pageToken)
 41972  	return c
 41973  }
 41974  
 41975  // PaymentSource sets the optional parameter "paymentSource": Select
 41976  // only placements with this payment source.
 41977  //
 41978  // Possible values:
 41979  //
 41980  //	"PLACEMENT_AGENCY_PAID"
 41981  //	"PLACEMENT_PUBLISHER_PAID"
 41982  func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
 41983  	c.urlParams_.Set("paymentSource", paymentSource)
 41984  	return c
 41985  }
 41986  
 41987  // PlacementStrategyIds sets the optional parameter
 41988  // "placementStrategyIds": Select only placements that are associated
 41989  // with these placement strategies.
 41990  func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementsListCall {
 41991  	var placementStrategyIds_ []string
 41992  	for _, v := range placementStrategyIds {
 41993  		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
 41994  	}
 41995  	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
 41996  	return c
 41997  }
 41998  
 41999  // PricingTypes sets the optional parameter "pricingTypes": Select only
 42000  // placements with these pricing types.
 42001  //
 42002  // Possible values:
 42003  //
 42004  //	"PRICING_TYPE_CPM"
 42005  //	"PRICING_TYPE_CPC"
 42006  //	"PRICING_TYPE_CPA"
 42007  //	"PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 42008  //	"PRICING_TYPE_FLAT_RATE_CLICKS"
 42009  //	"PRICING_TYPE_CPM_ACTIVEVIEW"
 42010  func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
 42011  	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 42012  	return c
 42013  }
 42014  
 42015  // SearchString sets the optional parameter "searchString": Allows
 42016  // searching for placements by name or ID. Wildcards (*) are allowed.
 42017  // For example, "placement*2015" will return placements with names like
 42018  // "placement June 2015", "placement May 2015", or simply "placements
 42019  // 2015". Most of the searches also add wildcards implicitly at the
 42020  // start and the end of the search string. For example, a search string
 42021  // of "placement" will match placements with name "my placement",
 42022  // "placement 2015", or simply "placement" .
 42023  func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
 42024  	c.urlParams_.Set("searchString", searchString)
 42025  	return c
 42026  }
 42027  
 42028  // SiteIds sets the optional parameter "siteIds": Select only placements
 42029  // that are associated with these sites.
 42030  func (c *PlacementsListCall) SiteIds(siteIds ...int64) *PlacementsListCall {
 42031  	var siteIds_ []string
 42032  	for _, v := range siteIds {
 42033  		siteIds_ = append(siteIds_, fmt.Sprint(v))
 42034  	}
 42035  	c.urlParams_.SetMulti("siteIds", siteIds_)
 42036  	return c
 42037  }
 42038  
 42039  // SizeIds sets the optional parameter "sizeIds": Select only placements
 42040  // that are associated with these sizes.
 42041  func (c *PlacementsListCall) SizeIds(sizeIds ...int64) *PlacementsListCall {
 42042  	var sizeIds_ []string
 42043  	for _, v := range sizeIds {
 42044  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 42045  	}
 42046  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 42047  	return c
 42048  }
 42049  
 42050  // SortField sets the optional parameter "sortField": Field by which to
 42051  // sort the list.
 42052  //
 42053  // Possible values:
 42054  //
 42055  //	"ID" (default)
 42056  //	"NAME"
 42057  func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
 42058  	c.urlParams_.Set("sortField", sortField)
 42059  	return c
 42060  }
 42061  
 42062  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 42063  // results.
 42064  //
 42065  // Possible values:
 42066  //
 42067  //	"ASCENDING" (default)
 42068  //	"DESCENDING"
 42069  func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
 42070  	c.urlParams_.Set("sortOrder", sortOrder)
 42071  	return c
 42072  }
 42073  
 42074  // Fields allows partial responses to be retrieved. See
 42075  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42076  // for more information.
 42077  func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
 42078  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42079  	return c
 42080  }
 42081  
 42082  // IfNoneMatch sets the optional parameter which makes the operation
 42083  // fail if the object's ETag matches the given value. This is useful for
 42084  // getting updates only after the object has changed since the last
 42085  // request. Use googleapi.IsNotModified to check whether the response
 42086  // error from Do is the result of In-None-Match.
 42087  func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
 42088  	c.ifNoneMatch_ = entityTag
 42089  	return c
 42090  }
 42091  
 42092  // Context sets the context to be used in this call's Do method. Any
 42093  // pending HTTP request will be aborted if the provided context is
 42094  // canceled.
 42095  func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
 42096  	c.ctx_ = ctx
 42097  	return c
 42098  }
 42099  
 42100  // Header returns an http.Header that can be modified by the caller to
 42101  // add HTTP headers to the request.
 42102  func (c *PlacementsListCall) Header() http.Header {
 42103  	if c.header_ == nil {
 42104  		c.header_ = make(http.Header)
 42105  	}
 42106  	return c.header_
 42107  }
 42108  
 42109  func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
 42110  	reqHeaders := make(http.Header)
 42111  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 42112  	for k, v := range c.header_ {
 42113  		reqHeaders[k] = v
 42114  	}
 42115  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42116  	if c.ifNoneMatch_ != "" {
 42117  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42118  	}
 42119  	var body io.Reader = nil
 42120  	c.urlParams_.Set("alt", alt)
 42121  	c.urlParams_.Set("prettyPrint", "false")
 42122  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 42123  	urls += "?" + c.urlParams_.Encode()
 42124  	req, err := http.NewRequest("GET", urls, body)
 42125  	if err != nil {
 42126  		return nil, err
 42127  	}
 42128  	req.Header = reqHeaders
 42129  	googleapi.Expand(req.URL, map[string]string{
 42130  		"profileId": strconv.FormatInt(c.profileId, 10),
 42131  	})
 42132  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42133  }
 42134  
 42135  // Do executes the "dfareporting.placements.list" call.
 42136  // Exactly one of *PlacementsListResponse or error will be non-nil. Any
 42137  // non-2xx status code is an error. Response headers are in either
 42138  // *PlacementsListResponse.ServerResponse.Header or (if a response was
 42139  // returned at all) in error.(*googleapi.Error).Header. Use
 42140  // googleapi.IsNotModified to check whether the returned error was
 42141  // because http.StatusNotModified was returned.
 42142  func (c *PlacementsListCall) Do(opts ...googleapi.CallOption) (*PlacementsListResponse, error) {
 42143  	gensupport.SetOptions(c.urlParams_, opts...)
 42144  	res, err := c.doRequest("json")
 42145  	if res != nil && res.StatusCode == http.StatusNotModified {
 42146  		if res.Body != nil {
 42147  			res.Body.Close()
 42148  		}
 42149  		return nil, &googleapi.Error{
 42150  			Code:   res.StatusCode,
 42151  			Header: res.Header,
 42152  		}
 42153  	}
 42154  	if err != nil {
 42155  		return nil, err
 42156  	}
 42157  	defer googleapi.CloseBody(res)
 42158  	if err := googleapi.CheckResponse(res); err != nil {
 42159  		return nil, err
 42160  	}
 42161  	ret := &PlacementsListResponse{
 42162  		ServerResponse: googleapi.ServerResponse{
 42163  			Header:         res.Header,
 42164  			HTTPStatusCode: res.StatusCode,
 42165  		},
 42166  	}
 42167  	target := &ret
 42168  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42169  		return nil, err
 42170  	}
 42171  	return ret, nil
 42172  	// {
 42173  	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
 42174  	//   "flatPath": "userprofiles/{profileId}/placements",
 42175  	//   "httpMethod": "GET",
 42176  	//   "id": "dfareporting.placements.list",
 42177  	//   "parameterOrder": [
 42178  	//     "profileId"
 42179  	//   ],
 42180  	//   "parameters": {
 42181  	//     "advertiserIds": {
 42182  	//       "description": "Select only placements that belong to these advertisers.",
 42183  	//       "format": "int64",
 42184  	//       "location": "query",
 42185  	//       "repeated": true,
 42186  	//       "type": "string"
 42187  	//     },
 42188  	//     "archived": {
 42189  	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
 42190  	//       "location": "query",
 42191  	//       "type": "boolean"
 42192  	//     },
 42193  	//     "campaignIds": {
 42194  	//       "description": "Select only placements that belong to these campaigns.",
 42195  	//       "format": "int64",
 42196  	//       "location": "query",
 42197  	//       "repeated": true,
 42198  	//       "type": "string"
 42199  	//     },
 42200  	//     "compatibilities": {
 42201  	//       "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.",
 42202  	//       "enum": [
 42203  	//         "DISPLAY",
 42204  	//         "DISPLAY_INTERSTITIAL",
 42205  	//         "APP",
 42206  	//         "APP_INTERSTITIAL",
 42207  	//         "IN_STREAM_VIDEO",
 42208  	//         "IN_STREAM_AUDIO"
 42209  	//       ],
 42210  	//       "enumDescriptions": [
 42211  	//         "",
 42212  	//         "",
 42213  	//         "",
 42214  	//         "",
 42215  	//         "",
 42216  	//         ""
 42217  	//       ],
 42218  	//       "location": "query",
 42219  	//       "repeated": true,
 42220  	//       "type": "string"
 42221  	//     },
 42222  	//     "contentCategoryIds": {
 42223  	//       "description": "Select only placements that are associated with these content categories.",
 42224  	//       "format": "int64",
 42225  	//       "location": "query",
 42226  	//       "repeated": true,
 42227  	//       "type": "string"
 42228  	//     },
 42229  	//     "directorySiteIds": {
 42230  	//       "description": "Select only placements that are associated with these directory sites.",
 42231  	//       "format": "int64",
 42232  	//       "location": "query",
 42233  	//       "repeated": true,
 42234  	//       "type": "string"
 42235  	//     },
 42236  	//     "groupIds": {
 42237  	//       "description": "Select only placements that belong to these placement groups.",
 42238  	//       "format": "int64",
 42239  	//       "location": "query",
 42240  	//       "repeated": true,
 42241  	//       "type": "string"
 42242  	//     },
 42243  	//     "ids": {
 42244  	//       "description": "Select only placements with these IDs.",
 42245  	//       "format": "int64",
 42246  	//       "location": "query",
 42247  	//       "repeated": true,
 42248  	//       "type": "string"
 42249  	//     },
 42250  	//     "maxEndDate": {
 42251  	//       "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\".",
 42252  	//       "location": "query",
 42253  	//       "type": "string"
 42254  	//     },
 42255  	//     "maxResults": {
 42256  	//       "default": "1000",
 42257  	//       "description": "Maximum number of results to return.",
 42258  	//       "format": "int32",
 42259  	//       "location": "query",
 42260  	//       "maximum": "1000",
 42261  	//       "minimum": "0",
 42262  	//       "type": "integer"
 42263  	//     },
 42264  	//     "maxStartDate": {
 42265  	//       "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\".",
 42266  	//       "location": "query",
 42267  	//       "type": "string"
 42268  	//     },
 42269  	//     "minEndDate": {
 42270  	//       "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\".",
 42271  	//       "location": "query",
 42272  	//       "type": "string"
 42273  	//     },
 42274  	//     "minStartDate": {
 42275  	//       "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\".",
 42276  	//       "location": "query",
 42277  	//       "type": "string"
 42278  	//     },
 42279  	//     "pageToken": {
 42280  	//       "description": "Value of the nextPageToken from the previous result page.",
 42281  	//       "location": "query",
 42282  	//       "type": "string"
 42283  	//     },
 42284  	//     "paymentSource": {
 42285  	//       "description": "Select only placements with this payment source.",
 42286  	//       "enum": [
 42287  	//         "PLACEMENT_AGENCY_PAID",
 42288  	//         "PLACEMENT_PUBLISHER_PAID"
 42289  	//       ],
 42290  	//       "enumDescriptions": [
 42291  	//         "",
 42292  	//         ""
 42293  	//       ],
 42294  	//       "location": "query",
 42295  	//       "type": "string"
 42296  	//     },
 42297  	//     "placementStrategyIds": {
 42298  	//       "description": "Select only placements that are associated with these placement strategies.",
 42299  	//       "format": "int64",
 42300  	//       "location": "query",
 42301  	//       "repeated": true,
 42302  	//       "type": "string"
 42303  	//     },
 42304  	//     "pricingTypes": {
 42305  	//       "description": "Select only placements with these pricing types.",
 42306  	//       "enum": [
 42307  	//         "PRICING_TYPE_CPM",
 42308  	//         "PRICING_TYPE_CPC",
 42309  	//         "PRICING_TYPE_CPA",
 42310  	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
 42311  	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
 42312  	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
 42313  	//       ],
 42314  	//       "enumDescriptions": [
 42315  	//         "",
 42316  	//         "",
 42317  	//         "",
 42318  	//         "",
 42319  	//         "",
 42320  	//         ""
 42321  	//       ],
 42322  	//       "location": "query",
 42323  	//       "repeated": true,
 42324  	//       "type": "string"
 42325  	//     },
 42326  	//     "profileId": {
 42327  	//       "description": "User profile ID associated with this request.",
 42328  	//       "format": "int64",
 42329  	//       "location": "path",
 42330  	//       "required": true,
 42331  	//       "type": "string"
 42332  	//     },
 42333  	//     "searchString": {
 42334  	//       "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\" .",
 42335  	//       "location": "query",
 42336  	//       "type": "string"
 42337  	//     },
 42338  	//     "siteIds": {
 42339  	//       "description": "Select only placements that are associated with these sites.",
 42340  	//       "format": "int64",
 42341  	//       "location": "query",
 42342  	//       "repeated": true,
 42343  	//       "type": "string"
 42344  	//     },
 42345  	//     "sizeIds": {
 42346  	//       "description": "Select only placements that are associated with these sizes.",
 42347  	//       "format": "int64",
 42348  	//       "location": "query",
 42349  	//       "repeated": true,
 42350  	//       "type": "string"
 42351  	//     },
 42352  	//     "sortField": {
 42353  	//       "default": "ID",
 42354  	//       "description": "Field by which to sort the list.",
 42355  	//       "enum": [
 42356  	//         "ID",
 42357  	//         "NAME"
 42358  	//       ],
 42359  	//       "enumDescriptions": [
 42360  	//         "",
 42361  	//         ""
 42362  	//       ],
 42363  	//       "location": "query",
 42364  	//       "type": "string"
 42365  	//     },
 42366  	//     "sortOrder": {
 42367  	//       "default": "ASCENDING",
 42368  	//       "description": "Order of sorted results.",
 42369  	//       "enum": [
 42370  	//         "ASCENDING",
 42371  	//         "DESCENDING"
 42372  	//       ],
 42373  	//       "enumDescriptions": [
 42374  	//         "",
 42375  	//         ""
 42376  	//       ],
 42377  	//       "location": "query",
 42378  	//       "type": "string"
 42379  	//     }
 42380  	//   },
 42381  	//   "path": "userprofiles/{profileId}/placements",
 42382  	//   "response": {
 42383  	//     "$ref": "PlacementsListResponse"
 42384  	//   },
 42385  	//   "scopes": [
 42386  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42387  	//   ]
 42388  	// }
 42389  
 42390  }
 42391  
 42392  // Pages invokes f for each page of results.
 42393  // A non-nil error returned from f will halt the iteration.
 42394  // The provided context supersedes any context provided to the Context method.
 42395  func (c *PlacementsListCall) Pages(ctx context.Context, f func(*PlacementsListResponse) error) error {
 42396  	c.ctx_ = ctx
 42397  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 42398  	for {
 42399  		x, err := c.Do()
 42400  		if err != nil {
 42401  			return err
 42402  		}
 42403  		if err := f(x); err != nil {
 42404  			return err
 42405  		}
 42406  		if x.NextPageToken == "" {
 42407  			return nil
 42408  		}
 42409  		c.PageToken(x.NextPageToken)
 42410  	}
 42411  }
 42412  
 42413  // method id "dfareporting.placements.patch":
 42414  
 42415  type PlacementsPatchCall struct {
 42416  	s          *Service
 42417  	profileId  int64
 42418  	placement  *Placement
 42419  	urlParams_ gensupport.URLParams
 42420  	ctx_       context.Context
 42421  	header_    http.Header
 42422  }
 42423  
 42424  // Patch: Updates an existing placement. This method supports patch
 42425  // semantics.
 42426  //
 42427  // - id: Placement ID.
 42428  // - profileId: User profile ID associated with this request.
 42429  func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
 42430  	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42431  	c.profileId = profileId
 42432  	c.urlParams_.Set("id", fmt.Sprint(id))
 42433  	c.placement = placement
 42434  	return c
 42435  }
 42436  
 42437  // Fields allows partial responses to be retrieved. See
 42438  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42439  // for more information.
 42440  func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
 42441  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42442  	return c
 42443  }
 42444  
 42445  // Context sets the context to be used in this call's Do method. Any
 42446  // pending HTTP request will be aborted if the provided context is
 42447  // canceled.
 42448  func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
 42449  	c.ctx_ = ctx
 42450  	return c
 42451  }
 42452  
 42453  // Header returns an http.Header that can be modified by the caller to
 42454  // add HTTP headers to the request.
 42455  func (c *PlacementsPatchCall) Header() http.Header {
 42456  	if c.header_ == nil {
 42457  		c.header_ = make(http.Header)
 42458  	}
 42459  	return c.header_
 42460  }
 42461  
 42462  func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
 42463  	reqHeaders := make(http.Header)
 42464  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 42465  	for k, v := range c.header_ {
 42466  		reqHeaders[k] = v
 42467  	}
 42468  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42469  	var body io.Reader = nil
 42470  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 42471  	if err != nil {
 42472  		return nil, err
 42473  	}
 42474  	reqHeaders.Set("Content-Type", "application/json")
 42475  	c.urlParams_.Set("alt", alt)
 42476  	c.urlParams_.Set("prettyPrint", "false")
 42477  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 42478  	urls += "?" + c.urlParams_.Encode()
 42479  	req, err := http.NewRequest("PATCH", 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.placements.patch" call.
 42491  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 42492  // status code is an error. Response headers are in either
 42493  // *Placement.ServerResponse.Header or (if a response was returned at
 42494  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 42495  // to check whether the returned error was because
 42496  // http.StatusNotModified was returned.
 42497  func (c *PlacementsPatchCall) Do(opts ...googleapi.CallOption) (*Placement, 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 := &Placement{
 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": "Updates an existing placement. This method supports patch semantics.",
 42529  	//   "flatPath": "userprofiles/{profileId}/placements",
 42530  	//   "httpMethod": "PATCH",
 42531  	//   "id": "dfareporting.placements.patch",
 42532  	//   "parameterOrder": [
 42533  	//     "profileId",
 42534  	//     "id"
 42535  	//   ],
 42536  	//   "parameters": {
 42537  	//     "id": {
 42538  	//       "description": "Placement ID.",
 42539  	//       "format": "int64",
 42540  	//       "location": "query",
 42541  	//       "required": true,
 42542  	//       "type": "string"
 42543  	//     },
 42544  	//     "profileId": {
 42545  	//       "description": "User profile ID associated with this request.",
 42546  	//       "format": "int64",
 42547  	//       "location": "path",
 42548  	//       "required": true,
 42549  	//       "type": "string"
 42550  	//     }
 42551  	//   },
 42552  	//   "path": "userprofiles/{profileId}/placements",
 42553  	//   "request": {
 42554  	//     "$ref": "Placement"
 42555  	//   },
 42556  	//   "response": {
 42557  	//     "$ref": "Placement"
 42558  	//   },
 42559  	//   "scopes": [
 42560  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42561  	//   ]
 42562  	// }
 42563  
 42564  }
 42565  
 42566  // method id "dfareporting.placements.update":
 42567  
 42568  type PlacementsUpdateCall struct {
 42569  	s          *Service
 42570  	profileId  int64
 42571  	placement  *Placement
 42572  	urlParams_ gensupport.URLParams
 42573  	ctx_       context.Context
 42574  	header_    http.Header
 42575  }
 42576  
 42577  // Update: Updates an existing placement.
 42578  //
 42579  // - profileId: User profile ID associated with this request.
 42580  func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
 42581  	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42582  	c.profileId = profileId
 42583  	c.placement = placement
 42584  	return c
 42585  }
 42586  
 42587  // Fields allows partial responses to be retrieved. See
 42588  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42589  // for more information.
 42590  func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
 42591  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42592  	return c
 42593  }
 42594  
 42595  // Context sets the context to be used in this call's Do method. Any
 42596  // pending HTTP request will be aborted if the provided context is
 42597  // canceled.
 42598  func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
 42599  	c.ctx_ = ctx
 42600  	return c
 42601  }
 42602  
 42603  // Header returns an http.Header that can be modified by the caller to
 42604  // add HTTP headers to the request.
 42605  func (c *PlacementsUpdateCall) Header() http.Header {
 42606  	if c.header_ == nil {
 42607  		c.header_ = make(http.Header)
 42608  	}
 42609  	return c.header_
 42610  }
 42611  
 42612  func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
 42613  	reqHeaders := make(http.Header)
 42614  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 42615  	for k, v := range c.header_ {
 42616  		reqHeaders[k] = v
 42617  	}
 42618  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42619  	var body io.Reader = nil
 42620  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 42621  	if err != nil {
 42622  		return nil, err
 42623  	}
 42624  	reqHeaders.Set("Content-Type", "application/json")
 42625  	c.urlParams_.Set("alt", alt)
 42626  	c.urlParams_.Set("prettyPrint", "false")
 42627  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 42628  	urls += "?" + c.urlParams_.Encode()
 42629  	req, err := http.NewRequest("PUT", urls, body)
 42630  	if err != nil {
 42631  		return nil, err
 42632  	}
 42633  	req.Header = reqHeaders
 42634  	googleapi.Expand(req.URL, map[string]string{
 42635  		"profileId": strconv.FormatInt(c.profileId, 10),
 42636  	})
 42637  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42638  }
 42639  
 42640  // Do executes the "dfareporting.placements.update" call.
 42641  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 42642  // status code is an error. Response headers are in either
 42643  // *Placement.ServerResponse.Header or (if a response was returned at
 42644  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 42645  // to check whether the returned error was because
 42646  // http.StatusNotModified was returned.
 42647  func (c *PlacementsUpdateCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 42648  	gensupport.SetOptions(c.urlParams_, opts...)
 42649  	res, err := c.doRequest("json")
 42650  	if res != nil && res.StatusCode == http.StatusNotModified {
 42651  		if res.Body != nil {
 42652  			res.Body.Close()
 42653  		}
 42654  		return nil, &googleapi.Error{
 42655  			Code:   res.StatusCode,
 42656  			Header: res.Header,
 42657  		}
 42658  	}
 42659  	if err != nil {
 42660  		return nil, err
 42661  	}
 42662  	defer googleapi.CloseBody(res)
 42663  	if err := googleapi.CheckResponse(res); err != nil {
 42664  		return nil, err
 42665  	}
 42666  	ret := &Placement{
 42667  		ServerResponse: googleapi.ServerResponse{
 42668  			Header:         res.Header,
 42669  			HTTPStatusCode: res.StatusCode,
 42670  		},
 42671  	}
 42672  	target := &ret
 42673  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42674  		return nil, err
 42675  	}
 42676  	return ret, nil
 42677  	// {
 42678  	//   "description": "Updates an existing placement.",
 42679  	//   "flatPath": "userprofiles/{profileId}/placements",
 42680  	//   "httpMethod": "PUT",
 42681  	//   "id": "dfareporting.placements.update",
 42682  	//   "parameterOrder": [
 42683  	//     "profileId"
 42684  	//   ],
 42685  	//   "parameters": {
 42686  	//     "profileId": {
 42687  	//       "description": "User profile ID associated with this request.",
 42688  	//       "format": "int64",
 42689  	//       "location": "path",
 42690  	//       "required": true,
 42691  	//       "type": "string"
 42692  	//     }
 42693  	//   },
 42694  	//   "path": "userprofiles/{profileId}/placements",
 42695  	//   "request": {
 42696  	//     "$ref": "Placement"
 42697  	//   },
 42698  	//   "response": {
 42699  	//     "$ref": "Placement"
 42700  	//   },
 42701  	//   "scopes": [
 42702  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42703  	//   ]
 42704  	// }
 42705  
 42706  }
 42707  
 42708  // method id "dfareporting.platformTypes.get":
 42709  
 42710  type PlatformTypesGetCall struct {
 42711  	s            *Service
 42712  	profileId    int64
 42713  	id           int64
 42714  	urlParams_   gensupport.URLParams
 42715  	ifNoneMatch_ string
 42716  	ctx_         context.Context
 42717  	header_      http.Header
 42718  }
 42719  
 42720  // Get: Gets one platform type by ID.
 42721  //
 42722  // - id: Platform type ID.
 42723  // - profileId: User profile ID associated with this request.
 42724  func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
 42725  	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42726  	c.profileId = profileId
 42727  	c.id = id
 42728  	return c
 42729  }
 42730  
 42731  // Fields allows partial responses to be retrieved. See
 42732  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42733  // for more information.
 42734  func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
 42735  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42736  	return c
 42737  }
 42738  
 42739  // IfNoneMatch sets the optional parameter which makes the operation
 42740  // fail if the object's ETag matches the given value. This is useful for
 42741  // getting updates only after the object has changed since the last
 42742  // request. Use googleapi.IsNotModified to check whether the response
 42743  // error from Do is the result of In-None-Match.
 42744  func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
 42745  	c.ifNoneMatch_ = entityTag
 42746  	return c
 42747  }
 42748  
 42749  // Context sets the context to be used in this call's Do method. Any
 42750  // pending HTTP request will be aborted if the provided context is
 42751  // canceled.
 42752  func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
 42753  	c.ctx_ = ctx
 42754  	return c
 42755  }
 42756  
 42757  // Header returns an http.Header that can be modified by the caller to
 42758  // add HTTP headers to the request.
 42759  func (c *PlatformTypesGetCall) Header() http.Header {
 42760  	if c.header_ == nil {
 42761  		c.header_ = make(http.Header)
 42762  	}
 42763  	return c.header_
 42764  }
 42765  
 42766  func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
 42767  	reqHeaders := make(http.Header)
 42768  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 42769  	for k, v := range c.header_ {
 42770  		reqHeaders[k] = v
 42771  	}
 42772  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42773  	if c.ifNoneMatch_ != "" {
 42774  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42775  	}
 42776  	var body io.Reader = nil
 42777  	c.urlParams_.Set("alt", alt)
 42778  	c.urlParams_.Set("prettyPrint", "false")
 42779  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
 42780  	urls += "?" + c.urlParams_.Encode()
 42781  	req, err := http.NewRequest("GET", urls, body)
 42782  	if err != nil {
 42783  		return nil, err
 42784  	}
 42785  	req.Header = reqHeaders
 42786  	googleapi.Expand(req.URL, map[string]string{
 42787  		"profileId": strconv.FormatInt(c.profileId, 10),
 42788  		"id":        strconv.FormatInt(c.id, 10),
 42789  	})
 42790  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42791  }
 42792  
 42793  // Do executes the "dfareporting.platformTypes.get" call.
 42794  // Exactly one of *PlatformType or error will be non-nil. Any non-2xx
 42795  // status code is an error. Response headers are in either
 42796  // *PlatformType.ServerResponse.Header or (if a response was returned at
 42797  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 42798  // to check whether the returned error was because
 42799  // http.StatusNotModified was returned.
 42800  func (c *PlatformTypesGetCall) Do(opts ...googleapi.CallOption) (*PlatformType, error) {
 42801  	gensupport.SetOptions(c.urlParams_, opts...)
 42802  	res, err := c.doRequest("json")
 42803  	if res != nil && res.StatusCode == http.StatusNotModified {
 42804  		if res.Body != nil {
 42805  			res.Body.Close()
 42806  		}
 42807  		return nil, &googleapi.Error{
 42808  			Code:   res.StatusCode,
 42809  			Header: res.Header,
 42810  		}
 42811  	}
 42812  	if err != nil {
 42813  		return nil, err
 42814  	}
 42815  	defer googleapi.CloseBody(res)
 42816  	if err := googleapi.CheckResponse(res); err != nil {
 42817  		return nil, err
 42818  	}
 42819  	ret := &PlatformType{
 42820  		ServerResponse: googleapi.ServerResponse{
 42821  			Header:         res.Header,
 42822  			HTTPStatusCode: res.StatusCode,
 42823  		},
 42824  	}
 42825  	target := &ret
 42826  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42827  		return nil, err
 42828  	}
 42829  	return ret, nil
 42830  	// {
 42831  	//   "description": "Gets one platform type by ID.",
 42832  	//   "flatPath": "userprofiles/{profileId}/platformTypes/{id}",
 42833  	//   "httpMethod": "GET",
 42834  	//   "id": "dfareporting.platformTypes.get",
 42835  	//   "parameterOrder": [
 42836  	//     "profileId",
 42837  	//     "id"
 42838  	//   ],
 42839  	//   "parameters": {
 42840  	//     "id": {
 42841  	//       "description": "Platform type ID.",
 42842  	//       "format": "int64",
 42843  	//       "location": "path",
 42844  	//       "required": true,
 42845  	//       "type": "string"
 42846  	//     },
 42847  	//     "profileId": {
 42848  	//       "description": "User profile ID associated with this request.",
 42849  	//       "format": "int64",
 42850  	//       "location": "path",
 42851  	//       "required": true,
 42852  	//       "type": "string"
 42853  	//     }
 42854  	//   },
 42855  	//   "path": "userprofiles/{profileId}/platformTypes/{id}",
 42856  	//   "response": {
 42857  	//     "$ref": "PlatformType"
 42858  	//   },
 42859  	//   "scopes": [
 42860  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42861  	//   ]
 42862  	// }
 42863  
 42864  }
 42865  
 42866  // method id "dfareporting.platformTypes.list":
 42867  
 42868  type PlatformTypesListCall struct {
 42869  	s            *Service
 42870  	profileId    int64
 42871  	urlParams_   gensupport.URLParams
 42872  	ifNoneMatch_ string
 42873  	ctx_         context.Context
 42874  	header_      http.Header
 42875  }
 42876  
 42877  // List: Retrieves a list of platform types.
 42878  //
 42879  // - profileId: User profile ID associated with this request.
 42880  func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
 42881  	c := &PlatformTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42882  	c.profileId = profileId
 42883  	return c
 42884  }
 42885  
 42886  // Fields allows partial responses to be retrieved. See
 42887  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42888  // for more information.
 42889  func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
 42890  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42891  	return c
 42892  }
 42893  
 42894  // IfNoneMatch sets the optional parameter which makes the operation
 42895  // fail if the object's ETag matches the given value. This is useful for
 42896  // getting updates only after the object has changed since the last
 42897  // request. Use googleapi.IsNotModified to check whether the response
 42898  // error from Do is the result of In-None-Match.
 42899  func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
 42900  	c.ifNoneMatch_ = entityTag
 42901  	return c
 42902  }
 42903  
 42904  // Context sets the context to be used in this call's Do method. Any
 42905  // pending HTTP request will be aborted if the provided context is
 42906  // canceled.
 42907  func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
 42908  	c.ctx_ = ctx
 42909  	return c
 42910  }
 42911  
 42912  // Header returns an http.Header that can be modified by the caller to
 42913  // add HTTP headers to the request.
 42914  func (c *PlatformTypesListCall) Header() http.Header {
 42915  	if c.header_ == nil {
 42916  		c.header_ = make(http.Header)
 42917  	}
 42918  	return c.header_
 42919  }
 42920  
 42921  func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
 42922  	reqHeaders := make(http.Header)
 42923  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 42924  	for k, v := range c.header_ {
 42925  		reqHeaders[k] = v
 42926  	}
 42927  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42928  	if c.ifNoneMatch_ != "" {
 42929  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42930  	}
 42931  	var body io.Reader = nil
 42932  	c.urlParams_.Set("alt", alt)
 42933  	c.urlParams_.Set("prettyPrint", "false")
 42934  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
 42935  	urls += "?" + c.urlParams_.Encode()
 42936  	req, err := http.NewRequest("GET", urls, body)
 42937  	if err != nil {
 42938  		return nil, err
 42939  	}
 42940  	req.Header = reqHeaders
 42941  	googleapi.Expand(req.URL, map[string]string{
 42942  		"profileId": strconv.FormatInt(c.profileId, 10),
 42943  	})
 42944  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42945  }
 42946  
 42947  // Do executes the "dfareporting.platformTypes.list" call.
 42948  // Exactly one of *PlatformTypesListResponse or error will be non-nil.
 42949  // Any non-2xx status code is an error. Response headers are in either
 42950  // *PlatformTypesListResponse.ServerResponse.Header or (if a response
 42951  // was returned at all) in error.(*googleapi.Error).Header. Use
 42952  // googleapi.IsNotModified to check whether the returned error was
 42953  // because http.StatusNotModified was returned.
 42954  func (c *PlatformTypesListCall) Do(opts ...googleapi.CallOption) (*PlatformTypesListResponse, error) {
 42955  	gensupport.SetOptions(c.urlParams_, opts...)
 42956  	res, err := c.doRequest("json")
 42957  	if res != nil && res.StatusCode == http.StatusNotModified {
 42958  		if res.Body != nil {
 42959  			res.Body.Close()
 42960  		}
 42961  		return nil, &googleapi.Error{
 42962  			Code:   res.StatusCode,
 42963  			Header: res.Header,
 42964  		}
 42965  	}
 42966  	if err != nil {
 42967  		return nil, err
 42968  	}
 42969  	defer googleapi.CloseBody(res)
 42970  	if err := googleapi.CheckResponse(res); err != nil {
 42971  		return nil, err
 42972  	}
 42973  	ret := &PlatformTypesListResponse{
 42974  		ServerResponse: googleapi.ServerResponse{
 42975  			Header:         res.Header,
 42976  			HTTPStatusCode: res.StatusCode,
 42977  		},
 42978  	}
 42979  	target := &ret
 42980  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42981  		return nil, err
 42982  	}
 42983  	return ret, nil
 42984  	// {
 42985  	//   "description": "Retrieves a list of platform types.",
 42986  	//   "flatPath": "userprofiles/{profileId}/platformTypes",
 42987  	//   "httpMethod": "GET",
 42988  	//   "id": "dfareporting.platformTypes.list",
 42989  	//   "parameterOrder": [
 42990  	//     "profileId"
 42991  	//   ],
 42992  	//   "parameters": {
 42993  	//     "profileId": {
 42994  	//       "description": "User profile ID associated with this request.",
 42995  	//       "format": "int64",
 42996  	//       "location": "path",
 42997  	//       "required": true,
 42998  	//       "type": "string"
 42999  	//     }
 43000  	//   },
 43001  	//   "path": "userprofiles/{profileId}/platformTypes",
 43002  	//   "response": {
 43003  	//     "$ref": "PlatformTypesListResponse"
 43004  	//   },
 43005  	//   "scopes": [
 43006  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43007  	//   ]
 43008  	// }
 43009  
 43010  }
 43011  
 43012  // method id "dfareporting.postalCodes.get":
 43013  
 43014  type PostalCodesGetCall struct {
 43015  	s            *Service
 43016  	profileId    int64
 43017  	code         string
 43018  	urlParams_   gensupport.URLParams
 43019  	ifNoneMatch_ string
 43020  	ctx_         context.Context
 43021  	header_      http.Header
 43022  }
 43023  
 43024  // Get: Gets one postal code by ID.
 43025  //
 43026  // - code: Postal code ID.
 43027  // - profileId: User profile ID associated with this request.
 43028  func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
 43029  	c := &PostalCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43030  	c.profileId = profileId
 43031  	c.code = code
 43032  	return c
 43033  }
 43034  
 43035  // Fields allows partial responses to be retrieved. See
 43036  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43037  // for more information.
 43038  func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
 43039  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43040  	return c
 43041  }
 43042  
 43043  // IfNoneMatch sets the optional parameter which makes the operation
 43044  // fail if the object's ETag matches the given value. This is useful for
 43045  // getting updates only after the object has changed since the last
 43046  // request. Use googleapi.IsNotModified to check whether the response
 43047  // error from Do is the result of In-None-Match.
 43048  func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
 43049  	c.ifNoneMatch_ = entityTag
 43050  	return c
 43051  }
 43052  
 43053  // Context sets the context to be used in this call's Do method. Any
 43054  // pending HTTP request will be aborted if the provided context is
 43055  // canceled.
 43056  func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
 43057  	c.ctx_ = ctx
 43058  	return c
 43059  }
 43060  
 43061  // Header returns an http.Header that can be modified by the caller to
 43062  // add HTTP headers to the request.
 43063  func (c *PostalCodesGetCall) Header() http.Header {
 43064  	if c.header_ == nil {
 43065  		c.header_ = make(http.Header)
 43066  	}
 43067  	return c.header_
 43068  }
 43069  
 43070  func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
 43071  	reqHeaders := make(http.Header)
 43072  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 43073  	for k, v := range c.header_ {
 43074  		reqHeaders[k] = v
 43075  	}
 43076  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43077  	if c.ifNoneMatch_ != "" {
 43078  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43079  	}
 43080  	var body io.Reader = nil
 43081  	c.urlParams_.Set("alt", alt)
 43082  	c.urlParams_.Set("prettyPrint", "false")
 43083  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
 43084  	urls += "?" + c.urlParams_.Encode()
 43085  	req, err := http.NewRequest("GET", urls, body)
 43086  	if err != nil {
 43087  		return nil, err
 43088  	}
 43089  	req.Header = reqHeaders
 43090  	googleapi.Expand(req.URL, map[string]string{
 43091  		"profileId": strconv.FormatInt(c.profileId, 10),
 43092  		"code":      c.code,
 43093  	})
 43094  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43095  }
 43096  
 43097  // Do executes the "dfareporting.postalCodes.get" call.
 43098  // Exactly one of *PostalCode or error will be non-nil. Any non-2xx
 43099  // status code is an error. Response headers are in either
 43100  // *PostalCode.ServerResponse.Header or (if a response was returned at
 43101  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 43102  // to check whether the returned error was because
 43103  // http.StatusNotModified was returned.
 43104  func (c *PostalCodesGetCall) Do(opts ...googleapi.CallOption) (*PostalCode, error) {
 43105  	gensupport.SetOptions(c.urlParams_, opts...)
 43106  	res, err := c.doRequest("json")
 43107  	if res != nil && res.StatusCode == http.StatusNotModified {
 43108  		if res.Body != nil {
 43109  			res.Body.Close()
 43110  		}
 43111  		return nil, &googleapi.Error{
 43112  			Code:   res.StatusCode,
 43113  			Header: res.Header,
 43114  		}
 43115  	}
 43116  	if err != nil {
 43117  		return nil, err
 43118  	}
 43119  	defer googleapi.CloseBody(res)
 43120  	if err := googleapi.CheckResponse(res); err != nil {
 43121  		return nil, err
 43122  	}
 43123  	ret := &PostalCode{
 43124  		ServerResponse: googleapi.ServerResponse{
 43125  			Header:         res.Header,
 43126  			HTTPStatusCode: res.StatusCode,
 43127  		},
 43128  	}
 43129  	target := &ret
 43130  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43131  		return nil, err
 43132  	}
 43133  	return ret, nil
 43134  	// {
 43135  	//   "description": "Gets one postal code by ID.",
 43136  	//   "flatPath": "userprofiles/{profileId}/postalCodes/{code}",
 43137  	//   "httpMethod": "GET",
 43138  	//   "id": "dfareporting.postalCodes.get",
 43139  	//   "parameterOrder": [
 43140  	//     "profileId",
 43141  	//     "code"
 43142  	//   ],
 43143  	//   "parameters": {
 43144  	//     "code": {
 43145  	//       "description": "Postal code ID.",
 43146  	//       "location": "path",
 43147  	//       "required": true,
 43148  	//       "type": "string"
 43149  	//     },
 43150  	//     "profileId": {
 43151  	//       "description": "User profile ID associated with this request.",
 43152  	//       "format": "int64",
 43153  	//       "location": "path",
 43154  	//       "required": true,
 43155  	//       "type": "string"
 43156  	//     }
 43157  	//   },
 43158  	//   "path": "userprofiles/{profileId}/postalCodes/{code}",
 43159  	//   "response": {
 43160  	//     "$ref": "PostalCode"
 43161  	//   },
 43162  	//   "scopes": [
 43163  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43164  	//   ]
 43165  	// }
 43166  
 43167  }
 43168  
 43169  // method id "dfareporting.postalCodes.list":
 43170  
 43171  type PostalCodesListCall struct {
 43172  	s            *Service
 43173  	profileId    int64
 43174  	urlParams_   gensupport.URLParams
 43175  	ifNoneMatch_ string
 43176  	ctx_         context.Context
 43177  	header_      http.Header
 43178  }
 43179  
 43180  // List: Retrieves a list of postal codes.
 43181  //
 43182  // - profileId: User profile ID associated with this request.
 43183  func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
 43184  	c := &PostalCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43185  	c.profileId = profileId
 43186  	return c
 43187  }
 43188  
 43189  // Fields allows partial responses to be retrieved. See
 43190  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43191  // for more information.
 43192  func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
 43193  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43194  	return c
 43195  }
 43196  
 43197  // IfNoneMatch sets the optional parameter which makes the operation
 43198  // fail if the object's ETag matches the given value. This is useful for
 43199  // getting updates only after the object has changed since the last
 43200  // request. Use googleapi.IsNotModified to check whether the response
 43201  // error from Do is the result of In-None-Match.
 43202  func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
 43203  	c.ifNoneMatch_ = entityTag
 43204  	return c
 43205  }
 43206  
 43207  // Context sets the context to be used in this call's Do method. Any
 43208  // pending HTTP request will be aborted if the provided context is
 43209  // canceled.
 43210  func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
 43211  	c.ctx_ = ctx
 43212  	return c
 43213  }
 43214  
 43215  // Header returns an http.Header that can be modified by the caller to
 43216  // add HTTP headers to the request.
 43217  func (c *PostalCodesListCall) Header() http.Header {
 43218  	if c.header_ == nil {
 43219  		c.header_ = make(http.Header)
 43220  	}
 43221  	return c.header_
 43222  }
 43223  
 43224  func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
 43225  	reqHeaders := make(http.Header)
 43226  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 43227  	for k, v := range c.header_ {
 43228  		reqHeaders[k] = v
 43229  	}
 43230  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43231  	if c.ifNoneMatch_ != "" {
 43232  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43233  	}
 43234  	var body io.Reader = nil
 43235  	c.urlParams_.Set("alt", alt)
 43236  	c.urlParams_.Set("prettyPrint", "false")
 43237  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
 43238  	urls += "?" + c.urlParams_.Encode()
 43239  	req, err := http.NewRequest("GET", urls, body)
 43240  	if err != nil {
 43241  		return nil, err
 43242  	}
 43243  	req.Header = reqHeaders
 43244  	googleapi.Expand(req.URL, map[string]string{
 43245  		"profileId": strconv.FormatInt(c.profileId, 10),
 43246  	})
 43247  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43248  }
 43249  
 43250  // Do executes the "dfareporting.postalCodes.list" call.
 43251  // Exactly one of *PostalCodesListResponse or error will be non-nil. Any
 43252  // non-2xx status code is an error. Response headers are in either
 43253  // *PostalCodesListResponse.ServerResponse.Header or (if a response was
 43254  // returned at all) in error.(*googleapi.Error).Header. Use
 43255  // googleapi.IsNotModified to check whether the returned error was
 43256  // because http.StatusNotModified was returned.
 43257  func (c *PostalCodesListCall) Do(opts ...googleapi.CallOption) (*PostalCodesListResponse, error) {
 43258  	gensupport.SetOptions(c.urlParams_, opts...)
 43259  	res, err := c.doRequest("json")
 43260  	if res != nil && res.StatusCode == http.StatusNotModified {
 43261  		if res.Body != nil {
 43262  			res.Body.Close()
 43263  		}
 43264  		return nil, &googleapi.Error{
 43265  			Code:   res.StatusCode,
 43266  			Header: res.Header,
 43267  		}
 43268  	}
 43269  	if err != nil {
 43270  		return nil, err
 43271  	}
 43272  	defer googleapi.CloseBody(res)
 43273  	if err := googleapi.CheckResponse(res); err != nil {
 43274  		return nil, err
 43275  	}
 43276  	ret := &PostalCodesListResponse{
 43277  		ServerResponse: googleapi.ServerResponse{
 43278  			Header:         res.Header,
 43279  			HTTPStatusCode: res.StatusCode,
 43280  		},
 43281  	}
 43282  	target := &ret
 43283  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43284  		return nil, err
 43285  	}
 43286  	return ret, nil
 43287  	// {
 43288  	//   "description": "Retrieves a list of postal codes.",
 43289  	//   "flatPath": "userprofiles/{profileId}/postalCodes",
 43290  	//   "httpMethod": "GET",
 43291  	//   "id": "dfareporting.postalCodes.list",
 43292  	//   "parameterOrder": [
 43293  	//     "profileId"
 43294  	//   ],
 43295  	//   "parameters": {
 43296  	//     "profileId": {
 43297  	//       "description": "User profile ID associated with this request.",
 43298  	//       "format": "int64",
 43299  	//       "location": "path",
 43300  	//       "required": true,
 43301  	//       "type": "string"
 43302  	//     }
 43303  	//   },
 43304  	//   "path": "userprofiles/{profileId}/postalCodes",
 43305  	//   "response": {
 43306  	//     "$ref": "PostalCodesListResponse"
 43307  	//   },
 43308  	//   "scopes": [
 43309  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43310  	//   ]
 43311  	// }
 43312  
 43313  }
 43314  
 43315  // method id "dfareporting.projects.get":
 43316  
 43317  type ProjectsGetCall struct {
 43318  	s            *Service
 43319  	profileId    int64
 43320  	id           int64
 43321  	urlParams_   gensupport.URLParams
 43322  	ifNoneMatch_ string
 43323  	ctx_         context.Context
 43324  	header_      http.Header
 43325  }
 43326  
 43327  // Get: Gets one project by ID.
 43328  //
 43329  // - id: Project ID.
 43330  // - profileId: User profile ID associated with this request.
 43331  func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
 43332  	c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43333  	c.profileId = profileId
 43334  	c.id = id
 43335  	return c
 43336  }
 43337  
 43338  // Fields allows partial responses to be retrieved. See
 43339  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43340  // for more information.
 43341  func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
 43342  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43343  	return c
 43344  }
 43345  
 43346  // IfNoneMatch sets the optional parameter which makes the operation
 43347  // fail if the object's ETag matches the given value. This is useful for
 43348  // getting updates only after the object has changed since the last
 43349  // request. Use googleapi.IsNotModified to check whether the response
 43350  // error from Do is the result of In-None-Match.
 43351  func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
 43352  	c.ifNoneMatch_ = entityTag
 43353  	return c
 43354  }
 43355  
 43356  // Context sets the context to be used in this call's Do method. Any
 43357  // pending HTTP request will be aborted if the provided context is
 43358  // canceled.
 43359  func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
 43360  	c.ctx_ = ctx
 43361  	return c
 43362  }
 43363  
 43364  // Header returns an http.Header that can be modified by the caller to
 43365  // add HTTP headers to the request.
 43366  func (c *ProjectsGetCall) Header() http.Header {
 43367  	if c.header_ == nil {
 43368  		c.header_ = make(http.Header)
 43369  	}
 43370  	return c.header_
 43371  }
 43372  
 43373  func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 43374  	reqHeaders := make(http.Header)
 43375  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 43376  	for k, v := range c.header_ {
 43377  		reqHeaders[k] = v
 43378  	}
 43379  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43380  	if c.ifNoneMatch_ != "" {
 43381  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43382  	}
 43383  	var body io.Reader = nil
 43384  	c.urlParams_.Set("alt", alt)
 43385  	c.urlParams_.Set("prettyPrint", "false")
 43386  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
 43387  	urls += "?" + c.urlParams_.Encode()
 43388  	req, err := http.NewRequest("GET", urls, body)
 43389  	if err != nil {
 43390  		return nil, err
 43391  	}
 43392  	req.Header = reqHeaders
 43393  	googleapi.Expand(req.URL, map[string]string{
 43394  		"profileId": strconv.FormatInt(c.profileId, 10),
 43395  		"id":        strconv.FormatInt(c.id, 10),
 43396  	})
 43397  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43398  }
 43399  
 43400  // Do executes the "dfareporting.projects.get" call.
 43401  // Exactly one of *Project or error will be non-nil. Any non-2xx status
 43402  // code is an error. Response headers are in either
 43403  // *Project.ServerResponse.Header or (if a response was returned at all)
 43404  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 43405  // check whether the returned error was because http.StatusNotModified
 43406  // was returned.
 43407  func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
 43408  	gensupport.SetOptions(c.urlParams_, opts...)
 43409  	res, err := c.doRequest("json")
 43410  	if res != nil && res.StatusCode == http.StatusNotModified {
 43411  		if res.Body != nil {
 43412  			res.Body.Close()
 43413  		}
 43414  		return nil, &googleapi.Error{
 43415  			Code:   res.StatusCode,
 43416  			Header: res.Header,
 43417  		}
 43418  	}
 43419  	if err != nil {
 43420  		return nil, err
 43421  	}
 43422  	defer googleapi.CloseBody(res)
 43423  	if err := googleapi.CheckResponse(res); err != nil {
 43424  		return nil, err
 43425  	}
 43426  	ret := &Project{
 43427  		ServerResponse: googleapi.ServerResponse{
 43428  			Header:         res.Header,
 43429  			HTTPStatusCode: res.StatusCode,
 43430  		},
 43431  	}
 43432  	target := &ret
 43433  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43434  		return nil, err
 43435  	}
 43436  	return ret, nil
 43437  	// {
 43438  	//   "description": "Gets one project by ID.",
 43439  	//   "flatPath": "userprofiles/{profileId}/projects/{id}",
 43440  	//   "httpMethod": "GET",
 43441  	//   "id": "dfareporting.projects.get",
 43442  	//   "parameterOrder": [
 43443  	//     "profileId",
 43444  	//     "id"
 43445  	//   ],
 43446  	//   "parameters": {
 43447  	//     "id": {
 43448  	//       "description": "Project ID.",
 43449  	//       "format": "int64",
 43450  	//       "location": "path",
 43451  	//       "required": true,
 43452  	//       "type": "string"
 43453  	//     },
 43454  	//     "profileId": {
 43455  	//       "description": "User profile ID associated with this request.",
 43456  	//       "format": "int64",
 43457  	//       "location": "path",
 43458  	//       "required": true,
 43459  	//       "type": "string"
 43460  	//     }
 43461  	//   },
 43462  	//   "path": "userprofiles/{profileId}/projects/{id}",
 43463  	//   "response": {
 43464  	//     "$ref": "Project"
 43465  	//   },
 43466  	//   "scopes": [
 43467  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43468  	//   ]
 43469  	// }
 43470  
 43471  }
 43472  
 43473  // method id "dfareporting.projects.list":
 43474  
 43475  type ProjectsListCall struct {
 43476  	s            *Service
 43477  	profileId    int64
 43478  	urlParams_   gensupport.URLParams
 43479  	ifNoneMatch_ string
 43480  	ctx_         context.Context
 43481  	header_      http.Header
 43482  }
 43483  
 43484  // List: Retrieves a list of projects, possibly filtered. This method
 43485  // supports paging .
 43486  //
 43487  // - profileId: User profile ID associated with this request.
 43488  func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
 43489  	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43490  	c.profileId = profileId
 43491  	return c
 43492  }
 43493  
 43494  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 43495  // only projects with these advertiser IDs.
 43496  func (c *ProjectsListCall) AdvertiserIds(advertiserIds ...int64) *ProjectsListCall {
 43497  	var advertiserIds_ []string
 43498  	for _, v := range advertiserIds {
 43499  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 43500  	}
 43501  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 43502  	return c
 43503  }
 43504  
 43505  // Ids sets the optional parameter "ids": Select only projects with
 43506  // these IDs.
 43507  func (c *ProjectsListCall) Ids(ids ...int64) *ProjectsListCall {
 43508  	var ids_ []string
 43509  	for _, v := range ids {
 43510  		ids_ = append(ids_, fmt.Sprint(v))
 43511  	}
 43512  	c.urlParams_.SetMulti("ids", ids_)
 43513  	return c
 43514  }
 43515  
 43516  // MaxResults sets the optional parameter "maxResults": Maximum number
 43517  // of results to return.
 43518  func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
 43519  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 43520  	return c
 43521  }
 43522  
 43523  // PageToken sets the optional parameter "pageToken": Value of the
 43524  // nextPageToken from the previous result page.
 43525  func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
 43526  	c.urlParams_.Set("pageToken", pageToken)
 43527  	return c
 43528  }
 43529  
 43530  // SearchString sets the optional parameter "searchString": Allows
 43531  // searching for projects by name or ID. Wildcards (*) are allowed. For
 43532  // example, "project*2015" will return projects with names like "project
 43533  // June 2015", "project April 2015", or simply "project 2015". Most of
 43534  // the searches also add wildcards implicitly at the start and the end
 43535  // of the search string. For example, a search string of "project" will
 43536  // match projects with name "my project", "project 2015", or simply
 43537  // "project".
 43538  func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
 43539  	c.urlParams_.Set("searchString", searchString)
 43540  	return c
 43541  }
 43542  
 43543  // SortField sets the optional parameter "sortField": Field by which to
 43544  // sort the list.
 43545  //
 43546  // Possible values:
 43547  //
 43548  //	"ID" (default)
 43549  //	"NAME"
 43550  func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
 43551  	c.urlParams_.Set("sortField", sortField)
 43552  	return c
 43553  }
 43554  
 43555  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 43556  // results.
 43557  //
 43558  // Possible values:
 43559  //
 43560  //	"ASCENDING" (default)
 43561  //	"DESCENDING"
 43562  func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
 43563  	c.urlParams_.Set("sortOrder", sortOrder)
 43564  	return c
 43565  }
 43566  
 43567  // Fields allows partial responses to be retrieved. See
 43568  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43569  // for more information.
 43570  func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
 43571  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43572  	return c
 43573  }
 43574  
 43575  // IfNoneMatch sets the optional parameter which makes the operation
 43576  // fail if the object's ETag matches the given value. This is useful for
 43577  // getting updates only after the object has changed since the last
 43578  // request. Use googleapi.IsNotModified to check whether the response
 43579  // error from Do is the result of In-None-Match.
 43580  func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
 43581  	c.ifNoneMatch_ = entityTag
 43582  	return c
 43583  }
 43584  
 43585  // Context sets the context to be used in this call's Do method. Any
 43586  // pending HTTP request will be aborted if the provided context is
 43587  // canceled.
 43588  func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
 43589  	c.ctx_ = ctx
 43590  	return c
 43591  }
 43592  
 43593  // Header returns an http.Header that can be modified by the caller to
 43594  // add HTTP headers to the request.
 43595  func (c *ProjectsListCall) Header() http.Header {
 43596  	if c.header_ == nil {
 43597  		c.header_ = make(http.Header)
 43598  	}
 43599  	return c.header_
 43600  }
 43601  
 43602  func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 43603  	reqHeaders := make(http.Header)
 43604  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 43605  	for k, v := range c.header_ {
 43606  		reqHeaders[k] = v
 43607  	}
 43608  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43609  	if c.ifNoneMatch_ != "" {
 43610  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43611  	}
 43612  	var body io.Reader = nil
 43613  	c.urlParams_.Set("alt", alt)
 43614  	c.urlParams_.Set("prettyPrint", "false")
 43615  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
 43616  	urls += "?" + c.urlParams_.Encode()
 43617  	req, err := http.NewRequest("GET", urls, body)
 43618  	if err != nil {
 43619  		return nil, err
 43620  	}
 43621  	req.Header = reqHeaders
 43622  	googleapi.Expand(req.URL, map[string]string{
 43623  		"profileId": strconv.FormatInt(c.profileId, 10),
 43624  	})
 43625  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43626  }
 43627  
 43628  // Do executes the "dfareporting.projects.list" call.
 43629  // Exactly one of *ProjectsListResponse or error will be non-nil. Any
 43630  // non-2xx status code is an error. Response headers are in either
 43631  // *ProjectsListResponse.ServerResponse.Header or (if a response was
 43632  // returned at all) in error.(*googleapi.Error).Header. Use
 43633  // googleapi.IsNotModified to check whether the returned error was
 43634  // because http.StatusNotModified was returned.
 43635  func (c *ProjectsListCall) Do(opts ...googleapi.CallOption) (*ProjectsListResponse, error) {
 43636  	gensupport.SetOptions(c.urlParams_, opts...)
 43637  	res, err := c.doRequest("json")
 43638  	if res != nil && res.StatusCode == http.StatusNotModified {
 43639  		if res.Body != nil {
 43640  			res.Body.Close()
 43641  		}
 43642  		return nil, &googleapi.Error{
 43643  			Code:   res.StatusCode,
 43644  			Header: res.Header,
 43645  		}
 43646  	}
 43647  	if err != nil {
 43648  		return nil, err
 43649  	}
 43650  	defer googleapi.CloseBody(res)
 43651  	if err := googleapi.CheckResponse(res); err != nil {
 43652  		return nil, err
 43653  	}
 43654  	ret := &ProjectsListResponse{
 43655  		ServerResponse: googleapi.ServerResponse{
 43656  			Header:         res.Header,
 43657  			HTTPStatusCode: res.StatusCode,
 43658  		},
 43659  	}
 43660  	target := &ret
 43661  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43662  		return nil, err
 43663  	}
 43664  	return ret, nil
 43665  	// {
 43666  	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging .",
 43667  	//   "flatPath": "userprofiles/{profileId}/projects",
 43668  	//   "httpMethod": "GET",
 43669  	//   "id": "dfareporting.projects.list",
 43670  	//   "parameterOrder": [
 43671  	//     "profileId"
 43672  	//   ],
 43673  	//   "parameters": {
 43674  	//     "advertiserIds": {
 43675  	//       "description": "Select only projects with these advertiser IDs.",
 43676  	//       "format": "int64",
 43677  	//       "location": "query",
 43678  	//       "repeated": true,
 43679  	//       "type": "string"
 43680  	//     },
 43681  	//     "ids": {
 43682  	//       "description": "Select only projects with these IDs.",
 43683  	//       "format": "int64",
 43684  	//       "location": "query",
 43685  	//       "repeated": true,
 43686  	//       "type": "string"
 43687  	//     },
 43688  	//     "maxResults": {
 43689  	//       "default": "1000",
 43690  	//       "description": "Maximum number of results to return.",
 43691  	//       "format": "int32",
 43692  	//       "location": "query",
 43693  	//       "maximum": "1000",
 43694  	//       "minimum": "0",
 43695  	//       "type": "integer"
 43696  	//     },
 43697  	//     "pageToken": {
 43698  	//       "description": "Value of the nextPageToken from the previous result page.",
 43699  	//       "location": "query",
 43700  	//       "type": "string"
 43701  	//     },
 43702  	//     "profileId": {
 43703  	//       "description": "User profile ID associated with this request.",
 43704  	//       "format": "int64",
 43705  	//       "location": "path",
 43706  	//       "required": true,
 43707  	//       "type": "string"
 43708  	//     },
 43709  	//     "searchString": {
 43710  	//       "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\".",
 43711  	//       "location": "query",
 43712  	//       "type": "string"
 43713  	//     },
 43714  	//     "sortField": {
 43715  	//       "default": "ID",
 43716  	//       "description": "Field by which to sort the list.",
 43717  	//       "enum": [
 43718  	//         "ID",
 43719  	//         "NAME"
 43720  	//       ],
 43721  	//       "enumDescriptions": [
 43722  	//         "",
 43723  	//         ""
 43724  	//       ],
 43725  	//       "location": "query",
 43726  	//       "type": "string"
 43727  	//     },
 43728  	//     "sortOrder": {
 43729  	//       "default": "ASCENDING",
 43730  	//       "description": "Order of sorted results.",
 43731  	//       "enum": [
 43732  	//         "ASCENDING",
 43733  	//         "DESCENDING"
 43734  	//       ],
 43735  	//       "enumDescriptions": [
 43736  	//         "",
 43737  	//         ""
 43738  	//       ],
 43739  	//       "location": "query",
 43740  	//       "type": "string"
 43741  	//     }
 43742  	//   },
 43743  	//   "path": "userprofiles/{profileId}/projects",
 43744  	//   "response": {
 43745  	//     "$ref": "ProjectsListResponse"
 43746  	//   },
 43747  	//   "scopes": [
 43748  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43749  	//   ]
 43750  	// }
 43751  
 43752  }
 43753  
 43754  // Pages invokes f for each page of results.
 43755  // A non-nil error returned from f will halt the iteration.
 43756  // The provided context supersedes any context provided to the Context method.
 43757  func (c *ProjectsListCall) Pages(ctx context.Context, f func(*ProjectsListResponse) error) error {
 43758  	c.ctx_ = ctx
 43759  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 43760  	for {
 43761  		x, err := c.Do()
 43762  		if err != nil {
 43763  			return err
 43764  		}
 43765  		if err := f(x); err != nil {
 43766  			return err
 43767  		}
 43768  		if x.NextPageToken == "" {
 43769  			return nil
 43770  		}
 43771  		c.PageToken(x.NextPageToken)
 43772  	}
 43773  }
 43774  
 43775  // method id "dfareporting.regions.list":
 43776  
 43777  type RegionsListCall struct {
 43778  	s            *Service
 43779  	profileId    int64
 43780  	urlParams_   gensupport.URLParams
 43781  	ifNoneMatch_ string
 43782  	ctx_         context.Context
 43783  	header_      http.Header
 43784  }
 43785  
 43786  // List: Retrieves a list of regions.
 43787  //
 43788  // - profileId: User profile ID associated with this request.
 43789  func (r *RegionsService) List(profileId int64) *RegionsListCall {
 43790  	c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43791  	c.profileId = profileId
 43792  	return c
 43793  }
 43794  
 43795  // Fields allows partial responses to be retrieved. See
 43796  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43797  // for more information.
 43798  func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
 43799  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43800  	return c
 43801  }
 43802  
 43803  // IfNoneMatch sets the optional parameter which makes the operation
 43804  // fail if the object's ETag matches the given value. This is useful for
 43805  // getting updates only after the object has changed since the last
 43806  // request. Use googleapi.IsNotModified to check whether the response
 43807  // error from Do is the result of In-None-Match.
 43808  func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
 43809  	c.ifNoneMatch_ = entityTag
 43810  	return c
 43811  }
 43812  
 43813  // Context sets the context to be used in this call's Do method. Any
 43814  // pending HTTP request will be aborted if the provided context is
 43815  // canceled.
 43816  func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
 43817  	c.ctx_ = ctx
 43818  	return c
 43819  }
 43820  
 43821  // Header returns an http.Header that can be modified by the caller to
 43822  // add HTTP headers to the request.
 43823  func (c *RegionsListCall) Header() http.Header {
 43824  	if c.header_ == nil {
 43825  		c.header_ = make(http.Header)
 43826  	}
 43827  	return c.header_
 43828  }
 43829  
 43830  func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 43831  	reqHeaders := make(http.Header)
 43832  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 43833  	for k, v := range c.header_ {
 43834  		reqHeaders[k] = v
 43835  	}
 43836  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43837  	if c.ifNoneMatch_ != "" {
 43838  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43839  	}
 43840  	var body io.Reader = nil
 43841  	c.urlParams_.Set("alt", alt)
 43842  	c.urlParams_.Set("prettyPrint", "false")
 43843  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
 43844  	urls += "?" + c.urlParams_.Encode()
 43845  	req, err := http.NewRequest("GET", urls, body)
 43846  	if err != nil {
 43847  		return nil, err
 43848  	}
 43849  	req.Header = reqHeaders
 43850  	googleapi.Expand(req.URL, map[string]string{
 43851  		"profileId": strconv.FormatInt(c.profileId, 10),
 43852  	})
 43853  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43854  }
 43855  
 43856  // Do executes the "dfareporting.regions.list" call.
 43857  // Exactly one of *RegionsListResponse or error will be non-nil. Any
 43858  // non-2xx status code is an error. Response headers are in either
 43859  // *RegionsListResponse.ServerResponse.Header or (if a response was
 43860  // returned at all) in error.(*googleapi.Error).Header. Use
 43861  // googleapi.IsNotModified to check whether the returned error was
 43862  // because http.StatusNotModified was returned.
 43863  func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionsListResponse, error) {
 43864  	gensupport.SetOptions(c.urlParams_, opts...)
 43865  	res, err := c.doRequest("json")
 43866  	if res != nil && res.StatusCode == http.StatusNotModified {
 43867  		if res.Body != nil {
 43868  			res.Body.Close()
 43869  		}
 43870  		return nil, &googleapi.Error{
 43871  			Code:   res.StatusCode,
 43872  			Header: res.Header,
 43873  		}
 43874  	}
 43875  	if err != nil {
 43876  		return nil, err
 43877  	}
 43878  	defer googleapi.CloseBody(res)
 43879  	if err := googleapi.CheckResponse(res); err != nil {
 43880  		return nil, err
 43881  	}
 43882  	ret := &RegionsListResponse{
 43883  		ServerResponse: googleapi.ServerResponse{
 43884  			Header:         res.Header,
 43885  			HTTPStatusCode: res.StatusCode,
 43886  		},
 43887  	}
 43888  	target := &ret
 43889  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43890  		return nil, err
 43891  	}
 43892  	return ret, nil
 43893  	// {
 43894  	//   "description": "Retrieves a list of regions.",
 43895  	//   "flatPath": "userprofiles/{profileId}/regions",
 43896  	//   "httpMethod": "GET",
 43897  	//   "id": "dfareporting.regions.list",
 43898  	//   "parameterOrder": [
 43899  	//     "profileId"
 43900  	//   ],
 43901  	//   "parameters": {
 43902  	//     "profileId": {
 43903  	//       "description": "User profile ID associated with this request.",
 43904  	//       "format": "int64",
 43905  	//       "location": "path",
 43906  	//       "required": true,
 43907  	//       "type": "string"
 43908  	//     }
 43909  	//   },
 43910  	//   "path": "userprofiles/{profileId}/regions",
 43911  	//   "response": {
 43912  	//     "$ref": "RegionsListResponse"
 43913  	//   },
 43914  	//   "scopes": [
 43915  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43916  	//   ]
 43917  	// }
 43918  
 43919  }
 43920  
 43921  // method id "dfareporting.remarketingListShares.get":
 43922  
 43923  type RemarketingListSharesGetCall struct {
 43924  	s                 *Service
 43925  	profileId         int64
 43926  	remarketingListId int64
 43927  	urlParams_        gensupport.URLParams
 43928  	ifNoneMatch_      string
 43929  	ctx_              context.Context
 43930  	header_           http.Header
 43931  }
 43932  
 43933  // Get: Gets one remarketing list share by remarketing list ID.
 43934  //
 43935  // - profileId: User profile ID associated with this request.
 43936  // - remarketingListId: Remarketing list ID.
 43937  func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
 43938  	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43939  	c.profileId = profileId
 43940  	c.remarketingListId = remarketingListId
 43941  	return c
 43942  }
 43943  
 43944  // Fields allows partial responses to be retrieved. See
 43945  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43946  // for more information.
 43947  func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
 43948  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43949  	return c
 43950  }
 43951  
 43952  // IfNoneMatch sets the optional parameter which makes the operation
 43953  // fail if the object's ETag matches the given value. This is useful for
 43954  // getting updates only after the object has changed since the last
 43955  // request. Use googleapi.IsNotModified to check whether the response
 43956  // error from Do is the result of In-None-Match.
 43957  func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
 43958  	c.ifNoneMatch_ = entityTag
 43959  	return c
 43960  }
 43961  
 43962  // Context sets the context to be used in this call's Do method. Any
 43963  // pending HTTP request will be aborted if the provided context is
 43964  // canceled.
 43965  func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
 43966  	c.ctx_ = ctx
 43967  	return c
 43968  }
 43969  
 43970  // Header returns an http.Header that can be modified by the caller to
 43971  // add HTTP headers to the request.
 43972  func (c *RemarketingListSharesGetCall) Header() http.Header {
 43973  	if c.header_ == nil {
 43974  		c.header_ = make(http.Header)
 43975  	}
 43976  	return c.header_
 43977  }
 43978  
 43979  func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
 43980  	reqHeaders := make(http.Header)
 43981  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 43982  	for k, v := range c.header_ {
 43983  		reqHeaders[k] = v
 43984  	}
 43985  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43986  	if c.ifNoneMatch_ != "" {
 43987  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43988  	}
 43989  	var body io.Reader = nil
 43990  	c.urlParams_.Set("alt", alt)
 43991  	c.urlParams_.Set("prettyPrint", "false")
 43992  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
 43993  	urls += "?" + c.urlParams_.Encode()
 43994  	req, err := http.NewRequest("GET", urls, body)
 43995  	if err != nil {
 43996  		return nil, err
 43997  	}
 43998  	req.Header = reqHeaders
 43999  	googleapi.Expand(req.URL, map[string]string{
 44000  		"profileId":         strconv.FormatInt(c.profileId, 10),
 44001  		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
 44002  	})
 44003  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44004  }
 44005  
 44006  // Do executes the "dfareporting.remarketingListShares.get" call.
 44007  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 44008  // non-2xx status code is an error. Response headers are in either
 44009  // *RemarketingListShare.ServerResponse.Header or (if a response was
 44010  // returned at all) in error.(*googleapi.Error).Header. Use
 44011  // googleapi.IsNotModified to check whether the returned error was
 44012  // because http.StatusNotModified was returned.
 44013  func (c *RemarketingListSharesGetCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 44014  	gensupport.SetOptions(c.urlParams_, opts...)
 44015  	res, err := c.doRequest("json")
 44016  	if res != nil && res.StatusCode == http.StatusNotModified {
 44017  		if res.Body != nil {
 44018  			res.Body.Close()
 44019  		}
 44020  		return nil, &googleapi.Error{
 44021  			Code:   res.StatusCode,
 44022  			Header: res.Header,
 44023  		}
 44024  	}
 44025  	if err != nil {
 44026  		return nil, err
 44027  	}
 44028  	defer googleapi.CloseBody(res)
 44029  	if err := googleapi.CheckResponse(res); err != nil {
 44030  		return nil, err
 44031  	}
 44032  	ret := &RemarketingListShare{
 44033  		ServerResponse: googleapi.ServerResponse{
 44034  			Header:         res.Header,
 44035  			HTTPStatusCode: res.StatusCode,
 44036  		},
 44037  	}
 44038  	target := &ret
 44039  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44040  		return nil, err
 44041  	}
 44042  	return ret, nil
 44043  	// {
 44044  	//   "description": "Gets one remarketing list share by remarketing list ID.",
 44045  	//   "flatPath": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
 44046  	//   "httpMethod": "GET",
 44047  	//   "id": "dfareporting.remarketingListShares.get",
 44048  	//   "parameterOrder": [
 44049  	//     "profileId",
 44050  	//     "remarketingListId"
 44051  	//   ],
 44052  	//   "parameters": {
 44053  	//     "profileId": {
 44054  	//       "description": "User profile ID associated with this request.",
 44055  	//       "format": "int64",
 44056  	//       "location": "path",
 44057  	//       "required": true,
 44058  	//       "type": "string"
 44059  	//     },
 44060  	//     "remarketingListId": {
 44061  	//       "description": "Remarketing list ID.",
 44062  	//       "format": "int64",
 44063  	//       "location": "path",
 44064  	//       "required": true,
 44065  	//       "type": "string"
 44066  	//     }
 44067  	//   },
 44068  	//   "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
 44069  	//   "response": {
 44070  	//     "$ref": "RemarketingListShare"
 44071  	//   },
 44072  	//   "scopes": [
 44073  	//     "https://www.googleapis.com/auth/dfatrafficking"
 44074  	//   ]
 44075  	// }
 44076  
 44077  }
 44078  
 44079  // method id "dfareporting.remarketingListShares.patch":
 44080  
 44081  type RemarketingListSharesPatchCall struct {
 44082  	s                    *Service
 44083  	profileId            int64
 44084  	remarketinglistshare *RemarketingListShare
 44085  	urlParams_           gensupport.URLParams
 44086  	ctx_                 context.Context
 44087  	header_              http.Header
 44088  }
 44089  
 44090  // Patch: Updates an existing remarketing list share. This method
 44091  // supports patch semantics.
 44092  //
 44093  // - id: RemarketingList ID.
 44094  // - profileId: User profile ID associated with this request.
 44095  func (r *RemarketingListSharesService) Patch(profileId int64, id int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
 44096  	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44097  	c.profileId = profileId
 44098  	c.urlParams_.Set("id", fmt.Sprint(id))
 44099  	c.remarketinglistshare = remarketinglistshare
 44100  	return c
 44101  }
 44102  
 44103  // Fields allows partial responses to be retrieved. See
 44104  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44105  // for more information.
 44106  func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
 44107  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44108  	return c
 44109  }
 44110  
 44111  // Context sets the context to be used in this call's Do method. Any
 44112  // pending HTTP request will be aborted if the provided context is
 44113  // canceled.
 44114  func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
 44115  	c.ctx_ = ctx
 44116  	return c
 44117  }
 44118  
 44119  // Header returns an http.Header that can be modified by the caller to
 44120  // add HTTP headers to the request.
 44121  func (c *RemarketingListSharesPatchCall) Header() http.Header {
 44122  	if c.header_ == nil {
 44123  		c.header_ = make(http.Header)
 44124  	}
 44125  	return c.header_
 44126  }
 44127  
 44128  func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
 44129  	reqHeaders := make(http.Header)
 44130  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 44131  	for k, v := range c.header_ {
 44132  		reqHeaders[k] = v
 44133  	}
 44134  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44135  	var body io.Reader = nil
 44136  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
 44137  	if err != nil {
 44138  		return nil, err
 44139  	}
 44140  	reqHeaders.Set("Content-Type", "application/json")
 44141  	c.urlParams_.Set("alt", alt)
 44142  	c.urlParams_.Set("prettyPrint", "false")
 44143  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
 44144  	urls += "?" + c.urlParams_.Encode()
 44145  	req, err := http.NewRequest("PATCH", urls, body)
 44146  	if err != nil {
 44147  		return nil, err
 44148  	}
 44149  	req.Header = reqHeaders
 44150  	googleapi.Expand(req.URL, map[string]string{
 44151  		"profileId": strconv.FormatInt(c.profileId, 10),
 44152  	})
 44153  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44154  }
 44155  
 44156  // Do executes the "dfareporting.remarketingListShares.patch" call.
 44157  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 44158  // non-2xx status code is an error. Response headers are in either
 44159  // *RemarketingListShare.ServerResponse.Header or (if a response was
 44160  // returned at all) in error.(*googleapi.Error).Header. Use
 44161  // googleapi.IsNotModified to check whether the returned error was
 44162  // because http.StatusNotModified was returned.
 44163  func (c *RemarketingListSharesPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 44164  	gensupport.SetOptions(c.urlParams_, opts...)
 44165  	res, err := c.doRequest("json")
 44166  	if res != nil && res.StatusCode == http.StatusNotModified {
 44167  		if res.Body != nil {
 44168  			res.Body.Close()
 44169  		}
 44170  		return nil, &googleapi.Error{
 44171  			Code:   res.StatusCode,
 44172  			Header: res.Header,
 44173  		}
 44174  	}
 44175  	if err != nil {
 44176  		return nil, err
 44177  	}
 44178  	defer googleapi.CloseBody(res)
 44179  	if err := googleapi.CheckResponse(res); err != nil {
 44180  		return nil, err
 44181  	}
 44182  	ret := &RemarketingListShare{
 44183  		ServerResponse: googleapi.ServerResponse{
 44184  			Header:         res.Header,
 44185  			HTTPStatusCode: res.StatusCode,
 44186  		},
 44187  	}
 44188  	target := &ret
 44189  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44190  		return nil, err
 44191  	}
 44192  	return ret, nil
 44193  	// {
 44194  	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
 44195  	//   "flatPath": "userprofiles/{profileId}/remarketingListShares",
 44196  	//   "httpMethod": "PATCH",
 44197  	//   "id": "dfareporting.remarketingListShares.patch",
 44198  	//   "parameterOrder": [
 44199  	//     "profileId",
 44200  	//     "id"
 44201  	//   ],
 44202  	//   "parameters": {
 44203  	//     "id": {
 44204  	//       "description": "RemarketingList ID.",
 44205  	//       "format": "int64",
 44206  	//       "location": "query",
 44207  	//       "required": true,
 44208  	//       "type": "string"
 44209  	//     },
 44210  	//     "profileId": {
 44211  	//       "description": "User profile ID associated with this request.",
 44212  	//       "format": "int64",
 44213  	//       "location": "path",
 44214  	//       "required": true,
 44215  	//       "type": "string"
 44216  	//     }
 44217  	//   },
 44218  	//   "path": "userprofiles/{profileId}/remarketingListShares",
 44219  	//   "request": {
 44220  	//     "$ref": "RemarketingListShare"
 44221  	//   },
 44222  	//   "response": {
 44223  	//     "$ref": "RemarketingListShare"
 44224  	//   },
 44225  	//   "scopes": [
 44226  	//     "https://www.googleapis.com/auth/dfatrafficking"
 44227  	//   ]
 44228  	// }
 44229  
 44230  }
 44231  
 44232  // method id "dfareporting.remarketingListShares.update":
 44233  
 44234  type RemarketingListSharesUpdateCall struct {
 44235  	s                    *Service
 44236  	profileId            int64
 44237  	remarketinglistshare *RemarketingListShare
 44238  	urlParams_           gensupport.URLParams
 44239  	ctx_                 context.Context
 44240  	header_              http.Header
 44241  }
 44242  
 44243  // Update: Updates an existing remarketing list share.
 44244  //
 44245  // - profileId: User profile ID associated with this request.
 44246  func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
 44247  	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44248  	c.profileId = profileId
 44249  	c.remarketinglistshare = remarketinglistshare
 44250  	return c
 44251  }
 44252  
 44253  // Fields allows partial responses to be retrieved. See
 44254  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44255  // for more information.
 44256  func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
 44257  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44258  	return c
 44259  }
 44260  
 44261  // Context sets the context to be used in this call's Do method. Any
 44262  // pending HTTP request will be aborted if the provided context is
 44263  // canceled.
 44264  func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
 44265  	c.ctx_ = ctx
 44266  	return c
 44267  }
 44268  
 44269  // Header returns an http.Header that can be modified by the caller to
 44270  // add HTTP headers to the request.
 44271  func (c *RemarketingListSharesUpdateCall) Header() http.Header {
 44272  	if c.header_ == nil {
 44273  		c.header_ = make(http.Header)
 44274  	}
 44275  	return c.header_
 44276  }
 44277  
 44278  func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
 44279  	reqHeaders := make(http.Header)
 44280  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 44281  	for k, v := range c.header_ {
 44282  		reqHeaders[k] = v
 44283  	}
 44284  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44285  	var body io.Reader = nil
 44286  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
 44287  	if err != nil {
 44288  		return nil, err
 44289  	}
 44290  	reqHeaders.Set("Content-Type", "application/json")
 44291  	c.urlParams_.Set("alt", alt)
 44292  	c.urlParams_.Set("prettyPrint", "false")
 44293  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
 44294  	urls += "?" + c.urlParams_.Encode()
 44295  	req, err := http.NewRequest("PUT", urls, body)
 44296  	if err != nil {
 44297  		return nil, err
 44298  	}
 44299  	req.Header = reqHeaders
 44300  	googleapi.Expand(req.URL, map[string]string{
 44301  		"profileId": strconv.FormatInt(c.profileId, 10),
 44302  	})
 44303  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44304  }
 44305  
 44306  // Do executes the "dfareporting.remarketingListShares.update" call.
 44307  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 44308  // non-2xx status code is an error. Response headers are in either
 44309  // *RemarketingListShare.ServerResponse.Header or (if a response was
 44310  // returned at all) in error.(*googleapi.Error).Header. Use
 44311  // googleapi.IsNotModified to check whether the returned error was
 44312  // because http.StatusNotModified was returned.
 44313  func (c *RemarketingListSharesUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 44314  	gensupport.SetOptions(c.urlParams_, opts...)
 44315  	res, err := c.doRequest("json")
 44316  	if res != nil && res.StatusCode == http.StatusNotModified {
 44317  		if res.Body != nil {
 44318  			res.Body.Close()
 44319  		}
 44320  		return nil, &googleapi.Error{
 44321  			Code:   res.StatusCode,
 44322  			Header: res.Header,
 44323  		}
 44324  	}
 44325  	if err != nil {
 44326  		return nil, err
 44327  	}
 44328  	defer googleapi.CloseBody(res)
 44329  	if err := googleapi.CheckResponse(res); err != nil {
 44330  		return nil, err
 44331  	}
 44332  	ret := &RemarketingListShare{
 44333  		ServerResponse: googleapi.ServerResponse{
 44334  			Header:         res.Header,
 44335  			HTTPStatusCode: res.StatusCode,
 44336  		},
 44337  	}
 44338  	target := &ret
 44339  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44340  		return nil, err
 44341  	}
 44342  	return ret, nil
 44343  	// {
 44344  	//   "description": "Updates an existing remarketing list share.",
 44345  	//   "flatPath": "userprofiles/{profileId}/remarketingListShares",
 44346  	//   "httpMethod": "PUT",
 44347  	//   "id": "dfareporting.remarketingListShares.update",
 44348  	//   "parameterOrder": [
 44349  	//     "profileId"
 44350  	//   ],
 44351  	//   "parameters": {
 44352  	//     "profileId": {
 44353  	//       "description": "User profile ID associated with this request.",
 44354  	//       "format": "int64",
 44355  	//       "location": "path",
 44356  	//       "required": true,
 44357  	//       "type": "string"
 44358  	//     }
 44359  	//   },
 44360  	//   "path": "userprofiles/{profileId}/remarketingListShares",
 44361  	//   "request": {
 44362  	//     "$ref": "RemarketingListShare"
 44363  	//   },
 44364  	//   "response": {
 44365  	//     "$ref": "RemarketingListShare"
 44366  	//   },
 44367  	//   "scopes": [
 44368  	//     "https://www.googleapis.com/auth/dfatrafficking"
 44369  	//   ]
 44370  	// }
 44371  
 44372  }
 44373  
 44374  // method id "dfareporting.remarketingLists.get":
 44375  
 44376  type RemarketingListsGetCall struct {
 44377  	s            *Service
 44378  	profileId    int64
 44379  	id           int64
 44380  	urlParams_   gensupport.URLParams
 44381  	ifNoneMatch_ string
 44382  	ctx_         context.Context
 44383  	header_      http.Header
 44384  }
 44385  
 44386  // Get: Gets one remarketing list by ID.
 44387  //
 44388  // - id: Remarketing list ID.
 44389  // - profileId: User profile ID associated with this request.
 44390  func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
 44391  	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44392  	c.profileId = profileId
 44393  	c.id = id
 44394  	return c
 44395  }
 44396  
 44397  // Fields allows partial responses to be retrieved. See
 44398  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44399  // for more information.
 44400  func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
 44401  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44402  	return c
 44403  }
 44404  
 44405  // IfNoneMatch sets the optional parameter which makes the operation
 44406  // fail if the object's ETag matches the given value. This is useful for
 44407  // getting updates only after the object has changed since the last
 44408  // request. Use googleapi.IsNotModified to check whether the response
 44409  // error from Do is the result of In-None-Match.
 44410  func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
 44411  	c.ifNoneMatch_ = entityTag
 44412  	return c
 44413  }
 44414  
 44415  // Context sets the context to be used in this call's Do method. Any
 44416  // pending HTTP request will be aborted if the provided context is
 44417  // canceled.
 44418  func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
 44419  	c.ctx_ = ctx
 44420  	return c
 44421  }
 44422  
 44423  // Header returns an http.Header that can be modified by the caller to
 44424  // add HTTP headers to the request.
 44425  func (c *RemarketingListsGetCall) Header() http.Header {
 44426  	if c.header_ == nil {
 44427  		c.header_ = make(http.Header)
 44428  	}
 44429  	return c.header_
 44430  }
 44431  
 44432  func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 44433  	reqHeaders := make(http.Header)
 44434  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 44435  	for k, v := range c.header_ {
 44436  		reqHeaders[k] = v
 44437  	}
 44438  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44439  	if c.ifNoneMatch_ != "" {
 44440  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 44441  	}
 44442  	var body io.Reader = nil
 44443  	c.urlParams_.Set("alt", alt)
 44444  	c.urlParams_.Set("prettyPrint", "false")
 44445  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
 44446  	urls += "?" + c.urlParams_.Encode()
 44447  	req, err := http.NewRequest("GET", urls, body)
 44448  	if err != nil {
 44449  		return nil, err
 44450  	}
 44451  	req.Header = reqHeaders
 44452  	googleapi.Expand(req.URL, map[string]string{
 44453  		"profileId": strconv.FormatInt(c.profileId, 10),
 44454  		"id":        strconv.FormatInt(c.id, 10),
 44455  	})
 44456  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44457  }
 44458  
 44459  // Do executes the "dfareporting.remarketingLists.get" call.
 44460  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 44461  // status code is an error. Response headers are in either
 44462  // *RemarketingList.ServerResponse.Header or (if a response was returned
 44463  // at all) in error.(*googleapi.Error).Header. Use
 44464  // googleapi.IsNotModified to check whether the returned error was
 44465  // because http.StatusNotModified was returned.
 44466  func (c *RemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 44467  	gensupport.SetOptions(c.urlParams_, opts...)
 44468  	res, err := c.doRequest("json")
 44469  	if res != nil && res.StatusCode == http.StatusNotModified {
 44470  		if res.Body != nil {
 44471  			res.Body.Close()
 44472  		}
 44473  		return nil, &googleapi.Error{
 44474  			Code:   res.StatusCode,
 44475  			Header: res.Header,
 44476  		}
 44477  	}
 44478  	if err != nil {
 44479  		return nil, err
 44480  	}
 44481  	defer googleapi.CloseBody(res)
 44482  	if err := googleapi.CheckResponse(res); err != nil {
 44483  		return nil, err
 44484  	}
 44485  	ret := &RemarketingList{
 44486  		ServerResponse: googleapi.ServerResponse{
 44487  			Header:         res.Header,
 44488  			HTTPStatusCode: res.StatusCode,
 44489  		},
 44490  	}
 44491  	target := &ret
 44492  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44493  		return nil, err
 44494  	}
 44495  	return ret, nil
 44496  	// {
 44497  	//   "description": "Gets one remarketing list by ID.",
 44498  	//   "flatPath": "userprofiles/{profileId}/remarketingLists/{id}",
 44499  	//   "httpMethod": "GET",
 44500  	//   "id": "dfareporting.remarketingLists.get",
 44501  	//   "parameterOrder": [
 44502  	//     "profileId",
 44503  	//     "id"
 44504  	//   ],
 44505  	//   "parameters": {
 44506  	//     "id": {
 44507  	//       "description": "Remarketing list ID.",
 44508  	//       "format": "int64",
 44509  	//       "location": "path",
 44510  	//       "required": true,
 44511  	//       "type": "string"
 44512  	//     },
 44513  	//     "profileId": {
 44514  	//       "description": "User profile ID associated with this request.",
 44515  	//       "format": "int64",
 44516  	//       "location": "path",
 44517  	//       "required": true,
 44518  	//       "type": "string"
 44519  	//     }
 44520  	//   },
 44521  	//   "path": "userprofiles/{profileId}/remarketingLists/{id}",
 44522  	//   "response": {
 44523  	//     "$ref": "RemarketingList"
 44524  	//   },
 44525  	//   "scopes": [
 44526  	//     "https://www.googleapis.com/auth/dfatrafficking"
 44527  	//   ]
 44528  	// }
 44529  
 44530  }
 44531  
 44532  // method id "dfareporting.remarketingLists.insert":
 44533  
 44534  type RemarketingListsInsertCall struct {
 44535  	s               *Service
 44536  	profileId       int64
 44537  	remarketinglist *RemarketingList
 44538  	urlParams_      gensupport.URLParams
 44539  	ctx_            context.Context
 44540  	header_         http.Header
 44541  }
 44542  
 44543  // Insert: Inserts a new remarketing list.
 44544  //
 44545  // - profileId: User profile ID associated with this request.
 44546  func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
 44547  	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44548  	c.profileId = profileId
 44549  	c.remarketinglist = remarketinglist
 44550  	return c
 44551  }
 44552  
 44553  // Fields allows partial responses to be retrieved. See
 44554  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44555  // for more information.
 44556  func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
 44557  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44558  	return c
 44559  }
 44560  
 44561  // Context sets the context to be used in this call's Do method. Any
 44562  // pending HTTP request will be aborted if the provided context is
 44563  // canceled.
 44564  func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
 44565  	c.ctx_ = ctx
 44566  	return c
 44567  }
 44568  
 44569  // Header returns an http.Header that can be modified by the caller to
 44570  // add HTTP headers to the request.
 44571  func (c *RemarketingListsInsertCall) Header() http.Header {
 44572  	if c.header_ == nil {
 44573  		c.header_ = make(http.Header)
 44574  	}
 44575  	return c.header_
 44576  }
 44577  
 44578  func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
 44579  	reqHeaders := make(http.Header)
 44580  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 44581  	for k, v := range c.header_ {
 44582  		reqHeaders[k] = v
 44583  	}
 44584  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44585  	var body io.Reader = nil
 44586  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 44587  	if err != nil {
 44588  		return nil, err
 44589  	}
 44590  	reqHeaders.Set("Content-Type", "application/json")
 44591  	c.urlParams_.Set("alt", alt)
 44592  	c.urlParams_.Set("prettyPrint", "false")
 44593  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 44594  	urls += "?" + c.urlParams_.Encode()
 44595  	req, err := http.NewRequest("POST", urls, body)
 44596  	if err != nil {
 44597  		return nil, err
 44598  	}
 44599  	req.Header = reqHeaders
 44600  	googleapi.Expand(req.URL, map[string]string{
 44601  		"profileId": strconv.FormatInt(c.profileId, 10),
 44602  	})
 44603  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44604  }
 44605  
 44606  // Do executes the "dfareporting.remarketingLists.insert" call.
 44607  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 44608  // status code is an error. Response headers are in either
 44609  // *RemarketingList.ServerResponse.Header or (if a response was returned
 44610  // at all) in error.(*googleapi.Error).Header. Use
 44611  // googleapi.IsNotModified to check whether the returned error was
 44612  // because http.StatusNotModified was returned.
 44613  func (c *RemarketingListsInsertCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 44614  	gensupport.SetOptions(c.urlParams_, opts...)
 44615  	res, err := c.doRequest("json")
 44616  	if res != nil && res.StatusCode == http.StatusNotModified {
 44617  		if res.Body != nil {
 44618  			res.Body.Close()
 44619  		}
 44620  		return nil, &googleapi.Error{
 44621  			Code:   res.StatusCode,
 44622  			Header: res.Header,
 44623  		}
 44624  	}
 44625  	if err != nil {
 44626  		return nil, err
 44627  	}
 44628  	defer googleapi.CloseBody(res)
 44629  	if err := googleapi.CheckResponse(res); err != nil {
 44630  		return nil, err
 44631  	}
 44632  	ret := &RemarketingList{
 44633  		ServerResponse: googleapi.ServerResponse{
 44634  			Header:         res.Header,
 44635  			HTTPStatusCode: res.StatusCode,
 44636  		},
 44637  	}
 44638  	target := &ret
 44639  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44640  		return nil, err
 44641  	}
 44642  	return ret, nil
 44643  	// {
 44644  	//   "description": "Inserts a new remarketing list.",
 44645  	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
 44646  	//   "httpMethod": "POST",
 44647  	//   "id": "dfareporting.remarketingLists.insert",
 44648  	//   "parameterOrder": [
 44649  	//     "profileId"
 44650  	//   ],
 44651  	//   "parameters": {
 44652  	//     "profileId": {
 44653  	//       "description": "User profile ID associated with this request.",
 44654  	//       "format": "int64",
 44655  	//       "location": "path",
 44656  	//       "required": true,
 44657  	//       "type": "string"
 44658  	//     }
 44659  	//   },
 44660  	//   "path": "userprofiles/{profileId}/remarketingLists",
 44661  	//   "request": {
 44662  	//     "$ref": "RemarketingList"
 44663  	//   },
 44664  	//   "response": {
 44665  	//     "$ref": "RemarketingList"
 44666  	//   },
 44667  	//   "scopes": [
 44668  	//     "https://www.googleapis.com/auth/dfatrafficking"
 44669  	//   ]
 44670  	// }
 44671  
 44672  }
 44673  
 44674  // method id "dfareporting.remarketingLists.list":
 44675  
 44676  type RemarketingListsListCall struct {
 44677  	s            *Service
 44678  	profileId    int64
 44679  	urlParams_   gensupport.URLParams
 44680  	ifNoneMatch_ string
 44681  	ctx_         context.Context
 44682  	header_      http.Header
 44683  }
 44684  
 44685  // List: Retrieves a list of remarketing lists, possibly filtered. This
 44686  // method supports paging.
 44687  //
 44688  //   - advertiserId: Select only remarketing lists owned by this
 44689  //     advertiser.
 44690  //   - profileId: User profile ID associated with this request.
 44691  func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
 44692  	c := &RemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44693  	c.profileId = profileId
 44694  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 44695  	return c
 44696  }
 44697  
 44698  // Active sets the optional parameter "active": Select only active or
 44699  // only inactive remarketing lists.
 44700  func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
 44701  	c.urlParams_.Set("active", fmt.Sprint(active))
 44702  	return c
 44703  }
 44704  
 44705  // FloodlightActivityId sets the optional parameter
 44706  // "floodlightActivityId": Select only remarketing lists that have this
 44707  // floodlight activity ID.
 44708  func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
 44709  	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
 44710  	return c
 44711  }
 44712  
 44713  // MaxResults sets the optional parameter "maxResults": Maximum number
 44714  // of results to return.
 44715  func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
 44716  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 44717  	return c
 44718  }
 44719  
 44720  // Name sets the optional parameter "name": Allows searching for objects
 44721  // by name or ID. Wildcards (*) are allowed. For example, "remarketing
 44722  // list*2015" will return objects with names like "remarketing list June
 44723  // 2015", "remarketing list April 2015", or simply "remarketing list
 44724  // 2015". Most of the searches also add wildcards implicitly at the
 44725  // start and the end of the search string. For example, a search string
 44726  // of "remarketing list" will match objects with name "my remarketing
 44727  // list", "remarketing list 2015", or simply "remarketing list".
 44728  func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
 44729  	c.urlParams_.Set("name", name)
 44730  	return c
 44731  }
 44732  
 44733  // PageToken sets the optional parameter "pageToken": Value of the
 44734  // nextPageToken from the previous result page.
 44735  func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
 44736  	c.urlParams_.Set("pageToken", pageToken)
 44737  	return c
 44738  }
 44739  
 44740  // SortField sets the optional parameter "sortField": Field by which to
 44741  // sort the list.
 44742  //
 44743  // Possible values:
 44744  //
 44745  //	"ID" (default)
 44746  //	"NAME"
 44747  func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
 44748  	c.urlParams_.Set("sortField", sortField)
 44749  	return c
 44750  }
 44751  
 44752  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 44753  // results.
 44754  //
 44755  // Possible values:
 44756  //
 44757  //	"ASCENDING" (default)
 44758  //	"DESCENDING"
 44759  func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
 44760  	c.urlParams_.Set("sortOrder", sortOrder)
 44761  	return c
 44762  }
 44763  
 44764  // Fields allows partial responses to be retrieved. See
 44765  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44766  // for more information.
 44767  func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
 44768  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44769  	return c
 44770  }
 44771  
 44772  // IfNoneMatch sets the optional parameter which makes the operation
 44773  // fail if the object's ETag matches the given value. This is useful for
 44774  // getting updates only after the object has changed since the last
 44775  // request. Use googleapi.IsNotModified to check whether the response
 44776  // error from Do is the result of In-None-Match.
 44777  func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
 44778  	c.ifNoneMatch_ = entityTag
 44779  	return c
 44780  }
 44781  
 44782  // Context sets the context to be used in this call's Do method. Any
 44783  // pending HTTP request will be aborted if the provided context is
 44784  // canceled.
 44785  func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
 44786  	c.ctx_ = ctx
 44787  	return c
 44788  }
 44789  
 44790  // Header returns an http.Header that can be modified by the caller to
 44791  // add HTTP headers to the request.
 44792  func (c *RemarketingListsListCall) Header() http.Header {
 44793  	if c.header_ == nil {
 44794  		c.header_ = make(http.Header)
 44795  	}
 44796  	return c.header_
 44797  }
 44798  
 44799  func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 44800  	reqHeaders := make(http.Header)
 44801  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 44802  	for k, v := range c.header_ {
 44803  		reqHeaders[k] = v
 44804  	}
 44805  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44806  	if c.ifNoneMatch_ != "" {
 44807  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 44808  	}
 44809  	var body io.Reader = nil
 44810  	c.urlParams_.Set("alt", alt)
 44811  	c.urlParams_.Set("prettyPrint", "false")
 44812  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 44813  	urls += "?" + c.urlParams_.Encode()
 44814  	req, err := http.NewRequest("GET", urls, body)
 44815  	if err != nil {
 44816  		return nil, err
 44817  	}
 44818  	req.Header = reqHeaders
 44819  	googleapi.Expand(req.URL, map[string]string{
 44820  		"profileId": strconv.FormatInt(c.profileId, 10),
 44821  	})
 44822  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44823  }
 44824  
 44825  // Do executes the "dfareporting.remarketingLists.list" call.
 44826  // Exactly one of *RemarketingListsListResponse or error will be
 44827  // non-nil. Any non-2xx status code is an error. Response headers are in
 44828  // either *RemarketingListsListResponse.ServerResponse.Header or (if a
 44829  // response was returned at all) in error.(*googleapi.Error).Header. Use
 44830  // googleapi.IsNotModified to check whether the returned error was
 44831  // because http.StatusNotModified was returned.
 44832  func (c *RemarketingListsListCall) Do(opts ...googleapi.CallOption) (*RemarketingListsListResponse, error) {
 44833  	gensupport.SetOptions(c.urlParams_, opts...)
 44834  	res, err := c.doRequest("json")
 44835  	if res != nil && res.StatusCode == http.StatusNotModified {
 44836  		if res.Body != nil {
 44837  			res.Body.Close()
 44838  		}
 44839  		return nil, &googleapi.Error{
 44840  			Code:   res.StatusCode,
 44841  			Header: res.Header,
 44842  		}
 44843  	}
 44844  	if err != nil {
 44845  		return nil, err
 44846  	}
 44847  	defer googleapi.CloseBody(res)
 44848  	if err := googleapi.CheckResponse(res); err != nil {
 44849  		return nil, err
 44850  	}
 44851  	ret := &RemarketingListsListResponse{
 44852  		ServerResponse: googleapi.ServerResponse{
 44853  			Header:         res.Header,
 44854  			HTTPStatusCode: res.StatusCode,
 44855  		},
 44856  	}
 44857  	target := &ret
 44858  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44859  		return nil, err
 44860  	}
 44861  	return ret, nil
 44862  	// {
 44863  	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
 44864  	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
 44865  	//   "httpMethod": "GET",
 44866  	//   "id": "dfareporting.remarketingLists.list",
 44867  	//   "parameterOrder": [
 44868  	//     "profileId",
 44869  	//     "advertiserId"
 44870  	//   ],
 44871  	//   "parameters": {
 44872  	//     "active": {
 44873  	//       "description": "Select only active or only inactive remarketing lists.",
 44874  	//       "location": "query",
 44875  	//       "type": "boolean"
 44876  	//     },
 44877  	//     "advertiserId": {
 44878  	//       "description": "Select only remarketing lists owned by this advertiser.",
 44879  	//       "format": "int64",
 44880  	//       "location": "query",
 44881  	//       "required": true,
 44882  	//       "type": "string"
 44883  	//     },
 44884  	//     "floodlightActivityId": {
 44885  	//       "description": "Select only remarketing lists that have this floodlight activity ID.",
 44886  	//       "format": "int64",
 44887  	//       "location": "query",
 44888  	//       "type": "string"
 44889  	//     },
 44890  	//     "maxResults": {
 44891  	//       "default": "1000",
 44892  	//       "description": "Maximum number of results to return.",
 44893  	//       "format": "int32",
 44894  	//       "location": "query",
 44895  	//       "maximum": "1000",
 44896  	//       "minimum": "0",
 44897  	//       "type": "integer"
 44898  	//     },
 44899  	//     "name": {
 44900  	//       "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\".",
 44901  	//       "location": "query",
 44902  	//       "type": "string"
 44903  	//     },
 44904  	//     "pageToken": {
 44905  	//       "description": "Value of the nextPageToken from the previous result page.",
 44906  	//       "location": "query",
 44907  	//       "type": "string"
 44908  	//     },
 44909  	//     "profileId": {
 44910  	//       "description": "User profile ID associated with this request.",
 44911  	//       "format": "int64",
 44912  	//       "location": "path",
 44913  	//       "required": true,
 44914  	//       "type": "string"
 44915  	//     },
 44916  	//     "sortField": {
 44917  	//       "default": "ID",
 44918  	//       "description": "Field by which to sort the list.",
 44919  	//       "enum": [
 44920  	//         "ID",
 44921  	//         "NAME"
 44922  	//       ],
 44923  	//       "enumDescriptions": [
 44924  	//         "",
 44925  	//         ""
 44926  	//       ],
 44927  	//       "location": "query",
 44928  	//       "type": "string"
 44929  	//     },
 44930  	//     "sortOrder": {
 44931  	//       "default": "ASCENDING",
 44932  	//       "description": "Order of sorted results.",
 44933  	//       "enum": [
 44934  	//         "ASCENDING",
 44935  	//         "DESCENDING"
 44936  	//       ],
 44937  	//       "enumDescriptions": [
 44938  	//         "",
 44939  	//         ""
 44940  	//       ],
 44941  	//       "location": "query",
 44942  	//       "type": "string"
 44943  	//     }
 44944  	//   },
 44945  	//   "path": "userprofiles/{profileId}/remarketingLists",
 44946  	//   "response": {
 44947  	//     "$ref": "RemarketingListsListResponse"
 44948  	//   },
 44949  	//   "scopes": [
 44950  	//     "https://www.googleapis.com/auth/dfatrafficking"
 44951  	//   ]
 44952  	// }
 44953  
 44954  }
 44955  
 44956  // Pages invokes f for each page of results.
 44957  // A non-nil error returned from f will halt the iteration.
 44958  // The provided context supersedes any context provided to the Context method.
 44959  func (c *RemarketingListsListCall) Pages(ctx context.Context, f func(*RemarketingListsListResponse) error) error {
 44960  	c.ctx_ = ctx
 44961  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 44962  	for {
 44963  		x, err := c.Do()
 44964  		if err != nil {
 44965  			return err
 44966  		}
 44967  		if err := f(x); err != nil {
 44968  			return err
 44969  		}
 44970  		if x.NextPageToken == "" {
 44971  			return nil
 44972  		}
 44973  		c.PageToken(x.NextPageToken)
 44974  	}
 44975  }
 44976  
 44977  // method id "dfareporting.remarketingLists.patch":
 44978  
 44979  type RemarketingListsPatchCall struct {
 44980  	s               *Service
 44981  	profileId       int64
 44982  	remarketinglist *RemarketingList
 44983  	urlParams_      gensupport.URLParams
 44984  	ctx_            context.Context
 44985  	header_         http.Header
 44986  }
 44987  
 44988  // Patch: Updates an existing remarketing list. This method supports
 44989  // patch semantics.
 44990  //
 44991  // - id: RemarketingList ID.
 44992  // - profileId: User profile ID associated with this request.
 44993  func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
 44994  	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44995  	c.profileId = profileId
 44996  	c.urlParams_.Set("id", fmt.Sprint(id))
 44997  	c.remarketinglist = remarketinglist
 44998  	return c
 44999  }
 45000  
 45001  // Fields allows partial responses to be retrieved. See
 45002  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45003  // for more information.
 45004  func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
 45005  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45006  	return c
 45007  }
 45008  
 45009  // Context sets the context to be used in this call's Do method. Any
 45010  // pending HTTP request will be aborted if the provided context is
 45011  // canceled.
 45012  func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
 45013  	c.ctx_ = ctx
 45014  	return c
 45015  }
 45016  
 45017  // Header returns an http.Header that can be modified by the caller to
 45018  // add HTTP headers to the request.
 45019  func (c *RemarketingListsPatchCall) Header() http.Header {
 45020  	if c.header_ == nil {
 45021  		c.header_ = make(http.Header)
 45022  	}
 45023  	return c.header_
 45024  }
 45025  
 45026  func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
 45027  	reqHeaders := make(http.Header)
 45028  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 45029  	for k, v := range c.header_ {
 45030  		reqHeaders[k] = v
 45031  	}
 45032  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45033  	var body io.Reader = nil
 45034  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 45035  	if err != nil {
 45036  		return nil, err
 45037  	}
 45038  	reqHeaders.Set("Content-Type", "application/json")
 45039  	c.urlParams_.Set("alt", alt)
 45040  	c.urlParams_.Set("prettyPrint", "false")
 45041  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 45042  	urls += "?" + c.urlParams_.Encode()
 45043  	req, err := http.NewRequest("PATCH", urls, body)
 45044  	if err != nil {
 45045  		return nil, err
 45046  	}
 45047  	req.Header = reqHeaders
 45048  	googleapi.Expand(req.URL, map[string]string{
 45049  		"profileId": strconv.FormatInt(c.profileId, 10),
 45050  	})
 45051  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45052  }
 45053  
 45054  // Do executes the "dfareporting.remarketingLists.patch" call.
 45055  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 45056  // status code is an error. Response headers are in either
 45057  // *RemarketingList.ServerResponse.Header or (if a response was returned
 45058  // at all) in error.(*googleapi.Error).Header. Use
 45059  // googleapi.IsNotModified to check whether the returned error was
 45060  // because http.StatusNotModified was returned.
 45061  func (c *RemarketingListsPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 45062  	gensupport.SetOptions(c.urlParams_, opts...)
 45063  	res, err := c.doRequest("json")
 45064  	if res != nil && res.StatusCode == http.StatusNotModified {
 45065  		if res.Body != nil {
 45066  			res.Body.Close()
 45067  		}
 45068  		return nil, &googleapi.Error{
 45069  			Code:   res.StatusCode,
 45070  			Header: res.Header,
 45071  		}
 45072  	}
 45073  	if err != nil {
 45074  		return nil, err
 45075  	}
 45076  	defer googleapi.CloseBody(res)
 45077  	if err := googleapi.CheckResponse(res); err != nil {
 45078  		return nil, err
 45079  	}
 45080  	ret := &RemarketingList{
 45081  		ServerResponse: googleapi.ServerResponse{
 45082  			Header:         res.Header,
 45083  			HTTPStatusCode: res.StatusCode,
 45084  		},
 45085  	}
 45086  	target := &ret
 45087  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45088  		return nil, err
 45089  	}
 45090  	return ret, nil
 45091  	// {
 45092  	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
 45093  	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
 45094  	//   "httpMethod": "PATCH",
 45095  	//   "id": "dfareporting.remarketingLists.patch",
 45096  	//   "parameterOrder": [
 45097  	//     "profileId",
 45098  	//     "id"
 45099  	//   ],
 45100  	//   "parameters": {
 45101  	//     "id": {
 45102  	//       "description": "RemarketingList ID.",
 45103  	//       "format": "int64",
 45104  	//       "location": "query",
 45105  	//       "required": true,
 45106  	//       "type": "string"
 45107  	//     },
 45108  	//     "profileId": {
 45109  	//       "description": "User profile ID associated with this request.",
 45110  	//       "format": "int64",
 45111  	//       "location": "path",
 45112  	//       "required": true,
 45113  	//       "type": "string"
 45114  	//     }
 45115  	//   },
 45116  	//   "path": "userprofiles/{profileId}/remarketingLists",
 45117  	//   "request": {
 45118  	//     "$ref": "RemarketingList"
 45119  	//   },
 45120  	//   "response": {
 45121  	//     "$ref": "RemarketingList"
 45122  	//   },
 45123  	//   "scopes": [
 45124  	//     "https://www.googleapis.com/auth/dfatrafficking"
 45125  	//   ]
 45126  	// }
 45127  
 45128  }
 45129  
 45130  // method id "dfareporting.remarketingLists.update":
 45131  
 45132  type RemarketingListsUpdateCall struct {
 45133  	s               *Service
 45134  	profileId       int64
 45135  	remarketinglist *RemarketingList
 45136  	urlParams_      gensupport.URLParams
 45137  	ctx_            context.Context
 45138  	header_         http.Header
 45139  }
 45140  
 45141  // Update: Updates an existing remarketing list.
 45142  //
 45143  // - profileId: User profile ID associated with this request.
 45144  func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
 45145  	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45146  	c.profileId = profileId
 45147  	c.remarketinglist = remarketinglist
 45148  	return c
 45149  }
 45150  
 45151  // Fields allows partial responses to be retrieved. See
 45152  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45153  // for more information.
 45154  func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
 45155  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45156  	return c
 45157  }
 45158  
 45159  // Context sets the context to be used in this call's Do method. Any
 45160  // pending HTTP request will be aborted if the provided context is
 45161  // canceled.
 45162  func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
 45163  	c.ctx_ = ctx
 45164  	return c
 45165  }
 45166  
 45167  // Header returns an http.Header that can be modified by the caller to
 45168  // add HTTP headers to the request.
 45169  func (c *RemarketingListsUpdateCall) Header() http.Header {
 45170  	if c.header_ == nil {
 45171  		c.header_ = make(http.Header)
 45172  	}
 45173  	return c.header_
 45174  }
 45175  
 45176  func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
 45177  	reqHeaders := make(http.Header)
 45178  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 45179  	for k, v := range c.header_ {
 45180  		reqHeaders[k] = v
 45181  	}
 45182  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45183  	var body io.Reader = nil
 45184  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 45185  	if err != nil {
 45186  		return nil, err
 45187  	}
 45188  	reqHeaders.Set("Content-Type", "application/json")
 45189  	c.urlParams_.Set("alt", alt)
 45190  	c.urlParams_.Set("prettyPrint", "false")
 45191  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 45192  	urls += "?" + c.urlParams_.Encode()
 45193  	req, err := http.NewRequest("PUT", urls, body)
 45194  	if err != nil {
 45195  		return nil, err
 45196  	}
 45197  	req.Header = reqHeaders
 45198  	googleapi.Expand(req.URL, map[string]string{
 45199  		"profileId": strconv.FormatInt(c.profileId, 10),
 45200  	})
 45201  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45202  }
 45203  
 45204  // Do executes the "dfareporting.remarketingLists.update" call.
 45205  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 45206  // status code is an error. Response headers are in either
 45207  // *RemarketingList.ServerResponse.Header or (if a response was returned
 45208  // at all) in error.(*googleapi.Error).Header. Use
 45209  // googleapi.IsNotModified to check whether the returned error was
 45210  // because http.StatusNotModified was returned.
 45211  func (c *RemarketingListsUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 45212  	gensupport.SetOptions(c.urlParams_, opts...)
 45213  	res, err := c.doRequest("json")
 45214  	if res != nil && res.StatusCode == http.StatusNotModified {
 45215  		if res.Body != nil {
 45216  			res.Body.Close()
 45217  		}
 45218  		return nil, &googleapi.Error{
 45219  			Code:   res.StatusCode,
 45220  			Header: res.Header,
 45221  		}
 45222  	}
 45223  	if err != nil {
 45224  		return nil, err
 45225  	}
 45226  	defer googleapi.CloseBody(res)
 45227  	if err := googleapi.CheckResponse(res); err != nil {
 45228  		return nil, err
 45229  	}
 45230  	ret := &RemarketingList{
 45231  		ServerResponse: googleapi.ServerResponse{
 45232  			Header:         res.Header,
 45233  			HTTPStatusCode: res.StatusCode,
 45234  		},
 45235  	}
 45236  	target := &ret
 45237  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45238  		return nil, err
 45239  	}
 45240  	return ret, nil
 45241  	// {
 45242  	//   "description": "Updates an existing remarketing list.",
 45243  	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
 45244  	//   "httpMethod": "PUT",
 45245  	//   "id": "dfareporting.remarketingLists.update",
 45246  	//   "parameterOrder": [
 45247  	//     "profileId"
 45248  	//   ],
 45249  	//   "parameters": {
 45250  	//     "profileId": {
 45251  	//       "description": "User profile ID associated with this request.",
 45252  	//       "format": "int64",
 45253  	//       "location": "path",
 45254  	//       "required": true,
 45255  	//       "type": "string"
 45256  	//     }
 45257  	//   },
 45258  	//   "path": "userprofiles/{profileId}/remarketingLists",
 45259  	//   "request": {
 45260  	//     "$ref": "RemarketingList"
 45261  	//   },
 45262  	//   "response": {
 45263  	//     "$ref": "RemarketingList"
 45264  	//   },
 45265  	//   "scopes": [
 45266  	//     "https://www.googleapis.com/auth/dfatrafficking"
 45267  	//   ]
 45268  	// }
 45269  
 45270  }
 45271  
 45272  // method id "dfareporting.reports.delete":
 45273  
 45274  type ReportsDeleteCall struct {
 45275  	s          *Service
 45276  	profileId  int64
 45277  	reportId   int64
 45278  	urlParams_ gensupport.URLParams
 45279  	ctx_       context.Context
 45280  	header_    http.Header
 45281  }
 45282  
 45283  // Delete: Deletes a report by its ID.
 45284  //
 45285  // - profileId: The Campaign Manager 360 user profile ID.
 45286  // - reportId: The ID of the report.
 45287  func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
 45288  	c := &ReportsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45289  	c.profileId = profileId
 45290  	c.reportId = reportId
 45291  	return c
 45292  }
 45293  
 45294  // Fields allows partial responses to be retrieved. See
 45295  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45296  // for more information.
 45297  func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
 45298  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45299  	return c
 45300  }
 45301  
 45302  // Context sets the context to be used in this call's Do method. Any
 45303  // pending HTTP request will be aborted if the provided context is
 45304  // canceled.
 45305  func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
 45306  	c.ctx_ = ctx
 45307  	return c
 45308  }
 45309  
 45310  // Header returns an http.Header that can be modified by the caller to
 45311  // add HTTP headers to the request.
 45312  func (c *ReportsDeleteCall) Header() http.Header {
 45313  	if c.header_ == nil {
 45314  		c.header_ = make(http.Header)
 45315  	}
 45316  	return c.header_
 45317  }
 45318  
 45319  func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 45320  	reqHeaders := make(http.Header)
 45321  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 45322  	for k, v := range c.header_ {
 45323  		reqHeaders[k] = v
 45324  	}
 45325  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45326  	var body io.Reader = nil
 45327  	c.urlParams_.Set("alt", alt)
 45328  	c.urlParams_.Set("prettyPrint", "false")
 45329  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 45330  	urls += "?" + c.urlParams_.Encode()
 45331  	req, err := http.NewRequest("DELETE", urls, body)
 45332  	if err != nil {
 45333  		return nil, err
 45334  	}
 45335  	req.Header = reqHeaders
 45336  	googleapi.Expand(req.URL, map[string]string{
 45337  		"profileId": strconv.FormatInt(c.profileId, 10),
 45338  		"reportId":  strconv.FormatInt(c.reportId, 10),
 45339  	})
 45340  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45341  }
 45342  
 45343  // Do executes the "dfareporting.reports.delete" call.
 45344  func (c *ReportsDeleteCall) Do(opts ...googleapi.CallOption) error {
 45345  	gensupport.SetOptions(c.urlParams_, opts...)
 45346  	res, err := c.doRequest("json")
 45347  	if err != nil {
 45348  		return err
 45349  	}
 45350  	defer googleapi.CloseBody(res)
 45351  	if err := googleapi.CheckResponse(res); err != nil {
 45352  		return err
 45353  	}
 45354  	return nil
 45355  	// {
 45356  	//   "description": "Deletes a report by its ID.",
 45357  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
 45358  	//   "httpMethod": "DELETE",
 45359  	//   "id": "dfareporting.reports.delete",
 45360  	//   "parameterOrder": [
 45361  	//     "profileId",
 45362  	//     "reportId"
 45363  	//   ],
 45364  	//   "parameters": {
 45365  	//     "profileId": {
 45366  	//       "description": "The Campaign Manager 360 user profile ID.",
 45367  	//       "format": "int64",
 45368  	//       "location": "path",
 45369  	//       "required": true,
 45370  	//       "type": "string"
 45371  	//     },
 45372  	//     "reportId": {
 45373  	//       "description": "The ID of the report.",
 45374  	//       "format": "int64",
 45375  	//       "location": "path",
 45376  	//       "required": true,
 45377  	//       "type": "string"
 45378  	//     }
 45379  	//   },
 45380  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 45381  	//   "scopes": [
 45382  	//     "https://www.googleapis.com/auth/dfareporting"
 45383  	//   ]
 45384  	// }
 45385  
 45386  }
 45387  
 45388  // method id "dfareporting.reports.get":
 45389  
 45390  type ReportsGetCall struct {
 45391  	s            *Service
 45392  	profileId    int64
 45393  	reportId     int64
 45394  	urlParams_   gensupport.URLParams
 45395  	ifNoneMatch_ string
 45396  	ctx_         context.Context
 45397  	header_      http.Header
 45398  }
 45399  
 45400  // Get: Retrieves a report by its ID.
 45401  //
 45402  // - profileId: The Campaign Manager 360 user profile ID.
 45403  // - reportId: The ID of the report.
 45404  func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
 45405  	c := &ReportsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45406  	c.profileId = profileId
 45407  	c.reportId = reportId
 45408  	return c
 45409  }
 45410  
 45411  // Fields allows partial responses to be retrieved. See
 45412  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45413  // for more information.
 45414  func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
 45415  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45416  	return c
 45417  }
 45418  
 45419  // IfNoneMatch sets the optional parameter which makes the operation
 45420  // fail if the object's ETag matches the given value. This is useful for
 45421  // getting updates only after the object has changed since the last
 45422  // request. Use googleapi.IsNotModified to check whether the response
 45423  // error from Do is the result of In-None-Match.
 45424  func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
 45425  	c.ifNoneMatch_ = entityTag
 45426  	return c
 45427  }
 45428  
 45429  // Context sets the context to be used in this call's Do method. Any
 45430  // pending HTTP request will be aborted if the provided context is
 45431  // canceled.
 45432  func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 45433  	c.ctx_ = ctx
 45434  	return c
 45435  }
 45436  
 45437  // Header returns an http.Header that can be modified by the caller to
 45438  // add HTTP headers to the request.
 45439  func (c *ReportsGetCall) Header() http.Header {
 45440  	if c.header_ == nil {
 45441  		c.header_ = make(http.Header)
 45442  	}
 45443  	return c.header_
 45444  }
 45445  
 45446  func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 45447  	reqHeaders := make(http.Header)
 45448  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 45449  	for k, v := range c.header_ {
 45450  		reqHeaders[k] = v
 45451  	}
 45452  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45453  	if c.ifNoneMatch_ != "" {
 45454  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45455  	}
 45456  	var body io.Reader = nil
 45457  	c.urlParams_.Set("alt", alt)
 45458  	c.urlParams_.Set("prettyPrint", "false")
 45459  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 45460  	urls += "?" + c.urlParams_.Encode()
 45461  	req, err := http.NewRequest("GET", urls, body)
 45462  	if err != nil {
 45463  		return nil, err
 45464  	}
 45465  	req.Header = reqHeaders
 45466  	googleapi.Expand(req.URL, map[string]string{
 45467  		"profileId": strconv.FormatInt(c.profileId, 10),
 45468  		"reportId":  strconv.FormatInt(c.reportId, 10),
 45469  	})
 45470  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45471  }
 45472  
 45473  // Do executes the "dfareporting.reports.get" call.
 45474  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 45475  // code is an error. Response headers are in either
 45476  // *Report.ServerResponse.Header or (if a response was returned at all)
 45477  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 45478  // check whether the returned error was because http.StatusNotModified
 45479  // was returned.
 45480  func (c *ReportsGetCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 45481  	gensupport.SetOptions(c.urlParams_, opts...)
 45482  	res, err := c.doRequest("json")
 45483  	if res != nil && res.StatusCode == http.StatusNotModified {
 45484  		if res.Body != nil {
 45485  			res.Body.Close()
 45486  		}
 45487  		return nil, &googleapi.Error{
 45488  			Code:   res.StatusCode,
 45489  			Header: res.Header,
 45490  		}
 45491  	}
 45492  	if err != nil {
 45493  		return nil, err
 45494  	}
 45495  	defer googleapi.CloseBody(res)
 45496  	if err := googleapi.CheckResponse(res); err != nil {
 45497  		return nil, err
 45498  	}
 45499  	ret := &Report{
 45500  		ServerResponse: googleapi.ServerResponse{
 45501  			Header:         res.Header,
 45502  			HTTPStatusCode: res.StatusCode,
 45503  		},
 45504  	}
 45505  	target := &ret
 45506  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45507  		return nil, err
 45508  	}
 45509  	return ret, nil
 45510  	// {
 45511  	//   "description": "Retrieves a report by its ID.",
 45512  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
 45513  	//   "httpMethod": "GET",
 45514  	//   "id": "dfareporting.reports.get",
 45515  	//   "parameterOrder": [
 45516  	//     "profileId",
 45517  	//     "reportId"
 45518  	//   ],
 45519  	//   "parameters": {
 45520  	//     "profileId": {
 45521  	//       "description": "The Campaign Manager 360 user profile ID.",
 45522  	//       "format": "int64",
 45523  	//       "location": "path",
 45524  	//       "required": true,
 45525  	//       "type": "string"
 45526  	//     },
 45527  	//     "reportId": {
 45528  	//       "description": "The ID of the report.",
 45529  	//       "format": "int64",
 45530  	//       "location": "path",
 45531  	//       "required": true,
 45532  	//       "type": "string"
 45533  	//     }
 45534  	//   },
 45535  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 45536  	//   "response": {
 45537  	//     "$ref": "Report"
 45538  	//   },
 45539  	//   "scopes": [
 45540  	//     "https://www.googleapis.com/auth/dfareporting"
 45541  	//   ]
 45542  	// }
 45543  
 45544  }
 45545  
 45546  // method id "dfareporting.reports.insert":
 45547  
 45548  type ReportsInsertCall struct {
 45549  	s          *Service
 45550  	profileId  int64
 45551  	report     *Report
 45552  	urlParams_ gensupport.URLParams
 45553  	ctx_       context.Context
 45554  	header_    http.Header
 45555  }
 45556  
 45557  // Insert: Creates a report.
 45558  //
 45559  // - profileId: The Campaign Manager 360 user profile ID.
 45560  func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
 45561  	c := &ReportsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45562  	c.profileId = profileId
 45563  	c.report = report
 45564  	return c
 45565  }
 45566  
 45567  // Fields allows partial responses to be retrieved. See
 45568  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45569  // for more information.
 45570  func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
 45571  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45572  	return c
 45573  }
 45574  
 45575  // Context sets the context to be used in this call's Do method. Any
 45576  // pending HTTP request will be aborted if the provided context is
 45577  // canceled.
 45578  func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
 45579  	c.ctx_ = ctx
 45580  	return c
 45581  }
 45582  
 45583  // Header returns an http.Header that can be modified by the caller to
 45584  // add HTTP headers to the request.
 45585  func (c *ReportsInsertCall) Header() http.Header {
 45586  	if c.header_ == nil {
 45587  		c.header_ = make(http.Header)
 45588  	}
 45589  	return c.header_
 45590  }
 45591  
 45592  func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
 45593  	reqHeaders := make(http.Header)
 45594  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 45595  	for k, v := range c.header_ {
 45596  		reqHeaders[k] = v
 45597  	}
 45598  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45599  	var body io.Reader = nil
 45600  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 45601  	if err != nil {
 45602  		return nil, err
 45603  	}
 45604  	reqHeaders.Set("Content-Type", "application/json")
 45605  	c.urlParams_.Set("alt", alt)
 45606  	c.urlParams_.Set("prettyPrint", "false")
 45607  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
 45608  	urls += "?" + c.urlParams_.Encode()
 45609  	req, err := http.NewRequest("POST", urls, body)
 45610  	if err != nil {
 45611  		return nil, err
 45612  	}
 45613  	req.Header = reqHeaders
 45614  	googleapi.Expand(req.URL, map[string]string{
 45615  		"profileId": strconv.FormatInt(c.profileId, 10),
 45616  	})
 45617  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45618  }
 45619  
 45620  // Do executes the "dfareporting.reports.insert" call.
 45621  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 45622  // code is an error. Response headers are in either
 45623  // *Report.ServerResponse.Header or (if a response was returned at all)
 45624  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 45625  // check whether the returned error was because http.StatusNotModified
 45626  // was returned.
 45627  func (c *ReportsInsertCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 45628  	gensupport.SetOptions(c.urlParams_, opts...)
 45629  	res, err := c.doRequest("json")
 45630  	if res != nil && res.StatusCode == http.StatusNotModified {
 45631  		if res.Body != nil {
 45632  			res.Body.Close()
 45633  		}
 45634  		return nil, &googleapi.Error{
 45635  			Code:   res.StatusCode,
 45636  			Header: res.Header,
 45637  		}
 45638  	}
 45639  	if err != nil {
 45640  		return nil, err
 45641  	}
 45642  	defer googleapi.CloseBody(res)
 45643  	if err := googleapi.CheckResponse(res); err != nil {
 45644  		return nil, err
 45645  	}
 45646  	ret := &Report{
 45647  		ServerResponse: googleapi.ServerResponse{
 45648  			Header:         res.Header,
 45649  			HTTPStatusCode: res.StatusCode,
 45650  		},
 45651  	}
 45652  	target := &ret
 45653  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45654  		return nil, err
 45655  	}
 45656  	return ret, nil
 45657  	// {
 45658  	//   "description": "Creates a report.",
 45659  	//   "flatPath": "userprofiles/{profileId}/reports",
 45660  	//   "httpMethod": "POST",
 45661  	//   "id": "dfareporting.reports.insert",
 45662  	//   "parameterOrder": [
 45663  	//     "profileId"
 45664  	//   ],
 45665  	//   "parameters": {
 45666  	//     "profileId": {
 45667  	//       "description": "The Campaign Manager 360 user profile ID.",
 45668  	//       "format": "int64",
 45669  	//       "location": "path",
 45670  	//       "required": true,
 45671  	//       "type": "string"
 45672  	//     }
 45673  	//   },
 45674  	//   "path": "userprofiles/{profileId}/reports",
 45675  	//   "request": {
 45676  	//     "$ref": "Report"
 45677  	//   },
 45678  	//   "response": {
 45679  	//     "$ref": "Report"
 45680  	//   },
 45681  	//   "scopes": [
 45682  	//     "https://www.googleapis.com/auth/dfareporting"
 45683  	//   ]
 45684  	// }
 45685  
 45686  }
 45687  
 45688  // method id "dfareporting.reports.list":
 45689  
 45690  type ReportsListCall struct {
 45691  	s            *Service
 45692  	profileId    int64
 45693  	urlParams_   gensupport.URLParams
 45694  	ifNoneMatch_ string
 45695  	ctx_         context.Context
 45696  	header_      http.Header
 45697  }
 45698  
 45699  // List: Retrieves list of reports.
 45700  //
 45701  // - profileId: The Campaign Manager 360 user profile ID.
 45702  func (r *ReportsService) List(profileId int64) *ReportsListCall {
 45703  	c := &ReportsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45704  	c.profileId = profileId
 45705  	return c
 45706  }
 45707  
 45708  // MaxResults sets the optional parameter "maxResults": Maximum number
 45709  // of results to return.
 45710  func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
 45711  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 45712  	return c
 45713  }
 45714  
 45715  // PageToken sets the optional parameter "pageToken": The value of the
 45716  // nextToken from the previous result page.
 45717  func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
 45718  	c.urlParams_.Set("pageToken", pageToken)
 45719  	return c
 45720  }
 45721  
 45722  // Scope sets the optional parameter "scope": The scope that defines
 45723  // which results are returned.
 45724  //
 45725  // Possible values:
 45726  //
 45727  //	"ALL" - All reports in account.
 45728  //	"MINE" (default) - My reports.
 45729  func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
 45730  	c.urlParams_.Set("scope", scope)
 45731  	return c
 45732  }
 45733  
 45734  // SortField sets the optional parameter "sortField": The field by which
 45735  // to sort the list.
 45736  //
 45737  // Possible values:
 45738  //
 45739  //	"ID" - Sort by report ID.
 45740  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
 45741  //	"NAME" - Sort by name of reports.
 45742  func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
 45743  	c.urlParams_.Set("sortField", sortField)
 45744  	return c
 45745  }
 45746  
 45747  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 45748  // results.
 45749  //
 45750  // Possible values:
 45751  //
 45752  //	"ASCENDING" - Ascending order.
 45753  //	"DESCENDING" (default) - Descending order.
 45754  func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
 45755  	c.urlParams_.Set("sortOrder", sortOrder)
 45756  	return c
 45757  }
 45758  
 45759  // Fields allows partial responses to be retrieved. See
 45760  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45761  // for more information.
 45762  func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
 45763  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45764  	return c
 45765  }
 45766  
 45767  // IfNoneMatch sets the optional parameter which makes the operation
 45768  // fail if the object's ETag matches the given value. This is useful for
 45769  // getting updates only after the object has changed since the last
 45770  // request. Use googleapi.IsNotModified to check whether the response
 45771  // error from Do is the result of In-None-Match.
 45772  func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
 45773  	c.ifNoneMatch_ = entityTag
 45774  	return c
 45775  }
 45776  
 45777  // Context sets the context to be used in this call's Do method. Any
 45778  // pending HTTP request will be aborted if the provided context is
 45779  // canceled.
 45780  func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
 45781  	c.ctx_ = ctx
 45782  	return c
 45783  }
 45784  
 45785  // Header returns an http.Header that can be modified by the caller to
 45786  // add HTTP headers to the request.
 45787  func (c *ReportsListCall) Header() http.Header {
 45788  	if c.header_ == nil {
 45789  		c.header_ = make(http.Header)
 45790  	}
 45791  	return c.header_
 45792  }
 45793  
 45794  func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 45795  	reqHeaders := make(http.Header)
 45796  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 45797  	for k, v := range c.header_ {
 45798  		reqHeaders[k] = v
 45799  	}
 45800  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45801  	if c.ifNoneMatch_ != "" {
 45802  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45803  	}
 45804  	var body io.Reader = nil
 45805  	c.urlParams_.Set("alt", alt)
 45806  	c.urlParams_.Set("prettyPrint", "false")
 45807  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
 45808  	urls += "?" + c.urlParams_.Encode()
 45809  	req, err := http.NewRequest("GET", urls, body)
 45810  	if err != nil {
 45811  		return nil, err
 45812  	}
 45813  	req.Header = reqHeaders
 45814  	googleapi.Expand(req.URL, map[string]string{
 45815  		"profileId": strconv.FormatInt(c.profileId, 10),
 45816  	})
 45817  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45818  }
 45819  
 45820  // Do executes the "dfareporting.reports.list" call.
 45821  // Exactly one of *ReportList or error will be non-nil. Any non-2xx
 45822  // status code is an error. Response headers are in either
 45823  // *ReportList.ServerResponse.Header or (if a response was returned at
 45824  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 45825  // to check whether the returned error was because
 45826  // http.StatusNotModified was returned.
 45827  func (c *ReportsListCall) Do(opts ...googleapi.CallOption) (*ReportList, error) {
 45828  	gensupport.SetOptions(c.urlParams_, opts...)
 45829  	res, err := c.doRequest("json")
 45830  	if res != nil && res.StatusCode == http.StatusNotModified {
 45831  		if res.Body != nil {
 45832  			res.Body.Close()
 45833  		}
 45834  		return nil, &googleapi.Error{
 45835  			Code:   res.StatusCode,
 45836  			Header: res.Header,
 45837  		}
 45838  	}
 45839  	if err != nil {
 45840  		return nil, err
 45841  	}
 45842  	defer googleapi.CloseBody(res)
 45843  	if err := googleapi.CheckResponse(res); err != nil {
 45844  		return nil, err
 45845  	}
 45846  	ret := &ReportList{
 45847  		ServerResponse: googleapi.ServerResponse{
 45848  			Header:         res.Header,
 45849  			HTTPStatusCode: res.StatusCode,
 45850  		},
 45851  	}
 45852  	target := &ret
 45853  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45854  		return nil, err
 45855  	}
 45856  	return ret, nil
 45857  	// {
 45858  	//   "description": "Retrieves list of reports.",
 45859  	//   "flatPath": "userprofiles/{profileId}/reports",
 45860  	//   "httpMethod": "GET",
 45861  	//   "id": "dfareporting.reports.list",
 45862  	//   "parameterOrder": [
 45863  	//     "profileId"
 45864  	//   ],
 45865  	//   "parameters": {
 45866  	//     "maxResults": {
 45867  	//       "default": "10",
 45868  	//       "description": "Maximum number of results to return.",
 45869  	//       "format": "int32",
 45870  	//       "location": "query",
 45871  	//       "maximum": "10",
 45872  	//       "minimum": "0",
 45873  	//       "type": "integer"
 45874  	//     },
 45875  	//     "pageToken": {
 45876  	//       "description": "The value of the nextToken from the previous result page.",
 45877  	//       "location": "query",
 45878  	//       "type": "string"
 45879  	//     },
 45880  	//     "profileId": {
 45881  	//       "description": "The Campaign Manager 360 user profile ID.",
 45882  	//       "format": "int64",
 45883  	//       "location": "path",
 45884  	//       "required": true,
 45885  	//       "type": "string"
 45886  	//     },
 45887  	//     "scope": {
 45888  	//       "default": "MINE",
 45889  	//       "description": "The scope that defines which results are returned.",
 45890  	//       "enum": [
 45891  	//         "ALL",
 45892  	//         "MINE"
 45893  	//       ],
 45894  	//       "enumDescriptions": [
 45895  	//         "All reports in account.",
 45896  	//         "My reports."
 45897  	//       ],
 45898  	//       "location": "query",
 45899  	//       "type": "string"
 45900  	//     },
 45901  	//     "sortField": {
 45902  	//       "default": "LAST_MODIFIED_TIME",
 45903  	//       "description": "The field by which to sort the list.",
 45904  	//       "enum": [
 45905  	//         "ID",
 45906  	//         "LAST_MODIFIED_TIME",
 45907  	//         "NAME"
 45908  	//       ],
 45909  	//       "enumDescriptions": [
 45910  	//         "Sort by report ID.",
 45911  	//         "Sort by 'lastModifiedTime' field.",
 45912  	//         "Sort by name of reports."
 45913  	//       ],
 45914  	//       "location": "query",
 45915  	//       "type": "string"
 45916  	//     },
 45917  	//     "sortOrder": {
 45918  	//       "default": "DESCENDING",
 45919  	//       "description": "Order of sorted results.",
 45920  	//       "enum": [
 45921  	//         "ASCENDING",
 45922  	//         "DESCENDING"
 45923  	//       ],
 45924  	//       "enumDescriptions": [
 45925  	//         "Ascending order.",
 45926  	//         "Descending order."
 45927  	//       ],
 45928  	//       "location": "query",
 45929  	//       "type": "string"
 45930  	//     }
 45931  	//   },
 45932  	//   "path": "userprofiles/{profileId}/reports",
 45933  	//   "response": {
 45934  	//     "$ref": "ReportList"
 45935  	//   },
 45936  	//   "scopes": [
 45937  	//     "https://www.googleapis.com/auth/dfareporting"
 45938  	//   ]
 45939  	// }
 45940  
 45941  }
 45942  
 45943  // Pages invokes f for each page of results.
 45944  // A non-nil error returned from f will halt the iteration.
 45945  // The provided context supersedes any context provided to the Context method.
 45946  func (c *ReportsListCall) Pages(ctx context.Context, f func(*ReportList) error) error {
 45947  	c.ctx_ = ctx
 45948  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 45949  	for {
 45950  		x, err := c.Do()
 45951  		if err != nil {
 45952  			return err
 45953  		}
 45954  		if err := f(x); err != nil {
 45955  			return err
 45956  		}
 45957  		if x.NextPageToken == "" {
 45958  			return nil
 45959  		}
 45960  		c.PageToken(x.NextPageToken)
 45961  	}
 45962  }
 45963  
 45964  // method id "dfareporting.reports.patch":
 45965  
 45966  type ReportsPatchCall struct {
 45967  	s          *Service
 45968  	profileId  int64
 45969  	reportId   int64
 45970  	report     *Report
 45971  	urlParams_ gensupport.URLParams
 45972  	ctx_       context.Context
 45973  	header_    http.Header
 45974  }
 45975  
 45976  // Patch: Updates an existing report. This method supports patch
 45977  // semantics.
 45978  //
 45979  // - profileId: The DFA user profile ID.
 45980  // - reportId: The ID of the report.
 45981  func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
 45982  	c := &ReportsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45983  	c.profileId = profileId
 45984  	c.reportId = reportId
 45985  	c.report = report
 45986  	return c
 45987  }
 45988  
 45989  // Fields allows partial responses to be retrieved. See
 45990  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45991  // for more information.
 45992  func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
 45993  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45994  	return c
 45995  }
 45996  
 45997  // Context sets the context to be used in this call's Do method. Any
 45998  // pending HTTP request will be aborted if the provided context is
 45999  // canceled.
 46000  func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
 46001  	c.ctx_ = ctx
 46002  	return c
 46003  }
 46004  
 46005  // Header returns an http.Header that can be modified by the caller to
 46006  // add HTTP headers to the request.
 46007  func (c *ReportsPatchCall) Header() http.Header {
 46008  	if c.header_ == nil {
 46009  		c.header_ = make(http.Header)
 46010  	}
 46011  	return c.header_
 46012  }
 46013  
 46014  func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
 46015  	reqHeaders := make(http.Header)
 46016  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 46017  	for k, v := range c.header_ {
 46018  		reqHeaders[k] = v
 46019  	}
 46020  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46021  	var body io.Reader = nil
 46022  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 46023  	if err != nil {
 46024  		return nil, err
 46025  	}
 46026  	reqHeaders.Set("Content-Type", "application/json")
 46027  	c.urlParams_.Set("alt", alt)
 46028  	c.urlParams_.Set("prettyPrint", "false")
 46029  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 46030  	urls += "?" + c.urlParams_.Encode()
 46031  	req, err := http.NewRequest("PATCH", urls, body)
 46032  	if err != nil {
 46033  		return nil, err
 46034  	}
 46035  	req.Header = reqHeaders
 46036  	googleapi.Expand(req.URL, map[string]string{
 46037  		"profileId": strconv.FormatInt(c.profileId, 10),
 46038  		"reportId":  strconv.FormatInt(c.reportId, 10),
 46039  	})
 46040  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46041  }
 46042  
 46043  // Do executes the "dfareporting.reports.patch" call.
 46044  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 46045  // code is an error. Response headers are in either
 46046  // *Report.ServerResponse.Header or (if a response was returned at all)
 46047  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 46048  // check whether the returned error was because http.StatusNotModified
 46049  // was returned.
 46050  func (c *ReportsPatchCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 46051  	gensupport.SetOptions(c.urlParams_, opts...)
 46052  	res, err := c.doRequest("json")
 46053  	if res != nil && res.StatusCode == http.StatusNotModified {
 46054  		if res.Body != nil {
 46055  			res.Body.Close()
 46056  		}
 46057  		return nil, &googleapi.Error{
 46058  			Code:   res.StatusCode,
 46059  			Header: res.Header,
 46060  		}
 46061  	}
 46062  	if err != nil {
 46063  		return nil, err
 46064  	}
 46065  	defer googleapi.CloseBody(res)
 46066  	if err := googleapi.CheckResponse(res); err != nil {
 46067  		return nil, err
 46068  	}
 46069  	ret := &Report{
 46070  		ServerResponse: googleapi.ServerResponse{
 46071  			Header:         res.Header,
 46072  			HTTPStatusCode: res.StatusCode,
 46073  		},
 46074  	}
 46075  	target := &ret
 46076  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46077  		return nil, err
 46078  	}
 46079  	return ret, nil
 46080  	// {
 46081  	//   "description": "Updates an existing report. This method supports patch semantics.",
 46082  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
 46083  	//   "httpMethod": "PATCH",
 46084  	//   "id": "dfareporting.reports.patch",
 46085  	//   "parameterOrder": [
 46086  	//     "profileId",
 46087  	//     "reportId"
 46088  	//   ],
 46089  	//   "parameters": {
 46090  	//     "profileId": {
 46091  	//       "description": "The DFA user profile ID.",
 46092  	//       "format": "int64",
 46093  	//       "location": "path",
 46094  	//       "required": true,
 46095  	//       "type": "string"
 46096  	//     },
 46097  	//     "reportId": {
 46098  	//       "description": "The ID of the report.",
 46099  	//       "format": "int64",
 46100  	//       "location": "path",
 46101  	//       "required": true,
 46102  	//       "type": "string"
 46103  	//     }
 46104  	//   },
 46105  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 46106  	//   "request": {
 46107  	//     "$ref": "Report"
 46108  	//   },
 46109  	//   "response": {
 46110  	//     "$ref": "Report"
 46111  	//   },
 46112  	//   "scopes": [
 46113  	//     "https://www.googleapis.com/auth/dfareporting"
 46114  	//   ]
 46115  	// }
 46116  
 46117  }
 46118  
 46119  // method id "dfareporting.reports.run":
 46120  
 46121  type ReportsRunCall struct {
 46122  	s          *Service
 46123  	profileId  int64
 46124  	reportId   int64
 46125  	urlParams_ gensupport.URLParams
 46126  	ctx_       context.Context
 46127  	header_    http.Header
 46128  }
 46129  
 46130  // Run: Runs a report.
 46131  //
 46132  // - profileId: The Campaign Manager 360 user profile ID.
 46133  // - reportId: The ID of the report.
 46134  func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
 46135  	c := &ReportsRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46136  	c.profileId = profileId
 46137  	c.reportId = reportId
 46138  	return c
 46139  }
 46140  
 46141  // Synchronous sets the optional parameter "synchronous": If set and
 46142  // true, tries to run the report synchronously.
 46143  func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
 46144  	c.urlParams_.Set("synchronous", fmt.Sprint(synchronous))
 46145  	return c
 46146  }
 46147  
 46148  // Fields allows partial responses to be retrieved. See
 46149  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46150  // for more information.
 46151  func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
 46152  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46153  	return c
 46154  }
 46155  
 46156  // Context sets the context to be used in this call's Do method. Any
 46157  // pending HTTP request will be aborted if the provided context is
 46158  // canceled.
 46159  func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
 46160  	c.ctx_ = ctx
 46161  	return c
 46162  }
 46163  
 46164  // Header returns an http.Header that can be modified by the caller to
 46165  // add HTTP headers to the request.
 46166  func (c *ReportsRunCall) Header() http.Header {
 46167  	if c.header_ == nil {
 46168  		c.header_ = make(http.Header)
 46169  	}
 46170  	return c.header_
 46171  }
 46172  
 46173  func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 46174  	reqHeaders := make(http.Header)
 46175  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 46176  	for k, v := range c.header_ {
 46177  		reqHeaders[k] = v
 46178  	}
 46179  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46180  	var body io.Reader = nil
 46181  	c.urlParams_.Set("alt", alt)
 46182  	c.urlParams_.Set("prettyPrint", "false")
 46183  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
 46184  	urls += "?" + c.urlParams_.Encode()
 46185  	req, err := http.NewRequest("POST", urls, body)
 46186  	if err != nil {
 46187  		return nil, err
 46188  	}
 46189  	req.Header = reqHeaders
 46190  	googleapi.Expand(req.URL, map[string]string{
 46191  		"profileId": strconv.FormatInt(c.profileId, 10),
 46192  		"reportId":  strconv.FormatInt(c.reportId, 10),
 46193  	})
 46194  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46195  }
 46196  
 46197  // Do executes the "dfareporting.reports.run" call.
 46198  // Exactly one of *File or error will be non-nil. Any non-2xx status
 46199  // code is an error. Response headers are in either
 46200  // *File.ServerResponse.Header or (if a response was returned at all) in
 46201  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46202  // whether the returned error was because http.StatusNotModified was
 46203  // returned.
 46204  func (c *ReportsRunCall) Do(opts ...googleapi.CallOption) (*File, error) {
 46205  	gensupport.SetOptions(c.urlParams_, opts...)
 46206  	res, err := c.doRequest("json")
 46207  	if res != nil && res.StatusCode == http.StatusNotModified {
 46208  		if res.Body != nil {
 46209  			res.Body.Close()
 46210  		}
 46211  		return nil, &googleapi.Error{
 46212  			Code:   res.StatusCode,
 46213  			Header: res.Header,
 46214  		}
 46215  	}
 46216  	if err != nil {
 46217  		return nil, err
 46218  	}
 46219  	defer googleapi.CloseBody(res)
 46220  	if err := googleapi.CheckResponse(res); err != nil {
 46221  		return nil, err
 46222  	}
 46223  	ret := &File{
 46224  		ServerResponse: googleapi.ServerResponse{
 46225  			Header:         res.Header,
 46226  			HTTPStatusCode: res.StatusCode,
 46227  		},
 46228  	}
 46229  	target := &ret
 46230  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46231  		return nil, err
 46232  	}
 46233  	return ret, nil
 46234  	// {
 46235  	//   "description": "Runs a report.",
 46236  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/run",
 46237  	//   "httpMethod": "POST",
 46238  	//   "id": "dfareporting.reports.run",
 46239  	//   "parameterOrder": [
 46240  	//     "profileId",
 46241  	//     "reportId"
 46242  	//   ],
 46243  	//   "parameters": {
 46244  	//     "profileId": {
 46245  	//       "description": "The Campaign Manager 360 user profile ID.",
 46246  	//       "format": "int64",
 46247  	//       "location": "path",
 46248  	//       "required": true,
 46249  	//       "type": "string"
 46250  	//     },
 46251  	//     "reportId": {
 46252  	//       "description": "The ID of the report.",
 46253  	//       "format": "int64",
 46254  	//       "location": "path",
 46255  	//       "required": true,
 46256  	//       "type": "string"
 46257  	//     },
 46258  	//     "synchronous": {
 46259  	//       "default": "false",
 46260  	//       "description": "If set and true, tries to run the report synchronously.",
 46261  	//       "location": "query",
 46262  	//       "type": "boolean"
 46263  	//     }
 46264  	//   },
 46265  	//   "path": "userprofiles/{profileId}/reports/{reportId}/run",
 46266  	//   "response": {
 46267  	//     "$ref": "File"
 46268  	//   },
 46269  	//   "scopes": [
 46270  	//     "https://www.googleapis.com/auth/dfareporting"
 46271  	//   ]
 46272  	// }
 46273  
 46274  }
 46275  
 46276  // method id "dfareporting.reports.update":
 46277  
 46278  type ReportsUpdateCall struct {
 46279  	s          *Service
 46280  	profileId  int64
 46281  	reportId   int64
 46282  	report     *Report
 46283  	urlParams_ gensupport.URLParams
 46284  	ctx_       context.Context
 46285  	header_    http.Header
 46286  }
 46287  
 46288  // Update: Updates a report.
 46289  //
 46290  // - profileId: The Campaign Manager 360 user profile ID.
 46291  // - reportId: The ID of the report.
 46292  func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
 46293  	c := &ReportsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46294  	c.profileId = profileId
 46295  	c.reportId = reportId
 46296  	c.report = report
 46297  	return c
 46298  }
 46299  
 46300  // Fields allows partial responses to be retrieved. See
 46301  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46302  // for more information.
 46303  func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
 46304  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46305  	return c
 46306  }
 46307  
 46308  // Context sets the context to be used in this call's Do method. Any
 46309  // pending HTTP request will be aborted if the provided context is
 46310  // canceled.
 46311  func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
 46312  	c.ctx_ = ctx
 46313  	return c
 46314  }
 46315  
 46316  // Header returns an http.Header that can be modified by the caller to
 46317  // add HTTP headers to the request.
 46318  func (c *ReportsUpdateCall) Header() http.Header {
 46319  	if c.header_ == nil {
 46320  		c.header_ = make(http.Header)
 46321  	}
 46322  	return c.header_
 46323  }
 46324  
 46325  func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
 46326  	reqHeaders := make(http.Header)
 46327  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 46328  	for k, v := range c.header_ {
 46329  		reqHeaders[k] = v
 46330  	}
 46331  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46332  	var body io.Reader = nil
 46333  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 46334  	if err != nil {
 46335  		return nil, err
 46336  	}
 46337  	reqHeaders.Set("Content-Type", "application/json")
 46338  	c.urlParams_.Set("alt", alt)
 46339  	c.urlParams_.Set("prettyPrint", "false")
 46340  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 46341  	urls += "?" + c.urlParams_.Encode()
 46342  	req, err := http.NewRequest("PUT", urls, body)
 46343  	if err != nil {
 46344  		return nil, err
 46345  	}
 46346  	req.Header = reqHeaders
 46347  	googleapi.Expand(req.URL, map[string]string{
 46348  		"profileId": strconv.FormatInt(c.profileId, 10),
 46349  		"reportId":  strconv.FormatInt(c.reportId, 10),
 46350  	})
 46351  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46352  }
 46353  
 46354  // Do executes the "dfareporting.reports.update" call.
 46355  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 46356  // code is an error. Response headers are in either
 46357  // *Report.ServerResponse.Header or (if a response was returned at all)
 46358  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 46359  // check whether the returned error was because http.StatusNotModified
 46360  // was returned.
 46361  func (c *ReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 46362  	gensupport.SetOptions(c.urlParams_, opts...)
 46363  	res, err := c.doRequest("json")
 46364  	if res != nil && res.StatusCode == http.StatusNotModified {
 46365  		if res.Body != nil {
 46366  			res.Body.Close()
 46367  		}
 46368  		return nil, &googleapi.Error{
 46369  			Code:   res.StatusCode,
 46370  			Header: res.Header,
 46371  		}
 46372  	}
 46373  	if err != nil {
 46374  		return nil, err
 46375  	}
 46376  	defer googleapi.CloseBody(res)
 46377  	if err := googleapi.CheckResponse(res); err != nil {
 46378  		return nil, err
 46379  	}
 46380  	ret := &Report{
 46381  		ServerResponse: googleapi.ServerResponse{
 46382  			Header:         res.Header,
 46383  			HTTPStatusCode: res.StatusCode,
 46384  		},
 46385  	}
 46386  	target := &ret
 46387  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46388  		return nil, err
 46389  	}
 46390  	return ret, nil
 46391  	// {
 46392  	//   "description": "Updates a report.",
 46393  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
 46394  	//   "httpMethod": "PUT",
 46395  	//   "id": "dfareporting.reports.update",
 46396  	//   "parameterOrder": [
 46397  	//     "profileId",
 46398  	//     "reportId"
 46399  	//   ],
 46400  	//   "parameters": {
 46401  	//     "profileId": {
 46402  	//       "description": "The Campaign Manager 360 user profile ID.",
 46403  	//       "format": "int64",
 46404  	//       "location": "path",
 46405  	//       "required": true,
 46406  	//       "type": "string"
 46407  	//     },
 46408  	//     "reportId": {
 46409  	//       "description": "The ID of the report.",
 46410  	//       "format": "int64",
 46411  	//       "location": "path",
 46412  	//       "required": true,
 46413  	//       "type": "string"
 46414  	//     }
 46415  	//   },
 46416  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 46417  	//   "request": {
 46418  	//     "$ref": "Report"
 46419  	//   },
 46420  	//   "response": {
 46421  	//     "$ref": "Report"
 46422  	//   },
 46423  	//   "scopes": [
 46424  	//     "https://www.googleapis.com/auth/dfareporting"
 46425  	//   ]
 46426  	// }
 46427  
 46428  }
 46429  
 46430  // method id "dfareporting.reports.compatibleFields.query":
 46431  
 46432  type ReportsCompatibleFieldsQueryCall struct {
 46433  	s          *Service
 46434  	profileId  int64
 46435  	report     *Report
 46436  	urlParams_ gensupport.URLParams
 46437  	ctx_       context.Context
 46438  	header_    http.Header
 46439  }
 46440  
 46441  // Query: Returns the fields that are compatible to be selected in the
 46442  // respective sections of a report criteria, given the fields already
 46443  // selected in the input report and user permissions.
 46444  //
 46445  // - profileId: The Campaign Manager 360 user profile ID.
 46446  func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
 46447  	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46448  	c.profileId = profileId
 46449  	c.report = report
 46450  	return c
 46451  }
 46452  
 46453  // Fields allows partial responses to be retrieved. See
 46454  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46455  // for more information.
 46456  func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
 46457  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46458  	return c
 46459  }
 46460  
 46461  // Context sets the context to be used in this call's Do method. Any
 46462  // pending HTTP request will be aborted if the provided context is
 46463  // canceled.
 46464  func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
 46465  	c.ctx_ = ctx
 46466  	return c
 46467  }
 46468  
 46469  // Header returns an http.Header that can be modified by the caller to
 46470  // add HTTP headers to the request.
 46471  func (c *ReportsCompatibleFieldsQueryCall) Header() http.Header {
 46472  	if c.header_ == nil {
 46473  		c.header_ = make(http.Header)
 46474  	}
 46475  	return c.header_
 46476  }
 46477  
 46478  func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
 46479  	reqHeaders := make(http.Header)
 46480  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 46481  	for k, v := range c.header_ {
 46482  		reqHeaders[k] = v
 46483  	}
 46484  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46485  	var body io.Reader = nil
 46486  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 46487  	if err != nil {
 46488  		return nil, err
 46489  	}
 46490  	reqHeaders.Set("Content-Type", "application/json")
 46491  	c.urlParams_.Set("alt", alt)
 46492  	c.urlParams_.Set("prettyPrint", "false")
 46493  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
 46494  	urls += "?" + c.urlParams_.Encode()
 46495  	req, err := http.NewRequest("POST", urls, body)
 46496  	if err != nil {
 46497  		return nil, err
 46498  	}
 46499  	req.Header = reqHeaders
 46500  	googleapi.Expand(req.URL, map[string]string{
 46501  		"profileId": strconv.FormatInt(c.profileId, 10),
 46502  	})
 46503  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46504  }
 46505  
 46506  // Do executes the "dfareporting.reports.compatibleFields.query" call.
 46507  // Exactly one of *CompatibleFields or error will be non-nil. Any
 46508  // non-2xx status code is an error. Response headers are in either
 46509  // *CompatibleFields.ServerResponse.Header or (if a response was
 46510  // returned at all) in error.(*googleapi.Error).Header. Use
 46511  // googleapi.IsNotModified to check whether the returned error was
 46512  // because http.StatusNotModified was returned.
 46513  func (c *ReportsCompatibleFieldsQueryCall) Do(opts ...googleapi.CallOption) (*CompatibleFields, error) {
 46514  	gensupport.SetOptions(c.urlParams_, opts...)
 46515  	res, err := c.doRequest("json")
 46516  	if res != nil && res.StatusCode == http.StatusNotModified {
 46517  		if res.Body != nil {
 46518  			res.Body.Close()
 46519  		}
 46520  		return nil, &googleapi.Error{
 46521  			Code:   res.StatusCode,
 46522  			Header: res.Header,
 46523  		}
 46524  	}
 46525  	if err != nil {
 46526  		return nil, err
 46527  	}
 46528  	defer googleapi.CloseBody(res)
 46529  	if err := googleapi.CheckResponse(res); err != nil {
 46530  		return nil, err
 46531  	}
 46532  	ret := &CompatibleFields{
 46533  		ServerResponse: googleapi.ServerResponse{
 46534  			Header:         res.Header,
 46535  			HTTPStatusCode: res.StatusCode,
 46536  		},
 46537  	}
 46538  	target := &ret
 46539  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46540  		return nil, err
 46541  	}
 46542  	return ret, nil
 46543  	// {
 46544  	//   "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.",
 46545  	//   "flatPath": "userprofiles/{profileId}/reports/compatiblefields/query",
 46546  	//   "httpMethod": "POST",
 46547  	//   "id": "dfareporting.reports.compatibleFields.query",
 46548  	//   "parameterOrder": [
 46549  	//     "profileId"
 46550  	//   ],
 46551  	//   "parameters": {
 46552  	//     "profileId": {
 46553  	//       "description": "The Campaign Manager 360 user profile ID.",
 46554  	//       "format": "int64",
 46555  	//       "location": "path",
 46556  	//       "required": true,
 46557  	//       "type": "string"
 46558  	//     }
 46559  	//   },
 46560  	//   "path": "userprofiles/{profileId}/reports/compatiblefields/query",
 46561  	//   "request": {
 46562  	//     "$ref": "Report"
 46563  	//   },
 46564  	//   "response": {
 46565  	//     "$ref": "CompatibleFields"
 46566  	//   },
 46567  	//   "scopes": [
 46568  	//     "https://www.googleapis.com/auth/dfareporting"
 46569  	//   ]
 46570  	// }
 46571  
 46572  }
 46573  
 46574  // method id "dfareporting.reports.files.get":
 46575  
 46576  type ReportsFilesGetCall struct {
 46577  	s            *Service
 46578  	profileId    int64
 46579  	reportId     int64
 46580  	fileId       int64
 46581  	urlParams_   gensupport.URLParams
 46582  	ifNoneMatch_ string
 46583  	ctx_         context.Context
 46584  	header_      http.Header
 46585  }
 46586  
 46587  // Get: Retrieves a report file by its report ID and file ID. This
 46588  // method supports media download.
 46589  //
 46590  // - fileId: The ID of the report file.
 46591  // - profileId: The Campaign Manager 360 user profile ID.
 46592  // - reportId: The ID of the report.
 46593  func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
 46594  	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46595  	c.profileId = profileId
 46596  	c.reportId = reportId
 46597  	c.fileId = fileId
 46598  	return c
 46599  }
 46600  
 46601  // Fields allows partial responses to be retrieved. See
 46602  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46603  // for more information.
 46604  func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
 46605  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46606  	return c
 46607  }
 46608  
 46609  // IfNoneMatch sets the optional parameter which makes the operation
 46610  // fail if the object's ETag matches the given value. This is useful for
 46611  // getting updates only after the object has changed since the last
 46612  // request. Use googleapi.IsNotModified to check whether the response
 46613  // error from Do is the result of In-None-Match.
 46614  func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
 46615  	c.ifNoneMatch_ = entityTag
 46616  	return c
 46617  }
 46618  
 46619  // Context sets the context to be used in this call's Do and Download
 46620  // methods. Any pending HTTP request will be aborted if the provided
 46621  // context is canceled.
 46622  func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
 46623  	c.ctx_ = ctx
 46624  	return c
 46625  }
 46626  
 46627  // Header returns an http.Header that can be modified by the caller to
 46628  // add HTTP headers to the request.
 46629  func (c *ReportsFilesGetCall) Header() http.Header {
 46630  	if c.header_ == nil {
 46631  		c.header_ = make(http.Header)
 46632  	}
 46633  	return c.header_
 46634  }
 46635  
 46636  func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 46637  	reqHeaders := make(http.Header)
 46638  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 46639  	for k, v := range c.header_ {
 46640  		reqHeaders[k] = v
 46641  	}
 46642  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46643  	if c.ifNoneMatch_ != "" {
 46644  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46645  	}
 46646  	var body io.Reader = nil
 46647  	c.urlParams_.Set("alt", alt)
 46648  	c.urlParams_.Set("prettyPrint", "false")
 46649  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
 46650  	urls += "?" + c.urlParams_.Encode()
 46651  	req, err := http.NewRequest("GET", urls, body)
 46652  	if err != nil {
 46653  		return nil, err
 46654  	}
 46655  	req.Header = reqHeaders
 46656  	googleapi.Expand(req.URL, map[string]string{
 46657  		"profileId": strconv.FormatInt(c.profileId, 10),
 46658  		"reportId":  strconv.FormatInt(c.reportId, 10),
 46659  		"fileId":    strconv.FormatInt(c.fileId, 10),
 46660  	})
 46661  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46662  }
 46663  
 46664  // Download fetches the API endpoint's "media" value, instead of the normal
 46665  // API response value. If the returned error is nil, the Response is guaranteed to
 46666  // have a 2xx status code. Callers must close the Response.Body as usual.
 46667  func (c *ReportsFilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 46668  	gensupport.SetOptions(c.urlParams_, opts...)
 46669  	res, err := c.doRequest("media")
 46670  	if err != nil {
 46671  		return nil, err
 46672  	}
 46673  	if err := googleapi.CheckResponse(res); err != nil {
 46674  		res.Body.Close()
 46675  		return nil, err
 46676  	}
 46677  	return res, nil
 46678  }
 46679  
 46680  // Do executes the "dfareporting.reports.files.get" call.
 46681  // Exactly one of *File or error will be non-nil. Any non-2xx status
 46682  // code is an error. Response headers are in either
 46683  // *File.ServerResponse.Header or (if a response was returned at all) in
 46684  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46685  // whether the returned error was because http.StatusNotModified was
 46686  // returned.
 46687  func (c *ReportsFilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
 46688  	gensupport.SetOptions(c.urlParams_, opts...)
 46689  	res, err := c.doRequest("json")
 46690  	if res != nil && res.StatusCode == http.StatusNotModified {
 46691  		if res.Body != nil {
 46692  			res.Body.Close()
 46693  		}
 46694  		return nil, &googleapi.Error{
 46695  			Code:   res.StatusCode,
 46696  			Header: res.Header,
 46697  		}
 46698  	}
 46699  	if err != nil {
 46700  		return nil, err
 46701  	}
 46702  	defer googleapi.CloseBody(res)
 46703  	if err := googleapi.CheckResponse(res); err != nil {
 46704  		return nil, err
 46705  	}
 46706  	ret := &File{
 46707  		ServerResponse: googleapi.ServerResponse{
 46708  			Header:         res.Header,
 46709  			HTTPStatusCode: res.StatusCode,
 46710  		},
 46711  	}
 46712  	target := &ret
 46713  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46714  		return nil, err
 46715  	}
 46716  	return ret, nil
 46717  	// {
 46718  	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
 46719  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
 46720  	//   "httpMethod": "GET",
 46721  	//   "id": "dfareporting.reports.files.get",
 46722  	//   "parameterOrder": [
 46723  	//     "profileId",
 46724  	//     "reportId",
 46725  	//     "fileId"
 46726  	//   ],
 46727  	//   "parameters": {
 46728  	//     "fileId": {
 46729  	//       "description": "The ID of the report file.",
 46730  	//       "format": "int64",
 46731  	//       "location": "path",
 46732  	//       "required": true,
 46733  	//       "type": "string"
 46734  	//     },
 46735  	//     "profileId": {
 46736  	//       "description": "The Campaign Manager 360 user profile ID.",
 46737  	//       "format": "int64",
 46738  	//       "location": "path",
 46739  	//       "required": true,
 46740  	//       "type": "string"
 46741  	//     },
 46742  	//     "reportId": {
 46743  	//       "description": "The ID of the report.",
 46744  	//       "format": "int64",
 46745  	//       "location": "path",
 46746  	//       "required": true,
 46747  	//       "type": "string"
 46748  	//     }
 46749  	//   },
 46750  	//   "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
 46751  	//   "response": {
 46752  	//     "$ref": "File"
 46753  	//   },
 46754  	//   "scopes": [
 46755  	//     "https://www.googleapis.com/auth/dfareporting"
 46756  	//   ],
 46757  	//   "supportsMediaDownload": true
 46758  	// }
 46759  
 46760  }
 46761  
 46762  // method id "dfareporting.reports.files.list":
 46763  
 46764  type ReportsFilesListCall struct {
 46765  	s            *Service
 46766  	profileId    int64
 46767  	reportId     int64
 46768  	urlParams_   gensupport.URLParams
 46769  	ifNoneMatch_ string
 46770  	ctx_         context.Context
 46771  	header_      http.Header
 46772  }
 46773  
 46774  // List: Lists files for a report.
 46775  //
 46776  // - profileId: The Campaign Manager 360 user profile ID.
 46777  // - reportId: The ID of the parent report.
 46778  func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
 46779  	c := &ReportsFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46780  	c.profileId = profileId
 46781  	c.reportId = reportId
 46782  	return c
 46783  }
 46784  
 46785  // MaxResults sets the optional parameter "maxResults": Maximum number
 46786  // of results to return.
 46787  func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
 46788  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 46789  	return c
 46790  }
 46791  
 46792  // PageToken sets the optional parameter "pageToken": The value of the
 46793  // nextToken from the previous result page.
 46794  func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
 46795  	c.urlParams_.Set("pageToken", pageToken)
 46796  	return c
 46797  }
 46798  
 46799  // SortField sets the optional parameter "sortField": The field by which
 46800  // to sort the list.
 46801  //
 46802  // Possible values:
 46803  //
 46804  //	"ID"
 46805  //	"LAST_MODIFIED_TIME" (default)
 46806  func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
 46807  	c.urlParams_.Set("sortField", sortField)
 46808  	return c
 46809  }
 46810  
 46811  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 46812  // results.
 46813  //
 46814  // Possible values:
 46815  //
 46816  //	"ASCENDING"
 46817  //	"DESCENDING" (default)
 46818  func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
 46819  	c.urlParams_.Set("sortOrder", sortOrder)
 46820  	return c
 46821  }
 46822  
 46823  // Fields allows partial responses to be retrieved. See
 46824  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46825  // for more information.
 46826  func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
 46827  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46828  	return c
 46829  }
 46830  
 46831  // IfNoneMatch sets the optional parameter which makes the operation
 46832  // fail if the object's ETag matches the given value. This is useful for
 46833  // getting updates only after the object has changed since the last
 46834  // request. Use googleapi.IsNotModified to check whether the response
 46835  // error from Do is the result of In-None-Match.
 46836  func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
 46837  	c.ifNoneMatch_ = entityTag
 46838  	return c
 46839  }
 46840  
 46841  // Context sets the context to be used in this call's Do method. Any
 46842  // pending HTTP request will be aborted if the provided context is
 46843  // canceled.
 46844  func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
 46845  	c.ctx_ = ctx
 46846  	return c
 46847  }
 46848  
 46849  // Header returns an http.Header that can be modified by the caller to
 46850  // add HTTP headers to the request.
 46851  func (c *ReportsFilesListCall) Header() http.Header {
 46852  	if c.header_ == nil {
 46853  		c.header_ = make(http.Header)
 46854  	}
 46855  	return c.header_
 46856  }
 46857  
 46858  func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 46859  	reqHeaders := make(http.Header)
 46860  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 46861  	for k, v := range c.header_ {
 46862  		reqHeaders[k] = v
 46863  	}
 46864  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46865  	if c.ifNoneMatch_ != "" {
 46866  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46867  	}
 46868  	var body io.Reader = nil
 46869  	c.urlParams_.Set("alt", alt)
 46870  	c.urlParams_.Set("prettyPrint", "false")
 46871  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
 46872  	urls += "?" + c.urlParams_.Encode()
 46873  	req, err := http.NewRequest("GET", urls, body)
 46874  	if err != nil {
 46875  		return nil, err
 46876  	}
 46877  	req.Header = reqHeaders
 46878  	googleapi.Expand(req.URL, map[string]string{
 46879  		"profileId": strconv.FormatInt(c.profileId, 10),
 46880  		"reportId":  strconv.FormatInt(c.reportId, 10),
 46881  	})
 46882  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46883  }
 46884  
 46885  // Do executes the "dfareporting.reports.files.list" call.
 46886  // Exactly one of *FileList or error will be non-nil. Any non-2xx status
 46887  // code is an error. Response headers are in either
 46888  // *FileList.ServerResponse.Header or (if a response was returned at
 46889  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 46890  // to check whether the returned error was because
 46891  // http.StatusNotModified was returned.
 46892  func (c *ReportsFilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
 46893  	gensupport.SetOptions(c.urlParams_, opts...)
 46894  	res, err := c.doRequest("json")
 46895  	if res != nil && res.StatusCode == http.StatusNotModified {
 46896  		if res.Body != nil {
 46897  			res.Body.Close()
 46898  		}
 46899  		return nil, &googleapi.Error{
 46900  			Code:   res.StatusCode,
 46901  			Header: res.Header,
 46902  		}
 46903  	}
 46904  	if err != nil {
 46905  		return nil, err
 46906  	}
 46907  	defer googleapi.CloseBody(res)
 46908  	if err := googleapi.CheckResponse(res); err != nil {
 46909  		return nil, err
 46910  	}
 46911  	ret := &FileList{
 46912  		ServerResponse: googleapi.ServerResponse{
 46913  			Header:         res.Header,
 46914  			HTTPStatusCode: res.StatusCode,
 46915  		},
 46916  	}
 46917  	target := &ret
 46918  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46919  		return nil, err
 46920  	}
 46921  	return ret, nil
 46922  	// {
 46923  	//   "description": "Lists files for a report.",
 46924  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files",
 46925  	//   "httpMethod": "GET",
 46926  	//   "id": "dfareporting.reports.files.list",
 46927  	//   "parameterOrder": [
 46928  	//     "profileId",
 46929  	//     "reportId"
 46930  	//   ],
 46931  	//   "parameters": {
 46932  	//     "maxResults": {
 46933  	//       "default": "10",
 46934  	//       "description": "Maximum number of results to return.",
 46935  	//       "format": "int32",
 46936  	//       "location": "query",
 46937  	//       "maximum": "10",
 46938  	//       "minimum": "0",
 46939  	//       "type": "integer"
 46940  	//     },
 46941  	//     "pageToken": {
 46942  	//       "description": "The value of the nextToken from the previous result page.",
 46943  	//       "location": "query",
 46944  	//       "type": "string"
 46945  	//     },
 46946  	//     "profileId": {
 46947  	//       "description": "The Campaign Manager 360 user profile ID.",
 46948  	//       "format": "int64",
 46949  	//       "location": "path",
 46950  	//       "required": true,
 46951  	//       "type": "string"
 46952  	//     },
 46953  	//     "reportId": {
 46954  	//       "description": "The ID of the parent report.",
 46955  	//       "format": "int64",
 46956  	//       "location": "path",
 46957  	//       "required": true,
 46958  	//       "type": "string"
 46959  	//     },
 46960  	//     "sortField": {
 46961  	//       "default": "LAST_MODIFIED_TIME",
 46962  	//       "description": "The field by which to sort the list.",
 46963  	//       "enum": [
 46964  	//         "ID",
 46965  	//         "LAST_MODIFIED_TIME"
 46966  	//       ],
 46967  	//       "enumDescriptions": [
 46968  	//         "",
 46969  	//         ""
 46970  	//       ],
 46971  	//       "location": "query",
 46972  	//       "type": "string"
 46973  	//     },
 46974  	//     "sortOrder": {
 46975  	//       "default": "DESCENDING",
 46976  	//       "description": "Order of sorted results.",
 46977  	//       "enum": [
 46978  	//         "ASCENDING",
 46979  	//         "DESCENDING"
 46980  	//       ],
 46981  	//       "enumDescriptions": [
 46982  	//         "",
 46983  	//         ""
 46984  	//       ],
 46985  	//       "location": "query",
 46986  	//       "type": "string"
 46987  	//     }
 46988  	//   },
 46989  	//   "path": "userprofiles/{profileId}/reports/{reportId}/files",
 46990  	//   "response": {
 46991  	//     "$ref": "FileList"
 46992  	//   },
 46993  	//   "scopes": [
 46994  	//     "https://www.googleapis.com/auth/dfareporting"
 46995  	//   ]
 46996  	// }
 46997  
 46998  }
 46999  
 47000  // Pages invokes f for each page of results.
 47001  // A non-nil error returned from f will halt the iteration.
 47002  // The provided context supersedes any context provided to the Context method.
 47003  func (c *ReportsFilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
 47004  	c.ctx_ = ctx
 47005  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 47006  	for {
 47007  		x, err := c.Do()
 47008  		if err != nil {
 47009  			return err
 47010  		}
 47011  		if err := f(x); err != nil {
 47012  			return err
 47013  		}
 47014  		if x.NextPageToken == "" {
 47015  			return nil
 47016  		}
 47017  		c.PageToken(x.NextPageToken)
 47018  	}
 47019  }
 47020  
 47021  // method id "dfareporting.sites.get":
 47022  
 47023  type SitesGetCall struct {
 47024  	s            *Service
 47025  	profileId    int64
 47026  	id           int64
 47027  	urlParams_   gensupport.URLParams
 47028  	ifNoneMatch_ string
 47029  	ctx_         context.Context
 47030  	header_      http.Header
 47031  }
 47032  
 47033  // Get: Gets one site by ID.
 47034  //
 47035  // - id: Site ID.
 47036  // - profileId: User profile ID associated with this request.
 47037  func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
 47038  	c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47039  	c.profileId = profileId
 47040  	c.id = id
 47041  	return c
 47042  }
 47043  
 47044  // Fields allows partial responses to be retrieved. See
 47045  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47046  // for more information.
 47047  func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
 47048  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47049  	return c
 47050  }
 47051  
 47052  // IfNoneMatch sets the optional parameter which makes the operation
 47053  // fail if the object's ETag matches the given value. This is useful for
 47054  // getting updates only after the object has changed since the last
 47055  // request. Use googleapi.IsNotModified to check whether the response
 47056  // error from Do is the result of In-None-Match.
 47057  func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
 47058  	c.ifNoneMatch_ = entityTag
 47059  	return c
 47060  }
 47061  
 47062  // Context sets the context to be used in this call's Do method. Any
 47063  // pending HTTP request will be aborted if the provided context is
 47064  // canceled.
 47065  func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
 47066  	c.ctx_ = ctx
 47067  	return c
 47068  }
 47069  
 47070  // Header returns an http.Header that can be modified by the caller to
 47071  // add HTTP headers to the request.
 47072  func (c *SitesGetCall) Header() http.Header {
 47073  	if c.header_ == nil {
 47074  		c.header_ = make(http.Header)
 47075  	}
 47076  	return c.header_
 47077  }
 47078  
 47079  func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 47080  	reqHeaders := make(http.Header)
 47081  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 47082  	for k, v := range c.header_ {
 47083  		reqHeaders[k] = v
 47084  	}
 47085  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47086  	if c.ifNoneMatch_ != "" {
 47087  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47088  	}
 47089  	var body io.Reader = nil
 47090  	c.urlParams_.Set("alt", alt)
 47091  	c.urlParams_.Set("prettyPrint", "false")
 47092  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
 47093  	urls += "?" + c.urlParams_.Encode()
 47094  	req, err := http.NewRequest("GET", urls, body)
 47095  	if err != nil {
 47096  		return nil, err
 47097  	}
 47098  	req.Header = reqHeaders
 47099  	googleapi.Expand(req.URL, map[string]string{
 47100  		"profileId": strconv.FormatInt(c.profileId, 10),
 47101  		"id":        strconv.FormatInt(c.id, 10),
 47102  	})
 47103  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47104  }
 47105  
 47106  // Do executes the "dfareporting.sites.get" call.
 47107  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 47108  // code is an error. Response headers are in either
 47109  // *Site.ServerResponse.Header or (if a response was returned at all) in
 47110  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 47111  // whether the returned error was because http.StatusNotModified was
 47112  // returned.
 47113  func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 47114  	gensupport.SetOptions(c.urlParams_, opts...)
 47115  	res, err := c.doRequest("json")
 47116  	if res != nil && res.StatusCode == http.StatusNotModified {
 47117  		if res.Body != nil {
 47118  			res.Body.Close()
 47119  		}
 47120  		return nil, &googleapi.Error{
 47121  			Code:   res.StatusCode,
 47122  			Header: res.Header,
 47123  		}
 47124  	}
 47125  	if err != nil {
 47126  		return nil, err
 47127  	}
 47128  	defer googleapi.CloseBody(res)
 47129  	if err := googleapi.CheckResponse(res); err != nil {
 47130  		return nil, err
 47131  	}
 47132  	ret := &Site{
 47133  		ServerResponse: googleapi.ServerResponse{
 47134  			Header:         res.Header,
 47135  			HTTPStatusCode: res.StatusCode,
 47136  		},
 47137  	}
 47138  	target := &ret
 47139  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47140  		return nil, err
 47141  	}
 47142  	return ret, nil
 47143  	// {
 47144  	//   "description": "Gets one site by ID.",
 47145  	//   "flatPath": "userprofiles/{profileId}/sites/{id}",
 47146  	//   "httpMethod": "GET",
 47147  	//   "id": "dfareporting.sites.get",
 47148  	//   "parameterOrder": [
 47149  	//     "profileId",
 47150  	//     "id"
 47151  	//   ],
 47152  	//   "parameters": {
 47153  	//     "id": {
 47154  	//       "description": "Site ID.",
 47155  	//       "format": "int64",
 47156  	//       "location": "path",
 47157  	//       "required": true,
 47158  	//       "type": "string"
 47159  	//     },
 47160  	//     "profileId": {
 47161  	//       "description": "User profile ID associated with this request.",
 47162  	//       "format": "int64",
 47163  	//       "location": "path",
 47164  	//       "required": true,
 47165  	//       "type": "string"
 47166  	//     }
 47167  	//   },
 47168  	//   "path": "userprofiles/{profileId}/sites/{id}",
 47169  	//   "response": {
 47170  	//     "$ref": "Site"
 47171  	//   },
 47172  	//   "scopes": [
 47173  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47174  	//   ]
 47175  	// }
 47176  
 47177  }
 47178  
 47179  // method id "dfareporting.sites.insert":
 47180  
 47181  type SitesInsertCall struct {
 47182  	s          *Service
 47183  	profileId  int64
 47184  	site       *Site
 47185  	urlParams_ gensupport.URLParams
 47186  	ctx_       context.Context
 47187  	header_    http.Header
 47188  }
 47189  
 47190  // Insert: Inserts a new site.
 47191  //
 47192  // - profileId: User profile ID associated with this request.
 47193  func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
 47194  	c := &SitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47195  	c.profileId = profileId
 47196  	c.site = site
 47197  	return c
 47198  }
 47199  
 47200  // Fields allows partial responses to be retrieved. See
 47201  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47202  // for more information.
 47203  func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
 47204  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47205  	return c
 47206  }
 47207  
 47208  // Context sets the context to be used in this call's Do method. Any
 47209  // pending HTTP request will be aborted if the provided context is
 47210  // canceled.
 47211  func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
 47212  	c.ctx_ = ctx
 47213  	return c
 47214  }
 47215  
 47216  // Header returns an http.Header that can be modified by the caller to
 47217  // add HTTP headers to the request.
 47218  func (c *SitesInsertCall) Header() http.Header {
 47219  	if c.header_ == nil {
 47220  		c.header_ = make(http.Header)
 47221  	}
 47222  	return c.header_
 47223  }
 47224  
 47225  func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
 47226  	reqHeaders := make(http.Header)
 47227  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 47228  	for k, v := range c.header_ {
 47229  		reqHeaders[k] = v
 47230  	}
 47231  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47232  	var body io.Reader = nil
 47233  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 47234  	if err != nil {
 47235  		return nil, err
 47236  	}
 47237  	reqHeaders.Set("Content-Type", "application/json")
 47238  	c.urlParams_.Set("alt", alt)
 47239  	c.urlParams_.Set("prettyPrint", "false")
 47240  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 47241  	urls += "?" + c.urlParams_.Encode()
 47242  	req, err := http.NewRequest("POST", urls, body)
 47243  	if err != nil {
 47244  		return nil, err
 47245  	}
 47246  	req.Header = reqHeaders
 47247  	googleapi.Expand(req.URL, map[string]string{
 47248  		"profileId": strconv.FormatInt(c.profileId, 10),
 47249  	})
 47250  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47251  }
 47252  
 47253  // Do executes the "dfareporting.sites.insert" call.
 47254  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 47255  // code is an error. Response headers are in either
 47256  // *Site.ServerResponse.Header or (if a response was returned at all) in
 47257  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 47258  // whether the returned error was because http.StatusNotModified was
 47259  // returned.
 47260  func (c *SitesInsertCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 47261  	gensupport.SetOptions(c.urlParams_, opts...)
 47262  	res, err := c.doRequest("json")
 47263  	if res != nil && res.StatusCode == http.StatusNotModified {
 47264  		if res.Body != nil {
 47265  			res.Body.Close()
 47266  		}
 47267  		return nil, &googleapi.Error{
 47268  			Code:   res.StatusCode,
 47269  			Header: res.Header,
 47270  		}
 47271  	}
 47272  	if err != nil {
 47273  		return nil, err
 47274  	}
 47275  	defer googleapi.CloseBody(res)
 47276  	if err := googleapi.CheckResponse(res); err != nil {
 47277  		return nil, err
 47278  	}
 47279  	ret := &Site{
 47280  		ServerResponse: googleapi.ServerResponse{
 47281  			Header:         res.Header,
 47282  			HTTPStatusCode: res.StatusCode,
 47283  		},
 47284  	}
 47285  	target := &ret
 47286  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47287  		return nil, err
 47288  	}
 47289  	return ret, nil
 47290  	// {
 47291  	//   "description": "Inserts a new site.",
 47292  	//   "flatPath": "userprofiles/{profileId}/sites",
 47293  	//   "httpMethod": "POST",
 47294  	//   "id": "dfareporting.sites.insert",
 47295  	//   "parameterOrder": [
 47296  	//     "profileId"
 47297  	//   ],
 47298  	//   "parameters": {
 47299  	//     "profileId": {
 47300  	//       "description": "User profile ID associated with this request.",
 47301  	//       "format": "int64",
 47302  	//       "location": "path",
 47303  	//       "required": true,
 47304  	//       "type": "string"
 47305  	//     }
 47306  	//   },
 47307  	//   "path": "userprofiles/{profileId}/sites",
 47308  	//   "request": {
 47309  	//     "$ref": "Site"
 47310  	//   },
 47311  	//   "response": {
 47312  	//     "$ref": "Site"
 47313  	//   },
 47314  	//   "scopes": [
 47315  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47316  	//   ]
 47317  	// }
 47318  
 47319  }
 47320  
 47321  // method id "dfareporting.sites.list":
 47322  
 47323  type SitesListCall struct {
 47324  	s            *Service
 47325  	profileId    int64
 47326  	urlParams_   gensupport.URLParams
 47327  	ifNoneMatch_ string
 47328  	ctx_         context.Context
 47329  	header_      http.Header
 47330  }
 47331  
 47332  // List: Retrieves a list of sites, possibly filtered. This method
 47333  // supports paging.
 47334  //
 47335  // - profileId: User profile ID associated with this request.
 47336  func (r *SitesService) List(profileId int64) *SitesListCall {
 47337  	c := &SitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47338  	c.profileId = profileId
 47339  	return c
 47340  }
 47341  
 47342  // AcceptsInStreamVideoPlacements sets the optional parameter
 47343  // "acceptsInStreamVideoPlacements": This search filter is no longer
 47344  // supported and will have no effect on the results returned.
 47345  func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
 47346  	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
 47347  	return c
 47348  }
 47349  
 47350  // AcceptsInterstitialPlacements sets the optional parameter
 47351  // "acceptsInterstitialPlacements": This search filter is no longer
 47352  // supported and will have no effect on the results returned.
 47353  func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
 47354  	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
 47355  	return c
 47356  }
 47357  
 47358  // AcceptsPublisherPaidPlacements sets the optional parameter
 47359  // "acceptsPublisherPaidPlacements": Select only sites that accept
 47360  // publisher paid placements.
 47361  func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
 47362  	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
 47363  	return c
 47364  }
 47365  
 47366  // AdWordsSite sets the optional parameter "adWordsSite": Select only
 47367  // AdWords sites.
 47368  func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
 47369  	c.urlParams_.Set("adWordsSite", fmt.Sprint(adWordsSite))
 47370  	return c
 47371  }
 47372  
 47373  // Approved sets the optional parameter "approved": Select only approved
 47374  // sites.
 47375  func (c *SitesListCall) Approved(approved bool) *SitesListCall {
 47376  	c.urlParams_.Set("approved", fmt.Sprint(approved))
 47377  	return c
 47378  }
 47379  
 47380  // CampaignIds sets the optional parameter "campaignIds": Select only
 47381  // sites with these campaign IDs.
 47382  func (c *SitesListCall) CampaignIds(campaignIds ...int64) *SitesListCall {
 47383  	var campaignIds_ []string
 47384  	for _, v := range campaignIds {
 47385  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 47386  	}
 47387  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 47388  	return c
 47389  }
 47390  
 47391  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 47392  // Select only sites with these directory site IDs.
 47393  func (c *SitesListCall) DirectorySiteIds(directorySiteIds ...int64) *SitesListCall {
 47394  	var directorySiteIds_ []string
 47395  	for _, v := range directorySiteIds {
 47396  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 47397  	}
 47398  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 47399  	return c
 47400  }
 47401  
 47402  // Ids sets the optional parameter "ids": Select only sites with these
 47403  // IDs.
 47404  func (c *SitesListCall) Ids(ids ...int64) *SitesListCall {
 47405  	var ids_ []string
 47406  	for _, v := range ids {
 47407  		ids_ = append(ids_, fmt.Sprint(v))
 47408  	}
 47409  	c.urlParams_.SetMulti("ids", ids_)
 47410  	return c
 47411  }
 47412  
 47413  // MaxResults sets the optional parameter "maxResults": Maximum number
 47414  // of results to return.
 47415  func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
 47416  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 47417  	return c
 47418  }
 47419  
 47420  // PageToken sets the optional parameter "pageToken": Value of the
 47421  // nextPageToken from the previous result page.
 47422  func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
 47423  	c.urlParams_.Set("pageToken", pageToken)
 47424  	return c
 47425  }
 47426  
 47427  // SearchString sets the optional parameter "searchString": Allows
 47428  // searching for objects by name, ID or keyName. Wildcards (*) are
 47429  // allowed. For example, "site*2015" will return objects with names like
 47430  // "site June 2015", "site April 2015", or simply "site 2015". Most of
 47431  // the searches also add wildcards implicitly at the start and the end
 47432  // of the search string. For example, a search string of "site" will
 47433  // match objects with name "my site", "site 2015", or simply "site".
 47434  func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
 47435  	c.urlParams_.Set("searchString", searchString)
 47436  	return c
 47437  }
 47438  
 47439  // SortField sets the optional parameter "sortField": Field by which to
 47440  // sort the list.
 47441  //
 47442  // Possible values:
 47443  //
 47444  //	"ID" (default)
 47445  //	"NAME"
 47446  func (c *SitesListCall) SortField(sortField string) *SitesListCall {
 47447  	c.urlParams_.Set("sortField", sortField)
 47448  	return c
 47449  }
 47450  
 47451  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 47452  // results.
 47453  //
 47454  // Possible values:
 47455  //
 47456  //	"ASCENDING" (default)
 47457  //	"DESCENDING"
 47458  func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
 47459  	c.urlParams_.Set("sortOrder", sortOrder)
 47460  	return c
 47461  }
 47462  
 47463  // SubaccountId sets the optional parameter "subaccountId": Select only
 47464  // sites with this subaccount ID.
 47465  func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
 47466  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 47467  	return c
 47468  }
 47469  
 47470  // UnmappedSite sets the optional parameter "unmappedSite": Select only
 47471  // sites that have not been mapped to a directory site.
 47472  func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
 47473  	c.urlParams_.Set("unmappedSite", fmt.Sprint(unmappedSite))
 47474  	return c
 47475  }
 47476  
 47477  // Fields allows partial responses to be retrieved. See
 47478  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47479  // for more information.
 47480  func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
 47481  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47482  	return c
 47483  }
 47484  
 47485  // IfNoneMatch sets the optional parameter which makes the operation
 47486  // fail if the object's ETag matches the given value. This is useful for
 47487  // getting updates only after the object has changed since the last
 47488  // request. Use googleapi.IsNotModified to check whether the response
 47489  // error from Do is the result of In-None-Match.
 47490  func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
 47491  	c.ifNoneMatch_ = entityTag
 47492  	return c
 47493  }
 47494  
 47495  // Context sets the context to be used in this call's Do method. Any
 47496  // pending HTTP request will be aborted if the provided context is
 47497  // canceled.
 47498  func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
 47499  	c.ctx_ = ctx
 47500  	return c
 47501  }
 47502  
 47503  // Header returns an http.Header that can be modified by the caller to
 47504  // add HTTP headers to the request.
 47505  func (c *SitesListCall) Header() http.Header {
 47506  	if c.header_ == nil {
 47507  		c.header_ = make(http.Header)
 47508  	}
 47509  	return c.header_
 47510  }
 47511  
 47512  func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
 47513  	reqHeaders := make(http.Header)
 47514  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 47515  	for k, v := range c.header_ {
 47516  		reqHeaders[k] = v
 47517  	}
 47518  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47519  	if c.ifNoneMatch_ != "" {
 47520  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47521  	}
 47522  	var body io.Reader = nil
 47523  	c.urlParams_.Set("alt", alt)
 47524  	c.urlParams_.Set("prettyPrint", "false")
 47525  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 47526  	urls += "?" + c.urlParams_.Encode()
 47527  	req, err := http.NewRequest("GET", urls, body)
 47528  	if err != nil {
 47529  		return nil, err
 47530  	}
 47531  	req.Header = reqHeaders
 47532  	googleapi.Expand(req.URL, map[string]string{
 47533  		"profileId": strconv.FormatInt(c.profileId, 10),
 47534  	})
 47535  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47536  }
 47537  
 47538  // Do executes the "dfareporting.sites.list" call.
 47539  // Exactly one of *SitesListResponse or error will be non-nil. Any
 47540  // non-2xx status code is an error. Response headers are in either
 47541  // *SitesListResponse.ServerResponse.Header or (if a response was
 47542  // returned at all) in error.(*googleapi.Error).Header. Use
 47543  // googleapi.IsNotModified to check whether the returned error was
 47544  // because http.StatusNotModified was returned.
 47545  func (c *SitesListCall) Do(opts ...googleapi.CallOption) (*SitesListResponse, error) {
 47546  	gensupport.SetOptions(c.urlParams_, opts...)
 47547  	res, err := c.doRequest("json")
 47548  	if res != nil && res.StatusCode == http.StatusNotModified {
 47549  		if res.Body != nil {
 47550  			res.Body.Close()
 47551  		}
 47552  		return nil, &googleapi.Error{
 47553  			Code:   res.StatusCode,
 47554  			Header: res.Header,
 47555  		}
 47556  	}
 47557  	if err != nil {
 47558  		return nil, err
 47559  	}
 47560  	defer googleapi.CloseBody(res)
 47561  	if err := googleapi.CheckResponse(res); err != nil {
 47562  		return nil, err
 47563  	}
 47564  	ret := &SitesListResponse{
 47565  		ServerResponse: googleapi.ServerResponse{
 47566  			Header:         res.Header,
 47567  			HTTPStatusCode: res.StatusCode,
 47568  		},
 47569  	}
 47570  	target := &ret
 47571  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47572  		return nil, err
 47573  	}
 47574  	return ret, nil
 47575  	// {
 47576  	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
 47577  	//   "flatPath": "userprofiles/{profileId}/sites",
 47578  	//   "httpMethod": "GET",
 47579  	//   "id": "dfareporting.sites.list",
 47580  	//   "parameterOrder": [
 47581  	//     "profileId"
 47582  	//   ],
 47583  	//   "parameters": {
 47584  	//     "acceptsInStreamVideoPlacements": {
 47585  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 47586  	//       "location": "query",
 47587  	//       "type": "boolean"
 47588  	//     },
 47589  	//     "acceptsInterstitialPlacements": {
 47590  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 47591  	//       "location": "query",
 47592  	//       "type": "boolean"
 47593  	//     },
 47594  	//     "acceptsPublisherPaidPlacements": {
 47595  	//       "description": "Select only sites that accept publisher paid placements.",
 47596  	//       "location": "query",
 47597  	//       "type": "boolean"
 47598  	//     },
 47599  	//     "adWordsSite": {
 47600  	//       "description": "Select only AdWords sites.",
 47601  	//       "location": "query",
 47602  	//       "type": "boolean"
 47603  	//     },
 47604  	//     "approved": {
 47605  	//       "description": "Select only approved sites.",
 47606  	//       "location": "query",
 47607  	//       "type": "boolean"
 47608  	//     },
 47609  	//     "campaignIds": {
 47610  	//       "description": "Select only sites with these campaign IDs.",
 47611  	//       "format": "int64",
 47612  	//       "location": "query",
 47613  	//       "repeated": true,
 47614  	//       "type": "string"
 47615  	//     },
 47616  	//     "directorySiteIds": {
 47617  	//       "description": "Select only sites with these directory site IDs.",
 47618  	//       "format": "int64",
 47619  	//       "location": "query",
 47620  	//       "repeated": true,
 47621  	//       "type": "string"
 47622  	//     },
 47623  	//     "ids": {
 47624  	//       "description": "Select only sites with these IDs.",
 47625  	//       "format": "int64",
 47626  	//       "location": "query",
 47627  	//       "repeated": true,
 47628  	//       "type": "string"
 47629  	//     },
 47630  	//     "maxResults": {
 47631  	//       "default": "1000",
 47632  	//       "description": "Maximum number of results to return.",
 47633  	//       "format": "int32",
 47634  	//       "location": "query",
 47635  	//       "maximum": "1000",
 47636  	//       "minimum": "0",
 47637  	//       "type": "integer"
 47638  	//     },
 47639  	//     "pageToken": {
 47640  	//       "description": "Value of the nextPageToken from the previous result page.",
 47641  	//       "location": "query",
 47642  	//       "type": "string"
 47643  	//     },
 47644  	//     "profileId": {
 47645  	//       "description": "User profile ID associated with this request.",
 47646  	//       "format": "int64",
 47647  	//       "location": "path",
 47648  	//       "required": true,
 47649  	//       "type": "string"
 47650  	//     },
 47651  	//     "searchString": {
 47652  	//       "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\".",
 47653  	//       "location": "query",
 47654  	//       "type": "string"
 47655  	//     },
 47656  	//     "sortField": {
 47657  	//       "default": "ID",
 47658  	//       "description": "Field by which to sort the list.",
 47659  	//       "enum": [
 47660  	//         "ID",
 47661  	//         "NAME"
 47662  	//       ],
 47663  	//       "enumDescriptions": [
 47664  	//         "",
 47665  	//         ""
 47666  	//       ],
 47667  	//       "location": "query",
 47668  	//       "type": "string"
 47669  	//     },
 47670  	//     "sortOrder": {
 47671  	//       "default": "ASCENDING",
 47672  	//       "description": "Order of sorted results.",
 47673  	//       "enum": [
 47674  	//         "ASCENDING",
 47675  	//         "DESCENDING"
 47676  	//       ],
 47677  	//       "enumDescriptions": [
 47678  	//         "",
 47679  	//         ""
 47680  	//       ],
 47681  	//       "location": "query",
 47682  	//       "type": "string"
 47683  	//     },
 47684  	//     "subaccountId": {
 47685  	//       "description": "Select only sites with this subaccount ID.",
 47686  	//       "format": "int64",
 47687  	//       "location": "query",
 47688  	//       "type": "string"
 47689  	//     },
 47690  	//     "unmappedSite": {
 47691  	//       "description": "Select only sites that have not been mapped to a directory site.",
 47692  	//       "location": "query",
 47693  	//       "type": "boolean"
 47694  	//     }
 47695  	//   },
 47696  	//   "path": "userprofiles/{profileId}/sites",
 47697  	//   "response": {
 47698  	//     "$ref": "SitesListResponse"
 47699  	//   },
 47700  	//   "scopes": [
 47701  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47702  	//   ]
 47703  	// }
 47704  
 47705  }
 47706  
 47707  // Pages invokes f for each page of results.
 47708  // A non-nil error returned from f will halt the iteration.
 47709  // The provided context supersedes any context provided to the Context method.
 47710  func (c *SitesListCall) Pages(ctx context.Context, f func(*SitesListResponse) error) error {
 47711  	c.ctx_ = ctx
 47712  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 47713  	for {
 47714  		x, err := c.Do()
 47715  		if err != nil {
 47716  			return err
 47717  		}
 47718  		if err := f(x); err != nil {
 47719  			return err
 47720  		}
 47721  		if x.NextPageToken == "" {
 47722  			return nil
 47723  		}
 47724  		c.PageToken(x.NextPageToken)
 47725  	}
 47726  }
 47727  
 47728  // method id "dfareporting.sites.patch":
 47729  
 47730  type SitesPatchCall struct {
 47731  	s          *Service
 47732  	profileId  int64
 47733  	site       *Site
 47734  	urlParams_ gensupport.URLParams
 47735  	ctx_       context.Context
 47736  	header_    http.Header
 47737  }
 47738  
 47739  // Patch: Updates an existing site. This method supports patch
 47740  // semantics.
 47741  //
 47742  // - id: Site ID.
 47743  // - profileId: User profile ID associated with this request.
 47744  func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
 47745  	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47746  	c.profileId = profileId
 47747  	c.urlParams_.Set("id", fmt.Sprint(id))
 47748  	c.site = site
 47749  	return c
 47750  }
 47751  
 47752  // Fields allows partial responses to be retrieved. See
 47753  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47754  // for more information.
 47755  func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
 47756  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47757  	return c
 47758  }
 47759  
 47760  // Context sets the context to be used in this call's Do method. Any
 47761  // pending HTTP request will be aborted if the provided context is
 47762  // canceled.
 47763  func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
 47764  	c.ctx_ = ctx
 47765  	return c
 47766  }
 47767  
 47768  // Header returns an http.Header that can be modified by the caller to
 47769  // add HTTP headers to the request.
 47770  func (c *SitesPatchCall) Header() http.Header {
 47771  	if c.header_ == nil {
 47772  		c.header_ = make(http.Header)
 47773  	}
 47774  	return c.header_
 47775  }
 47776  
 47777  func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
 47778  	reqHeaders := make(http.Header)
 47779  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 47780  	for k, v := range c.header_ {
 47781  		reqHeaders[k] = v
 47782  	}
 47783  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47784  	var body io.Reader = nil
 47785  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 47786  	if err != nil {
 47787  		return nil, err
 47788  	}
 47789  	reqHeaders.Set("Content-Type", "application/json")
 47790  	c.urlParams_.Set("alt", alt)
 47791  	c.urlParams_.Set("prettyPrint", "false")
 47792  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 47793  	urls += "?" + c.urlParams_.Encode()
 47794  	req, err := http.NewRequest("PATCH", urls, body)
 47795  	if err != nil {
 47796  		return nil, err
 47797  	}
 47798  	req.Header = reqHeaders
 47799  	googleapi.Expand(req.URL, map[string]string{
 47800  		"profileId": strconv.FormatInt(c.profileId, 10),
 47801  	})
 47802  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47803  }
 47804  
 47805  // Do executes the "dfareporting.sites.patch" call.
 47806  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 47807  // code is an error. Response headers are in either
 47808  // *Site.ServerResponse.Header or (if a response was returned at all) in
 47809  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 47810  // whether the returned error was because http.StatusNotModified was
 47811  // returned.
 47812  func (c *SitesPatchCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 47813  	gensupport.SetOptions(c.urlParams_, opts...)
 47814  	res, err := c.doRequest("json")
 47815  	if res != nil && res.StatusCode == http.StatusNotModified {
 47816  		if res.Body != nil {
 47817  			res.Body.Close()
 47818  		}
 47819  		return nil, &googleapi.Error{
 47820  			Code:   res.StatusCode,
 47821  			Header: res.Header,
 47822  		}
 47823  	}
 47824  	if err != nil {
 47825  		return nil, err
 47826  	}
 47827  	defer googleapi.CloseBody(res)
 47828  	if err := googleapi.CheckResponse(res); err != nil {
 47829  		return nil, err
 47830  	}
 47831  	ret := &Site{
 47832  		ServerResponse: googleapi.ServerResponse{
 47833  			Header:         res.Header,
 47834  			HTTPStatusCode: res.StatusCode,
 47835  		},
 47836  	}
 47837  	target := &ret
 47838  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47839  		return nil, err
 47840  	}
 47841  	return ret, nil
 47842  	// {
 47843  	//   "description": "Updates an existing site. This method supports patch semantics.",
 47844  	//   "flatPath": "userprofiles/{profileId}/sites",
 47845  	//   "httpMethod": "PATCH",
 47846  	//   "id": "dfareporting.sites.patch",
 47847  	//   "parameterOrder": [
 47848  	//     "profileId",
 47849  	//     "id"
 47850  	//   ],
 47851  	//   "parameters": {
 47852  	//     "id": {
 47853  	//       "description": "Site ID.",
 47854  	//       "format": "int64",
 47855  	//       "location": "query",
 47856  	//       "required": true,
 47857  	//       "type": "string"
 47858  	//     },
 47859  	//     "profileId": {
 47860  	//       "description": "User profile ID associated with this request.",
 47861  	//       "format": "int64",
 47862  	//       "location": "path",
 47863  	//       "required": true,
 47864  	//       "type": "string"
 47865  	//     }
 47866  	//   },
 47867  	//   "path": "userprofiles/{profileId}/sites",
 47868  	//   "request": {
 47869  	//     "$ref": "Site"
 47870  	//   },
 47871  	//   "response": {
 47872  	//     "$ref": "Site"
 47873  	//   },
 47874  	//   "scopes": [
 47875  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47876  	//   ]
 47877  	// }
 47878  
 47879  }
 47880  
 47881  // method id "dfareporting.sites.update":
 47882  
 47883  type SitesUpdateCall struct {
 47884  	s          *Service
 47885  	profileId  int64
 47886  	site       *Site
 47887  	urlParams_ gensupport.URLParams
 47888  	ctx_       context.Context
 47889  	header_    http.Header
 47890  }
 47891  
 47892  // Update: Updates an existing site.
 47893  //
 47894  // - profileId: User profile ID associated with this request.
 47895  func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
 47896  	c := &SitesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47897  	c.profileId = profileId
 47898  	c.site = site
 47899  	return c
 47900  }
 47901  
 47902  // Fields allows partial responses to be retrieved. See
 47903  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47904  // for more information.
 47905  func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
 47906  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47907  	return c
 47908  }
 47909  
 47910  // Context sets the context to be used in this call's Do method. Any
 47911  // pending HTTP request will be aborted if the provided context is
 47912  // canceled.
 47913  func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
 47914  	c.ctx_ = ctx
 47915  	return c
 47916  }
 47917  
 47918  // Header returns an http.Header that can be modified by the caller to
 47919  // add HTTP headers to the request.
 47920  func (c *SitesUpdateCall) Header() http.Header {
 47921  	if c.header_ == nil {
 47922  		c.header_ = make(http.Header)
 47923  	}
 47924  	return c.header_
 47925  }
 47926  
 47927  func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
 47928  	reqHeaders := make(http.Header)
 47929  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 47930  	for k, v := range c.header_ {
 47931  		reqHeaders[k] = v
 47932  	}
 47933  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47934  	var body io.Reader = nil
 47935  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 47936  	if err != nil {
 47937  		return nil, err
 47938  	}
 47939  	reqHeaders.Set("Content-Type", "application/json")
 47940  	c.urlParams_.Set("alt", alt)
 47941  	c.urlParams_.Set("prettyPrint", "false")
 47942  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 47943  	urls += "?" + c.urlParams_.Encode()
 47944  	req, err := http.NewRequest("PUT", urls, body)
 47945  	if err != nil {
 47946  		return nil, err
 47947  	}
 47948  	req.Header = reqHeaders
 47949  	googleapi.Expand(req.URL, map[string]string{
 47950  		"profileId": strconv.FormatInt(c.profileId, 10),
 47951  	})
 47952  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47953  }
 47954  
 47955  // Do executes the "dfareporting.sites.update" call.
 47956  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 47957  // code is an error. Response headers are in either
 47958  // *Site.ServerResponse.Header or (if a response was returned at all) in
 47959  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 47960  // whether the returned error was because http.StatusNotModified was
 47961  // returned.
 47962  func (c *SitesUpdateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 47963  	gensupport.SetOptions(c.urlParams_, opts...)
 47964  	res, err := c.doRequest("json")
 47965  	if res != nil && res.StatusCode == http.StatusNotModified {
 47966  		if res.Body != nil {
 47967  			res.Body.Close()
 47968  		}
 47969  		return nil, &googleapi.Error{
 47970  			Code:   res.StatusCode,
 47971  			Header: res.Header,
 47972  		}
 47973  	}
 47974  	if err != nil {
 47975  		return nil, err
 47976  	}
 47977  	defer googleapi.CloseBody(res)
 47978  	if err := googleapi.CheckResponse(res); err != nil {
 47979  		return nil, err
 47980  	}
 47981  	ret := &Site{
 47982  		ServerResponse: googleapi.ServerResponse{
 47983  			Header:         res.Header,
 47984  			HTTPStatusCode: res.StatusCode,
 47985  		},
 47986  	}
 47987  	target := &ret
 47988  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47989  		return nil, err
 47990  	}
 47991  	return ret, nil
 47992  	// {
 47993  	//   "description": "Updates an existing site.",
 47994  	//   "flatPath": "userprofiles/{profileId}/sites",
 47995  	//   "httpMethod": "PUT",
 47996  	//   "id": "dfareporting.sites.update",
 47997  	//   "parameterOrder": [
 47998  	//     "profileId"
 47999  	//   ],
 48000  	//   "parameters": {
 48001  	//     "profileId": {
 48002  	//       "description": "User profile ID associated with this request.",
 48003  	//       "format": "int64",
 48004  	//       "location": "path",
 48005  	//       "required": true,
 48006  	//       "type": "string"
 48007  	//     }
 48008  	//   },
 48009  	//   "path": "userprofiles/{profileId}/sites",
 48010  	//   "request": {
 48011  	//     "$ref": "Site"
 48012  	//   },
 48013  	//   "response": {
 48014  	//     "$ref": "Site"
 48015  	//   },
 48016  	//   "scopes": [
 48017  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48018  	//   ]
 48019  	// }
 48020  
 48021  }
 48022  
 48023  // method id "dfareporting.sizes.get":
 48024  
 48025  type SizesGetCall struct {
 48026  	s            *Service
 48027  	profileId    int64
 48028  	id           int64
 48029  	urlParams_   gensupport.URLParams
 48030  	ifNoneMatch_ string
 48031  	ctx_         context.Context
 48032  	header_      http.Header
 48033  }
 48034  
 48035  // Get: Gets one size by ID.
 48036  //
 48037  // - id: Size ID.
 48038  // - profileId: User profile ID associated with this request.
 48039  func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
 48040  	c := &SizesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48041  	c.profileId = profileId
 48042  	c.id = id
 48043  	return c
 48044  }
 48045  
 48046  // Fields allows partial responses to be retrieved. See
 48047  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48048  // for more information.
 48049  func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
 48050  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48051  	return c
 48052  }
 48053  
 48054  // IfNoneMatch sets the optional parameter which makes the operation
 48055  // fail if the object's ETag matches the given value. This is useful for
 48056  // getting updates only after the object has changed since the last
 48057  // request. Use googleapi.IsNotModified to check whether the response
 48058  // error from Do is the result of In-None-Match.
 48059  func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
 48060  	c.ifNoneMatch_ = entityTag
 48061  	return c
 48062  }
 48063  
 48064  // Context sets the context to be used in this call's Do method. Any
 48065  // pending HTTP request will be aborted if the provided context is
 48066  // canceled.
 48067  func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
 48068  	c.ctx_ = ctx
 48069  	return c
 48070  }
 48071  
 48072  // Header returns an http.Header that can be modified by the caller to
 48073  // add HTTP headers to the request.
 48074  func (c *SizesGetCall) Header() http.Header {
 48075  	if c.header_ == nil {
 48076  		c.header_ = make(http.Header)
 48077  	}
 48078  	return c.header_
 48079  }
 48080  
 48081  func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
 48082  	reqHeaders := make(http.Header)
 48083  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 48084  	for k, v := range c.header_ {
 48085  		reqHeaders[k] = v
 48086  	}
 48087  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48088  	if c.ifNoneMatch_ != "" {
 48089  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48090  	}
 48091  	var body io.Reader = nil
 48092  	c.urlParams_.Set("alt", alt)
 48093  	c.urlParams_.Set("prettyPrint", "false")
 48094  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
 48095  	urls += "?" + c.urlParams_.Encode()
 48096  	req, err := http.NewRequest("GET", urls, body)
 48097  	if err != nil {
 48098  		return nil, err
 48099  	}
 48100  	req.Header = reqHeaders
 48101  	googleapi.Expand(req.URL, map[string]string{
 48102  		"profileId": strconv.FormatInt(c.profileId, 10),
 48103  		"id":        strconv.FormatInt(c.id, 10),
 48104  	})
 48105  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48106  }
 48107  
 48108  // Do executes the "dfareporting.sizes.get" call.
 48109  // Exactly one of *Size or error will be non-nil. Any non-2xx status
 48110  // code is an error. Response headers are in either
 48111  // *Size.ServerResponse.Header or (if a response was returned at all) in
 48112  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 48113  // whether the returned error was because http.StatusNotModified was
 48114  // returned.
 48115  func (c *SizesGetCall) Do(opts ...googleapi.CallOption) (*Size, error) {
 48116  	gensupport.SetOptions(c.urlParams_, opts...)
 48117  	res, err := c.doRequest("json")
 48118  	if res != nil && res.StatusCode == http.StatusNotModified {
 48119  		if res.Body != nil {
 48120  			res.Body.Close()
 48121  		}
 48122  		return nil, &googleapi.Error{
 48123  			Code:   res.StatusCode,
 48124  			Header: res.Header,
 48125  		}
 48126  	}
 48127  	if err != nil {
 48128  		return nil, err
 48129  	}
 48130  	defer googleapi.CloseBody(res)
 48131  	if err := googleapi.CheckResponse(res); err != nil {
 48132  		return nil, err
 48133  	}
 48134  	ret := &Size{
 48135  		ServerResponse: googleapi.ServerResponse{
 48136  			Header:         res.Header,
 48137  			HTTPStatusCode: res.StatusCode,
 48138  		},
 48139  	}
 48140  	target := &ret
 48141  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48142  		return nil, err
 48143  	}
 48144  	return ret, nil
 48145  	// {
 48146  	//   "description": "Gets one size by ID.",
 48147  	//   "flatPath": "userprofiles/{profileId}/sizes/{id}",
 48148  	//   "httpMethod": "GET",
 48149  	//   "id": "dfareporting.sizes.get",
 48150  	//   "parameterOrder": [
 48151  	//     "profileId",
 48152  	//     "id"
 48153  	//   ],
 48154  	//   "parameters": {
 48155  	//     "id": {
 48156  	//       "description": "Size ID.",
 48157  	//       "format": "int64",
 48158  	//       "location": "path",
 48159  	//       "required": true,
 48160  	//       "type": "string"
 48161  	//     },
 48162  	//     "profileId": {
 48163  	//       "description": "User profile ID associated with this request.",
 48164  	//       "format": "int64",
 48165  	//       "location": "path",
 48166  	//       "required": true,
 48167  	//       "type": "string"
 48168  	//     }
 48169  	//   },
 48170  	//   "path": "userprofiles/{profileId}/sizes/{id}",
 48171  	//   "response": {
 48172  	//     "$ref": "Size"
 48173  	//   },
 48174  	//   "scopes": [
 48175  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48176  	//   ]
 48177  	// }
 48178  
 48179  }
 48180  
 48181  // method id "dfareporting.sizes.insert":
 48182  
 48183  type SizesInsertCall struct {
 48184  	s          *Service
 48185  	profileId  int64
 48186  	size       *Size
 48187  	urlParams_ gensupport.URLParams
 48188  	ctx_       context.Context
 48189  	header_    http.Header
 48190  }
 48191  
 48192  // Insert: Inserts a new size.
 48193  //
 48194  // - profileId: User profile ID associated with this request.
 48195  func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
 48196  	c := &SizesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48197  	c.profileId = profileId
 48198  	c.size = size
 48199  	return c
 48200  }
 48201  
 48202  // Fields allows partial responses to be retrieved. See
 48203  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48204  // for more information.
 48205  func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
 48206  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48207  	return c
 48208  }
 48209  
 48210  // Context sets the context to be used in this call's Do method. Any
 48211  // pending HTTP request will be aborted if the provided context is
 48212  // canceled.
 48213  func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
 48214  	c.ctx_ = ctx
 48215  	return c
 48216  }
 48217  
 48218  // Header returns an http.Header that can be modified by the caller to
 48219  // add HTTP headers to the request.
 48220  func (c *SizesInsertCall) Header() http.Header {
 48221  	if c.header_ == nil {
 48222  		c.header_ = make(http.Header)
 48223  	}
 48224  	return c.header_
 48225  }
 48226  
 48227  func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
 48228  	reqHeaders := make(http.Header)
 48229  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 48230  	for k, v := range c.header_ {
 48231  		reqHeaders[k] = v
 48232  	}
 48233  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48234  	var body io.Reader = nil
 48235  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.size)
 48236  	if err != nil {
 48237  		return nil, err
 48238  	}
 48239  	reqHeaders.Set("Content-Type", "application/json")
 48240  	c.urlParams_.Set("alt", alt)
 48241  	c.urlParams_.Set("prettyPrint", "false")
 48242  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
 48243  	urls += "?" + c.urlParams_.Encode()
 48244  	req, err := http.NewRequest("POST", urls, body)
 48245  	if err != nil {
 48246  		return nil, err
 48247  	}
 48248  	req.Header = reqHeaders
 48249  	googleapi.Expand(req.URL, map[string]string{
 48250  		"profileId": strconv.FormatInt(c.profileId, 10),
 48251  	})
 48252  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48253  }
 48254  
 48255  // Do executes the "dfareporting.sizes.insert" call.
 48256  // Exactly one of *Size or error will be non-nil. Any non-2xx status
 48257  // code is an error. Response headers are in either
 48258  // *Size.ServerResponse.Header or (if a response was returned at all) in
 48259  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 48260  // whether the returned error was because http.StatusNotModified was
 48261  // returned.
 48262  func (c *SizesInsertCall) Do(opts ...googleapi.CallOption) (*Size, error) {
 48263  	gensupport.SetOptions(c.urlParams_, opts...)
 48264  	res, err := c.doRequest("json")
 48265  	if res != nil && res.StatusCode == http.StatusNotModified {
 48266  		if res.Body != nil {
 48267  			res.Body.Close()
 48268  		}
 48269  		return nil, &googleapi.Error{
 48270  			Code:   res.StatusCode,
 48271  			Header: res.Header,
 48272  		}
 48273  	}
 48274  	if err != nil {
 48275  		return nil, err
 48276  	}
 48277  	defer googleapi.CloseBody(res)
 48278  	if err := googleapi.CheckResponse(res); err != nil {
 48279  		return nil, err
 48280  	}
 48281  	ret := &Size{
 48282  		ServerResponse: googleapi.ServerResponse{
 48283  			Header:         res.Header,
 48284  			HTTPStatusCode: res.StatusCode,
 48285  		},
 48286  	}
 48287  	target := &ret
 48288  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48289  		return nil, err
 48290  	}
 48291  	return ret, nil
 48292  	// {
 48293  	//   "description": "Inserts a new size.",
 48294  	//   "flatPath": "userprofiles/{profileId}/sizes",
 48295  	//   "httpMethod": "POST",
 48296  	//   "id": "dfareporting.sizes.insert",
 48297  	//   "parameterOrder": [
 48298  	//     "profileId"
 48299  	//   ],
 48300  	//   "parameters": {
 48301  	//     "profileId": {
 48302  	//       "description": "User profile ID associated with this request.",
 48303  	//       "format": "int64",
 48304  	//       "location": "path",
 48305  	//       "required": true,
 48306  	//       "type": "string"
 48307  	//     }
 48308  	//   },
 48309  	//   "path": "userprofiles/{profileId}/sizes",
 48310  	//   "request": {
 48311  	//     "$ref": "Size"
 48312  	//   },
 48313  	//   "response": {
 48314  	//     "$ref": "Size"
 48315  	//   },
 48316  	//   "scopes": [
 48317  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48318  	//   ]
 48319  	// }
 48320  
 48321  }
 48322  
 48323  // method id "dfareporting.sizes.list":
 48324  
 48325  type SizesListCall struct {
 48326  	s            *Service
 48327  	profileId    int64
 48328  	urlParams_   gensupport.URLParams
 48329  	ifNoneMatch_ string
 48330  	ctx_         context.Context
 48331  	header_      http.Header
 48332  }
 48333  
 48334  // List: Retrieves a list of sizes, possibly filtered. Retrieved sizes
 48335  // are globally unique and may include values not currently in use by
 48336  // your account. Due to this, the list of sizes returned by this method
 48337  // may differ from the list seen in the Trafficking UI.
 48338  //
 48339  // - profileId: User profile ID associated with this request.
 48340  func (r *SizesService) List(profileId int64) *SizesListCall {
 48341  	c := &SizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48342  	c.profileId = profileId
 48343  	return c
 48344  }
 48345  
 48346  // Height sets the optional parameter "height": Select only sizes with
 48347  // this height.
 48348  func (c *SizesListCall) Height(height int64) *SizesListCall {
 48349  	c.urlParams_.Set("height", fmt.Sprint(height))
 48350  	return c
 48351  }
 48352  
 48353  // IabStandard sets the optional parameter "iabStandard": Select only
 48354  // IAB standard sizes.
 48355  func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
 48356  	c.urlParams_.Set("iabStandard", fmt.Sprint(iabStandard))
 48357  	return c
 48358  }
 48359  
 48360  // Ids sets the optional parameter "ids": Select only sizes with these
 48361  // IDs.
 48362  func (c *SizesListCall) Ids(ids ...int64) *SizesListCall {
 48363  	var ids_ []string
 48364  	for _, v := range ids {
 48365  		ids_ = append(ids_, fmt.Sprint(v))
 48366  	}
 48367  	c.urlParams_.SetMulti("ids", ids_)
 48368  	return c
 48369  }
 48370  
 48371  // Width sets the optional parameter "width": Select only sizes with
 48372  // this width.
 48373  func (c *SizesListCall) Width(width int64) *SizesListCall {
 48374  	c.urlParams_.Set("width", fmt.Sprint(width))
 48375  	return c
 48376  }
 48377  
 48378  // Fields allows partial responses to be retrieved. See
 48379  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48380  // for more information.
 48381  func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
 48382  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48383  	return c
 48384  }
 48385  
 48386  // IfNoneMatch sets the optional parameter which makes the operation
 48387  // fail if the object's ETag matches the given value. This is useful for
 48388  // getting updates only after the object has changed since the last
 48389  // request. Use googleapi.IsNotModified to check whether the response
 48390  // error from Do is the result of In-None-Match.
 48391  func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
 48392  	c.ifNoneMatch_ = entityTag
 48393  	return c
 48394  }
 48395  
 48396  // Context sets the context to be used in this call's Do method. Any
 48397  // pending HTTP request will be aborted if the provided context is
 48398  // canceled.
 48399  func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
 48400  	c.ctx_ = ctx
 48401  	return c
 48402  }
 48403  
 48404  // Header returns an http.Header that can be modified by the caller to
 48405  // add HTTP headers to the request.
 48406  func (c *SizesListCall) Header() http.Header {
 48407  	if c.header_ == nil {
 48408  		c.header_ = make(http.Header)
 48409  	}
 48410  	return c.header_
 48411  }
 48412  
 48413  func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
 48414  	reqHeaders := make(http.Header)
 48415  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 48416  	for k, v := range c.header_ {
 48417  		reqHeaders[k] = v
 48418  	}
 48419  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48420  	if c.ifNoneMatch_ != "" {
 48421  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48422  	}
 48423  	var body io.Reader = nil
 48424  	c.urlParams_.Set("alt", alt)
 48425  	c.urlParams_.Set("prettyPrint", "false")
 48426  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
 48427  	urls += "?" + c.urlParams_.Encode()
 48428  	req, err := http.NewRequest("GET", urls, body)
 48429  	if err != nil {
 48430  		return nil, err
 48431  	}
 48432  	req.Header = reqHeaders
 48433  	googleapi.Expand(req.URL, map[string]string{
 48434  		"profileId": strconv.FormatInt(c.profileId, 10),
 48435  	})
 48436  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48437  }
 48438  
 48439  // Do executes the "dfareporting.sizes.list" call.
 48440  // Exactly one of *SizesListResponse or error will be non-nil. Any
 48441  // non-2xx status code is an error. Response headers are in either
 48442  // *SizesListResponse.ServerResponse.Header or (if a response was
 48443  // returned at all) in error.(*googleapi.Error).Header. Use
 48444  // googleapi.IsNotModified to check whether the returned error was
 48445  // because http.StatusNotModified was returned.
 48446  func (c *SizesListCall) Do(opts ...googleapi.CallOption) (*SizesListResponse, error) {
 48447  	gensupport.SetOptions(c.urlParams_, opts...)
 48448  	res, err := c.doRequest("json")
 48449  	if res != nil && res.StatusCode == http.StatusNotModified {
 48450  		if res.Body != nil {
 48451  			res.Body.Close()
 48452  		}
 48453  		return nil, &googleapi.Error{
 48454  			Code:   res.StatusCode,
 48455  			Header: res.Header,
 48456  		}
 48457  	}
 48458  	if err != nil {
 48459  		return nil, err
 48460  	}
 48461  	defer googleapi.CloseBody(res)
 48462  	if err := googleapi.CheckResponse(res); err != nil {
 48463  		return nil, err
 48464  	}
 48465  	ret := &SizesListResponse{
 48466  		ServerResponse: googleapi.ServerResponse{
 48467  			Header:         res.Header,
 48468  			HTTPStatusCode: res.StatusCode,
 48469  		},
 48470  	}
 48471  	target := &ret
 48472  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48473  		return nil, err
 48474  	}
 48475  	return ret, nil
 48476  	// {
 48477  	//   "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.",
 48478  	//   "flatPath": "userprofiles/{profileId}/sizes",
 48479  	//   "httpMethod": "GET",
 48480  	//   "id": "dfareporting.sizes.list",
 48481  	//   "parameterOrder": [
 48482  	//     "profileId"
 48483  	//   ],
 48484  	//   "parameters": {
 48485  	//     "height": {
 48486  	//       "description": "Select only sizes with this height.",
 48487  	//       "format": "int32",
 48488  	//       "location": "query",
 48489  	//       "maximum": "32767",
 48490  	//       "minimum": "0",
 48491  	//       "type": "integer"
 48492  	//     },
 48493  	//     "iabStandard": {
 48494  	//       "description": "Select only IAB standard sizes.",
 48495  	//       "location": "query",
 48496  	//       "type": "boolean"
 48497  	//     },
 48498  	//     "ids": {
 48499  	//       "description": "Select only sizes with these IDs.",
 48500  	//       "format": "int64",
 48501  	//       "location": "query",
 48502  	//       "repeated": true,
 48503  	//       "type": "string"
 48504  	//     },
 48505  	//     "profileId": {
 48506  	//       "description": "User profile ID associated with this request.",
 48507  	//       "format": "int64",
 48508  	//       "location": "path",
 48509  	//       "required": true,
 48510  	//       "type": "string"
 48511  	//     },
 48512  	//     "width": {
 48513  	//       "description": "Select only sizes with this width.",
 48514  	//       "format": "int32",
 48515  	//       "location": "query",
 48516  	//       "maximum": "32767",
 48517  	//       "minimum": "0",
 48518  	//       "type": "integer"
 48519  	//     }
 48520  	//   },
 48521  	//   "path": "userprofiles/{profileId}/sizes",
 48522  	//   "response": {
 48523  	//     "$ref": "SizesListResponse"
 48524  	//   },
 48525  	//   "scopes": [
 48526  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48527  	//   ]
 48528  	// }
 48529  
 48530  }
 48531  
 48532  // method id "dfareporting.subaccounts.get":
 48533  
 48534  type SubaccountsGetCall struct {
 48535  	s            *Service
 48536  	profileId    int64
 48537  	id           int64
 48538  	urlParams_   gensupport.URLParams
 48539  	ifNoneMatch_ string
 48540  	ctx_         context.Context
 48541  	header_      http.Header
 48542  }
 48543  
 48544  // Get: Gets one subaccount by ID.
 48545  //
 48546  // - id: Subaccount ID.
 48547  // - profileId: User profile ID associated with this request.
 48548  func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
 48549  	c := &SubaccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48550  	c.profileId = profileId
 48551  	c.id = id
 48552  	return c
 48553  }
 48554  
 48555  // Fields allows partial responses to be retrieved. See
 48556  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48557  // for more information.
 48558  func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
 48559  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48560  	return c
 48561  }
 48562  
 48563  // IfNoneMatch sets the optional parameter which makes the operation
 48564  // fail if the object's ETag matches the given value. This is useful for
 48565  // getting updates only after the object has changed since the last
 48566  // request. Use googleapi.IsNotModified to check whether the response
 48567  // error from Do is the result of In-None-Match.
 48568  func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
 48569  	c.ifNoneMatch_ = entityTag
 48570  	return c
 48571  }
 48572  
 48573  // Context sets the context to be used in this call's Do method. Any
 48574  // pending HTTP request will be aborted if the provided context is
 48575  // canceled.
 48576  func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
 48577  	c.ctx_ = ctx
 48578  	return c
 48579  }
 48580  
 48581  // Header returns an http.Header that can be modified by the caller to
 48582  // add HTTP headers to the request.
 48583  func (c *SubaccountsGetCall) Header() http.Header {
 48584  	if c.header_ == nil {
 48585  		c.header_ = make(http.Header)
 48586  	}
 48587  	return c.header_
 48588  }
 48589  
 48590  func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
 48591  	reqHeaders := make(http.Header)
 48592  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 48593  	for k, v := range c.header_ {
 48594  		reqHeaders[k] = v
 48595  	}
 48596  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48597  	if c.ifNoneMatch_ != "" {
 48598  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48599  	}
 48600  	var body io.Reader = nil
 48601  	c.urlParams_.Set("alt", alt)
 48602  	c.urlParams_.Set("prettyPrint", "false")
 48603  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
 48604  	urls += "?" + c.urlParams_.Encode()
 48605  	req, err := http.NewRequest("GET", urls, body)
 48606  	if err != nil {
 48607  		return nil, err
 48608  	}
 48609  	req.Header = reqHeaders
 48610  	googleapi.Expand(req.URL, map[string]string{
 48611  		"profileId": strconv.FormatInt(c.profileId, 10),
 48612  		"id":        strconv.FormatInt(c.id, 10),
 48613  	})
 48614  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48615  }
 48616  
 48617  // Do executes the "dfareporting.subaccounts.get" call.
 48618  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 48619  // status code is an error. Response headers are in either
 48620  // *Subaccount.ServerResponse.Header or (if a response was returned at
 48621  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 48622  // to check whether the returned error was because
 48623  // http.StatusNotModified was returned.
 48624  func (c *SubaccountsGetCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 48625  	gensupport.SetOptions(c.urlParams_, opts...)
 48626  	res, err := c.doRequest("json")
 48627  	if res != nil && res.StatusCode == http.StatusNotModified {
 48628  		if res.Body != nil {
 48629  			res.Body.Close()
 48630  		}
 48631  		return nil, &googleapi.Error{
 48632  			Code:   res.StatusCode,
 48633  			Header: res.Header,
 48634  		}
 48635  	}
 48636  	if err != nil {
 48637  		return nil, err
 48638  	}
 48639  	defer googleapi.CloseBody(res)
 48640  	if err := googleapi.CheckResponse(res); err != nil {
 48641  		return nil, err
 48642  	}
 48643  	ret := &Subaccount{
 48644  		ServerResponse: googleapi.ServerResponse{
 48645  			Header:         res.Header,
 48646  			HTTPStatusCode: res.StatusCode,
 48647  		},
 48648  	}
 48649  	target := &ret
 48650  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48651  		return nil, err
 48652  	}
 48653  	return ret, nil
 48654  	// {
 48655  	//   "description": "Gets one subaccount by ID.",
 48656  	//   "flatPath": "userprofiles/{profileId}/subaccounts/{id}",
 48657  	//   "httpMethod": "GET",
 48658  	//   "id": "dfareporting.subaccounts.get",
 48659  	//   "parameterOrder": [
 48660  	//     "profileId",
 48661  	//     "id"
 48662  	//   ],
 48663  	//   "parameters": {
 48664  	//     "id": {
 48665  	//       "description": "Subaccount ID.",
 48666  	//       "format": "int64",
 48667  	//       "location": "path",
 48668  	//       "required": true,
 48669  	//       "type": "string"
 48670  	//     },
 48671  	//     "profileId": {
 48672  	//       "description": "User profile ID associated with this request.",
 48673  	//       "format": "int64",
 48674  	//       "location": "path",
 48675  	//       "required": true,
 48676  	//       "type": "string"
 48677  	//     }
 48678  	//   },
 48679  	//   "path": "userprofiles/{profileId}/subaccounts/{id}",
 48680  	//   "response": {
 48681  	//     "$ref": "Subaccount"
 48682  	//   },
 48683  	//   "scopes": [
 48684  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48685  	//   ]
 48686  	// }
 48687  
 48688  }
 48689  
 48690  // method id "dfareporting.subaccounts.insert":
 48691  
 48692  type SubaccountsInsertCall struct {
 48693  	s          *Service
 48694  	profileId  int64
 48695  	subaccount *Subaccount
 48696  	urlParams_ gensupport.URLParams
 48697  	ctx_       context.Context
 48698  	header_    http.Header
 48699  }
 48700  
 48701  // Insert: Inserts a new subaccount.
 48702  //
 48703  // - profileId: User profile ID associated with this request.
 48704  func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
 48705  	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48706  	c.profileId = profileId
 48707  	c.subaccount = subaccount
 48708  	return c
 48709  }
 48710  
 48711  // Fields allows partial responses to be retrieved. See
 48712  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48713  // for more information.
 48714  func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
 48715  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48716  	return c
 48717  }
 48718  
 48719  // Context sets the context to be used in this call's Do method. Any
 48720  // pending HTTP request will be aborted if the provided context is
 48721  // canceled.
 48722  func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
 48723  	c.ctx_ = ctx
 48724  	return c
 48725  }
 48726  
 48727  // Header returns an http.Header that can be modified by the caller to
 48728  // add HTTP headers to the request.
 48729  func (c *SubaccountsInsertCall) Header() http.Header {
 48730  	if c.header_ == nil {
 48731  		c.header_ = make(http.Header)
 48732  	}
 48733  	return c.header_
 48734  }
 48735  
 48736  func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
 48737  	reqHeaders := make(http.Header)
 48738  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 48739  	for k, v := range c.header_ {
 48740  		reqHeaders[k] = v
 48741  	}
 48742  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48743  	var body io.Reader = nil
 48744  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 48745  	if err != nil {
 48746  		return nil, err
 48747  	}
 48748  	reqHeaders.Set("Content-Type", "application/json")
 48749  	c.urlParams_.Set("alt", alt)
 48750  	c.urlParams_.Set("prettyPrint", "false")
 48751  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 48752  	urls += "?" + c.urlParams_.Encode()
 48753  	req, err := http.NewRequest("POST", urls, body)
 48754  	if err != nil {
 48755  		return nil, err
 48756  	}
 48757  	req.Header = reqHeaders
 48758  	googleapi.Expand(req.URL, map[string]string{
 48759  		"profileId": strconv.FormatInt(c.profileId, 10),
 48760  	})
 48761  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48762  }
 48763  
 48764  // Do executes the "dfareporting.subaccounts.insert" call.
 48765  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 48766  // status code is an error. Response headers are in either
 48767  // *Subaccount.ServerResponse.Header or (if a response was returned at
 48768  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 48769  // to check whether the returned error was because
 48770  // http.StatusNotModified was returned.
 48771  func (c *SubaccountsInsertCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 48772  	gensupport.SetOptions(c.urlParams_, opts...)
 48773  	res, err := c.doRequest("json")
 48774  	if res != nil && res.StatusCode == http.StatusNotModified {
 48775  		if res.Body != nil {
 48776  			res.Body.Close()
 48777  		}
 48778  		return nil, &googleapi.Error{
 48779  			Code:   res.StatusCode,
 48780  			Header: res.Header,
 48781  		}
 48782  	}
 48783  	if err != nil {
 48784  		return nil, err
 48785  	}
 48786  	defer googleapi.CloseBody(res)
 48787  	if err := googleapi.CheckResponse(res); err != nil {
 48788  		return nil, err
 48789  	}
 48790  	ret := &Subaccount{
 48791  		ServerResponse: googleapi.ServerResponse{
 48792  			Header:         res.Header,
 48793  			HTTPStatusCode: res.StatusCode,
 48794  		},
 48795  	}
 48796  	target := &ret
 48797  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48798  		return nil, err
 48799  	}
 48800  	return ret, nil
 48801  	// {
 48802  	//   "description": "Inserts a new subaccount.",
 48803  	//   "flatPath": "userprofiles/{profileId}/subaccounts",
 48804  	//   "httpMethod": "POST",
 48805  	//   "id": "dfareporting.subaccounts.insert",
 48806  	//   "parameterOrder": [
 48807  	//     "profileId"
 48808  	//   ],
 48809  	//   "parameters": {
 48810  	//     "profileId": {
 48811  	//       "description": "User profile ID associated with this request.",
 48812  	//       "format": "int64",
 48813  	//       "location": "path",
 48814  	//       "required": true,
 48815  	//       "type": "string"
 48816  	//     }
 48817  	//   },
 48818  	//   "path": "userprofiles/{profileId}/subaccounts",
 48819  	//   "request": {
 48820  	//     "$ref": "Subaccount"
 48821  	//   },
 48822  	//   "response": {
 48823  	//     "$ref": "Subaccount"
 48824  	//   },
 48825  	//   "scopes": [
 48826  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48827  	//   ]
 48828  	// }
 48829  
 48830  }
 48831  
 48832  // method id "dfareporting.subaccounts.list":
 48833  
 48834  type SubaccountsListCall struct {
 48835  	s            *Service
 48836  	profileId    int64
 48837  	urlParams_   gensupport.URLParams
 48838  	ifNoneMatch_ string
 48839  	ctx_         context.Context
 48840  	header_      http.Header
 48841  }
 48842  
 48843  // List: Gets a list of subaccounts, possibly filtered. This method
 48844  // supports paging.
 48845  //
 48846  // - profileId: User profile ID associated with this request.
 48847  func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
 48848  	c := &SubaccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48849  	c.profileId = profileId
 48850  	return c
 48851  }
 48852  
 48853  // Ids sets the optional parameter "ids": Select only subaccounts with
 48854  // these IDs.
 48855  func (c *SubaccountsListCall) Ids(ids ...int64) *SubaccountsListCall {
 48856  	var ids_ []string
 48857  	for _, v := range ids {
 48858  		ids_ = append(ids_, fmt.Sprint(v))
 48859  	}
 48860  	c.urlParams_.SetMulti("ids", ids_)
 48861  	return c
 48862  }
 48863  
 48864  // MaxResults sets the optional parameter "maxResults": Maximum number
 48865  // of results to return.
 48866  func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
 48867  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 48868  	return c
 48869  }
 48870  
 48871  // PageToken sets the optional parameter "pageToken": Value of the
 48872  // nextPageToken from the previous result page.
 48873  func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
 48874  	c.urlParams_.Set("pageToken", pageToken)
 48875  	return c
 48876  }
 48877  
 48878  // SearchString sets the optional parameter "searchString": Allows
 48879  // searching for objects by name or ID. Wildcards (*) are allowed. For
 48880  // example, "subaccount*2015" will return objects with names like
 48881  // "subaccount June 2015", "subaccount April 2015", or simply
 48882  // "subaccount 2015". Most of the searches also add wildcards implicitly
 48883  // at the start and the end of the search string. For example, a search
 48884  // string of "subaccount" will match objects with name "my subaccount",
 48885  // "subaccount 2015", or simply "subaccount" .
 48886  func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
 48887  	c.urlParams_.Set("searchString", searchString)
 48888  	return c
 48889  }
 48890  
 48891  // SortField sets the optional parameter "sortField": Field by which to
 48892  // sort the list.
 48893  //
 48894  // Possible values:
 48895  //
 48896  //	"ID" (default)
 48897  //	"NAME"
 48898  func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
 48899  	c.urlParams_.Set("sortField", sortField)
 48900  	return c
 48901  }
 48902  
 48903  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 48904  // results.
 48905  //
 48906  // Possible values:
 48907  //
 48908  //	"ASCENDING" (default)
 48909  //	"DESCENDING"
 48910  func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
 48911  	c.urlParams_.Set("sortOrder", sortOrder)
 48912  	return c
 48913  }
 48914  
 48915  // Fields allows partial responses to be retrieved. See
 48916  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48917  // for more information.
 48918  func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
 48919  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48920  	return c
 48921  }
 48922  
 48923  // IfNoneMatch sets the optional parameter which makes the operation
 48924  // fail if the object's ETag matches the given value. This is useful for
 48925  // getting updates only after the object has changed since the last
 48926  // request. Use googleapi.IsNotModified to check whether the response
 48927  // error from Do is the result of In-None-Match.
 48928  func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
 48929  	c.ifNoneMatch_ = entityTag
 48930  	return c
 48931  }
 48932  
 48933  // Context sets the context to be used in this call's Do method. Any
 48934  // pending HTTP request will be aborted if the provided context is
 48935  // canceled.
 48936  func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
 48937  	c.ctx_ = ctx
 48938  	return c
 48939  }
 48940  
 48941  // Header returns an http.Header that can be modified by the caller to
 48942  // add HTTP headers to the request.
 48943  func (c *SubaccountsListCall) Header() http.Header {
 48944  	if c.header_ == nil {
 48945  		c.header_ = make(http.Header)
 48946  	}
 48947  	return c.header_
 48948  }
 48949  
 48950  func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
 48951  	reqHeaders := make(http.Header)
 48952  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 48953  	for k, v := range c.header_ {
 48954  		reqHeaders[k] = v
 48955  	}
 48956  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48957  	if c.ifNoneMatch_ != "" {
 48958  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48959  	}
 48960  	var body io.Reader = nil
 48961  	c.urlParams_.Set("alt", alt)
 48962  	c.urlParams_.Set("prettyPrint", "false")
 48963  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 48964  	urls += "?" + c.urlParams_.Encode()
 48965  	req, err := http.NewRequest("GET", urls, body)
 48966  	if err != nil {
 48967  		return nil, err
 48968  	}
 48969  	req.Header = reqHeaders
 48970  	googleapi.Expand(req.URL, map[string]string{
 48971  		"profileId": strconv.FormatInt(c.profileId, 10),
 48972  	})
 48973  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48974  }
 48975  
 48976  // Do executes the "dfareporting.subaccounts.list" call.
 48977  // Exactly one of *SubaccountsListResponse or error will be non-nil. Any
 48978  // non-2xx status code is an error. Response headers are in either
 48979  // *SubaccountsListResponse.ServerResponse.Header or (if a response was
 48980  // returned at all) in error.(*googleapi.Error).Header. Use
 48981  // googleapi.IsNotModified to check whether the returned error was
 48982  // because http.StatusNotModified was returned.
 48983  func (c *SubaccountsListCall) Do(opts ...googleapi.CallOption) (*SubaccountsListResponse, error) {
 48984  	gensupport.SetOptions(c.urlParams_, opts...)
 48985  	res, err := c.doRequest("json")
 48986  	if res != nil && res.StatusCode == http.StatusNotModified {
 48987  		if res.Body != nil {
 48988  			res.Body.Close()
 48989  		}
 48990  		return nil, &googleapi.Error{
 48991  			Code:   res.StatusCode,
 48992  			Header: res.Header,
 48993  		}
 48994  	}
 48995  	if err != nil {
 48996  		return nil, err
 48997  	}
 48998  	defer googleapi.CloseBody(res)
 48999  	if err := googleapi.CheckResponse(res); err != nil {
 49000  		return nil, err
 49001  	}
 49002  	ret := &SubaccountsListResponse{
 49003  		ServerResponse: googleapi.ServerResponse{
 49004  			Header:         res.Header,
 49005  			HTTPStatusCode: res.StatusCode,
 49006  		},
 49007  	}
 49008  	target := &ret
 49009  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49010  		return nil, err
 49011  	}
 49012  	return ret, nil
 49013  	// {
 49014  	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
 49015  	//   "flatPath": "userprofiles/{profileId}/subaccounts",
 49016  	//   "httpMethod": "GET",
 49017  	//   "id": "dfareporting.subaccounts.list",
 49018  	//   "parameterOrder": [
 49019  	//     "profileId"
 49020  	//   ],
 49021  	//   "parameters": {
 49022  	//     "ids": {
 49023  	//       "description": "Select only subaccounts with these IDs.",
 49024  	//       "format": "int64",
 49025  	//       "location": "query",
 49026  	//       "repeated": true,
 49027  	//       "type": "string"
 49028  	//     },
 49029  	//     "maxResults": {
 49030  	//       "default": "1000",
 49031  	//       "description": "Maximum number of results to return.",
 49032  	//       "format": "int32",
 49033  	//       "location": "query",
 49034  	//       "maximum": "1000",
 49035  	//       "minimum": "0",
 49036  	//       "type": "integer"
 49037  	//     },
 49038  	//     "pageToken": {
 49039  	//       "description": "Value of the nextPageToken from the previous result page.",
 49040  	//       "location": "query",
 49041  	//       "type": "string"
 49042  	//     },
 49043  	//     "profileId": {
 49044  	//       "description": "User profile ID associated with this request.",
 49045  	//       "format": "int64",
 49046  	//       "location": "path",
 49047  	//       "required": true,
 49048  	//       "type": "string"
 49049  	//     },
 49050  	//     "searchString": {
 49051  	//       "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\" .",
 49052  	//       "location": "query",
 49053  	//       "type": "string"
 49054  	//     },
 49055  	//     "sortField": {
 49056  	//       "default": "ID",
 49057  	//       "description": "Field by which to sort the list.",
 49058  	//       "enum": [
 49059  	//         "ID",
 49060  	//         "NAME"
 49061  	//       ],
 49062  	//       "enumDescriptions": [
 49063  	//         "",
 49064  	//         ""
 49065  	//       ],
 49066  	//       "location": "query",
 49067  	//       "type": "string"
 49068  	//     },
 49069  	//     "sortOrder": {
 49070  	//       "default": "ASCENDING",
 49071  	//       "description": "Order of sorted results.",
 49072  	//       "enum": [
 49073  	//         "ASCENDING",
 49074  	//         "DESCENDING"
 49075  	//       ],
 49076  	//       "enumDescriptions": [
 49077  	//         "",
 49078  	//         ""
 49079  	//       ],
 49080  	//       "location": "query",
 49081  	//       "type": "string"
 49082  	//     }
 49083  	//   },
 49084  	//   "path": "userprofiles/{profileId}/subaccounts",
 49085  	//   "response": {
 49086  	//     "$ref": "SubaccountsListResponse"
 49087  	//   },
 49088  	//   "scopes": [
 49089  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49090  	//   ]
 49091  	// }
 49092  
 49093  }
 49094  
 49095  // Pages invokes f for each page of results.
 49096  // A non-nil error returned from f will halt the iteration.
 49097  // The provided context supersedes any context provided to the Context method.
 49098  func (c *SubaccountsListCall) Pages(ctx context.Context, f func(*SubaccountsListResponse) error) error {
 49099  	c.ctx_ = ctx
 49100  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 49101  	for {
 49102  		x, err := c.Do()
 49103  		if err != nil {
 49104  			return err
 49105  		}
 49106  		if err := f(x); err != nil {
 49107  			return err
 49108  		}
 49109  		if x.NextPageToken == "" {
 49110  			return nil
 49111  		}
 49112  		c.PageToken(x.NextPageToken)
 49113  	}
 49114  }
 49115  
 49116  // method id "dfareporting.subaccounts.patch":
 49117  
 49118  type SubaccountsPatchCall struct {
 49119  	s          *Service
 49120  	profileId  int64
 49121  	subaccount *Subaccount
 49122  	urlParams_ gensupport.URLParams
 49123  	ctx_       context.Context
 49124  	header_    http.Header
 49125  }
 49126  
 49127  // Patch: Updates an existing subaccount. This method supports patch
 49128  // semantics.
 49129  //
 49130  // - id: Subaccount ID.
 49131  // - profileId: User profile ID associated with this request.
 49132  func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
 49133  	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49134  	c.profileId = profileId
 49135  	c.urlParams_.Set("id", fmt.Sprint(id))
 49136  	c.subaccount = subaccount
 49137  	return c
 49138  }
 49139  
 49140  // Fields allows partial responses to be retrieved. See
 49141  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49142  // for more information.
 49143  func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
 49144  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49145  	return c
 49146  }
 49147  
 49148  // Context sets the context to be used in this call's Do method. Any
 49149  // pending HTTP request will be aborted if the provided context is
 49150  // canceled.
 49151  func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
 49152  	c.ctx_ = ctx
 49153  	return c
 49154  }
 49155  
 49156  // Header returns an http.Header that can be modified by the caller to
 49157  // add HTTP headers to the request.
 49158  func (c *SubaccountsPatchCall) Header() http.Header {
 49159  	if c.header_ == nil {
 49160  		c.header_ = make(http.Header)
 49161  	}
 49162  	return c.header_
 49163  }
 49164  
 49165  func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 49166  	reqHeaders := make(http.Header)
 49167  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 49168  	for k, v := range c.header_ {
 49169  		reqHeaders[k] = v
 49170  	}
 49171  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49172  	var body io.Reader = nil
 49173  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 49174  	if err != nil {
 49175  		return nil, err
 49176  	}
 49177  	reqHeaders.Set("Content-Type", "application/json")
 49178  	c.urlParams_.Set("alt", alt)
 49179  	c.urlParams_.Set("prettyPrint", "false")
 49180  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 49181  	urls += "?" + c.urlParams_.Encode()
 49182  	req, err := http.NewRequest("PATCH", urls, body)
 49183  	if err != nil {
 49184  		return nil, err
 49185  	}
 49186  	req.Header = reqHeaders
 49187  	googleapi.Expand(req.URL, map[string]string{
 49188  		"profileId": strconv.FormatInt(c.profileId, 10),
 49189  	})
 49190  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49191  }
 49192  
 49193  // Do executes the "dfareporting.subaccounts.patch" call.
 49194  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 49195  // status code is an error. Response headers are in either
 49196  // *Subaccount.ServerResponse.Header or (if a response was returned at
 49197  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 49198  // to check whether the returned error was because
 49199  // http.StatusNotModified was returned.
 49200  func (c *SubaccountsPatchCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 49201  	gensupport.SetOptions(c.urlParams_, opts...)
 49202  	res, err := c.doRequest("json")
 49203  	if res != nil && res.StatusCode == http.StatusNotModified {
 49204  		if res.Body != nil {
 49205  			res.Body.Close()
 49206  		}
 49207  		return nil, &googleapi.Error{
 49208  			Code:   res.StatusCode,
 49209  			Header: res.Header,
 49210  		}
 49211  	}
 49212  	if err != nil {
 49213  		return nil, err
 49214  	}
 49215  	defer googleapi.CloseBody(res)
 49216  	if err := googleapi.CheckResponse(res); err != nil {
 49217  		return nil, err
 49218  	}
 49219  	ret := &Subaccount{
 49220  		ServerResponse: googleapi.ServerResponse{
 49221  			Header:         res.Header,
 49222  			HTTPStatusCode: res.StatusCode,
 49223  		},
 49224  	}
 49225  	target := &ret
 49226  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49227  		return nil, err
 49228  	}
 49229  	return ret, nil
 49230  	// {
 49231  	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
 49232  	//   "flatPath": "userprofiles/{profileId}/subaccounts",
 49233  	//   "httpMethod": "PATCH",
 49234  	//   "id": "dfareporting.subaccounts.patch",
 49235  	//   "parameterOrder": [
 49236  	//     "profileId",
 49237  	//     "id"
 49238  	//   ],
 49239  	//   "parameters": {
 49240  	//     "id": {
 49241  	//       "description": "Subaccount ID.",
 49242  	//       "format": "int64",
 49243  	//       "location": "query",
 49244  	//       "required": true,
 49245  	//       "type": "string"
 49246  	//     },
 49247  	//     "profileId": {
 49248  	//       "description": "User profile ID associated with this request.",
 49249  	//       "format": "int64",
 49250  	//       "location": "path",
 49251  	//       "required": true,
 49252  	//       "type": "string"
 49253  	//     }
 49254  	//   },
 49255  	//   "path": "userprofiles/{profileId}/subaccounts",
 49256  	//   "request": {
 49257  	//     "$ref": "Subaccount"
 49258  	//   },
 49259  	//   "response": {
 49260  	//     "$ref": "Subaccount"
 49261  	//   },
 49262  	//   "scopes": [
 49263  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49264  	//   ]
 49265  	// }
 49266  
 49267  }
 49268  
 49269  // method id "dfareporting.subaccounts.update":
 49270  
 49271  type SubaccountsUpdateCall struct {
 49272  	s          *Service
 49273  	profileId  int64
 49274  	subaccount *Subaccount
 49275  	urlParams_ gensupport.URLParams
 49276  	ctx_       context.Context
 49277  	header_    http.Header
 49278  }
 49279  
 49280  // Update: Updates an existing subaccount.
 49281  //
 49282  // - profileId: User profile ID associated with this request.
 49283  func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
 49284  	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49285  	c.profileId = profileId
 49286  	c.subaccount = subaccount
 49287  	return c
 49288  }
 49289  
 49290  // Fields allows partial responses to be retrieved. See
 49291  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49292  // for more information.
 49293  func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
 49294  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49295  	return c
 49296  }
 49297  
 49298  // Context sets the context to be used in this call's Do method. Any
 49299  // pending HTTP request will be aborted if the provided context is
 49300  // canceled.
 49301  func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
 49302  	c.ctx_ = ctx
 49303  	return c
 49304  }
 49305  
 49306  // Header returns an http.Header that can be modified by the caller to
 49307  // add HTTP headers to the request.
 49308  func (c *SubaccountsUpdateCall) Header() http.Header {
 49309  	if c.header_ == nil {
 49310  		c.header_ = make(http.Header)
 49311  	}
 49312  	return c.header_
 49313  }
 49314  
 49315  func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 49316  	reqHeaders := make(http.Header)
 49317  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 49318  	for k, v := range c.header_ {
 49319  		reqHeaders[k] = v
 49320  	}
 49321  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49322  	var body io.Reader = nil
 49323  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 49324  	if err != nil {
 49325  		return nil, err
 49326  	}
 49327  	reqHeaders.Set("Content-Type", "application/json")
 49328  	c.urlParams_.Set("alt", alt)
 49329  	c.urlParams_.Set("prettyPrint", "false")
 49330  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 49331  	urls += "?" + c.urlParams_.Encode()
 49332  	req, err := http.NewRequest("PUT", urls, body)
 49333  	if err != nil {
 49334  		return nil, err
 49335  	}
 49336  	req.Header = reqHeaders
 49337  	googleapi.Expand(req.URL, map[string]string{
 49338  		"profileId": strconv.FormatInt(c.profileId, 10),
 49339  	})
 49340  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49341  }
 49342  
 49343  // Do executes the "dfareporting.subaccounts.update" call.
 49344  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 49345  // status code is an error. Response headers are in either
 49346  // *Subaccount.ServerResponse.Header or (if a response was returned at
 49347  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 49348  // to check whether the returned error was because
 49349  // http.StatusNotModified was returned.
 49350  func (c *SubaccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 49351  	gensupport.SetOptions(c.urlParams_, opts...)
 49352  	res, err := c.doRequest("json")
 49353  	if res != nil && res.StatusCode == http.StatusNotModified {
 49354  		if res.Body != nil {
 49355  			res.Body.Close()
 49356  		}
 49357  		return nil, &googleapi.Error{
 49358  			Code:   res.StatusCode,
 49359  			Header: res.Header,
 49360  		}
 49361  	}
 49362  	if err != nil {
 49363  		return nil, err
 49364  	}
 49365  	defer googleapi.CloseBody(res)
 49366  	if err := googleapi.CheckResponse(res); err != nil {
 49367  		return nil, err
 49368  	}
 49369  	ret := &Subaccount{
 49370  		ServerResponse: googleapi.ServerResponse{
 49371  			Header:         res.Header,
 49372  			HTTPStatusCode: res.StatusCode,
 49373  		},
 49374  	}
 49375  	target := &ret
 49376  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49377  		return nil, err
 49378  	}
 49379  	return ret, nil
 49380  	// {
 49381  	//   "description": "Updates an existing subaccount.",
 49382  	//   "flatPath": "userprofiles/{profileId}/subaccounts",
 49383  	//   "httpMethod": "PUT",
 49384  	//   "id": "dfareporting.subaccounts.update",
 49385  	//   "parameterOrder": [
 49386  	//     "profileId"
 49387  	//   ],
 49388  	//   "parameters": {
 49389  	//     "profileId": {
 49390  	//       "description": "User profile ID associated with this request.",
 49391  	//       "format": "int64",
 49392  	//       "location": "path",
 49393  	//       "required": true,
 49394  	//       "type": "string"
 49395  	//     }
 49396  	//   },
 49397  	//   "path": "userprofiles/{profileId}/subaccounts",
 49398  	//   "request": {
 49399  	//     "$ref": "Subaccount"
 49400  	//   },
 49401  	//   "response": {
 49402  	//     "$ref": "Subaccount"
 49403  	//   },
 49404  	//   "scopes": [
 49405  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49406  	//   ]
 49407  	// }
 49408  
 49409  }
 49410  
 49411  // method id "dfareporting.targetableRemarketingLists.get":
 49412  
 49413  type TargetableRemarketingListsGetCall struct {
 49414  	s            *Service
 49415  	profileId    int64
 49416  	id           int64
 49417  	urlParams_   gensupport.URLParams
 49418  	ifNoneMatch_ string
 49419  	ctx_         context.Context
 49420  	header_      http.Header
 49421  }
 49422  
 49423  // Get: Gets one remarketing list by ID.
 49424  //
 49425  // - id: Remarketing list ID.
 49426  // - profileId: User profile ID associated with this request.
 49427  func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
 49428  	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49429  	c.profileId = profileId
 49430  	c.id = id
 49431  	return c
 49432  }
 49433  
 49434  // Fields allows partial responses to be retrieved. See
 49435  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49436  // for more information.
 49437  func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
 49438  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49439  	return c
 49440  }
 49441  
 49442  // IfNoneMatch sets the optional parameter which makes the operation
 49443  // fail if the object's ETag matches the given value. This is useful for
 49444  // getting updates only after the object has changed since the last
 49445  // request. Use googleapi.IsNotModified to check whether the response
 49446  // error from Do is the result of In-None-Match.
 49447  func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
 49448  	c.ifNoneMatch_ = entityTag
 49449  	return c
 49450  }
 49451  
 49452  // Context sets the context to be used in this call's Do method. Any
 49453  // pending HTTP request will be aborted if the provided context is
 49454  // canceled.
 49455  func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
 49456  	c.ctx_ = ctx
 49457  	return c
 49458  }
 49459  
 49460  // Header returns an http.Header that can be modified by the caller to
 49461  // add HTTP headers to the request.
 49462  func (c *TargetableRemarketingListsGetCall) Header() http.Header {
 49463  	if c.header_ == nil {
 49464  		c.header_ = make(http.Header)
 49465  	}
 49466  	return c.header_
 49467  }
 49468  
 49469  func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 49470  	reqHeaders := make(http.Header)
 49471  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 49472  	for k, v := range c.header_ {
 49473  		reqHeaders[k] = v
 49474  	}
 49475  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49476  	if c.ifNoneMatch_ != "" {
 49477  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49478  	}
 49479  	var body io.Reader = nil
 49480  	c.urlParams_.Set("alt", alt)
 49481  	c.urlParams_.Set("prettyPrint", "false")
 49482  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
 49483  	urls += "?" + c.urlParams_.Encode()
 49484  	req, err := http.NewRequest("GET", urls, body)
 49485  	if err != nil {
 49486  		return nil, err
 49487  	}
 49488  	req.Header = reqHeaders
 49489  	googleapi.Expand(req.URL, map[string]string{
 49490  		"profileId": strconv.FormatInt(c.profileId, 10),
 49491  		"id":        strconv.FormatInt(c.id, 10),
 49492  	})
 49493  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49494  }
 49495  
 49496  // Do executes the "dfareporting.targetableRemarketingLists.get" call.
 49497  // Exactly one of *TargetableRemarketingList or error will be non-nil.
 49498  // Any non-2xx status code is an error. Response headers are in either
 49499  // *TargetableRemarketingList.ServerResponse.Header or (if a response
 49500  // was returned at all) in error.(*googleapi.Error).Header. Use
 49501  // googleapi.IsNotModified to check whether the returned error was
 49502  // because http.StatusNotModified was returned.
 49503  func (c *TargetableRemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingList, error) {
 49504  	gensupport.SetOptions(c.urlParams_, opts...)
 49505  	res, err := c.doRequest("json")
 49506  	if res != nil && res.StatusCode == http.StatusNotModified {
 49507  		if res.Body != nil {
 49508  			res.Body.Close()
 49509  		}
 49510  		return nil, &googleapi.Error{
 49511  			Code:   res.StatusCode,
 49512  			Header: res.Header,
 49513  		}
 49514  	}
 49515  	if err != nil {
 49516  		return nil, err
 49517  	}
 49518  	defer googleapi.CloseBody(res)
 49519  	if err := googleapi.CheckResponse(res); err != nil {
 49520  		return nil, err
 49521  	}
 49522  	ret := &TargetableRemarketingList{
 49523  		ServerResponse: googleapi.ServerResponse{
 49524  			Header:         res.Header,
 49525  			HTTPStatusCode: res.StatusCode,
 49526  		},
 49527  	}
 49528  	target := &ret
 49529  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49530  		return nil, err
 49531  	}
 49532  	return ret, nil
 49533  	// {
 49534  	//   "description": "Gets one remarketing list by ID.",
 49535  	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
 49536  	//   "httpMethod": "GET",
 49537  	//   "id": "dfareporting.targetableRemarketingLists.get",
 49538  	//   "parameterOrder": [
 49539  	//     "profileId",
 49540  	//     "id"
 49541  	//   ],
 49542  	//   "parameters": {
 49543  	//     "id": {
 49544  	//       "description": "Remarketing list ID.",
 49545  	//       "format": "int64",
 49546  	//       "location": "path",
 49547  	//       "required": true,
 49548  	//       "type": "string"
 49549  	//     },
 49550  	//     "profileId": {
 49551  	//       "description": "User profile ID associated with this request.",
 49552  	//       "format": "int64",
 49553  	//       "location": "path",
 49554  	//       "required": true,
 49555  	//       "type": "string"
 49556  	//     }
 49557  	//   },
 49558  	//   "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
 49559  	//   "response": {
 49560  	//     "$ref": "TargetableRemarketingList"
 49561  	//   },
 49562  	//   "scopes": [
 49563  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49564  	//   ]
 49565  	// }
 49566  
 49567  }
 49568  
 49569  // method id "dfareporting.targetableRemarketingLists.list":
 49570  
 49571  type TargetableRemarketingListsListCall struct {
 49572  	s            *Service
 49573  	profileId    int64
 49574  	urlParams_   gensupport.URLParams
 49575  	ifNoneMatch_ string
 49576  	ctx_         context.Context
 49577  	header_      http.Header
 49578  }
 49579  
 49580  // List: Retrieves a list of targetable remarketing lists, possibly
 49581  // filtered. This method supports paging.
 49582  //
 49583  //   - advertiserId: Select only targetable remarketing lists targetable
 49584  //     by these advertisers.
 49585  //   - profileId: User profile ID associated with this request.
 49586  func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
 49587  	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49588  	c.profileId = profileId
 49589  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 49590  	return c
 49591  }
 49592  
 49593  // Active sets the optional parameter "active": Select only active or
 49594  // only inactive targetable remarketing lists.
 49595  func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
 49596  	c.urlParams_.Set("active", fmt.Sprint(active))
 49597  	return c
 49598  }
 49599  
 49600  // MaxResults sets the optional parameter "maxResults": Maximum number
 49601  // of results to return.
 49602  func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
 49603  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 49604  	return c
 49605  }
 49606  
 49607  // Name sets the optional parameter "name": Allows searching for objects
 49608  // by name or ID. Wildcards (*) are allowed. For example, "remarketing
 49609  // list*2015" will return objects with names like "remarketing list June
 49610  // 2015", "remarketing list April 2015", or simply "remarketing list
 49611  // 2015". Most of the searches also add wildcards implicitly at the
 49612  // start and the end of the search string. For example, a search string
 49613  // of "remarketing list" will match objects with name "my remarketing
 49614  // list", "remarketing list 2015", or simply "remarketing list".
 49615  func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
 49616  	c.urlParams_.Set("name", name)
 49617  	return c
 49618  }
 49619  
 49620  // PageToken sets the optional parameter "pageToken": Value of the
 49621  // nextPageToken from the previous result page.
 49622  func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
 49623  	c.urlParams_.Set("pageToken", pageToken)
 49624  	return c
 49625  }
 49626  
 49627  // SortField sets the optional parameter "sortField": Field by which to
 49628  // sort the list.
 49629  //
 49630  // Possible values:
 49631  //
 49632  //	"ID" (default)
 49633  //	"NAME"
 49634  func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
 49635  	c.urlParams_.Set("sortField", sortField)
 49636  	return c
 49637  }
 49638  
 49639  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 49640  // results.
 49641  //
 49642  // Possible values:
 49643  //
 49644  //	"ASCENDING" (default)
 49645  //	"DESCENDING"
 49646  func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
 49647  	c.urlParams_.Set("sortOrder", sortOrder)
 49648  	return c
 49649  }
 49650  
 49651  // Fields allows partial responses to be retrieved. See
 49652  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49653  // for more information.
 49654  func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
 49655  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49656  	return c
 49657  }
 49658  
 49659  // IfNoneMatch sets the optional parameter which makes the operation
 49660  // fail if the object's ETag matches the given value. This is useful for
 49661  // getting updates only after the object has changed since the last
 49662  // request. Use googleapi.IsNotModified to check whether the response
 49663  // error from Do is the result of In-None-Match.
 49664  func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
 49665  	c.ifNoneMatch_ = entityTag
 49666  	return c
 49667  }
 49668  
 49669  // Context sets the context to be used in this call's Do method. Any
 49670  // pending HTTP request will be aborted if the provided context is
 49671  // canceled.
 49672  func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
 49673  	c.ctx_ = ctx
 49674  	return c
 49675  }
 49676  
 49677  // Header returns an http.Header that can be modified by the caller to
 49678  // add HTTP headers to the request.
 49679  func (c *TargetableRemarketingListsListCall) Header() http.Header {
 49680  	if c.header_ == nil {
 49681  		c.header_ = make(http.Header)
 49682  	}
 49683  	return c.header_
 49684  }
 49685  
 49686  func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 49687  	reqHeaders := make(http.Header)
 49688  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 49689  	for k, v := range c.header_ {
 49690  		reqHeaders[k] = v
 49691  	}
 49692  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49693  	if c.ifNoneMatch_ != "" {
 49694  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49695  	}
 49696  	var body io.Reader = nil
 49697  	c.urlParams_.Set("alt", alt)
 49698  	c.urlParams_.Set("prettyPrint", "false")
 49699  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
 49700  	urls += "?" + c.urlParams_.Encode()
 49701  	req, err := http.NewRequest("GET", urls, body)
 49702  	if err != nil {
 49703  		return nil, err
 49704  	}
 49705  	req.Header = reqHeaders
 49706  	googleapi.Expand(req.URL, map[string]string{
 49707  		"profileId": strconv.FormatInt(c.profileId, 10),
 49708  	})
 49709  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49710  }
 49711  
 49712  // Do executes the "dfareporting.targetableRemarketingLists.list" call.
 49713  // Exactly one of *TargetableRemarketingListsListResponse or error will
 49714  // be non-nil. Any non-2xx status code is an error. Response headers are
 49715  // in either
 49716  // *TargetableRemarketingListsListResponse.ServerResponse.Header or (if
 49717  // a response was returned at all) in error.(*googleapi.Error).Header.
 49718  // Use googleapi.IsNotModified to check whether the returned error was
 49719  // because http.StatusNotModified was returned.
 49720  func (c *TargetableRemarketingListsListCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingListsListResponse, error) {
 49721  	gensupport.SetOptions(c.urlParams_, opts...)
 49722  	res, err := c.doRequest("json")
 49723  	if res != nil && res.StatusCode == http.StatusNotModified {
 49724  		if res.Body != nil {
 49725  			res.Body.Close()
 49726  		}
 49727  		return nil, &googleapi.Error{
 49728  			Code:   res.StatusCode,
 49729  			Header: res.Header,
 49730  		}
 49731  	}
 49732  	if err != nil {
 49733  		return nil, err
 49734  	}
 49735  	defer googleapi.CloseBody(res)
 49736  	if err := googleapi.CheckResponse(res); err != nil {
 49737  		return nil, err
 49738  	}
 49739  	ret := &TargetableRemarketingListsListResponse{
 49740  		ServerResponse: googleapi.ServerResponse{
 49741  			Header:         res.Header,
 49742  			HTTPStatusCode: res.StatusCode,
 49743  		},
 49744  	}
 49745  	target := &ret
 49746  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49747  		return nil, err
 49748  	}
 49749  	return ret, nil
 49750  	// {
 49751  	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
 49752  	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists",
 49753  	//   "httpMethod": "GET",
 49754  	//   "id": "dfareporting.targetableRemarketingLists.list",
 49755  	//   "parameterOrder": [
 49756  	//     "profileId",
 49757  	//     "advertiserId"
 49758  	//   ],
 49759  	//   "parameters": {
 49760  	//     "active": {
 49761  	//       "description": "Select only active or only inactive targetable remarketing lists.",
 49762  	//       "location": "query",
 49763  	//       "type": "boolean"
 49764  	//     },
 49765  	//     "advertiserId": {
 49766  	//       "description": "Select only targetable remarketing lists targetable by these advertisers.",
 49767  	//       "format": "int64",
 49768  	//       "location": "query",
 49769  	//       "required": true,
 49770  	//       "type": "string"
 49771  	//     },
 49772  	//     "maxResults": {
 49773  	//       "default": "1000",
 49774  	//       "description": "Maximum number of results to return.",
 49775  	//       "format": "int32",
 49776  	//       "location": "query",
 49777  	//       "maximum": "1000",
 49778  	//       "minimum": "0",
 49779  	//       "type": "integer"
 49780  	//     },
 49781  	//     "name": {
 49782  	//       "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\".",
 49783  	//       "location": "query",
 49784  	//       "type": "string"
 49785  	//     },
 49786  	//     "pageToken": {
 49787  	//       "description": "Value of the nextPageToken from the previous result page.",
 49788  	//       "location": "query",
 49789  	//       "type": "string"
 49790  	//     },
 49791  	//     "profileId": {
 49792  	//       "description": "User profile ID associated with this request.",
 49793  	//       "format": "int64",
 49794  	//       "location": "path",
 49795  	//       "required": true,
 49796  	//       "type": "string"
 49797  	//     },
 49798  	//     "sortField": {
 49799  	//       "default": "ID",
 49800  	//       "description": "Field by which to sort the list.",
 49801  	//       "enum": [
 49802  	//         "ID",
 49803  	//         "NAME"
 49804  	//       ],
 49805  	//       "enumDescriptions": [
 49806  	//         "",
 49807  	//         ""
 49808  	//       ],
 49809  	//       "location": "query",
 49810  	//       "type": "string"
 49811  	//     },
 49812  	//     "sortOrder": {
 49813  	//       "default": "ASCENDING",
 49814  	//       "description": "Order of sorted results.",
 49815  	//       "enum": [
 49816  	//         "ASCENDING",
 49817  	//         "DESCENDING"
 49818  	//       ],
 49819  	//       "enumDescriptions": [
 49820  	//         "",
 49821  	//         ""
 49822  	//       ],
 49823  	//       "location": "query",
 49824  	//       "type": "string"
 49825  	//     }
 49826  	//   },
 49827  	//   "path": "userprofiles/{profileId}/targetableRemarketingLists",
 49828  	//   "response": {
 49829  	//     "$ref": "TargetableRemarketingListsListResponse"
 49830  	//   },
 49831  	//   "scopes": [
 49832  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49833  	//   ]
 49834  	// }
 49835  
 49836  }
 49837  
 49838  // Pages invokes f for each page of results.
 49839  // A non-nil error returned from f will halt the iteration.
 49840  // The provided context supersedes any context provided to the Context method.
 49841  func (c *TargetableRemarketingListsListCall) Pages(ctx context.Context, f func(*TargetableRemarketingListsListResponse) error) error {
 49842  	c.ctx_ = ctx
 49843  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 49844  	for {
 49845  		x, err := c.Do()
 49846  		if err != nil {
 49847  			return err
 49848  		}
 49849  		if err := f(x); err != nil {
 49850  			return err
 49851  		}
 49852  		if x.NextPageToken == "" {
 49853  			return nil
 49854  		}
 49855  		c.PageToken(x.NextPageToken)
 49856  	}
 49857  }
 49858  
 49859  // method id "dfareporting.targetingTemplates.get":
 49860  
 49861  type TargetingTemplatesGetCall struct {
 49862  	s            *Service
 49863  	profileId    int64
 49864  	id           int64
 49865  	urlParams_   gensupport.URLParams
 49866  	ifNoneMatch_ string
 49867  	ctx_         context.Context
 49868  	header_      http.Header
 49869  }
 49870  
 49871  // Get: Gets one targeting template by ID.
 49872  //
 49873  // - id: Targeting template ID.
 49874  // - profileId: User profile ID associated with this request.
 49875  func (r *TargetingTemplatesService) Get(profileId int64, id int64) *TargetingTemplatesGetCall {
 49876  	c := &TargetingTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49877  	c.profileId = profileId
 49878  	c.id = id
 49879  	return c
 49880  }
 49881  
 49882  // Fields allows partial responses to be retrieved. See
 49883  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49884  // for more information.
 49885  func (c *TargetingTemplatesGetCall) Fields(s ...googleapi.Field) *TargetingTemplatesGetCall {
 49886  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49887  	return c
 49888  }
 49889  
 49890  // IfNoneMatch sets the optional parameter which makes the operation
 49891  // fail if the object's ETag matches the given value. This is useful for
 49892  // getting updates only after the object has changed since the last
 49893  // request. Use googleapi.IsNotModified to check whether the response
 49894  // error from Do is the result of In-None-Match.
 49895  func (c *TargetingTemplatesGetCall) IfNoneMatch(entityTag string) *TargetingTemplatesGetCall {
 49896  	c.ifNoneMatch_ = entityTag
 49897  	return c
 49898  }
 49899  
 49900  // Context sets the context to be used in this call's Do method. Any
 49901  // pending HTTP request will be aborted if the provided context is
 49902  // canceled.
 49903  func (c *TargetingTemplatesGetCall) Context(ctx context.Context) *TargetingTemplatesGetCall {
 49904  	c.ctx_ = ctx
 49905  	return c
 49906  }
 49907  
 49908  // Header returns an http.Header that can be modified by the caller to
 49909  // add HTTP headers to the request.
 49910  func (c *TargetingTemplatesGetCall) Header() http.Header {
 49911  	if c.header_ == nil {
 49912  		c.header_ = make(http.Header)
 49913  	}
 49914  	return c.header_
 49915  }
 49916  
 49917  func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 49918  	reqHeaders := make(http.Header)
 49919  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 49920  	for k, v := range c.header_ {
 49921  		reqHeaders[k] = v
 49922  	}
 49923  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49924  	if c.ifNoneMatch_ != "" {
 49925  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49926  	}
 49927  	var body io.Reader = nil
 49928  	c.urlParams_.Set("alt", alt)
 49929  	c.urlParams_.Set("prettyPrint", "false")
 49930  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates/{id}")
 49931  	urls += "?" + c.urlParams_.Encode()
 49932  	req, err := http.NewRequest("GET", urls, body)
 49933  	if err != nil {
 49934  		return nil, err
 49935  	}
 49936  	req.Header = reqHeaders
 49937  	googleapi.Expand(req.URL, map[string]string{
 49938  		"profileId": strconv.FormatInt(c.profileId, 10),
 49939  		"id":        strconv.FormatInt(c.id, 10),
 49940  	})
 49941  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49942  }
 49943  
 49944  // Do executes the "dfareporting.targetingTemplates.get" call.
 49945  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 49946  // non-2xx status code is an error. Response headers are in either
 49947  // *TargetingTemplate.ServerResponse.Header or (if a response was
 49948  // returned at all) in error.(*googleapi.Error).Header. Use
 49949  // googleapi.IsNotModified to check whether the returned error was
 49950  // because http.StatusNotModified was returned.
 49951  func (c *TargetingTemplatesGetCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 49952  	gensupport.SetOptions(c.urlParams_, opts...)
 49953  	res, err := c.doRequest("json")
 49954  	if res != nil && res.StatusCode == http.StatusNotModified {
 49955  		if res.Body != nil {
 49956  			res.Body.Close()
 49957  		}
 49958  		return nil, &googleapi.Error{
 49959  			Code:   res.StatusCode,
 49960  			Header: res.Header,
 49961  		}
 49962  	}
 49963  	if err != nil {
 49964  		return nil, err
 49965  	}
 49966  	defer googleapi.CloseBody(res)
 49967  	if err := googleapi.CheckResponse(res); err != nil {
 49968  		return nil, err
 49969  	}
 49970  	ret := &TargetingTemplate{
 49971  		ServerResponse: googleapi.ServerResponse{
 49972  			Header:         res.Header,
 49973  			HTTPStatusCode: res.StatusCode,
 49974  		},
 49975  	}
 49976  	target := &ret
 49977  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49978  		return nil, err
 49979  	}
 49980  	return ret, nil
 49981  	// {
 49982  	//   "description": "Gets one targeting template by ID.",
 49983  	//   "flatPath": "userprofiles/{profileId}/targetingTemplates/{id}",
 49984  	//   "httpMethod": "GET",
 49985  	//   "id": "dfareporting.targetingTemplates.get",
 49986  	//   "parameterOrder": [
 49987  	//     "profileId",
 49988  	//     "id"
 49989  	//   ],
 49990  	//   "parameters": {
 49991  	//     "id": {
 49992  	//       "description": "Targeting template ID.",
 49993  	//       "format": "int64",
 49994  	//       "location": "path",
 49995  	//       "required": true,
 49996  	//       "type": "string"
 49997  	//     },
 49998  	//     "profileId": {
 49999  	//       "description": "User profile ID associated with this request.",
 50000  	//       "format": "int64",
 50001  	//       "location": "path",
 50002  	//       "required": true,
 50003  	//       "type": "string"
 50004  	//     }
 50005  	//   },
 50006  	//   "path": "userprofiles/{profileId}/targetingTemplates/{id}",
 50007  	//   "response": {
 50008  	//     "$ref": "TargetingTemplate"
 50009  	//   },
 50010  	//   "scopes": [
 50011  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50012  	//   ]
 50013  	// }
 50014  
 50015  }
 50016  
 50017  // method id "dfareporting.targetingTemplates.insert":
 50018  
 50019  type TargetingTemplatesInsertCall struct {
 50020  	s                 *Service
 50021  	profileId         int64
 50022  	targetingtemplate *TargetingTemplate
 50023  	urlParams_        gensupport.URLParams
 50024  	ctx_              context.Context
 50025  	header_           http.Header
 50026  }
 50027  
 50028  // Insert: Inserts a new targeting template.
 50029  //
 50030  // - profileId: User profile ID associated with this request.
 50031  func (r *TargetingTemplatesService) Insert(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesInsertCall {
 50032  	c := &TargetingTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50033  	c.profileId = profileId
 50034  	c.targetingtemplate = targetingtemplate
 50035  	return c
 50036  }
 50037  
 50038  // Fields allows partial responses to be retrieved. See
 50039  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50040  // for more information.
 50041  func (c *TargetingTemplatesInsertCall) Fields(s ...googleapi.Field) *TargetingTemplatesInsertCall {
 50042  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50043  	return c
 50044  }
 50045  
 50046  // Context sets the context to be used in this call's Do method. Any
 50047  // pending HTTP request will be aborted if the provided context is
 50048  // canceled.
 50049  func (c *TargetingTemplatesInsertCall) Context(ctx context.Context) *TargetingTemplatesInsertCall {
 50050  	c.ctx_ = ctx
 50051  	return c
 50052  }
 50053  
 50054  // Header returns an http.Header that can be modified by the caller to
 50055  // add HTTP headers to the request.
 50056  func (c *TargetingTemplatesInsertCall) Header() http.Header {
 50057  	if c.header_ == nil {
 50058  		c.header_ = make(http.Header)
 50059  	}
 50060  	return c.header_
 50061  }
 50062  
 50063  func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
 50064  	reqHeaders := make(http.Header)
 50065  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 50066  	for k, v := range c.header_ {
 50067  		reqHeaders[k] = v
 50068  	}
 50069  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50070  	var body io.Reader = nil
 50071  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 50072  	if err != nil {
 50073  		return nil, err
 50074  	}
 50075  	reqHeaders.Set("Content-Type", "application/json")
 50076  	c.urlParams_.Set("alt", alt)
 50077  	c.urlParams_.Set("prettyPrint", "false")
 50078  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 50079  	urls += "?" + c.urlParams_.Encode()
 50080  	req, err := http.NewRequest("POST", urls, body)
 50081  	if err != nil {
 50082  		return nil, err
 50083  	}
 50084  	req.Header = reqHeaders
 50085  	googleapi.Expand(req.URL, map[string]string{
 50086  		"profileId": strconv.FormatInt(c.profileId, 10),
 50087  	})
 50088  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50089  }
 50090  
 50091  // Do executes the "dfareporting.targetingTemplates.insert" call.
 50092  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 50093  // non-2xx status code is an error. Response headers are in either
 50094  // *TargetingTemplate.ServerResponse.Header or (if a response was
 50095  // returned at all) in error.(*googleapi.Error).Header. Use
 50096  // googleapi.IsNotModified to check whether the returned error was
 50097  // because http.StatusNotModified was returned.
 50098  func (c *TargetingTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 50099  	gensupport.SetOptions(c.urlParams_, opts...)
 50100  	res, err := c.doRequest("json")
 50101  	if res != nil && res.StatusCode == http.StatusNotModified {
 50102  		if res.Body != nil {
 50103  			res.Body.Close()
 50104  		}
 50105  		return nil, &googleapi.Error{
 50106  			Code:   res.StatusCode,
 50107  			Header: res.Header,
 50108  		}
 50109  	}
 50110  	if err != nil {
 50111  		return nil, err
 50112  	}
 50113  	defer googleapi.CloseBody(res)
 50114  	if err := googleapi.CheckResponse(res); err != nil {
 50115  		return nil, err
 50116  	}
 50117  	ret := &TargetingTemplate{
 50118  		ServerResponse: googleapi.ServerResponse{
 50119  			Header:         res.Header,
 50120  			HTTPStatusCode: res.StatusCode,
 50121  		},
 50122  	}
 50123  	target := &ret
 50124  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50125  		return nil, err
 50126  	}
 50127  	return ret, nil
 50128  	// {
 50129  	//   "description": "Inserts a new targeting template.",
 50130  	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
 50131  	//   "httpMethod": "POST",
 50132  	//   "id": "dfareporting.targetingTemplates.insert",
 50133  	//   "parameterOrder": [
 50134  	//     "profileId"
 50135  	//   ],
 50136  	//   "parameters": {
 50137  	//     "profileId": {
 50138  	//       "description": "User profile ID associated with this request.",
 50139  	//       "format": "int64",
 50140  	//       "location": "path",
 50141  	//       "required": true,
 50142  	//       "type": "string"
 50143  	//     }
 50144  	//   },
 50145  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 50146  	//   "request": {
 50147  	//     "$ref": "TargetingTemplate"
 50148  	//   },
 50149  	//   "response": {
 50150  	//     "$ref": "TargetingTemplate"
 50151  	//   },
 50152  	//   "scopes": [
 50153  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50154  	//   ]
 50155  	// }
 50156  
 50157  }
 50158  
 50159  // method id "dfareporting.targetingTemplates.list":
 50160  
 50161  type TargetingTemplatesListCall struct {
 50162  	s            *Service
 50163  	profileId    int64
 50164  	urlParams_   gensupport.URLParams
 50165  	ifNoneMatch_ string
 50166  	ctx_         context.Context
 50167  	header_      http.Header
 50168  }
 50169  
 50170  // List: Retrieves a list of targeting templates, optionally filtered.
 50171  // This method supports paging.
 50172  //
 50173  // - profileId: User profile ID associated with this request.
 50174  func (r *TargetingTemplatesService) List(profileId int64) *TargetingTemplatesListCall {
 50175  	c := &TargetingTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50176  	c.profileId = profileId
 50177  	return c
 50178  }
 50179  
 50180  // AdvertiserId sets the optional parameter "advertiserId": Select only
 50181  // targeting templates with this advertiser ID.
 50182  func (c *TargetingTemplatesListCall) AdvertiserId(advertiserId int64) *TargetingTemplatesListCall {
 50183  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 50184  	return c
 50185  }
 50186  
 50187  // Ids sets the optional parameter "ids": Select only targeting
 50188  // templates with these IDs.
 50189  func (c *TargetingTemplatesListCall) Ids(ids ...int64) *TargetingTemplatesListCall {
 50190  	var ids_ []string
 50191  	for _, v := range ids {
 50192  		ids_ = append(ids_, fmt.Sprint(v))
 50193  	}
 50194  	c.urlParams_.SetMulti("ids", ids_)
 50195  	return c
 50196  }
 50197  
 50198  // MaxResults sets the optional parameter "maxResults": Maximum number
 50199  // of results to return.
 50200  func (c *TargetingTemplatesListCall) MaxResults(maxResults int64) *TargetingTemplatesListCall {
 50201  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 50202  	return c
 50203  }
 50204  
 50205  // PageToken sets the optional parameter "pageToken": Value of the
 50206  // nextPageToken from the previous result page.
 50207  func (c *TargetingTemplatesListCall) PageToken(pageToken string) *TargetingTemplatesListCall {
 50208  	c.urlParams_.Set("pageToken", pageToken)
 50209  	return c
 50210  }
 50211  
 50212  // SearchString sets the optional parameter "searchString": Allows
 50213  // searching for objects by name or ID. Wildcards (*) are allowed. For
 50214  // example, "template*2015" will return objects with names like
 50215  // "template June 2015", "template April 2015", or simply "template
 50216  // 2015". Most of the searches also add wildcards implicitly at the
 50217  // start and the end of the search string. For example, a search string
 50218  // of "template" will match objects with name "my template", "template
 50219  // 2015", or simply "template".
 50220  func (c *TargetingTemplatesListCall) SearchString(searchString string) *TargetingTemplatesListCall {
 50221  	c.urlParams_.Set("searchString", searchString)
 50222  	return c
 50223  }
 50224  
 50225  // SortField sets the optional parameter "sortField": Field by which to
 50226  // sort the list.
 50227  //
 50228  // Possible values:
 50229  //
 50230  //	"ID" (default)
 50231  //	"NAME"
 50232  func (c *TargetingTemplatesListCall) SortField(sortField string) *TargetingTemplatesListCall {
 50233  	c.urlParams_.Set("sortField", sortField)
 50234  	return c
 50235  }
 50236  
 50237  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 50238  // results.
 50239  //
 50240  // Possible values:
 50241  //
 50242  //	"ASCENDING" (default)
 50243  //	"DESCENDING"
 50244  func (c *TargetingTemplatesListCall) SortOrder(sortOrder string) *TargetingTemplatesListCall {
 50245  	c.urlParams_.Set("sortOrder", sortOrder)
 50246  	return c
 50247  }
 50248  
 50249  // Fields allows partial responses to be retrieved. See
 50250  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50251  // for more information.
 50252  func (c *TargetingTemplatesListCall) Fields(s ...googleapi.Field) *TargetingTemplatesListCall {
 50253  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50254  	return c
 50255  }
 50256  
 50257  // IfNoneMatch sets the optional parameter which makes the operation
 50258  // fail if the object's ETag matches the given value. This is useful for
 50259  // getting updates only after the object has changed since the last
 50260  // request. Use googleapi.IsNotModified to check whether the response
 50261  // error from Do is the result of In-None-Match.
 50262  func (c *TargetingTemplatesListCall) IfNoneMatch(entityTag string) *TargetingTemplatesListCall {
 50263  	c.ifNoneMatch_ = entityTag
 50264  	return c
 50265  }
 50266  
 50267  // Context sets the context to be used in this call's Do method. Any
 50268  // pending HTTP request will be aborted if the provided context is
 50269  // canceled.
 50270  func (c *TargetingTemplatesListCall) Context(ctx context.Context) *TargetingTemplatesListCall {
 50271  	c.ctx_ = ctx
 50272  	return c
 50273  }
 50274  
 50275  // Header returns an http.Header that can be modified by the caller to
 50276  // add HTTP headers to the request.
 50277  func (c *TargetingTemplatesListCall) Header() http.Header {
 50278  	if c.header_ == nil {
 50279  		c.header_ = make(http.Header)
 50280  	}
 50281  	return c.header_
 50282  }
 50283  
 50284  func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 50285  	reqHeaders := make(http.Header)
 50286  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 50287  	for k, v := range c.header_ {
 50288  		reqHeaders[k] = v
 50289  	}
 50290  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50291  	if c.ifNoneMatch_ != "" {
 50292  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50293  	}
 50294  	var body io.Reader = nil
 50295  	c.urlParams_.Set("alt", alt)
 50296  	c.urlParams_.Set("prettyPrint", "false")
 50297  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 50298  	urls += "?" + c.urlParams_.Encode()
 50299  	req, err := http.NewRequest("GET", urls, body)
 50300  	if err != nil {
 50301  		return nil, err
 50302  	}
 50303  	req.Header = reqHeaders
 50304  	googleapi.Expand(req.URL, map[string]string{
 50305  		"profileId": strconv.FormatInt(c.profileId, 10),
 50306  	})
 50307  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50308  }
 50309  
 50310  // Do executes the "dfareporting.targetingTemplates.list" call.
 50311  // Exactly one of *TargetingTemplatesListResponse or error will be
 50312  // non-nil. Any non-2xx status code is an error. Response headers are in
 50313  // either *TargetingTemplatesListResponse.ServerResponse.Header or (if a
 50314  // response was returned at all) in error.(*googleapi.Error).Header. Use
 50315  // googleapi.IsNotModified to check whether the returned error was
 50316  // because http.StatusNotModified was returned.
 50317  func (c *TargetingTemplatesListCall) Do(opts ...googleapi.CallOption) (*TargetingTemplatesListResponse, error) {
 50318  	gensupport.SetOptions(c.urlParams_, opts...)
 50319  	res, err := c.doRequest("json")
 50320  	if res != nil && res.StatusCode == http.StatusNotModified {
 50321  		if res.Body != nil {
 50322  			res.Body.Close()
 50323  		}
 50324  		return nil, &googleapi.Error{
 50325  			Code:   res.StatusCode,
 50326  			Header: res.Header,
 50327  		}
 50328  	}
 50329  	if err != nil {
 50330  		return nil, err
 50331  	}
 50332  	defer googleapi.CloseBody(res)
 50333  	if err := googleapi.CheckResponse(res); err != nil {
 50334  		return nil, err
 50335  	}
 50336  	ret := &TargetingTemplatesListResponse{
 50337  		ServerResponse: googleapi.ServerResponse{
 50338  			Header:         res.Header,
 50339  			HTTPStatusCode: res.StatusCode,
 50340  		},
 50341  	}
 50342  	target := &ret
 50343  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50344  		return nil, err
 50345  	}
 50346  	return ret, nil
 50347  	// {
 50348  	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
 50349  	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
 50350  	//   "httpMethod": "GET",
 50351  	//   "id": "dfareporting.targetingTemplates.list",
 50352  	//   "parameterOrder": [
 50353  	//     "profileId"
 50354  	//   ],
 50355  	//   "parameters": {
 50356  	//     "advertiserId": {
 50357  	//       "description": "Select only targeting templates with this advertiser ID.",
 50358  	//       "format": "int64",
 50359  	//       "location": "query",
 50360  	//       "type": "string"
 50361  	//     },
 50362  	//     "ids": {
 50363  	//       "description": "Select only targeting templates with these IDs.",
 50364  	//       "format": "int64",
 50365  	//       "location": "query",
 50366  	//       "repeated": true,
 50367  	//       "type": "string"
 50368  	//     },
 50369  	//     "maxResults": {
 50370  	//       "default": "1000",
 50371  	//       "description": "Maximum number of results to return.",
 50372  	//       "format": "int32",
 50373  	//       "location": "query",
 50374  	//       "maximum": "1000",
 50375  	//       "minimum": "0",
 50376  	//       "type": "integer"
 50377  	//     },
 50378  	//     "pageToken": {
 50379  	//       "description": "Value of the nextPageToken from the previous result page.",
 50380  	//       "location": "query",
 50381  	//       "type": "string"
 50382  	//     },
 50383  	//     "profileId": {
 50384  	//       "description": "User profile ID associated with this request.",
 50385  	//       "format": "int64",
 50386  	//       "location": "path",
 50387  	//       "required": true,
 50388  	//       "type": "string"
 50389  	//     },
 50390  	//     "searchString": {
 50391  	//       "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\".",
 50392  	//       "location": "query",
 50393  	//       "type": "string"
 50394  	//     },
 50395  	//     "sortField": {
 50396  	//       "default": "ID",
 50397  	//       "description": "Field by which to sort the list.",
 50398  	//       "enum": [
 50399  	//         "ID",
 50400  	//         "NAME"
 50401  	//       ],
 50402  	//       "enumDescriptions": [
 50403  	//         "",
 50404  	//         ""
 50405  	//       ],
 50406  	//       "location": "query",
 50407  	//       "type": "string"
 50408  	//     },
 50409  	//     "sortOrder": {
 50410  	//       "default": "ASCENDING",
 50411  	//       "description": "Order of sorted results.",
 50412  	//       "enum": [
 50413  	//         "ASCENDING",
 50414  	//         "DESCENDING"
 50415  	//       ],
 50416  	//       "enumDescriptions": [
 50417  	//         "",
 50418  	//         ""
 50419  	//       ],
 50420  	//       "location": "query",
 50421  	//       "type": "string"
 50422  	//     }
 50423  	//   },
 50424  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 50425  	//   "response": {
 50426  	//     "$ref": "TargetingTemplatesListResponse"
 50427  	//   },
 50428  	//   "scopes": [
 50429  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50430  	//   ]
 50431  	// }
 50432  
 50433  }
 50434  
 50435  // Pages invokes f for each page of results.
 50436  // A non-nil error returned from f will halt the iteration.
 50437  // The provided context supersedes any context provided to the Context method.
 50438  func (c *TargetingTemplatesListCall) Pages(ctx context.Context, f func(*TargetingTemplatesListResponse) error) error {
 50439  	c.ctx_ = ctx
 50440  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 50441  	for {
 50442  		x, err := c.Do()
 50443  		if err != nil {
 50444  			return err
 50445  		}
 50446  		if err := f(x); err != nil {
 50447  			return err
 50448  		}
 50449  		if x.NextPageToken == "" {
 50450  			return nil
 50451  		}
 50452  		c.PageToken(x.NextPageToken)
 50453  	}
 50454  }
 50455  
 50456  // method id "dfareporting.targetingTemplates.patch":
 50457  
 50458  type TargetingTemplatesPatchCall struct {
 50459  	s                 *Service
 50460  	profileId         int64
 50461  	targetingtemplate *TargetingTemplate
 50462  	urlParams_        gensupport.URLParams
 50463  	ctx_              context.Context
 50464  	header_           http.Header
 50465  }
 50466  
 50467  // Patch: Updates an existing targeting template. This method supports
 50468  // patch semantics.
 50469  //
 50470  // - id: TargetingTemplate ID.
 50471  // - profileId: User profile ID associated with this request.
 50472  func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
 50473  	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50474  	c.profileId = profileId
 50475  	c.urlParams_.Set("id", fmt.Sprint(id))
 50476  	c.targetingtemplate = targetingtemplate
 50477  	return c
 50478  }
 50479  
 50480  // Fields allows partial responses to be retrieved. See
 50481  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50482  // for more information.
 50483  func (c *TargetingTemplatesPatchCall) Fields(s ...googleapi.Field) *TargetingTemplatesPatchCall {
 50484  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50485  	return c
 50486  }
 50487  
 50488  // Context sets the context to be used in this call's Do method. Any
 50489  // pending HTTP request will be aborted if the provided context is
 50490  // canceled.
 50491  func (c *TargetingTemplatesPatchCall) Context(ctx context.Context) *TargetingTemplatesPatchCall {
 50492  	c.ctx_ = ctx
 50493  	return c
 50494  }
 50495  
 50496  // Header returns an http.Header that can be modified by the caller to
 50497  // add HTTP headers to the request.
 50498  func (c *TargetingTemplatesPatchCall) Header() http.Header {
 50499  	if c.header_ == nil {
 50500  		c.header_ = make(http.Header)
 50501  	}
 50502  	return c.header_
 50503  }
 50504  
 50505  func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 50506  	reqHeaders := make(http.Header)
 50507  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 50508  	for k, v := range c.header_ {
 50509  		reqHeaders[k] = v
 50510  	}
 50511  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50512  	var body io.Reader = nil
 50513  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 50514  	if err != nil {
 50515  		return nil, err
 50516  	}
 50517  	reqHeaders.Set("Content-Type", "application/json")
 50518  	c.urlParams_.Set("alt", alt)
 50519  	c.urlParams_.Set("prettyPrint", "false")
 50520  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 50521  	urls += "?" + c.urlParams_.Encode()
 50522  	req, err := http.NewRequest("PATCH", urls, body)
 50523  	if err != nil {
 50524  		return nil, err
 50525  	}
 50526  	req.Header = reqHeaders
 50527  	googleapi.Expand(req.URL, map[string]string{
 50528  		"profileId": strconv.FormatInt(c.profileId, 10),
 50529  	})
 50530  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50531  }
 50532  
 50533  // Do executes the "dfareporting.targetingTemplates.patch" call.
 50534  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 50535  // non-2xx status code is an error. Response headers are in either
 50536  // *TargetingTemplate.ServerResponse.Header or (if a response was
 50537  // returned at all) in error.(*googleapi.Error).Header. Use
 50538  // googleapi.IsNotModified to check whether the returned error was
 50539  // because http.StatusNotModified was returned.
 50540  func (c *TargetingTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 50541  	gensupport.SetOptions(c.urlParams_, opts...)
 50542  	res, err := c.doRequest("json")
 50543  	if res != nil && res.StatusCode == http.StatusNotModified {
 50544  		if res.Body != nil {
 50545  			res.Body.Close()
 50546  		}
 50547  		return nil, &googleapi.Error{
 50548  			Code:   res.StatusCode,
 50549  			Header: res.Header,
 50550  		}
 50551  	}
 50552  	if err != nil {
 50553  		return nil, err
 50554  	}
 50555  	defer googleapi.CloseBody(res)
 50556  	if err := googleapi.CheckResponse(res); err != nil {
 50557  		return nil, err
 50558  	}
 50559  	ret := &TargetingTemplate{
 50560  		ServerResponse: googleapi.ServerResponse{
 50561  			Header:         res.Header,
 50562  			HTTPStatusCode: res.StatusCode,
 50563  		},
 50564  	}
 50565  	target := &ret
 50566  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50567  		return nil, err
 50568  	}
 50569  	return ret, nil
 50570  	// {
 50571  	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
 50572  	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
 50573  	//   "httpMethod": "PATCH",
 50574  	//   "id": "dfareporting.targetingTemplates.patch",
 50575  	//   "parameterOrder": [
 50576  	//     "profileId",
 50577  	//     "id"
 50578  	//   ],
 50579  	//   "parameters": {
 50580  	//     "id": {
 50581  	//       "description": "TargetingTemplate ID.",
 50582  	//       "format": "int64",
 50583  	//       "location": "query",
 50584  	//       "required": true,
 50585  	//       "type": "string"
 50586  	//     },
 50587  	//     "profileId": {
 50588  	//       "description": "User profile ID associated with this request.",
 50589  	//       "format": "int64",
 50590  	//       "location": "path",
 50591  	//       "required": true,
 50592  	//       "type": "string"
 50593  	//     }
 50594  	//   },
 50595  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 50596  	//   "request": {
 50597  	//     "$ref": "TargetingTemplate"
 50598  	//   },
 50599  	//   "response": {
 50600  	//     "$ref": "TargetingTemplate"
 50601  	//   },
 50602  	//   "scopes": [
 50603  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50604  	//   ]
 50605  	// }
 50606  
 50607  }
 50608  
 50609  // method id "dfareporting.targetingTemplates.update":
 50610  
 50611  type TargetingTemplatesUpdateCall struct {
 50612  	s                 *Service
 50613  	profileId         int64
 50614  	targetingtemplate *TargetingTemplate
 50615  	urlParams_        gensupport.URLParams
 50616  	ctx_              context.Context
 50617  	header_           http.Header
 50618  }
 50619  
 50620  // Update: Updates an existing targeting template.
 50621  //
 50622  // - profileId: User profile ID associated with this request.
 50623  func (r *TargetingTemplatesService) Update(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesUpdateCall {
 50624  	c := &TargetingTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50625  	c.profileId = profileId
 50626  	c.targetingtemplate = targetingtemplate
 50627  	return c
 50628  }
 50629  
 50630  // Fields allows partial responses to be retrieved. See
 50631  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50632  // for more information.
 50633  func (c *TargetingTemplatesUpdateCall) Fields(s ...googleapi.Field) *TargetingTemplatesUpdateCall {
 50634  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50635  	return c
 50636  }
 50637  
 50638  // Context sets the context to be used in this call's Do method. Any
 50639  // pending HTTP request will be aborted if the provided context is
 50640  // canceled.
 50641  func (c *TargetingTemplatesUpdateCall) Context(ctx context.Context) *TargetingTemplatesUpdateCall {
 50642  	c.ctx_ = ctx
 50643  	return c
 50644  }
 50645  
 50646  // Header returns an http.Header that can be modified by the caller to
 50647  // add HTTP headers to the request.
 50648  func (c *TargetingTemplatesUpdateCall) Header() http.Header {
 50649  	if c.header_ == nil {
 50650  		c.header_ = make(http.Header)
 50651  	}
 50652  	return c.header_
 50653  }
 50654  
 50655  func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 50656  	reqHeaders := make(http.Header)
 50657  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 50658  	for k, v := range c.header_ {
 50659  		reqHeaders[k] = v
 50660  	}
 50661  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50662  	var body io.Reader = nil
 50663  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 50664  	if err != nil {
 50665  		return nil, err
 50666  	}
 50667  	reqHeaders.Set("Content-Type", "application/json")
 50668  	c.urlParams_.Set("alt", alt)
 50669  	c.urlParams_.Set("prettyPrint", "false")
 50670  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 50671  	urls += "?" + c.urlParams_.Encode()
 50672  	req, err := http.NewRequest("PUT", urls, body)
 50673  	if err != nil {
 50674  		return nil, err
 50675  	}
 50676  	req.Header = reqHeaders
 50677  	googleapi.Expand(req.URL, map[string]string{
 50678  		"profileId": strconv.FormatInt(c.profileId, 10),
 50679  	})
 50680  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50681  }
 50682  
 50683  // Do executes the "dfareporting.targetingTemplates.update" call.
 50684  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 50685  // non-2xx status code is an error. Response headers are in either
 50686  // *TargetingTemplate.ServerResponse.Header or (if a response was
 50687  // returned at all) in error.(*googleapi.Error).Header. Use
 50688  // googleapi.IsNotModified to check whether the returned error was
 50689  // because http.StatusNotModified was returned.
 50690  func (c *TargetingTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 50691  	gensupport.SetOptions(c.urlParams_, opts...)
 50692  	res, err := c.doRequest("json")
 50693  	if res != nil && res.StatusCode == http.StatusNotModified {
 50694  		if res.Body != nil {
 50695  			res.Body.Close()
 50696  		}
 50697  		return nil, &googleapi.Error{
 50698  			Code:   res.StatusCode,
 50699  			Header: res.Header,
 50700  		}
 50701  	}
 50702  	if err != nil {
 50703  		return nil, err
 50704  	}
 50705  	defer googleapi.CloseBody(res)
 50706  	if err := googleapi.CheckResponse(res); err != nil {
 50707  		return nil, err
 50708  	}
 50709  	ret := &TargetingTemplate{
 50710  		ServerResponse: googleapi.ServerResponse{
 50711  			Header:         res.Header,
 50712  			HTTPStatusCode: res.StatusCode,
 50713  		},
 50714  	}
 50715  	target := &ret
 50716  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50717  		return nil, err
 50718  	}
 50719  	return ret, nil
 50720  	// {
 50721  	//   "description": "Updates an existing targeting template.",
 50722  	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
 50723  	//   "httpMethod": "PUT",
 50724  	//   "id": "dfareporting.targetingTemplates.update",
 50725  	//   "parameterOrder": [
 50726  	//     "profileId"
 50727  	//   ],
 50728  	//   "parameters": {
 50729  	//     "profileId": {
 50730  	//       "description": "User profile ID associated with this request.",
 50731  	//       "format": "int64",
 50732  	//       "location": "path",
 50733  	//       "required": true,
 50734  	//       "type": "string"
 50735  	//     }
 50736  	//   },
 50737  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 50738  	//   "request": {
 50739  	//     "$ref": "TargetingTemplate"
 50740  	//   },
 50741  	//   "response": {
 50742  	//     "$ref": "TargetingTemplate"
 50743  	//   },
 50744  	//   "scopes": [
 50745  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50746  	//   ]
 50747  	// }
 50748  
 50749  }
 50750  
 50751  // method id "dfareporting.userProfiles.get":
 50752  
 50753  type UserProfilesGetCall struct {
 50754  	s            *Service
 50755  	profileId    int64
 50756  	urlParams_   gensupport.URLParams
 50757  	ifNoneMatch_ string
 50758  	ctx_         context.Context
 50759  	header_      http.Header
 50760  }
 50761  
 50762  // Get: Gets one user profile by ID.
 50763  //
 50764  // - profileId: The user profile ID.
 50765  func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
 50766  	c := &UserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50767  	c.profileId = profileId
 50768  	return c
 50769  }
 50770  
 50771  // Fields allows partial responses to be retrieved. See
 50772  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50773  // for more information.
 50774  func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
 50775  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50776  	return c
 50777  }
 50778  
 50779  // IfNoneMatch sets the optional parameter which makes the operation
 50780  // fail if the object's ETag matches the given value. This is useful for
 50781  // getting updates only after the object has changed since the last
 50782  // request. Use googleapi.IsNotModified to check whether the response
 50783  // error from Do is the result of In-None-Match.
 50784  func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
 50785  	c.ifNoneMatch_ = entityTag
 50786  	return c
 50787  }
 50788  
 50789  // Context sets the context to be used in this call's Do method. Any
 50790  // pending HTTP request will be aborted if the provided context is
 50791  // canceled.
 50792  func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 50793  	c.ctx_ = ctx
 50794  	return c
 50795  }
 50796  
 50797  // Header returns an http.Header that can be modified by the caller to
 50798  // add HTTP headers to the request.
 50799  func (c *UserProfilesGetCall) Header() http.Header {
 50800  	if c.header_ == nil {
 50801  		c.header_ = make(http.Header)
 50802  	}
 50803  	return c.header_
 50804  }
 50805  
 50806  func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 50807  	reqHeaders := make(http.Header)
 50808  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 50809  	for k, v := range c.header_ {
 50810  		reqHeaders[k] = v
 50811  	}
 50812  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50813  	if c.ifNoneMatch_ != "" {
 50814  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50815  	}
 50816  	var body io.Reader = nil
 50817  	c.urlParams_.Set("alt", alt)
 50818  	c.urlParams_.Set("prettyPrint", "false")
 50819  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
 50820  	urls += "?" + c.urlParams_.Encode()
 50821  	req, err := http.NewRequest("GET", urls, body)
 50822  	if err != nil {
 50823  		return nil, err
 50824  	}
 50825  	req.Header = reqHeaders
 50826  	googleapi.Expand(req.URL, map[string]string{
 50827  		"profileId": strconv.FormatInt(c.profileId, 10),
 50828  	})
 50829  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50830  }
 50831  
 50832  // Do executes the "dfareporting.userProfiles.get" call.
 50833  // Exactly one of *UserProfile or error will be non-nil. Any non-2xx
 50834  // status code is an error. Response headers are in either
 50835  // *UserProfile.ServerResponse.Header or (if a response was returned at
 50836  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50837  // to check whether the returned error was because
 50838  // http.StatusNotModified was returned.
 50839  func (c *UserProfilesGetCall) Do(opts ...googleapi.CallOption) (*UserProfile, error) {
 50840  	gensupport.SetOptions(c.urlParams_, opts...)
 50841  	res, err := c.doRequest("json")
 50842  	if res != nil && res.StatusCode == http.StatusNotModified {
 50843  		if res.Body != nil {
 50844  			res.Body.Close()
 50845  		}
 50846  		return nil, &googleapi.Error{
 50847  			Code:   res.StatusCode,
 50848  			Header: res.Header,
 50849  		}
 50850  	}
 50851  	if err != nil {
 50852  		return nil, err
 50853  	}
 50854  	defer googleapi.CloseBody(res)
 50855  	if err := googleapi.CheckResponse(res); err != nil {
 50856  		return nil, err
 50857  	}
 50858  	ret := &UserProfile{
 50859  		ServerResponse: googleapi.ServerResponse{
 50860  			Header:         res.Header,
 50861  			HTTPStatusCode: res.StatusCode,
 50862  		},
 50863  	}
 50864  	target := &ret
 50865  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50866  		return nil, err
 50867  	}
 50868  	return ret, nil
 50869  	// {
 50870  	//   "description": "Gets one user profile by ID.",
 50871  	//   "flatPath": "userprofiles/{profileId}",
 50872  	//   "httpMethod": "GET",
 50873  	//   "id": "dfareporting.userProfiles.get",
 50874  	//   "parameterOrder": [
 50875  	//     "profileId"
 50876  	//   ],
 50877  	//   "parameters": {
 50878  	//     "profileId": {
 50879  	//       "description": "The user profile ID.",
 50880  	//       "format": "int64",
 50881  	//       "location": "path",
 50882  	//       "required": true,
 50883  	//       "type": "string"
 50884  	//     }
 50885  	//   },
 50886  	//   "path": "userprofiles/{profileId}",
 50887  	//   "response": {
 50888  	//     "$ref": "UserProfile"
 50889  	//   },
 50890  	//   "scopes": [
 50891  	//     "https://www.googleapis.com/auth/ddmconversions",
 50892  	//     "https://www.googleapis.com/auth/dfareporting",
 50893  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50894  	//   ]
 50895  	// }
 50896  
 50897  }
 50898  
 50899  // method id "dfareporting.userProfiles.list":
 50900  
 50901  type UserProfilesListCall struct {
 50902  	s            *Service
 50903  	urlParams_   gensupport.URLParams
 50904  	ifNoneMatch_ string
 50905  	ctx_         context.Context
 50906  	header_      http.Header
 50907  }
 50908  
 50909  // List: Retrieves list of user profiles for a user.
 50910  func (r *UserProfilesService) List() *UserProfilesListCall {
 50911  	c := &UserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50912  	return c
 50913  }
 50914  
 50915  // Fields allows partial responses to be retrieved. See
 50916  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50917  // for more information.
 50918  func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
 50919  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50920  	return c
 50921  }
 50922  
 50923  // IfNoneMatch sets the optional parameter which makes the operation
 50924  // fail if the object's ETag matches the given value. This is useful for
 50925  // getting updates only after the object has changed since the last
 50926  // request. Use googleapi.IsNotModified to check whether the response
 50927  // error from Do is the result of In-None-Match.
 50928  func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
 50929  	c.ifNoneMatch_ = entityTag
 50930  	return c
 50931  }
 50932  
 50933  // Context sets the context to be used in this call's Do method. Any
 50934  // pending HTTP request will be aborted if the provided context is
 50935  // canceled.
 50936  func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
 50937  	c.ctx_ = ctx
 50938  	return c
 50939  }
 50940  
 50941  // Header returns an http.Header that can be modified by the caller to
 50942  // add HTTP headers to the request.
 50943  func (c *UserProfilesListCall) Header() http.Header {
 50944  	if c.header_ == nil {
 50945  		c.header_ = make(http.Header)
 50946  	}
 50947  	return c.header_
 50948  }
 50949  
 50950  func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 50951  	reqHeaders := make(http.Header)
 50952  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 50953  	for k, v := range c.header_ {
 50954  		reqHeaders[k] = v
 50955  	}
 50956  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50957  	if c.ifNoneMatch_ != "" {
 50958  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50959  	}
 50960  	var body io.Reader = nil
 50961  	c.urlParams_.Set("alt", alt)
 50962  	c.urlParams_.Set("prettyPrint", "false")
 50963  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
 50964  	urls += "?" + c.urlParams_.Encode()
 50965  	req, err := http.NewRequest("GET", urls, body)
 50966  	if err != nil {
 50967  		return nil, err
 50968  	}
 50969  	req.Header = reqHeaders
 50970  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50971  }
 50972  
 50973  // Do executes the "dfareporting.userProfiles.list" call.
 50974  // Exactly one of *UserProfileList or error will be non-nil. Any non-2xx
 50975  // status code is an error. Response headers are in either
 50976  // *UserProfileList.ServerResponse.Header or (if a response was returned
 50977  // at all) in error.(*googleapi.Error).Header. Use
 50978  // googleapi.IsNotModified to check whether the returned error was
 50979  // because http.StatusNotModified was returned.
 50980  func (c *UserProfilesListCall) Do(opts ...googleapi.CallOption) (*UserProfileList, error) {
 50981  	gensupport.SetOptions(c.urlParams_, opts...)
 50982  	res, err := c.doRequest("json")
 50983  	if res != nil && res.StatusCode == http.StatusNotModified {
 50984  		if res.Body != nil {
 50985  			res.Body.Close()
 50986  		}
 50987  		return nil, &googleapi.Error{
 50988  			Code:   res.StatusCode,
 50989  			Header: res.Header,
 50990  		}
 50991  	}
 50992  	if err != nil {
 50993  		return nil, err
 50994  	}
 50995  	defer googleapi.CloseBody(res)
 50996  	if err := googleapi.CheckResponse(res); err != nil {
 50997  		return nil, err
 50998  	}
 50999  	ret := &UserProfileList{
 51000  		ServerResponse: googleapi.ServerResponse{
 51001  			Header:         res.Header,
 51002  			HTTPStatusCode: res.StatusCode,
 51003  		},
 51004  	}
 51005  	target := &ret
 51006  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51007  		return nil, err
 51008  	}
 51009  	return ret, nil
 51010  	// {
 51011  	//   "description": "Retrieves list of user profiles for a user.",
 51012  	//   "flatPath": "userprofiles",
 51013  	//   "httpMethod": "GET",
 51014  	//   "id": "dfareporting.userProfiles.list",
 51015  	//   "parameterOrder": [],
 51016  	//   "parameters": {},
 51017  	//   "path": "userprofiles",
 51018  	//   "response": {
 51019  	//     "$ref": "UserProfileList"
 51020  	//   },
 51021  	//   "scopes": [
 51022  	//     "https://www.googleapis.com/auth/ddmconversions",
 51023  	//     "https://www.googleapis.com/auth/dfareporting",
 51024  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51025  	//   ]
 51026  	// }
 51027  
 51028  }
 51029  
 51030  // method id "dfareporting.userRolePermissionGroups.get":
 51031  
 51032  type UserRolePermissionGroupsGetCall struct {
 51033  	s            *Service
 51034  	profileId    int64
 51035  	id           int64
 51036  	urlParams_   gensupport.URLParams
 51037  	ifNoneMatch_ string
 51038  	ctx_         context.Context
 51039  	header_      http.Header
 51040  }
 51041  
 51042  // Get: Gets one user role permission group by ID.
 51043  //
 51044  // - id: User role permission group ID.
 51045  // - profileId: User profile ID associated with this request.
 51046  func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
 51047  	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51048  	c.profileId = profileId
 51049  	c.id = id
 51050  	return c
 51051  }
 51052  
 51053  // Fields allows partial responses to be retrieved. See
 51054  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51055  // for more information.
 51056  func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
 51057  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51058  	return c
 51059  }
 51060  
 51061  // IfNoneMatch sets the optional parameter which makes the operation
 51062  // fail if the object's ETag matches the given value. This is useful for
 51063  // getting updates only after the object has changed since the last
 51064  // request. Use googleapi.IsNotModified to check whether the response
 51065  // error from Do is the result of In-None-Match.
 51066  func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
 51067  	c.ifNoneMatch_ = entityTag
 51068  	return c
 51069  }
 51070  
 51071  // Context sets the context to be used in this call's Do method. Any
 51072  // pending HTTP request will be aborted if the provided context is
 51073  // canceled.
 51074  func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
 51075  	c.ctx_ = ctx
 51076  	return c
 51077  }
 51078  
 51079  // Header returns an http.Header that can be modified by the caller to
 51080  // add HTTP headers to the request.
 51081  func (c *UserRolePermissionGroupsGetCall) Header() http.Header {
 51082  	if c.header_ == nil {
 51083  		c.header_ = make(http.Header)
 51084  	}
 51085  	return c.header_
 51086  }
 51087  
 51088  func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 51089  	reqHeaders := make(http.Header)
 51090  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 51091  	for k, v := range c.header_ {
 51092  		reqHeaders[k] = v
 51093  	}
 51094  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51095  	if c.ifNoneMatch_ != "" {
 51096  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 51097  	}
 51098  	var body io.Reader = nil
 51099  	c.urlParams_.Set("alt", alt)
 51100  	c.urlParams_.Set("prettyPrint", "false")
 51101  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
 51102  	urls += "?" + c.urlParams_.Encode()
 51103  	req, err := http.NewRequest("GET", urls, body)
 51104  	if err != nil {
 51105  		return nil, err
 51106  	}
 51107  	req.Header = reqHeaders
 51108  	googleapi.Expand(req.URL, map[string]string{
 51109  		"profileId": strconv.FormatInt(c.profileId, 10),
 51110  		"id":        strconv.FormatInt(c.id, 10),
 51111  	})
 51112  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51113  }
 51114  
 51115  // Do executes the "dfareporting.userRolePermissionGroups.get" call.
 51116  // Exactly one of *UserRolePermissionGroup or error will be non-nil. Any
 51117  // non-2xx status code is an error. Response headers are in either
 51118  // *UserRolePermissionGroup.ServerResponse.Header or (if a response was
 51119  // returned at all) in error.(*googleapi.Error).Header. Use
 51120  // googleapi.IsNotModified to check whether the returned error was
 51121  // because http.StatusNotModified was returned.
 51122  func (c *UserRolePermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroup, error) {
 51123  	gensupport.SetOptions(c.urlParams_, opts...)
 51124  	res, err := c.doRequest("json")
 51125  	if res != nil && res.StatusCode == http.StatusNotModified {
 51126  		if res.Body != nil {
 51127  			res.Body.Close()
 51128  		}
 51129  		return nil, &googleapi.Error{
 51130  			Code:   res.StatusCode,
 51131  			Header: res.Header,
 51132  		}
 51133  	}
 51134  	if err != nil {
 51135  		return nil, err
 51136  	}
 51137  	defer googleapi.CloseBody(res)
 51138  	if err := googleapi.CheckResponse(res); err != nil {
 51139  		return nil, err
 51140  	}
 51141  	ret := &UserRolePermissionGroup{
 51142  		ServerResponse: googleapi.ServerResponse{
 51143  			Header:         res.Header,
 51144  			HTTPStatusCode: res.StatusCode,
 51145  		},
 51146  	}
 51147  	target := &ret
 51148  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51149  		return nil, err
 51150  	}
 51151  	return ret, nil
 51152  	// {
 51153  	//   "description": "Gets one user role permission group by ID.",
 51154  	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
 51155  	//   "httpMethod": "GET",
 51156  	//   "id": "dfareporting.userRolePermissionGroups.get",
 51157  	//   "parameterOrder": [
 51158  	//     "profileId",
 51159  	//     "id"
 51160  	//   ],
 51161  	//   "parameters": {
 51162  	//     "id": {
 51163  	//       "description": "User role permission group ID.",
 51164  	//       "format": "int64",
 51165  	//       "location": "path",
 51166  	//       "required": true,
 51167  	//       "type": "string"
 51168  	//     },
 51169  	//     "profileId": {
 51170  	//       "description": "User profile ID associated with this request.",
 51171  	//       "format": "int64",
 51172  	//       "location": "path",
 51173  	//       "required": true,
 51174  	//       "type": "string"
 51175  	//     }
 51176  	//   },
 51177  	//   "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
 51178  	//   "response": {
 51179  	//     "$ref": "UserRolePermissionGroup"
 51180  	//   },
 51181  	//   "scopes": [
 51182  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51183  	//   ]
 51184  	// }
 51185  
 51186  }
 51187  
 51188  // method id "dfareporting.userRolePermissionGroups.list":
 51189  
 51190  type UserRolePermissionGroupsListCall struct {
 51191  	s            *Service
 51192  	profileId    int64
 51193  	urlParams_   gensupport.URLParams
 51194  	ifNoneMatch_ string
 51195  	ctx_         context.Context
 51196  	header_      http.Header
 51197  }
 51198  
 51199  // List: Gets a list of all supported user role permission groups.
 51200  //
 51201  // - profileId: User profile ID associated with this request.
 51202  func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
 51203  	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51204  	c.profileId = profileId
 51205  	return c
 51206  }
 51207  
 51208  // Fields allows partial responses to be retrieved. See
 51209  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51210  // for more information.
 51211  func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
 51212  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51213  	return c
 51214  }
 51215  
 51216  // IfNoneMatch sets the optional parameter which makes the operation
 51217  // fail if the object's ETag matches the given value. This is useful for
 51218  // getting updates only after the object has changed since the last
 51219  // request. Use googleapi.IsNotModified to check whether the response
 51220  // error from Do is the result of In-None-Match.
 51221  func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
 51222  	c.ifNoneMatch_ = entityTag
 51223  	return c
 51224  }
 51225  
 51226  // Context sets the context to be used in this call's Do method. Any
 51227  // pending HTTP request will be aborted if the provided context is
 51228  // canceled.
 51229  func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
 51230  	c.ctx_ = ctx
 51231  	return c
 51232  }
 51233  
 51234  // Header returns an http.Header that can be modified by the caller to
 51235  // add HTTP headers to the request.
 51236  func (c *UserRolePermissionGroupsListCall) Header() http.Header {
 51237  	if c.header_ == nil {
 51238  		c.header_ = make(http.Header)
 51239  	}
 51240  	return c.header_
 51241  }
 51242  
 51243  func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 51244  	reqHeaders := make(http.Header)
 51245  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 51246  	for k, v := range c.header_ {
 51247  		reqHeaders[k] = v
 51248  	}
 51249  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51250  	if c.ifNoneMatch_ != "" {
 51251  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 51252  	}
 51253  	var body io.Reader = nil
 51254  	c.urlParams_.Set("alt", alt)
 51255  	c.urlParams_.Set("prettyPrint", "false")
 51256  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
 51257  	urls += "?" + c.urlParams_.Encode()
 51258  	req, err := http.NewRequest("GET", urls, body)
 51259  	if err != nil {
 51260  		return nil, err
 51261  	}
 51262  	req.Header = reqHeaders
 51263  	googleapi.Expand(req.URL, map[string]string{
 51264  		"profileId": strconv.FormatInt(c.profileId, 10),
 51265  	})
 51266  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51267  }
 51268  
 51269  // Do executes the "dfareporting.userRolePermissionGroups.list" call.
 51270  // Exactly one of *UserRolePermissionGroupsListResponse or error will be
 51271  // non-nil. Any non-2xx status code is an error. Response headers are in
 51272  // either *UserRolePermissionGroupsListResponse.ServerResponse.Header or
 51273  // (if a response was returned at all) in
 51274  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 51275  // whether the returned error was because http.StatusNotModified was
 51276  // returned.
 51277  func (c *UserRolePermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroupsListResponse, error) {
 51278  	gensupport.SetOptions(c.urlParams_, opts...)
 51279  	res, err := c.doRequest("json")
 51280  	if res != nil && res.StatusCode == http.StatusNotModified {
 51281  		if res.Body != nil {
 51282  			res.Body.Close()
 51283  		}
 51284  		return nil, &googleapi.Error{
 51285  			Code:   res.StatusCode,
 51286  			Header: res.Header,
 51287  		}
 51288  	}
 51289  	if err != nil {
 51290  		return nil, err
 51291  	}
 51292  	defer googleapi.CloseBody(res)
 51293  	if err := googleapi.CheckResponse(res); err != nil {
 51294  		return nil, err
 51295  	}
 51296  	ret := &UserRolePermissionGroupsListResponse{
 51297  		ServerResponse: googleapi.ServerResponse{
 51298  			Header:         res.Header,
 51299  			HTTPStatusCode: res.StatusCode,
 51300  		},
 51301  	}
 51302  	target := &ret
 51303  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51304  		return nil, err
 51305  	}
 51306  	return ret, nil
 51307  	// {
 51308  	//   "description": "Gets a list of all supported user role permission groups.",
 51309  	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups",
 51310  	//   "httpMethod": "GET",
 51311  	//   "id": "dfareporting.userRolePermissionGroups.list",
 51312  	//   "parameterOrder": [
 51313  	//     "profileId"
 51314  	//   ],
 51315  	//   "parameters": {
 51316  	//     "profileId": {
 51317  	//       "description": "User profile ID associated with this request.",
 51318  	//       "format": "int64",
 51319  	//       "location": "path",
 51320  	//       "required": true,
 51321  	//       "type": "string"
 51322  	//     }
 51323  	//   },
 51324  	//   "path": "userprofiles/{profileId}/userRolePermissionGroups",
 51325  	//   "response": {
 51326  	//     "$ref": "UserRolePermissionGroupsListResponse"
 51327  	//   },
 51328  	//   "scopes": [
 51329  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51330  	//   ]
 51331  	// }
 51332  
 51333  }
 51334  
 51335  // method id "dfareporting.userRolePermissions.get":
 51336  
 51337  type UserRolePermissionsGetCall struct {
 51338  	s            *Service
 51339  	profileId    int64
 51340  	id           int64
 51341  	urlParams_   gensupport.URLParams
 51342  	ifNoneMatch_ string
 51343  	ctx_         context.Context
 51344  	header_      http.Header
 51345  }
 51346  
 51347  // Get: Gets one user role permission by ID.
 51348  //
 51349  // - id: User role permission ID.
 51350  // - profileId: User profile ID associated with this request.
 51351  func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
 51352  	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51353  	c.profileId = profileId
 51354  	c.id = id
 51355  	return c
 51356  }
 51357  
 51358  // Fields allows partial responses to be retrieved. See
 51359  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51360  // for more information.
 51361  func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
 51362  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51363  	return c
 51364  }
 51365  
 51366  // IfNoneMatch sets the optional parameter which makes the operation
 51367  // fail if the object's ETag matches the given value. This is useful for
 51368  // getting updates only after the object has changed since the last
 51369  // request. Use googleapi.IsNotModified to check whether the response
 51370  // error from Do is the result of In-None-Match.
 51371  func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
 51372  	c.ifNoneMatch_ = entityTag
 51373  	return c
 51374  }
 51375  
 51376  // Context sets the context to be used in this call's Do method. Any
 51377  // pending HTTP request will be aborted if the provided context is
 51378  // canceled.
 51379  func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
 51380  	c.ctx_ = ctx
 51381  	return c
 51382  }
 51383  
 51384  // Header returns an http.Header that can be modified by the caller to
 51385  // add HTTP headers to the request.
 51386  func (c *UserRolePermissionsGetCall) Header() http.Header {
 51387  	if c.header_ == nil {
 51388  		c.header_ = make(http.Header)
 51389  	}
 51390  	return c.header_
 51391  }
 51392  
 51393  func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 51394  	reqHeaders := make(http.Header)
 51395  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 51396  	for k, v := range c.header_ {
 51397  		reqHeaders[k] = v
 51398  	}
 51399  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51400  	if c.ifNoneMatch_ != "" {
 51401  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 51402  	}
 51403  	var body io.Reader = nil
 51404  	c.urlParams_.Set("alt", alt)
 51405  	c.urlParams_.Set("prettyPrint", "false")
 51406  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
 51407  	urls += "?" + c.urlParams_.Encode()
 51408  	req, err := http.NewRequest("GET", urls, body)
 51409  	if err != nil {
 51410  		return nil, err
 51411  	}
 51412  	req.Header = reqHeaders
 51413  	googleapi.Expand(req.URL, map[string]string{
 51414  		"profileId": strconv.FormatInt(c.profileId, 10),
 51415  		"id":        strconv.FormatInt(c.id, 10),
 51416  	})
 51417  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51418  }
 51419  
 51420  // Do executes the "dfareporting.userRolePermissions.get" call.
 51421  // Exactly one of *UserRolePermission or error will be non-nil. Any
 51422  // non-2xx status code is an error. Response headers are in either
 51423  // *UserRolePermission.ServerResponse.Header or (if a response was
 51424  // returned at all) in error.(*googleapi.Error).Header. Use
 51425  // googleapi.IsNotModified to check whether the returned error was
 51426  // because http.StatusNotModified was returned.
 51427  func (c *UserRolePermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermission, error) {
 51428  	gensupport.SetOptions(c.urlParams_, opts...)
 51429  	res, err := c.doRequest("json")
 51430  	if res != nil && res.StatusCode == http.StatusNotModified {
 51431  		if res.Body != nil {
 51432  			res.Body.Close()
 51433  		}
 51434  		return nil, &googleapi.Error{
 51435  			Code:   res.StatusCode,
 51436  			Header: res.Header,
 51437  		}
 51438  	}
 51439  	if err != nil {
 51440  		return nil, err
 51441  	}
 51442  	defer googleapi.CloseBody(res)
 51443  	if err := googleapi.CheckResponse(res); err != nil {
 51444  		return nil, err
 51445  	}
 51446  	ret := &UserRolePermission{
 51447  		ServerResponse: googleapi.ServerResponse{
 51448  			Header:         res.Header,
 51449  			HTTPStatusCode: res.StatusCode,
 51450  		},
 51451  	}
 51452  	target := &ret
 51453  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51454  		return nil, err
 51455  	}
 51456  	return ret, nil
 51457  	// {
 51458  	//   "description": "Gets one user role permission by ID.",
 51459  	//   "flatPath": "userprofiles/{profileId}/userRolePermissions/{id}",
 51460  	//   "httpMethod": "GET",
 51461  	//   "id": "dfareporting.userRolePermissions.get",
 51462  	//   "parameterOrder": [
 51463  	//     "profileId",
 51464  	//     "id"
 51465  	//   ],
 51466  	//   "parameters": {
 51467  	//     "id": {
 51468  	//       "description": "User role permission ID.",
 51469  	//       "format": "int64",
 51470  	//       "location": "path",
 51471  	//       "required": true,
 51472  	//       "type": "string"
 51473  	//     },
 51474  	//     "profileId": {
 51475  	//       "description": "User profile ID associated with this request.",
 51476  	//       "format": "int64",
 51477  	//       "location": "path",
 51478  	//       "required": true,
 51479  	//       "type": "string"
 51480  	//     }
 51481  	//   },
 51482  	//   "path": "userprofiles/{profileId}/userRolePermissions/{id}",
 51483  	//   "response": {
 51484  	//     "$ref": "UserRolePermission"
 51485  	//   },
 51486  	//   "scopes": [
 51487  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51488  	//   ]
 51489  	// }
 51490  
 51491  }
 51492  
 51493  // method id "dfareporting.userRolePermissions.list":
 51494  
 51495  type UserRolePermissionsListCall struct {
 51496  	s            *Service
 51497  	profileId    int64
 51498  	urlParams_   gensupport.URLParams
 51499  	ifNoneMatch_ string
 51500  	ctx_         context.Context
 51501  	header_      http.Header
 51502  }
 51503  
 51504  // List: Gets a list of user role permissions, possibly filtered.
 51505  //
 51506  // - profileId: User profile ID associated with this request.
 51507  func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
 51508  	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51509  	c.profileId = profileId
 51510  	return c
 51511  }
 51512  
 51513  // Ids sets the optional parameter "ids": Select only user role
 51514  // permissions with these IDs.
 51515  func (c *UserRolePermissionsListCall) Ids(ids ...int64) *UserRolePermissionsListCall {
 51516  	var ids_ []string
 51517  	for _, v := range ids {
 51518  		ids_ = append(ids_, fmt.Sprint(v))
 51519  	}
 51520  	c.urlParams_.SetMulti("ids", ids_)
 51521  	return c
 51522  }
 51523  
 51524  // Fields allows partial responses to be retrieved. See
 51525  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51526  // for more information.
 51527  func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
 51528  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51529  	return c
 51530  }
 51531  
 51532  // IfNoneMatch sets the optional parameter which makes the operation
 51533  // fail if the object's ETag matches the given value. This is useful for
 51534  // getting updates only after the object has changed since the last
 51535  // request. Use googleapi.IsNotModified to check whether the response
 51536  // error from Do is the result of In-None-Match.
 51537  func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
 51538  	c.ifNoneMatch_ = entityTag
 51539  	return c
 51540  }
 51541  
 51542  // Context sets the context to be used in this call's Do method. Any
 51543  // pending HTTP request will be aborted if the provided context is
 51544  // canceled.
 51545  func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
 51546  	c.ctx_ = ctx
 51547  	return c
 51548  }
 51549  
 51550  // Header returns an http.Header that can be modified by the caller to
 51551  // add HTTP headers to the request.
 51552  func (c *UserRolePermissionsListCall) Header() http.Header {
 51553  	if c.header_ == nil {
 51554  		c.header_ = make(http.Header)
 51555  	}
 51556  	return c.header_
 51557  }
 51558  
 51559  func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
 51560  	reqHeaders := make(http.Header)
 51561  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 51562  	for k, v := range c.header_ {
 51563  		reqHeaders[k] = v
 51564  	}
 51565  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51566  	if c.ifNoneMatch_ != "" {
 51567  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 51568  	}
 51569  	var body io.Reader = nil
 51570  	c.urlParams_.Set("alt", alt)
 51571  	c.urlParams_.Set("prettyPrint", "false")
 51572  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
 51573  	urls += "?" + c.urlParams_.Encode()
 51574  	req, err := http.NewRequest("GET", urls, body)
 51575  	if err != nil {
 51576  		return nil, err
 51577  	}
 51578  	req.Header = reqHeaders
 51579  	googleapi.Expand(req.URL, map[string]string{
 51580  		"profileId": strconv.FormatInt(c.profileId, 10),
 51581  	})
 51582  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51583  }
 51584  
 51585  // Do executes the "dfareporting.userRolePermissions.list" call.
 51586  // Exactly one of *UserRolePermissionsListResponse or error will be
 51587  // non-nil. Any non-2xx status code is an error. Response headers are in
 51588  // either *UserRolePermissionsListResponse.ServerResponse.Header or (if
 51589  // a response was returned at all) in error.(*googleapi.Error).Header.
 51590  // Use googleapi.IsNotModified to check whether the returned error was
 51591  // because http.StatusNotModified was returned.
 51592  func (c *UserRolePermissionsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionsListResponse, error) {
 51593  	gensupport.SetOptions(c.urlParams_, opts...)
 51594  	res, err := c.doRequest("json")
 51595  	if res != nil && res.StatusCode == http.StatusNotModified {
 51596  		if res.Body != nil {
 51597  			res.Body.Close()
 51598  		}
 51599  		return nil, &googleapi.Error{
 51600  			Code:   res.StatusCode,
 51601  			Header: res.Header,
 51602  		}
 51603  	}
 51604  	if err != nil {
 51605  		return nil, err
 51606  	}
 51607  	defer googleapi.CloseBody(res)
 51608  	if err := googleapi.CheckResponse(res); err != nil {
 51609  		return nil, err
 51610  	}
 51611  	ret := &UserRolePermissionsListResponse{
 51612  		ServerResponse: googleapi.ServerResponse{
 51613  			Header:         res.Header,
 51614  			HTTPStatusCode: res.StatusCode,
 51615  		},
 51616  	}
 51617  	target := &ret
 51618  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51619  		return nil, err
 51620  	}
 51621  	return ret, nil
 51622  	// {
 51623  	//   "description": "Gets a list of user role permissions, possibly filtered.",
 51624  	//   "flatPath": "userprofiles/{profileId}/userRolePermissions",
 51625  	//   "httpMethod": "GET",
 51626  	//   "id": "dfareporting.userRolePermissions.list",
 51627  	//   "parameterOrder": [
 51628  	//     "profileId"
 51629  	//   ],
 51630  	//   "parameters": {
 51631  	//     "ids": {
 51632  	//       "description": "Select only user role permissions with these IDs.",
 51633  	//       "format": "int64",
 51634  	//       "location": "query",
 51635  	//       "repeated": true,
 51636  	//       "type": "string"
 51637  	//     },
 51638  	//     "profileId": {
 51639  	//       "description": "User profile ID associated with this request.",
 51640  	//       "format": "int64",
 51641  	//       "location": "path",
 51642  	//       "required": true,
 51643  	//       "type": "string"
 51644  	//     }
 51645  	//   },
 51646  	//   "path": "userprofiles/{profileId}/userRolePermissions",
 51647  	//   "response": {
 51648  	//     "$ref": "UserRolePermissionsListResponse"
 51649  	//   },
 51650  	//   "scopes": [
 51651  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51652  	//   ]
 51653  	// }
 51654  
 51655  }
 51656  
 51657  // method id "dfareporting.userRoles.delete":
 51658  
 51659  type UserRolesDeleteCall struct {
 51660  	s          *Service
 51661  	profileId  int64
 51662  	id         int64
 51663  	urlParams_ gensupport.URLParams
 51664  	ctx_       context.Context
 51665  	header_    http.Header
 51666  }
 51667  
 51668  // Delete: Deletes an existing user role.
 51669  //
 51670  // - id: User role ID.
 51671  // - profileId: User profile ID associated with this request.
 51672  func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
 51673  	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51674  	c.profileId = profileId
 51675  	c.id = id
 51676  	return c
 51677  }
 51678  
 51679  // Fields allows partial responses to be retrieved. See
 51680  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51681  // for more information.
 51682  func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
 51683  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51684  	return c
 51685  }
 51686  
 51687  // Context sets the context to be used in this call's Do method. Any
 51688  // pending HTTP request will be aborted if the provided context is
 51689  // canceled.
 51690  func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
 51691  	c.ctx_ = ctx
 51692  	return c
 51693  }
 51694  
 51695  // Header returns an http.Header that can be modified by the caller to
 51696  // add HTTP headers to the request.
 51697  func (c *UserRolesDeleteCall) Header() http.Header {
 51698  	if c.header_ == nil {
 51699  		c.header_ = make(http.Header)
 51700  	}
 51701  	return c.header_
 51702  }
 51703  
 51704  func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 51705  	reqHeaders := make(http.Header)
 51706  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 51707  	for k, v := range c.header_ {
 51708  		reqHeaders[k] = v
 51709  	}
 51710  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51711  	var body io.Reader = nil
 51712  	c.urlParams_.Set("alt", alt)
 51713  	c.urlParams_.Set("prettyPrint", "false")
 51714  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
 51715  	urls += "?" + c.urlParams_.Encode()
 51716  	req, err := http.NewRequest("DELETE", urls, body)
 51717  	if err != nil {
 51718  		return nil, err
 51719  	}
 51720  	req.Header = reqHeaders
 51721  	googleapi.Expand(req.URL, map[string]string{
 51722  		"profileId": strconv.FormatInt(c.profileId, 10),
 51723  		"id":        strconv.FormatInt(c.id, 10),
 51724  	})
 51725  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51726  }
 51727  
 51728  // Do executes the "dfareporting.userRoles.delete" call.
 51729  func (c *UserRolesDeleteCall) Do(opts ...googleapi.CallOption) error {
 51730  	gensupport.SetOptions(c.urlParams_, opts...)
 51731  	res, err := c.doRequest("json")
 51732  	if err != nil {
 51733  		return err
 51734  	}
 51735  	defer googleapi.CloseBody(res)
 51736  	if err := googleapi.CheckResponse(res); err != nil {
 51737  		return err
 51738  	}
 51739  	return nil
 51740  	// {
 51741  	//   "description": "Deletes an existing user role.",
 51742  	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
 51743  	//   "httpMethod": "DELETE",
 51744  	//   "id": "dfareporting.userRoles.delete",
 51745  	//   "parameterOrder": [
 51746  	//     "profileId",
 51747  	//     "id"
 51748  	//   ],
 51749  	//   "parameters": {
 51750  	//     "id": {
 51751  	//       "description": "User role ID.",
 51752  	//       "format": "int64",
 51753  	//       "location": "path",
 51754  	//       "required": true,
 51755  	//       "type": "string"
 51756  	//     },
 51757  	//     "profileId": {
 51758  	//       "description": "User profile ID associated with this request.",
 51759  	//       "format": "int64",
 51760  	//       "location": "path",
 51761  	//       "required": true,
 51762  	//       "type": "string"
 51763  	//     }
 51764  	//   },
 51765  	//   "path": "userprofiles/{profileId}/userRoles/{id}",
 51766  	//   "scopes": [
 51767  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51768  	//   ]
 51769  	// }
 51770  
 51771  }
 51772  
 51773  // method id "dfareporting.userRoles.get":
 51774  
 51775  type UserRolesGetCall struct {
 51776  	s            *Service
 51777  	profileId    int64
 51778  	id           int64
 51779  	urlParams_   gensupport.URLParams
 51780  	ifNoneMatch_ string
 51781  	ctx_         context.Context
 51782  	header_      http.Header
 51783  }
 51784  
 51785  // Get: Gets one user role by ID.
 51786  //
 51787  // - id: User role ID.
 51788  // - profileId: User profile ID associated with this request.
 51789  func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
 51790  	c := &UserRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51791  	c.profileId = profileId
 51792  	c.id = id
 51793  	return c
 51794  }
 51795  
 51796  // Fields allows partial responses to be retrieved. See
 51797  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51798  // for more information.
 51799  func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
 51800  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51801  	return c
 51802  }
 51803  
 51804  // IfNoneMatch sets the optional parameter which makes the operation
 51805  // fail if the object's ETag matches the given value. This is useful for
 51806  // getting updates only after the object has changed since the last
 51807  // request. Use googleapi.IsNotModified to check whether the response
 51808  // error from Do is the result of In-None-Match.
 51809  func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
 51810  	c.ifNoneMatch_ = entityTag
 51811  	return c
 51812  }
 51813  
 51814  // Context sets the context to be used in this call's Do method. Any
 51815  // pending HTTP request will be aborted if the provided context is
 51816  // canceled.
 51817  func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
 51818  	c.ctx_ = ctx
 51819  	return c
 51820  }
 51821  
 51822  // Header returns an http.Header that can be modified by the caller to
 51823  // add HTTP headers to the request.
 51824  func (c *UserRolesGetCall) Header() http.Header {
 51825  	if c.header_ == nil {
 51826  		c.header_ = make(http.Header)
 51827  	}
 51828  	return c.header_
 51829  }
 51830  
 51831  func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
 51832  	reqHeaders := make(http.Header)
 51833  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 51834  	for k, v := range c.header_ {
 51835  		reqHeaders[k] = v
 51836  	}
 51837  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51838  	if c.ifNoneMatch_ != "" {
 51839  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 51840  	}
 51841  	var body io.Reader = nil
 51842  	c.urlParams_.Set("alt", alt)
 51843  	c.urlParams_.Set("prettyPrint", "false")
 51844  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
 51845  	urls += "?" + c.urlParams_.Encode()
 51846  	req, err := http.NewRequest("GET", urls, body)
 51847  	if err != nil {
 51848  		return nil, err
 51849  	}
 51850  	req.Header = reqHeaders
 51851  	googleapi.Expand(req.URL, map[string]string{
 51852  		"profileId": strconv.FormatInt(c.profileId, 10),
 51853  		"id":        strconv.FormatInt(c.id, 10),
 51854  	})
 51855  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51856  }
 51857  
 51858  // Do executes the "dfareporting.userRoles.get" call.
 51859  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 51860  // code is an error. Response headers are in either
 51861  // *UserRole.ServerResponse.Header or (if a response was returned at
 51862  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 51863  // to check whether the returned error was because
 51864  // http.StatusNotModified was returned.
 51865  func (c *UserRolesGetCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 51866  	gensupport.SetOptions(c.urlParams_, opts...)
 51867  	res, err := c.doRequest("json")
 51868  	if res != nil && res.StatusCode == http.StatusNotModified {
 51869  		if res.Body != nil {
 51870  			res.Body.Close()
 51871  		}
 51872  		return nil, &googleapi.Error{
 51873  			Code:   res.StatusCode,
 51874  			Header: res.Header,
 51875  		}
 51876  	}
 51877  	if err != nil {
 51878  		return nil, err
 51879  	}
 51880  	defer googleapi.CloseBody(res)
 51881  	if err := googleapi.CheckResponse(res); err != nil {
 51882  		return nil, err
 51883  	}
 51884  	ret := &UserRole{
 51885  		ServerResponse: googleapi.ServerResponse{
 51886  			Header:         res.Header,
 51887  			HTTPStatusCode: res.StatusCode,
 51888  		},
 51889  	}
 51890  	target := &ret
 51891  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51892  		return nil, err
 51893  	}
 51894  	return ret, nil
 51895  	// {
 51896  	//   "description": "Gets one user role by ID.",
 51897  	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
 51898  	//   "httpMethod": "GET",
 51899  	//   "id": "dfareporting.userRoles.get",
 51900  	//   "parameterOrder": [
 51901  	//     "profileId",
 51902  	//     "id"
 51903  	//   ],
 51904  	//   "parameters": {
 51905  	//     "id": {
 51906  	//       "description": "User role ID.",
 51907  	//       "format": "int64",
 51908  	//       "location": "path",
 51909  	//       "required": true,
 51910  	//       "type": "string"
 51911  	//     },
 51912  	//     "profileId": {
 51913  	//       "description": "User profile ID associated with this request.",
 51914  	//       "format": "int64",
 51915  	//       "location": "path",
 51916  	//       "required": true,
 51917  	//       "type": "string"
 51918  	//     }
 51919  	//   },
 51920  	//   "path": "userprofiles/{profileId}/userRoles/{id}",
 51921  	//   "response": {
 51922  	//     "$ref": "UserRole"
 51923  	//   },
 51924  	//   "scopes": [
 51925  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51926  	//   ]
 51927  	// }
 51928  
 51929  }
 51930  
 51931  // method id "dfareporting.userRoles.insert":
 51932  
 51933  type UserRolesInsertCall struct {
 51934  	s          *Service
 51935  	profileId  int64
 51936  	userrole   *UserRole
 51937  	urlParams_ gensupport.URLParams
 51938  	ctx_       context.Context
 51939  	header_    http.Header
 51940  }
 51941  
 51942  // Insert: Inserts a new user role.
 51943  //
 51944  // - profileId: User profile ID associated with this request.
 51945  func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
 51946  	c := &UserRolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51947  	c.profileId = profileId
 51948  	c.userrole = userrole
 51949  	return c
 51950  }
 51951  
 51952  // Fields allows partial responses to be retrieved. See
 51953  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51954  // for more information.
 51955  func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
 51956  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51957  	return c
 51958  }
 51959  
 51960  // Context sets the context to be used in this call's Do method. Any
 51961  // pending HTTP request will be aborted if the provided context is
 51962  // canceled.
 51963  func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
 51964  	c.ctx_ = ctx
 51965  	return c
 51966  }
 51967  
 51968  // Header returns an http.Header that can be modified by the caller to
 51969  // add HTTP headers to the request.
 51970  func (c *UserRolesInsertCall) Header() http.Header {
 51971  	if c.header_ == nil {
 51972  		c.header_ = make(http.Header)
 51973  	}
 51974  	return c.header_
 51975  }
 51976  
 51977  func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
 51978  	reqHeaders := make(http.Header)
 51979  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 51980  	for k, v := range c.header_ {
 51981  		reqHeaders[k] = v
 51982  	}
 51983  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51984  	var body io.Reader = nil
 51985  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 51986  	if err != nil {
 51987  		return nil, err
 51988  	}
 51989  	reqHeaders.Set("Content-Type", "application/json")
 51990  	c.urlParams_.Set("alt", alt)
 51991  	c.urlParams_.Set("prettyPrint", "false")
 51992  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 51993  	urls += "?" + c.urlParams_.Encode()
 51994  	req, err := http.NewRequest("POST", urls, body)
 51995  	if err != nil {
 51996  		return nil, err
 51997  	}
 51998  	req.Header = reqHeaders
 51999  	googleapi.Expand(req.URL, map[string]string{
 52000  		"profileId": strconv.FormatInt(c.profileId, 10),
 52001  	})
 52002  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 52003  }
 52004  
 52005  // Do executes the "dfareporting.userRoles.insert" call.
 52006  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 52007  // code is an error. Response headers are in either
 52008  // *UserRole.ServerResponse.Header or (if a response was returned at
 52009  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 52010  // to check whether the returned error was because
 52011  // http.StatusNotModified was returned.
 52012  func (c *UserRolesInsertCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 52013  	gensupport.SetOptions(c.urlParams_, opts...)
 52014  	res, err := c.doRequest("json")
 52015  	if res != nil && res.StatusCode == http.StatusNotModified {
 52016  		if res.Body != nil {
 52017  			res.Body.Close()
 52018  		}
 52019  		return nil, &googleapi.Error{
 52020  			Code:   res.StatusCode,
 52021  			Header: res.Header,
 52022  		}
 52023  	}
 52024  	if err != nil {
 52025  		return nil, err
 52026  	}
 52027  	defer googleapi.CloseBody(res)
 52028  	if err := googleapi.CheckResponse(res); err != nil {
 52029  		return nil, err
 52030  	}
 52031  	ret := &UserRole{
 52032  		ServerResponse: googleapi.ServerResponse{
 52033  			Header:         res.Header,
 52034  			HTTPStatusCode: res.StatusCode,
 52035  		},
 52036  	}
 52037  	target := &ret
 52038  	if err := gensupport.DecodeResponse(target, res); err != nil {
 52039  		return nil, err
 52040  	}
 52041  	return ret, nil
 52042  	// {
 52043  	//   "description": "Inserts a new user role.",
 52044  	//   "flatPath": "userprofiles/{profileId}/userRoles",
 52045  	//   "httpMethod": "POST",
 52046  	//   "id": "dfareporting.userRoles.insert",
 52047  	//   "parameterOrder": [
 52048  	//     "profileId"
 52049  	//   ],
 52050  	//   "parameters": {
 52051  	//     "profileId": {
 52052  	//       "description": "User profile ID associated with this request.",
 52053  	//       "format": "int64",
 52054  	//       "location": "path",
 52055  	//       "required": true,
 52056  	//       "type": "string"
 52057  	//     }
 52058  	//   },
 52059  	//   "path": "userprofiles/{profileId}/userRoles",
 52060  	//   "request": {
 52061  	//     "$ref": "UserRole"
 52062  	//   },
 52063  	//   "response": {
 52064  	//     "$ref": "UserRole"
 52065  	//   },
 52066  	//   "scopes": [
 52067  	//     "https://www.googleapis.com/auth/dfatrafficking"
 52068  	//   ]
 52069  	// }
 52070  
 52071  }
 52072  
 52073  // method id "dfareporting.userRoles.list":
 52074  
 52075  type UserRolesListCall struct {
 52076  	s            *Service
 52077  	profileId    int64
 52078  	urlParams_   gensupport.URLParams
 52079  	ifNoneMatch_ string
 52080  	ctx_         context.Context
 52081  	header_      http.Header
 52082  }
 52083  
 52084  // List: Retrieves a list of user roles, possibly filtered. This method
 52085  // supports paging.
 52086  //
 52087  // - profileId: User profile ID associated with this request.
 52088  func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
 52089  	c := &UserRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 52090  	c.profileId = profileId
 52091  	return c
 52092  }
 52093  
 52094  // AccountUserRoleOnly sets the optional parameter
 52095  // "accountUserRoleOnly": Select only account level user roles not
 52096  // associated with any specific subaccount.
 52097  func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
 52098  	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprint(accountUserRoleOnly))
 52099  	return c
 52100  }
 52101  
 52102  // Ids sets the optional parameter "ids": Select only user roles with
 52103  // the specified IDs.
 52104  func (c *UserRolesListCall) Ids(ids ...int64) *UserRolesListCall {
 52105  	var ids_ []string
 52106  	for _, v := range ids {
 52107  		ids_ = append(ids_, fmt.Sprint(v))
 52108  	}
 52109  	c.urlParams_.SetMulti("ids", ids_)
 52110  	return c
 52111  }
 52112  
 52113  // MaxResults sets the optional parameter "maxResults": Maximum number
 52114  // of results to return.
 52115  func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
 52116  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 52117  	return c
 52118  }
 52119  
 52120  // PageToken sets the optional parameter "pageToken": Value of the
 52121  // nextPageToken from the previous result page.
 52122  func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
 52123  	c.urlParams_.Set("pageToken", pageToken)
 52124  	return c
 52125  }
 52126  
 52127  // SearchString sets the optional parameter "searchString": Allows
 52128  // searching for objects by name or ID. Wildcards (*) are allowed. For
 52129  // example, "userrole*2015" will return objects with names like
 52130  // "userrole June 2015", "userrole April 2015", or simply "userrole
 52131  // 2015". Most of the searches also add wildcards implicitly at the
 52132  // start and the end of the search string. For example, a search string
 52133  // of "userrole" will match objects with name "my userrole", "userrole
 52134  // 2015", or simply "userrole".
 52135  func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
 52136  	c.urlParams_.Set("searchString", searchString)
 52137  	return c
 52138  }
 52139  
 52140  // SortField sets the optional parameter "sortField": Field by which to
 52141  // sort the list.
 52142  //
 52143  // Possible values:
 52144  //
 52145  //	"ID" (default)
 52146  //	"NAME"
 52147  func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
 52148  	c.urlParams_.Set("sortField", sortField)
 52149  	return c
 52150  }
 52151  
 52152  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 52153  // results.
 52154  //
 52155  // Possible values:
 52156  //
 52157  //	"ASCENDING" (default)
 52158  //	"DESCENDING"
 52159  func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
 52160  	c.urlParams_.Set("sortOrder", sortOrder)
 52161  	return c
 52162  }
 52163  
 52164  // SubaccountId sets the optional parameter "subaccountId": Select only
 52165  // user roles that belong to this subaccount.
 52166  func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
 52167  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 52168  	return c
 52169  }
 52170  
 52171  // Fields allows partial responses to be retrieved. See
 52172  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 52173  // for more information.
 52174  func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
 52175  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 52176  	return c
 52177  }
 52178  
 52179  // IfNoneMatch sets the optional parameter which makes the operation
 52180  // fail if the object's ETag matches the given value. This is useful for
 52181  // getting updates only after the object has changed since the last
 52182  // request. Use googleapi.IsNotModified to check whether the response
 52183  // error from Do is the result of In-None-Match.
 52184  func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
 52185  	c.ifNoneMatch_ = entityTag
 52186  	return c
 52187  }
 52188  
 52189  // Context sets the context to be used in this call's Do method. Any
 52190  // pending HTTP request will be aborted if the provided context is
 52191  // canceled.
 52192  func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
 52193  	c.ctx_ = ctx
 52194  	return c
 52195  }
 52196  
 52197  // Header returns an http.Header that can be modified by the caller to
 52198  // add HTTP headers to the request.
 52199  func (c *UserRolesListCall) Header() http.Header {
 52200  	if c.header_ == nil {
 52201  		c.header_ = make(http.Header)
 52202  	}
 52203  	return c.header_
 52204  }
 52205  
 52206  func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
 52207  	reqHeaders := make(http.Header)
 52208  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 52209  	for k, v := range c.header_ {
 52210  		reqHeaders[k] = v
 52211  	}
 52212  	reqHeaders.Set("User-Agent", c.s.userAgent())
 52213  	if c.ifNoneMatch_ != "" {
 52214  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 52215  	}
 52216  	var body io.Reader = nil
 52217  	c.urlParams_.Set("alt", alt)
 52218  	c.urlParams_.Set("prettyPrint", "false")
 52219  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 52220  	urls += "?" + c.urlParams_.Encode()
 52221  	req, err := http.NewRequest("GET", urls, body)
 52222  	if err != nil {
 52223  		return nil, err
 52224  	}
 52225  	req.Header = reqHeaders
 52226  	googleapi.Expand(req.URL, map[string]string{
 52227  		"profileId": strconv.FormatInt(c.profileId, 10),
 52228  	})
 52229  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 52230  }
 52231  
 52232  // Do executes the "dfareporting.userRoles.list" call.
 52233  // Exactly one of *UserRolesListResponse or error will be non-nil. Any
 52234  // non-2xx status code is an error. Response headers are in either
 52235  // *UserRolesListResponse.ServerResponse.Header or (if a response was
 52236  // returned at all) in error.(*googleapi.Error).Header. Use
 52237  // googleapi.IsNotModified to check whether the returned error was
 52238  // because http.StatusNotModified was returned.
 52239  func (c *UserRolesListCall) Do(opts ...googleapi.CallOption) (*UserRolesListResponse, error) {
 52240  	gensupport.SetOptions(c.urlParams_, opts...)
 52241  	res, err := c.doRequest("json")
 52242  	if res != nil && res.StatusCode == http.StatusNotModified {
 52243  		if res.Body != nil {
 52244  			res.Body.Close()
 52245  		}
 52246  		return nil, &googleapi.Error{
 52247  			Code:   res.StatusCode,
 52248  			Header: res.Header,
 52249  		}
 52250  	}
 52251  	if err != nil {
 52252  		return nil, err
 52253  	}
 52254  	defer googleapi.CloseBody(res)
 52255  	if err := googleapi.CheckResponse(res); err != nil {
 52256  		return nil, err
 52257  	}
 52258  	ret := &UserRolesListResponse{
 52259  		ServerResponse: googleapi.ServerResponse{
 52260  			Header:         res.Header,
 52261  			HTTPStatusCode: res.StatusCode,
 52262  		},
 52263  	}
 52264  	target := &ret
 52265  	if err := gensupport.DecodeResponse(target, res); err != nil {
 52266  		return nil, err
 52267  	}
 52268  	return ret, nil
 52269  	// {
 52270  	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
 52271  	//   "flatPath": "userprofiles/{profileId}/userRoles",
 52272  	//   "httpMethod": "GET",
 52273  	//   "id": "dfareporting.userRoles.list",
 52274  	//   "parameterOrder": [
 52275  	//     "profileId"
 52276  	//   ],
 52277  	//   "parameters": {
 52278  	//     "accountUserRoleOnly": {
 52279  	//       "description": "Select only account level user roles not associated with any specific subaccount.",
 52280  	//       "location": "query",
 52281  	//       "type": "boolean"
 52282  	//     },
 52283  	//     "ids": {
 52284  	//       "description": "Select only user roles with the specified IDs.",
 52285  	//       "format": "int64",
 52286  	//       "location": "query",
 52287  	//       "repeated": true,
 52288  	//       "type": "string"
 52289  	//     },
 52290  	//     "maxResults": {
 52291  	//       "default": "1000",
 52292  	//       "description": "Maximum number of results to return.",
 52293  	//       "format": "int32",
 52294  	//       "location": "query",
 52295  	//       "maximum": "1000",
 52296  	//       "minimum": "0",
 52297  	//       "type": "integer"
 52298  	//     },
 52299  	//     "pageToken": {
 52300  	//       "description": "Value of the nextPageToken from the previous result page.",
 52301  	//       "location": "query",
 52302  	//       "type": "string"
 52303  	//     },
 52304  	//     "profileId": {
 52305  	//       "description": "User profile ID associated with this request.",
 52306  	//       "format": "int64",
 52307  	//       "location": "path",
 52308  	//       "required": true,
 52309  	//       "type": "string"
 52310  	//     },
 52311  	//     "searchString": {
 52312  	//       "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\".",
 52313  	//       "location": "query",
 52314  	//       "type": "string"
 52315  	//     },
 52316  	//     "sortField": {
 52317  	//       "default": "ID",
 52318  	//       "description": "Field by which to sort the list.",
 52319  	//       "enum": [
 52320  	//         "ID",
 52321  	//         "NAME"
 52322  	//       ],
 52323  	//       "enumDescriptions": [
 52324  	//         "",
 52325  	//         ""
 52326  	//       ],
 52327  	//       "location": "query",
 52328  	//       "type": "string"
 52329  	//     },
 52330  	//     "sortOrder": {
 52331  	//       "default": "ASCENDING",
 52332  	//       "description": "Order of sorted results.",
 52333  	//       "enum": [
 52334  	//         "ASCENDING",
 52335  	//         "DESCENDING"
 52336  	//       ],
 52337  	//       "enumDescriptions": [
 52338  	//         "",
 52339  	//         ""
 52340  	//       ],
 52341  	//       "location": "query",
 52342  	//       "type": "string"
 52343  	//     },
 52344  	//     "subaccountId": {
 52345  	//       "description": "Select only user roles that belong to this subaccount.",
 52346  	//       "format": "int64",
 52347  	//       "location": "query",
 52348  	//       "type": "string"
 52349  	//     }
 52350  	//   },
 52351  	//   "path": "userprofiles/{profileId}/userRoles",
 52352  	//   "response": {
 52353  	//     "$ref": "UserRolesListResponse"
 52354  	//   },
 52355  	//   "scopes": [
 52356  	//     "https://www.googleapis.com/auth/dfatrafficking"
 52357  	//   ]
 52358  	// }
 52359  
 52360  }
 52361  
 52362  // Pages invokes f for each page of results.
 52363  // A non-nil error returned from f will halt the iteration.
 52364  // The provided context supersedes any context provided to the Context method.
 52365  func (c *UserRolesListCall) Pages(ctx context.Context, f func(*UserRolesListResponse) error) error {
 52366  	c.ctx_ = ctx
 52367  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 52368  	for {
 52369  		x, err := c.Do()
 52370  		if err != nil {
 52371  			return err
 52372  		}
 52373  		if err := f(x); err != nil {
 52374  			return err
 52375  		}
 52376  		if x.NextPageToken == "" {
 52377  			return nil
 52378  		}
 52379  		c.PageToken(x.NextPageToken)
 52380  	}
 52381  }
 52382  
 52383  // method id "dfareporting.userRoles.patch":
 52384  
 52385  type UserRolesPatchCall struct {
 52386  	s          *Service
 52387  	profileId  int64
 52388  	userrole   *UserRole
 52389  	urlParams_ gensupport.URLParams
 52390  	ctx_       context.Context
 52391  	header_    http.Header
 52392  }
 52393  
 52394  // Patch: Updates an existing user role. This method supports patch
 52395  // semantics.
 52396  //
 52397  // - id: UserRole ID.
 52398  // - profileId: User profile ID associated with this request.
 52399  func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
 52400  	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 52401  	c.profileId = profileId
 52402  	c.urlParams_.Set("id", fmt.Sprint(id))
 52403  	c.userrole = userrole
 52404  	return c
 52405  }
 52406  
 52407  // Fields allows partial responses to be retrieved. See
 52408  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 52409  // for more information.
 52410  func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
 52411  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 52412  	return c
 52413  }
 52414  
 52415  // Context sets the context to be used in this call's Do method. Any
 52416  // pending HTTP request will be aborted if the provided context is
 52417  // canceled.
 52418  func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
 52419  	c.ctx_ = ctx
 52420  	return c
 52421  }
 52422  
 52423  // Header returns an http.Header that can be modified by the caller to
 52424  // add HTTP headers to the request.
 52425  func (c *UserRolesPatchCall) Header() http.Header {
 52426  	if c.header_ == nil {
 52427  		c.header_ = make(http.Header)
 52428  	}
 52429  	return c.header_
 52430  }
 52431  
 52432  func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
 52433  	reqHeaders := make(http.Header)
 52434  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 52435  	for k, v := range c.header_ {
 52436  		reqHeaders[k] = v
 52437  	}
 52438  	reqHeaders.Set("User-Agent", c.s.userAgent())
 52439  	var body io.Reader = nil
 52440  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 52441  	if err != nil {
 52442  		return nil, err
 52443  	}
 52444  	reqHeaders.Set("Content-Type", "application/json")
 52445  	c.urlParams_.Set("alt", alt)
 52446  	c.urlParams_.Set("prettyPrint", "false")
 52447  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 52448  	urls += "?" + c.urlParams_.Encode()
 52449  	req, err := http.NewRequest("PATCH", urls, body)
 52450  	if err != nil {
 52451  		return nil, err
 52452  	}
 52453  	req.Header = reqHeaders
 52454  	googleapi.Expand(req.URL, map[string]string{
 52455  		"profileId": strconv.FormatInt(c.profileId, 10),
 52456  	})
 52457  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 52458  }
 52459  
 52460  // Do executes the "dfareporting.userRoles.patch" call.
 52461  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 52462  // code is an error. Response headers are in either
 52463  // *UserRole.ServerResponse.Header or (if a response was returned at
 52464  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 52465  // to check whether the returned error was because
 52466  // http.StatusNotModified was returned.
 52467  func (c *UserRolesPatchCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 52468  	gensupport.SetOptions(c.urlParams_, opts...)
 52469  	res, err := c.doRequest("json")
 52470  	if res != nil && res.StatusCode == http.StatusNotModified {
 52471  		if res.Body != nil {
 52472  			res.Body.Close()
 52473  		}
 52474  		return nil, &googleapi.Error{
 52475  			Code:   res.StatusCode,
 52476  			Header: res.Header,
 52477  		}
 52478  	}
 52479  	if err != nil {
 52480  		return nil, err
 52481  	}
 52482  	defer googleapi.CloseBody(res)
 52483  	if err := googleapi.CheckResponse(res); err != nil {
 52484  		return nil, err
 52485  	}
 52486  	ret := &UserRole{
 52487  		ServerResponse: googleapi.ServerResponse{
 52488  			Header:         res.Header,
 52489  			HTTPStatusCode: res.StatusCode,
 52490  		},
 52491  	}
 52492  	target := &ret
 52493  	if err := gensupport.DecodeResponse(target, res); err != nil {
 52494  		return nil, err
 52495  	}
 52496  	return ret, nil
 52497  	// {
 52498  	//   "description": "Updates an existing user role. This method supports patch semantics.",
 52499  	//   "flatPath": "userprofiles/{profileId}/userRoles",
 52500  	//   "httpMethod": "PATCH",
 52501  	//   "id": "dfareporting.userRoles.patch",
 52502  	//   "parameterOrder": [
 52503  	//     "profileId",
 52504  	//     "id"
 52505  	//   ],
 52506  	//   "parameters": {
 52507  	//     "id": {
 52508  	//       "description": "UserRole ID.",
 52509  	//       "format": "int64",
 52510  	//       "location": "query",
 52511  	//       "required": true,
 52512  	//       "type": "string"
 52513  	//     },
 52514  	//     "profileId": {
 52515  	//       "description": "User profile ID associated with this request.",
 52516  	//       "format": "int64",
 52517  	//       "location": "path",
 52518  	//       "required": true,
 52519  	//       "type": "string"
 52520  	//     }
 52521  	//   },
 52522  	//   "path": "userprofiles/{profileId}/userRoles",
 52523  	//   "request": {
 52524  	//     "$ref": "UserRole"
 52525  	//   },
 52526  	//   "response": {
 52527  	//     "$ref": "UserRole"
 52528  	//   },
 52529  	//   "scopes": [
 52530  	//     "https://www.googleapis.com/auth/dfatrafficking"
 52531  	//   ]
 52532  	// }
 52533  
 52534  }
 52535  
 52536  // method id "dfareporting.userRoles.update":
 52537  
 52538  type UserRolesUpdateCall struct {
 52539  	s          *Service
 52540  	profileId  int64
 52541  	userrole   *UserRole
 52542  	urlParams_ gensupport.URLParams
 52543  	ctx_       context.Context
 52544  	header_    http.Header
 52545  }
 52546  
 52547  // Update: Updates an existing user role.
 52548  //
 52549  // - profileId: User profile ID associated with this request.
 52550  func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
 52551  	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 52552  	c.profileId = profileId
 52553  	c.userrole = userrole
 52554  	return c
 52555  }
 52556  
 52557  // Fields allows partial responses to be retrieved. See
 52558  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 52559  // for more information.
 52560  func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
 52561  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 52562  	return c
 52563  }
 52564  
 52565  // Context sets the context to be used in this call's Do method. Any
 52566  // pending HTTP request will be aborted if the provided context is
 52567  // canceled.
 52568  func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
 52569  	c.ctx_ = ctx
 52570  	return c
 52571  }
 52572  
 52573  // Header returns an http.Header that can be modified by the caller to
 52574  // add HTTP headers to the request.
 52575  func (c *UserRolesUpdateCall) Header() http.Header {
 52576  	if c.header_ == nil {
 52577  		c.header_ = make(http.Header)
 52578  	}
 52579  	return c.header_
 52580  }
 52581  
 52582  func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
 52583  	reqHeaders := make(http.Header)
 52584  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 52585  	for k, v := range c.header_ {
 52586  		reqHeaders[k] = v
 52587  	}
 52588  	reqHeaders.Set("User-Agent", c.s.userAgent())
 52589  	var body io.Reader = nil
 52590  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 52591  	if err != nil {
 52592  		return nil, err
 52593  	}
 52594  	reqHeaders.Set("Content-Type", "application/json")
 52595  	c.urlParams_.Set("alt", alt)
 52596  	c.urlParams_.Set("prettyPrint", "false")
 52597  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 52598  	urls += "?" + c.urlParams_.Encode()
 52599  	req, err := http.NewRequest("PUT", urls, body)
 52600  	if err != nil {
 52601  		return nil, err
 52602  	}
 52603  	req.Header = reqHeaders
 52604  	googleapi.Expand(req.URL, map[string]string{
 52605  		"profileId": strconv.FormatInt(c.profileId, 10),
 52606  	})
 52607  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 52608  }
 52609  
 52610  // Do executes the "dfareporting.userRoles.update" call.
 52611  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 52612  // code is an error. Response headers are in either
 52613  // *UserRole.ServerResponse.Header or (if a response was returned at
 52614  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 52615  // to check whether the returned error was because
 52616  // http.StatusNotModified was returned.
 52617  func (c *UserRolesUpdateCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 52618  	gensupport.SetOptions(c.urlParams_, opts...)
 52619  	res, err := c.doRequest("json")
 52620  	if res != nil && res.StatusCode == http.StatusNotModified {
 52621  		if res.Body != nil {
 52622  			res.Body.Close()
 52623  		}
 52624  		return nil, &googleapi.Error{
 52625  			Code:   res.StatusCode,
 52626  			Header: res.Header,
 52627  		}
 52628  	}
 52629  	if err != nil {
 52630  		return nil, err
 52631  	}
 52632  	defer googleapi.CloseBody(res)
 52633  	if err := googleapi.CheckResponse(res); err != nil {
 52634  		return nil, err
 52635  	}
 52636  	ret := &UserRole{
 52637  		ServerResponse: googleapi.ServerResponse{
 52638  			Header:         res.Header,
 52639  			HTTPStatusCode: res.StatusCode,
 52640  		},
 52641  	}
 52642  	target := &ret
 52643  	if err := gensupport.DecodeResponse(target, res); err != nil {
 52644  		return nil, err
 52645  	}
 52646  	return ret, nil
 52647  	// {
 52648  	//   "description": "Updates an existing user role.",
 52649  	//   "flatPath": "userprofiles/{profileId}/userRoles",
 52650  	//   "httpMethod": "PUT",
 52651  	//   "id": "dfareporting.userRoles.update",
 52652  	//   "parameterOrder": [
 52653  	//     "profileId"
 52654  	//   ],
 52655  	//   "parameters": {
 52656  	//     "profileId": {
 52657  	//       "description": "User profile ID associated with this request.",
 52658  	//       "format": "int64",
 52659  	//       "location": "path",
 52660  	//       "required": true,
 52661  	//       "type": "string"
 52662  	//     }
 52663  	//   },
 52664  	//   "path": "userprofiles/{profileId}/userRoles",
 52665  	//   "request": {
 52666  	//     "$ref": "UserRole"
 52667  	//   },
 52668  	//   "response": {
 52669  	//     "$ref": "UserRole"
 52670  	//   },
 52671  	//   "scopes": [
 52672  	//     "https://www.googleapis.com/auth/dfatrafficking"
 52673  	//   ]
 52674  	// }
 52675  
 52676  }
 52677  
 52678  // method id "dfareporting.videoFormats.get":
 52679  
 52680  type VideoFormatsGetCall struct {
 52681  	s            *Service
 52682  	profileId    int64
 52683  	id           int64
 52684  	urlParams_   gensupport.URLParams
 52685  	ifNoneMatch_ string
 52686  	ctx_         context.Context
 52687  	header_      http.Header
 52688  }
 52689  
 52690  // Get: Gets one video format by ID.
 52691  //
 52692  // - id: Video format ID.
 52693  // - profileId: User profile ID associated with this request.
 52694  func (r *VideoFormatsService) Get(profileId int64, id int64) *VideoFormatsGetCall {
 52695  	c := &VideoFormatsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 52696  	c.profileId = profileId
 52697  	c.id = id
 52698  	return c
 52699  }
 52700  
 52701  // Fields allows partial responses to be retrieved. See
 52702  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 52703  // for more information.
 52704  func (c *VideoFormatsGetCall) Fields(s ...googleapi.Field) *VideoFormatsGetCall {
 52705  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 52706  	return c
 52707  }
 52708  
 52709  // IfNoneMatch sets the optional parameter which makes the operation
 52710  // fail if the object's ETag matches the given value. This is useful for
 52711  // getting updates only after the object has changed since the last
 52712  // request. Use googleapi.IsNotModified to check whether the response
 52713  // error from Do is the result of In-None-Match.
 52714  func (c *VideoFormatsGetCall) IfNoneMatch(entityTag string) *VideoFormatsGetCall {
 52715  	c.ifNoneMatch_ = entityTag
 52716  	return c
 52717  }
 52718  
 52719  // Context sets the context to be used in this call's Do method. Any
 52720  // pending HTTP request will be aborted if the provided context is
 52721  // canceled.
 52722  func (c *VideoFormatsGetCall) Context(ctx context.Context) *VideoFormatsGetCall {
 52723  	c.ctx_ = ctx
 52724  	return c
 52725  }
 52726  
 52727  // Header returns an http.Header that can be modified by the caller to
 52728  // add HTTP headers to the request.
 52729  func (c *VideoFormatsGetCall) Header() http.Header {
 52730  	if c.header_ == nil {
 52731  		c.header_ = make(http.Header)
 52732  	}
 52733  	return c.header_
 52734  }
 52735  
 52736  func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
 52737  	reqHeaders := make(http.Header)
 52738  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 52739  	for k, v := range c.header_ {
 52740  		reqHeaders[k] = v
 52741  	}
 52742  	reqHeaders.Set("User-Agent", c.s.userAgent())
 52743  	if c.ifNoneMatch_ != "" {
 52744  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 52745  	}
 52746  	var body io.Reader = nil
 52747  	c.urlParams_.Set("alt", alt)
 52748  	c.urlParams_.Set("prettyPrint", "false")
 52749  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats/{id}")
 52750  	urls += "?" + c.urlParams_.Encode()
 52751  	req, err := http.NewRequest("GET", urls, body)
 52752  	if err != nil {
 52753  		return nil, err
 52754  	}
 52755  	req.Header = reqHeaders
 52756  	googleapi.Expand(req.URL, map[string]string{
 52757  		"profileId": strconv.FormatInt(c.profileId, 10),
 52758  		"id":        strconv.FormatInt(c.id, 10),
 52759  	})
 52760  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 52761  }
 52762  
 52763  // Do executes the "dfareporting.videoFormats.get" call.
 52764  // Exactly one of *VideoFormat or error will be non-nil. Any non-2xx
 52765  // status code is an error. Response headers are in either
 52766  // *VideoFormat.ServerResponse.Header or (if a response was returned at
 52767  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 52768  // to check whether the returned error was because
 52769  // http.StatusNotModified was returned.
 52770  func (c *VideoFormatsGetCall) Do(opts ...googleapi.CallOption) (*VideoFormat, error) {
 52771  	gensupport.SetOptions(c.urlParams_, opts...)
 52772  	res, err := c.doRequest("json")
 52773  	if res != nil && res.StatusCode == http.StatusNotModified {
 52774  		if res.Body != nil {
 52775  			res.Body.Close()
 52776  		}
 52777  		return nil, &googleapi.Error{
 52778  			Code:   res.StatusCode,
 52779  			Header: res.Header,
 52780  		}
 52781  	}
 52782  	if err != nil {
 52783  		return nil, err
 52784  	}
 52785  	defer googleapi.CloseBody(res)
 52786  	if err := googleapi.CheckResponse(res); err != nil {
 52787  		return nil, err
 52788  	}
 52789  	ret := &VideoFormat{
 52790  		ServerResponse: googleapi.ServerResponse{
 52791  			Header:         res.Header,
 52792  			HTTPStatusCode: res.StatusCode,
 52793  		},
 52794  	}
 52795  	target := &ret
 52796  	if err := gensupport.DecodeResponse(target, res); err != nil {
 52797  		return nil, err
 52798  	}
 52799  	return ret, nil
 52800  	// {
 52801  	//   "description": "Gets one video format by ID.",
 52802  	//   "flatPath": "userprofiles/{profileId}/videoFormats/{id}",
 52803  	//   "httpMethod": "GET",
 52804  	//   "id": "dfareporting.videoFormats.get",
 52805  	//   "parameterOrder": [
 52806  	//     "profileId",
 52807  	//     "id"
 52808  	//   ],
 52809  	//   "parameters": {
 52810  	//     "id": {
 52811  	//       "description": "Video format ID.",
 52812  	//       "format": "int32",
 52813  	//       "location": "path",
 52814  	//       "required": true,
 52815  	//       "type": "integer"
 52816  	//     },
 52817  	//     "profileId": {
 52818  	//       "description": "User profile ID associated with this request.",
 52819  	//       "format": "int64",
 52820  	//       "location": "path",
 52821  	//       "required": true,
 52822  	//       "type": "string"
 52823  	//     }
 52824  	//   },
 52825  	//   "path": "userprofiles/{profileId}/videoFormats/{id}",
 52826  	//   "response": {
 52827  	//     "$ref": "VideoFormat"
 52828  	//   },
 52829  	//   "scopes": [
 52830  	//     "https://www.googleapis.com/auth/dfatrafficking"
 52831  	//   ]
 52832  	// }
 52833  
 52834  }
 52835  
 52836  // method id "dfareporting.videoFormats.list":
 52837  
 52838  type VideoFormatsListCall struct {
 52839  	s            *Service
 52840  	profileId    int64
 52841  	urlParams_   gensupport.URLParams
 52842  	ifNoneMatch_ string
 52843  	ctx_         context.Context
 52844  	header_      http.Header
 52845  }
 52846  
 52847  // List: Lists available video formats.
 52848  //
 52849  // - profileId: User profile ID associated with this request.
 52850  func (r *VideoFormatsService) List(profileId int64) *VideoFormatsListCall {
 52851  	c := &VideoFormatsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 52852  	c.profileId = profileId
 52853  	return c
 52854  }
 52855  
 52856  // Fields allows partial responses to be retrieved. See
 52857  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 52858  // for more information.
 52859  func (c *VideoFormatsListCall) Fields(s ...googleapi.Field) *VideoFormatsListCall {
 52860  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 52861  	return c
 52862  }
 52863  
 52864  // IfNoneMatch sets the optional parameter which makes the operation
 52865  // fail if the object's ETag matches the given value. This is useful for
 52866  // getting updates only after the object has changed since the last
 52867  // request. Use googleapi.IsNotModified to check whether the response
 52868  // error from Do is the result of In-None-Match.
 52869  func (c *VideoFormatsListCall) IfNoneMatch(entityTag string) *VideoFormatsListCall {
 52870  	c.ifNoneMatch_ = entityTag
 52871  	return c
 52872  }
 52873  
 52874  // Context sets the context to be used in this call's Do method. Any
 52875  // pending HTTP request will be aborted if the provided context is
 52876  // canceled.
 52877  func (c *VideoFormatsListCall) Context(ctx context.Context) *VideoFormatsListCall {
 52878  	c.ctx_ = ctx
 52879  	return c
 52880  }
 52881  
 52882  // Header returns an http.Header that can be modified by the caller to
 52883  // add HTTP headers to the request.
 52884  func (c *VideoFormatsListCall) Header() http.Header {
 52885  	if c.header_ == nil {
 52886  		c.header_ = make(http.Header)
 52887  	}
 52888  	return c.header_
 52889  }
 52890  
 52891  func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
 52892  	reqHeaders := make(http.Header)
 52893  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 52894  	for k, v := range c.header_ {
 52895  		reqHeaders[k] = v
 52896  	}
 52897  	reqHeaders.Set("User-Agent", c.s.userAgent())
 52898  	if c.ifNoneMatch_ != "" {
 52899  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 52900  	}
 52901  	var body io.Reader = nil
 52902  	c.urlParams_.Set("alt", alt)
 52903  	c.urlParams_.Set("prettyPrint", "false")
 52904  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats")
 52905  	urls += "?" + c.urlParams_.Encode()
 52906  	req, err := http.NewRequest("GET", urls, body)
 52907  	if err != nil {
 52908  		return nil, err
 52909  	}
 52910  	req.Header = reqHeaders
 52911  	googleapi.Expand(req.URL, map[string]string{
 52912  		"profileId": strconv.FormatInt(c.profileId, 10),
 52913  	})
 52914  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 52915  }
 52916  
 52917  // Do executes the "dfareporting.videoFormats.list" call.
 52918  // Exactly one of *VideoFormatsListResponse or error will be non-nil.
 52919  // Any non-2xx status code is an error. Response headers are in either
 52920  // *VideoFormatsListResponse.ServerResponse.Header or (if a response was
 52921  // returned at all) in error.(*googleapi.Error).Header. Use
 52922  // googleapi.IsNotModified to check whether the returned error was
 52923  // because http.StatusNotModified was returned.
 52924  func (c *VideoFormatsListCall) Do(opts ...googleapi.CallOption) (*VideoFormatsListResponse, error) {
 52925  	gensupport.SetOptions(c.urlParams_, opts...)
 52926  	res, err := c.doRequest("json")
 52927  	if res != nil && res.StatusCode == http.StatusNotModified {
 52928  		if res.Body != nil {
 52929  			res.Body.Close()
 52930  		}
 52931  		return nil, &googleapi.Error{
 52932  			Code:   res.StatusCode,
 52933  			Header: res.Header,
 52934  		}
 52935  	}
 52936  	if err != nil {
 52937  		return nil, err
 52938  	}
 52939  	defer googleapi.CloseBody(res)
 52940  	if err := googleapi.CheckResponse(res); err != nil {
 52941  		return nil, err
 52942  	}
 52943  	ret := &VideoFormatsListResponse{
 52944  		ServerResponse: googleapi.ServerResponse{
 52945  			Header:         res.Header,
 52946  			HTTPStatusCode: res.StatusCode,
 52947  		},
 52948  	}
 52949  	target := &ret
 52950  	if err := gensupport.DecodeResponse(target, res); err != nil {
 52951  		return nil, err
 52952  	}
 52953  	return ret, nil
 52954  	// {
 52955  	//   "description": "Lists available video formats.",
 52956  	//   "flatPath": "userprofiles/{profileId}/videoFormats",
 52957  	//   "httpMethod": "GET",
 52958  	//   "id": "dfareporting.videoFormats.list",
 52959  	//   "parameterOrder": [
 52960  	//     "profileId"
 52961  	//   ],
 52962  	//   "parameters": {
 52963  	//     "profileId": {
 52964  	//       "description": "User profile ID associated with this request.",
 52965  	//       "format": "int64",
 52966  	//       "location": "path",
 52967  	//       "required": true,
 52968  	//       "type": "string"
 52969  	//     }
 52970  	//   },
 52971  	//   "path": "userprofiles/{profileId}/videoFormats",
 52972  	//   "response": {
 52973  	//     "$ref": "VideoFormatsListResponse"
 52974  	//   },
 52975  	//   "scopes": [
 52976  	//     "https://www.googleapis.com/auth/dfatrafficking"
 52977  	//   ]
 52978  	// }
 52979  
 52980  }
 52981  

View as plain text