...

Source file src/google.golang.org/api/doubleclickbidmanager/v1.1/doubleclickbidmanager-gen.go

Documentation: google.golang.org/api/doubleclickbidmanager/v1.1

     1  // Copyright 2023 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 doubleclickbidmanager provides access to the DoubleClick Bid Manager API.
     8  //
     9  // For product documentation, see: https://developers.google.com/bid-manager/
    10  //
    11  // # Creating a client
    12  //
    13  // Usage example:
    14  //
    15  //	import "google.golang.org/api/doubleclickbidmanager/v1.1"
    16  //	...
    17  //	ctx := context.Background()
    18  //	doubleclickbidmanagerService, err := doubleclickbidmanager.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  // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
    27  //
    28  //	doubleclickbidmanagerService, err := doubleclickbidmanager.NewService(ctx, option.WithAPIKey("AIza..."))
    29  //
    30  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
    31  //
    32  //	config := &oauth2.Config{...}
    33  //	// ...
    34  //	token, err := config.Exchange(ctx, ...)
    35  //	doubleclickbidmanagerService, err := doubleclickbidmanager.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    36  //
    37  // See https://godoc.org/google.golang.org/api/option/ for details on options.
    38  package doubleclickbidmanager // import "google.golang.org/api/doubleclickbidmanager/v1.1"
    39  
    40  import (
    41  	"bytes"
    42  	"context"
    43  	"encoding/json"
    44  	"errors"
    45  	"fmt"
    46  	"io"
    47  	"net/http"
    48  	"net/url"
    49  	"strconv"
    50  	"strings"
    51  
    52  	googleapi "google.golang.org/api/googleapi"
    53  	internal "google.golang.org/api/internal"
    54  	gensupport "google.golang.org/api/internal/gensupport"
    55  	option "google.golang.org/api/option"
    56  	internaloption "google.golang.org/api/option/internaloption"
    57  	htransport "google.golang.org/api/transport/http"
    58  )
    59  
    60  // Always reference these packages, just in case the auto-generated code
    61  // below doesn't.
    62  var _ = bytes.NewBuffer
    63  var _ = strconv.Itoa
    64  var _ = fmt.Sprintf
    65  var _ = json.NewDecoder
    66  var _ = io.Copy
    67  var _ = url.Parse
    68  var _ = gensupport.MarshalJSON
    69  var _ = googleapi.Version
    70  var _ = errors.New
    71  var _ = strings.Replace
    72  var _ = context.Canceled
    73  var _ = internaloption.WithDefaultEndpoint
    74  var _ = internal.Version
    75  
    76  const apiId = "doubleclickbidmanager:v1.1"
    77  const apiName = "doubleclickbidmanager"
    78  const apiVersion = "v1.1"
    79  const basePath = "https://doubleclickbidmanager.googleapis.com/doubleclickbidmanager/v1.1/"
    80  const mtlsBasePath = "https://doubleclickbidmanager.mtls.googleapis.com/doubleclickbidmanager/v1.1/"
    81  
    82  // OAuth2 scopes used by this API.
    83  const (
    84  	// View and manage your reports in DoubleClick Bid Manager
    85  	DoubleclickbidmanagerScope = "https://www.googleapis.com/auth/doubleclickbidmanager"
    86  )
    87  
    88  // NewService creates a new Service.
    89  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
    90  	scopesOption := internaloption.WithDefaultScopes(
    91  		"https://www.googleapis.com/auth/doubleclickbidmanager",
    92  	)
    93  	// NOTE: prepend, so we don't override user-specified scopes.
    94  	opts = append([]option.ClientOption{scopesOption}, opts...)
    95  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
    96  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
    97  	client, endpoint, err := htransport.NewClient(ctx, opts...)
    98  	if err != nil {
    99  		return nil, err
   100  	}
   101  	s, err := New(client)
   102  	if err != nil {
   103  		return nil, err
   104  	}
   105  	if endpoint != "" {
   106  		s.BasePath = endpoint
   107  	}
   108  	return s, nil
   109  }
   110  
   111  // New creates a new Service. It uses the provided http.Client for requests.
   112  //
   113  // Deprecated: please use NewService instead.
   114  // To provide a custom HTTP client, use option.WithHTTPClient.
   115  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   116  func New(client *http.Client) (*Service, error) {
   117  	if client == nil {
   118  		return nil, errors.New("client is nil")
   119  	}
   120  	s := &Service{client: client, BasePath: basePath}
   121  	s.Queries = NewQueriesService(s)
   122  	s.Reports = NewReportsService(s)
   123  	return s, nil
   124  }
   125  
   126  type Service struct {
   127  	client    *http.Client
   128  	BasePath  string // API endpoint base URL
   129  	UserAgent string // optional additional User-Agent fragment
   130  
   131  	Queries *QueriesService
   132  
   133  	Reports *ReportsService
   134  }
   135  
   136  func (s *Service) userAgent() string {
   137  	if s.UserAgent == "" {
   138  		return googleapi.UserAgent
   139  	}
   140  	return googleapi.UserAgent + " " + s.UserAgent
   141  }
   142  
   143  func NewQueriesService(s *Service) *QueriesService {
   144  	rs := &QueriesService{s: s}
   145  	return rs
   146  }
   147  
   148  type QueriesService struct {
   149  	s *Service
   150  }
   151  
   152  func NewReportsService(s *Service) *ReportsService {
   153  	rs := &ReportsService{s: s}
   154  	return rs
   155  }
   156  
   157  type ReportsService struct {
   158  	s *Service
   159  }
   160  
   161  // ChannelGrouping: A channel grouping defines a set of rules that can
   162  // be used to categorize events in a path report.
   163  type ChannelGrouping struct {
   164  	// FallbackName: The name to apply to an event that does not match any
   165  	// of the rules in the channel grouping.
   166  	FallbackName string `json:"fallbackName,omitempty"`
   167  
   168  	// Name: Channel Grouping name.
   169  	Name string `json:"name,omitempty"`
   170  
   171  	// Rules: Rules within Channel Grouping. There is a limit of 100 rules
   172  	// that can be set per channel grouping.
   173  	Rules []*Rule `json:"rules,omitempty"`
   174  
   175  	// ForceSendFields is a list of field names (e.g. "FallbackName") to
   176  	// unconditionally include in API requests. By default, fields with
   177  	// empty or default values are omitted from API requests. However, any
   178  	// non-pointer, non-interface field appearing in ForceSendFields will be
   179  	// sent to the server regardless of whether the field is empty or not.
   180  	// This may be used to include empty fields in Patch requests.
   181  	ForceSendFields []string `json:"-"`
   182  
   183  	// NullFields is a list of field names (e.g. "FallbackName") to include
   184  	// in API requests with the JSON null value. By default, fields with
   185  	// empty values are omitted from API requests. However, any field with
   186  	// an empty value appearing in NullFields will be sent to the server as
   187  	// null. It is an error if a field in this list has a non-empty value.
   188  	// This may be used to include null fields in Patch requests.
   189  	NullFields []string `json:"-"`
   190  }
   191  
   192  func (s *ChannelGrouping) MarshalJSON() ([]byte, error) {
   193  	type NoMethod ChannelGrouping
   194  	raw := NoMethod(*s)
   195  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   196  }
   197  
   198  // DisjunctiveMatchStatement: DisjunctiveMatchStatement that OR's all
   199  // contained filters.
   200  type DisjunctiveMatchStatement struct {
   201  	// EventFilters: Filters. There is a limit of 100 filters that can be
   202  	// set per disjunctive match statement.
   203  	EventFilters []*EventFilter `json:"eventFilters,omitempty"`
   204  
   205  	// ForceSendFields is a list of field names (e.g. "EventFilters") to
   206  	// unconditionally include in API requests. By default, fields with
   207  	// empty or default values are omitted from API requests. However, any
   208  	// non-pointer, non-interface field appearing in ForceSendFields will be
   209  	// sent to the server regardless of whether the field is empty or not.
   210  	// This may be used to include empty fields in Patch requests.
   211  	ForceSendFields []string `json:"-"`
   212  
   213  	// NullFields is a list of field names (e.g. "EventFilters") to include
   214  	// in API requests with the JSON null value. By default, fields with
   215  	// empty values are omitted from API requests. However, any field with
   216  	// an empty value appearing in NullFields will be sent to the server as
   217  	// null. It is an error if a field in this list has a non-empty value.
   218  	// This may be used to include null fields in Patch requests.
   219  	NullFields []string `json:"-"`
   220  }
   221  
   222  func (s *DisjunctiveMatchStatement) MarshalJSON() ([]byte, error) {
   223  	type NoMethod DisjunctiveMatchStatement
   224  	raw := NoMethod(*s)
   225  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   226  }
   227  
   228  // EventFilter: Defines the type of filter to be applied to the path, a
   229  // DV360 event dimension filter.
   230  type EventFilter struct {
   231  	// DimensionFilter: Filter on a dimension.
   232  	DimensionFilter *PathQueryOptionsFilter `json:"dimensionFilter,omitempty"`
   233  
   234  	// ForceSendFields is a list of field names (e.g. "DimensionFilter") to
   235  	// unconditionally include in API requests. By default, fields with
   236  	// empty or default values are omitted from API requests. However, any
   237  	// non-pointer, non-interface field appearing in ForceSendFields will be
   238  	// sent to the server regardless of whether the field is empty or not.
   239  	// This may be used to include empty fields in Patch requests.
   240  	ForceSendFields []string `json:"-"`
   241  
   242  	// NullFields is a list of field names (e.g. "DimensionFilter") to
   243  	// include in API requests with the JSON null value. By default, fields
   244  	// with empty values are omitted from API requests. However, any field
   245  	// with an empty value appearing in NullFields will be sent to the
   246  	// server as null. It is an error if a field in this list has a
   247  	// non-empty value. This may be used to include null fields in Patch
   248  	// requests.
   249  	NullFields []string `json:"-"`
   250  }
   251  
   252  func (s *EventFilter) MarshalJSON() ([]byte, error) {
   253  	type NoMethod EventFilter
   254  	raw := NoMethod(*s)
   255  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   256  }
   257  
   258  // FilterPair: Filter used to match traffic data in your report.
   259  type FilterPair struct {
   260  	// Type: Filter type.
   261  	//
   262  	// Possible values:
   263  	//   "FILTER_UNKNOWN"
   264  	//   "FILTER_DATE"
   265  	//   "FILTER_DAY_OF_WEEK"
   266  	//   "FILTER_WEEK"
   267  	//   "FILTER_MONTH"
   268  	//   "FILTER_YEAR"
   269  	//   "FILTER_TIME_OF_DAY"
   270  	//   "FILTER_CONVERSION_DELAY"
   271  	//   "FILTER_CREATIVE_ID"
   272  	//   "FILTER_CREATIVE_SIZE"
   273  	//   "FILTER_CREATIVE_TYPE"
   274  	//   "FILTER_EXCHANGE_ID"
   275  	//   "FILTER_AD_POSITION"
   276  	//   "FILTER_PUBLIC_INVENTORY"
   277  	//   "FILTER_INVENTORY_SOURCE"
   278  	//   "FILTER_CITY"
   279  	//   "FILTER_REGION"
   280  	//   "FILTER_DMA"
   281  	//   "FILTER_COUNTRY"
   282  	//   "FILTER_SITE_ID"
   283  	//   "FILTER_CHANNEL_ID"
   284  	//   "FILTER_PARTNER"
   285  	//   "FILTER_ADVERTISER"
   286  	//   "FILTER_INSERTION_ORDER"
   287  	//   "FILTER_LINE_ITEM"
   288  	//   "FILTER_PARTNER_CURRENCY"
   289  	//   "FILTER_ADVERTISER_CURRENCY"
   290  	//   "FILTER_ADVERTISER_TIMEZONE"
   291  	//   "FILTER_LINE_ITEM_TYPE"
   292  	//   "FILTER_USER_LIST"
   293  	//   "FILTER_USER_LIST_FIRST_PARTY"
   294  	//   "FILTER_USER_LIST_THIRD_PARTY"
   295  	//   "FILTER_TARGETED_USER_LIST"
   296  	//   "FILTER_DATA_PROVIDER"
   297  	//   "FILTER_ORDER_ID"
   298  	//   "FILTER_VIDEO_PLAYER_SIZE"
   299  	//   "FILTER_VIDEO_DURATION_SECONDS"
   300  	//   "FILTER_KEYWORD"
   301  	//   "FILTER_PAGE_CATEGORY"
   302  	//   "FILTER_CAMPAIGN_DAILY_FREQUENCY"
   303  	//   "FILTER_LINE_ITEM_DAILY_FREQUENCY"
   304  	//   "FILTER_LINE_ITEM_LIFETIME_FREQUENCY"
   305  	//   "FILTER_OS"
   306  	//   "FILTER_BROWSER"
   307  	//   "FILTER_CARRIER"
   308  	//   "FILTER_SITE_LANGUAGE"
   309  	//   "FILTER_INVENTORY_FORMAT"
   310  	//   "FILTER_ZIP_CODE"
   311  	//   "FILTER_VIDEO_RATING_TIER"
   312  	//   "FILTER_VIDEO_FORMAT_SUPPORT"
   313  	//   "FILTER_VIDEO_SKIPPABLE_SUPPORT"
   314  	//   "FILTER_VIDEO_CREATIVE_DURATION"
   315  	//   "FILTER_PAGE_LAYOUT"
   316  	//   "FILTER_VIDEO_AD_POSITION_IN_STREAM"
   317  	//   "FILTER_AGE"
   318  	//   "FILTER_GENDER"
   319  	//   "FILTER_QUARTER"
   320  	//   "FILTER_TRUEVIEW_CONVERSION_TYPE"
   321  	//   "FILTER_MOBILE_GEO"
   322  	//   "FILTER_MRAID_SUPPORT"
   323  	//   "FILTER_ACTIVE_VIEW_EXPECTED_VIEWABILITY"
   324  	//   "FILTER_VIDEO_CREATIVE_DURATION_SKIPPABLE"
   325  	//   "FILTER_NIELSEN_COUNTRY_CODE"
   326  	//   "FILTER_NIELSEN_DEVICE_ID"
   327  	//   "FILTER_NIELSEN_GENDER"
   328  	//   "FILTER_NIELSEN_AGE"
   329  	//   "FILTER_INVENTORY_SOURCE_TYPE"
   330  	//   "FILTER_CREATIVE_WIDTH"
   331  	//   "FILTER_CREATIVE_HEIGHT"
   332  	//   "FILTER_DFP_ORDER_ID"
   333  	//   "FILTER_TRUEVIEW_AGE"
   334  	//   "FILTER_TRUEVIEW_GENDER"
   335  	//   "FILTER_TRUEVIEW_PARENTAL_STATUS"
   336  	//   "FILTER_TRUEVIEW_REMARKETING_LIST"
   337  	//   "FILTER_TRUEVIEW_INTEREST"
   338  	//   "FILTER_TRUEVIEW_AD_GROUP_ID"
   339  	//   "FILTER_TRUEVIEW_AD_GROUP_AD_ID"
   340  	//   "FILTER_TRUEVIEW_IAR_LANGUAGE"
   341  	//   "FILTER_TRUEVIEW_IAR_GENDER"
   342  	//   "FILTER_TRUEVIEW_IAR_AGE"
   343  	//   "FILTER_TRUEVIEW_IAR_CATEGORY"
   344  	//   "FILTER_TRUEVIEW_IAR_COUNTRY"
   345  	//   "FILTER_TRUEVIEW_IAR_CITY"
   346  	//   "FILTER_TRUEVIEW_IAR_REGION"
   347  	//   "FILTER_TRUEVIEW_IAR_ZIPCODE"
   348  	//   "FILTER_TRUEVIEW_IAR_REMARKETING_LIST"
   349  	//   "FILTER_TRUEVIEW_IAR_INTEREST"
   350  	//   "FILTER_TRUEVIEW_IAR_PARENTAL_STATUS"
   351  	//   "FILTER_TRUEVIEW_IAR_TIME_OF_DAY"
   352  	//   "FILTER_TRUEVIEW_CUSTOM_AFFINITY"
   353  	//   "FILTER_TRUEVIEW_CATEGORY"
   354  	//   "FILTER_TRUEVIEW_KEYWORD"
   355  	//   "FILTER_TRUEVIEW_PLACEMENT"
   356  	//   "FILTER_TRUEVIEW_URL"
   357  	//   "FILTER_TRUEVIEW_COUNTRY"
   358  	//   "FILTER_TRUEVIEW_REGION"
   359  	//   "FILTER_TRUEVIEW_CITY"
   360  	//   "FILTER_TRUEVIEW_DMA"
   361  	//   "FILTER_TRUEVIEW_ZIPCODE"
   362  	//   "FILTER_NOT_SUPPORTED"
   363  	//   "FILTER_MEDIA_PLAN"
   364  	//   "FILTER_TRUEVIEW_IAR_YOUTUBE_CHANNEL"
   365  	//   "FILTER_TRUEVIEW_IAR_YOUTUBE_VIDEO"
   366  	//   "FILTER_SKIPPABLE_SUPPORT"
   367  	//   "FILTER_COMPANION_CREATIVE_ID"
   368  	//   "FILTER_BUDGET_SEGMENT_DESCRIPTION"
   369  	//   "FILTER_FLOODLIGHT_ACTIVITY_ID"
   370  	//   "FILTER_DEVICE_MODEL"
   371  	//   "FILTER_DEVICE_MAKE"
   372  	//   "FILTER_DEVICE_TYPE"
   373  	//   "FILTER_CREATIVE_ATTRIBUTE"
   374  	//   "FILTER_INVENTORY_COMMITMENT_TYPE"
   375  	//   "FILTER_INVENTORY_RATE_TYPE"
   376  	//   "FILTER_INVENTORY_DELIVERY_METHOD"
   377  	//   "FILTER_INVENTORY_SOURCE_EXTERNAL_ID"
   378  	//   "FILTER_AUTHORIZED_SELLER_STATE"
   379  	//   "FILTER_VIDEO_DURATION_SECONDS_RANGE"
   380  	//   "FILTER_PARTNER_NAME"
   381  	//   "FILTER_PARTNER_STATUS"
   382  	//   "FILTER_ADVERTISER_NAME"
   383  	//   "FILTER_ADVERTISER_INTEGRATION_CODE"
   384  	//   "FILTER_ADVERTISER_INTEGRATION_STATUS"
   385  	//   "FILTER_CARRIER_NAME"
   386  	//   "FILTER_CHANNEL_NAME"
   387  	//   "FILTER_CITY_NAME"
   388  	//   "FILTER_COMPANION_CREATIVE_NAME"
   389  	//   "FILTER_USER_LIST_FIRST_PARTY_NAME"
   390  	//   "FILTER_USER_LIST_THIRD_PARTY_NAME"
   391  	//   "FILTER_NIELSEN_RESTATEMENT_DATE"
   392  	//   "FILTER_NIELSEN_DATE_RANGE"
   393  	//   "FILTER_INSERTION_ORDER_NAME"
   394  	//   "FILTER_REGION_NAME"
   395  	//   "FILTER_DMA_NAME"
   396  	//   "FILTER_TRUEVIEW_IAR_REGION_NAME"
   397  	//   "FILTER_TRUEVIEW_DMA_NAME"
   398  	//   "FILTER_TRUEVIEW_REGION_NAME"
   399  	//   "FILTER_ACTIVE_VIEW_CUSTOM_METRIC_ID"
   400  	//   "FILTER_ACTIVE_VIEW_CUSTOM_METRIC_NAME"
   401  	//   "FILTER_AD_TYPE"
   402  	//   "FILTER_ALGORITHM"
   403  	//   "FILTER_ALGORITHM_ID"
   404  	//   "FILTER_AMP_PAGE_REQUEST"
   405  	//   "FILTER_ANONYMOUS_INVENTORY_MODELING"
   406  	//   "FILTER_APP_URL"
   407  	//   "FILTER_APP_URL_EXCLUDED"
   408  	//   "FILTER_ATTRIBUTED_USERLIST"
   409  	//   "FILTER_ATTRIBUTED_USERLIST_COST"
   410  	//   "FILTER_ATTRIBUTED_USERLIST_TYPE"
   411  	//   "FILTER_ATTRIBUTION_MODEL"
   412  	//   "FILTER_AUDIENCE_LIST"
   413  	//   "FILTER_AUDIENCE_LIST_COST"
   414  	//   "FILTER_AUDIENCE_LIST_TYPE"
   415  	//   "FILTER_AUDIENCE_NAME"
   416  	//   "FILTER_AUDIENCE_TYPE"
   417  	//   "FILTER_BILLABLE_OUTCOME"
   418  	//   "FILTER_BRAND_LIFT_TYPE"
   419  	//   "FILTER_CHANNEL_TYPE"
   420  	//   "FILTER_CM_PLACEMENT_ID"
   421  	//   "FILTER_CONVERSION_SOURCE"
   422  	//   "FILTER_CONVERSION_SOURCE_ID"
   423  	//   "FILTER_COUNTRY_ID"
   424  	//   "FILTER_CREATIVE"
   425  	//   "FILTER_CREATIVE_ASSET"
   426  	//   "FILTER_CREATIVE_INTEGRATION_CODE"
   427  	//   "FILTER_CREATIVE_RENDERED_IN_AMP"
   428  	//   "FILTER_CREATIVE_SOURCE"
   429  	//   "FILTER_CREATIVE_STATUS"
   430  	//   "FILTER_DATA_PROVIDER_NAME"
   431  	//   "FILTER_DETAILED_DEMOGRAPHICS"
   432  	//   "FILTER_DETAILED_DEMOGRAPHICS_ID"
   433  	//   "FILTER_DEVICE"
   434  	//   "FILTER_GAM_INSERTION_ORDER"
   435  	//   "FILTER_GAM_LINE_ITEM"
   436  	//   "FILTER_GAM_LINE_ITEM_ID"
   437  	//   "FILTER_DIGITAL_CONTENT_LABEL"
   438  	//   "FILTER_DOMAIN"
   439  	//   "FILTER_ELIGIBLE_COOKIES_ON_FIRST_PARTY_AUDIENCE_LIST"
   440  	//   "FILTER_ELIGIBLE_COOKIES_ON_THIRD_PARTY_AUDIENCE_LIST_AND_INTEREST"
   441  	//   "FILTER_EXCHANGE"
   442  	//   "FILTER_EXCHANGE_CODE"
   443  	//   "FILTER_EXTENSION"
   444  	//   "FILTER_EXTENSION_STATUS"
   445  	//   "FILTER_EXTENSION_TYPE"
   446  	//   "FILTER_FIRST_PARTY_AUDIENCE_LIST_COST"
   447  	//   "FILTER_FIRST_PARTY_AUDIENCE_LIST_TYPE"
   448  	//   "FILTER_FLOODLIGHT_ACTIVITY"
   449  	//   "FILTER_FORMAT"
   450  	//   "FILTER_GMAIL_AGE"
   451  	//   "FILTER_GMAIL_CITY"
   452  	//   "FILTER_GMAIL_COUNTRY"
   453  	//   "FILTER_GMAIL_COUNTRY_NAME"
   454  	//   "FILTER_GMAIL_DEVICE_TYPE"
   455  	//   "FILTER_GMAIL_DEVICE_TYPE_NAME"
   456  	//   "FILTER_GMAIL_GENDER"
   457  	//   "FILTER_GMAIL_REGION"
   458  	//   "FILTER_GMAIL_REMARKETING_LIST"
   459  	//   "FILTER_HOUSEHOLD_INCOME"
   460  	//   "FILTER_IMPRESSION_COUNTING_METHOD"
   461  	//   "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_INSERTION_ORDER"
   462  	//   "FILTER_INSERTION_ORDER_INTEGRATION_CODE"
   463  	//   "FILTER_INSERTION_ORDER_STATUS"
   464  	//   "FILTER_INTEREST"
   465  	//   "FILTER_INVENTORY_SOURCE_GROUP"
   466  	//   "FILTER_INVENTORY_SOURCE_GROUP_ID"
   467  	//   "FILTER_INVENTORY_SOURCE_ID"
   468  	//   "FILTER_INVENTORY_SOURCE_NAME"
   469  	//   "FILTER_LIFE_EVENT"
   470  	//   "FILTER_LIFE_EVENTS"
   471  	//   "FILTER_LINE_ITEM_INTEGRATION_CODE"
   472  	//   "FILTER_LINE_ITEM_NAME"
   473  	//   "FILTER_LINE_ITEM_STATUS"
   474  	//   "FILTER_MATCH_RATIO"
   475  	//   "FILTER_MEASUREMENT_SOURCE"
   476  	//   "FILTER_MEDIA_PLAN_NAME"
   477  	//   "FILTER_PARENTAL_STATUS"
   478  	//   "FILTER_PLACEMENT_ALL_YOUTUBE_CHANNELS"
   479  	//   "FILTER_PLATFORM"
   480  	//   "FILTER_PLAYBACK_METHOD"
   481  	//   "FILTER_POSITION_IN_CONTENT"
   482  	//   "FILTER_PUBLISHER_PROPERTY"
   483  	//   "FILTER_PUBLISHER_PROPERTY_ID"
   484  	//   "FILTER_PUBLISHER_PROPERTY_SECTION"
   485  	//   "FILTER_PUBLISHER_PROPERTY_SECTION_ID"
   486  	//   "FILTER_REFUND_REASON"
   487  	//   "FILTER_REMARKETING_LIST"
   488  	//   "FILTER_REWARDED"
   489  	//   "FILTER_SENSITIVE_CATEGORY"
   490  	//   "FILTER_SERVED_PIXEL_DENSITY"
   491  	//   "FILTER_TARGETED_DATA_PROVIDERS"
   492  	//   "FILTER_THIRD_PARTY_AUDIENCE_LIST_COST"
   493  	//   "FILTER_THIRD_PARTY_AUDIENCE_LIST_TYPE"
   494  	//   "FILTER_TRUEVIEW_AD"
   495  	//   "FILTER_TRUEVIEW_AD_GROUP"
   496  	//   "FILTER_TRUEVIEW_DETAILED_DEMOGRAPHICS"
   497  	//   "FILTER_TRUEVIEW_DETAILED_DEMOGRAPHICS_ID"
   498  	//   "FILTER_TRUEVIEW_HOUSEHOLD_INCOME"
   499  	//   "FILTER_TRUEVIEW_IAR_COUNTRY_NAME"
   500  	//   "FILTER_TRUEVIEW_REMARKETING_LIST_NAME"
   501  	//   "FILTER_VARIANT_ID"
   502  	//   "FILTER_VARIANT_NAME"
   503  	//   "FILTER_VARIANT_VERSION"
   504  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE"
   505  	//   "FILTER_VERIFICATION_VIDEO_POSITION"
   506  	//   "FILTER_VIDEO_COMPANION_CREATIVE_SIZE"
   507  	//   "FILTER_VIDEO_CONTINUOUS_PLAY"
   508  	//   "FILTER_VIDEO_DURATION"
   509  	//   "FILTER_YOUTUBE_ADAPTED_AUDIENCE_LIST"
   510  	//   "FILTER_YOUTUBE_AD_VIDEO"
   511  	//   "FILTER_YOUTUBE_AD_VIDEO_ID"
   512  	//   "FILTER_YOUTUBE_CHANNEL"
   513  	//   "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_ADVERTISER"
   514  	//   "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_PARTNER"
   515  	//   "FILTER_YOUTUBE_VIDEO"
   516  	//   "FILTER_ZIP_POSTAL_CODE"
   517  	//   "FILTER_PLACEMENT_NAME_ALL_YOUTUBE_CHANNELS"
   518  	//   "FILTER_TRUEVIEW_PLACEMENT_ID"
   519  	//   "FILTER_PATH_PATTERN_ID"
   520  	//   "FILTER_PATH_EVENT_INDEX"
   521  	//   "FILTER_EVENT_TYPE"
   522  	//   "FILTER_CHANNEL_GROUPING"
   523  	//   "FILTER_OM_SDK_AVAILABLE"
   524  	//   "FILTER_DATA_SOURCE"
   525  	//   "FILTER_CM360_PLACEMENT_ID"
   526  	//   "FILTER_TRUEVIEW_CLICK_TYPE_NAME"
   527  	//   "FILTER_TRUEVIEW_AD_TYPE_NAME"
   528  	//   "FILTER_VIDEO_CONTENT_DURATION"
   529  	//   "FILTER_MATCHED_GENRE_TARGET"
   530  	//   "FILTER_VIDEO_CONTENT_LIVE_STREAM"
   531  	//   "FILTER_BUDGET_SEGMENT_TYPE"
   532  	//   "FILTER_BUDGET_SEGMENT_BUDGET"
   533  	//   "FILTER_BUDGET_SEGMENT_START_DATE"
   534  	//   "FILTER_BUDGET_SEGMENT_END_DATE"
   535  	//   "FILTER_BUDGET_SEGMENT_PACING_PERCENTAGE"
   536  	//   "FILTER_LINE_ITEM_BUDGET"
   537  	//   "FILTER_LINE_ITEM_START_DATE"
   538  	//   "FILTER_LINE_ITEM_END_DATE"
   539  	//   "FILTER_INSERTION_ORDER_GOAL_TYPE"
   540  	//   "FILTER_LINE_ITEM_PACING_PERCENTAGE"
   541  	//   "FILTER_INSERTION_ORDER_GOAL_VALUE"
   542  	//   "FILTER_OMID_CAPABLE"
   543  	//   "FILTER_VENDOR_MEASUREMENT_MODE"
   544  	//   "FILTER_IMPRESSION_LOSS_REJECTION_REASON"
   545  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_START"
   546  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_FIRST_QUARTILE"
   547  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_MID_POINT"
   548  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_THIRD_QUARTILE"
   549  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_COMPLETE"
   550  	//   "FILTER_VERIFICATION_VIDEO_RESIZED"
   551  	//   "FILTER_VERIFICATION_AUDIBILITY_START"
   552  	//   "FILTER_VERIFICATION_AUDIBILITY_COMPLETE"
   553  	//   "FILTER_MEDIA_TYPE"
   554  	//   "FILTER_AUDIO_FEED_TYPE_NAME"
   555  	//   "FILTER_TRUEVIEW_TARGETING_EXPANSION"
   556  	//   "FILTER_PUBLISHER_TRAFFIC_SOURCE"
   557  	Type string `json:"type,omitempty"`
   558  
   559  	// Value: Filter value.
   560  	Value string `json:"value,omitempty"`
   561  
   562  	// ForceSendFields is a list of field names (e.g. "Type") to
   563  	// unconditionally include in API requests. By default, fields with
   564  	// empty or default values are omitted from API requests. However, any
   565  	// non-pointer, non-interface field appearing in ForceSendFields will be
   566  	// sent to the server regardless of whether the field is empty or not.
   567  	// This may be used to include empty fields in Patch requests.
   568  	ForceSendFields []string `json:"-"`
   569  
   570  	// NullFields is a list of field names (e.g. "Type") to include in API
   571  	// requests with the JSON null value. By default, fields with empty
   572  	// values are omitted from API requests. However, any field with an
   573  	// empty value appearing in NullFields will be sent to the server as
   574  	// null. It is an error if a field in this list has a non-empty value.
   575  	// This may be used to include null fields in Patch requests.
   576  	NullFields []string `json:"-"`
   577  }
   578  
   579  func (s *FilterPair) MarshalJSON() ([]byte, error) {
   580  	type NoMethod FilterPair
   581  	raw := NoMethod(*s)
   582  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   583  }
   584  
   585  // ListQueriesResponse: List queries response.
   586  type ListQueriesResponse struct {
   587  	// Kind: Identifies what kind of resource this is. Value: the fixed
   588  	// string "doubleclickbidmanager#listQueriesResponse".
   589  	Kind string `json:"kind,omitempty"`
   590  
   591  	// NextPageToken: Next page's pagination token if one exists.
   592  	NextPageToken string `json:"nextPageToken,omitempty"`
   593  
   594  	// Queries: Retrieved queries.
   595  	Queries []*Query `json:"queries,omitempty"`
   596  
   597  	// ServerResponse contains the HTTP response code and headers from the
   598  	// server.
   599  	googleapi.ServerResponse `json:"-"`
   600  
   601  	// ForceSendFields is a list of field names (e.g. "Kind") to
   602  	// unconditionally include in API requests. By default, fields with
   603  	// empty or default values are omitted from API requests. However, any
   604  	// non-pointer, non-interface field appearing in ForceSendFields will be
   605  	// sent to the server regardless of whether the field is empty or not.
   606  	// This may be used to include empty fields in Patch requests.
   607  	ForceSendFields []string `json:"-"`
   608  
   609  	// NullFields is a list of field names (e.g. "Kind") to include in API
   610  	// requests with the JSON null value. By default, fields with empty
   611  	// values are omitted from API requests. However, any field with an
   612  	// empty value appearing in NullFields will be sent to the server as
   613  	// null. It is an error if a field in this list has a non-empty value.
   614  	// This may be used to include null fields in Patch requests.
   615  	NullFields []string `json:"-"`
   616  }
   617  
   618  func (s *ListQueriesResponse) MarshalJSON() ([]byte, error) {
   619  	type NoMethod ListQueriesResponse
   620  	raw := NoMethod(*s)
   621  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   622  }
   623  
   624  // ListReportsResponse: List reports response.
   625  type ListReportsResponse struct {
   626  	// Kind: Identifies what kind of resource this is. Value: the fixed
   627  	// string "doubleclickbidmanager#listReportsResponse".
   628  	Kind string `json:"kind,omitempty"`
   629  
   630  	// NextPageToken: Next page's pagination token if one exists.
   631  	NextPageToken string `json:"nextPageToken,omitempty"`
   632  
   633  	// Reports: Retrieved reports.
   634  	Reports []*Report `json:"reports,omitempty"`
   635  
   636  	// ServerResponse contains the HTTP response code and headers from the
   637  	// server.
   638  	googleapi.ServerResponse `json:"-"`
   639  
   640  	// ForceSendFields is a list of field names (e.g. "Kind") to
   641  	// unconditionally include in API requests. By default, fields with
   642  	// empty or default values are omitted from API requests. However, any
   643  	// non-pointer, non-interface field appearing in ForceSendFields will be
   644  	// sent to the server regardless of whether the field is empty or not.
   645  	// This may be used to include empty fields in Patch requests.
   646  	ForceSendFields []string `json:"-"`
   647  
   648  	// NullFields is a list of field names (e.g. "Kind") to include in API
   649  	// requests with the JSON null value. By default, fields with empty
   650  	// values are omitted from API requests. However, any field with an
   651  	// empty value appearing in NullFields will be sent to the server as
   652  	// null. It is an error if a field in this list has a non-empty value.
   653  	// This may be used to include null fields in Patch requests.
   654  	NullFields []string `json:"-"`
   655  }
   656  
   657  func (s *ListReportsResponse) MarshalJSON() ([]byte, error) {
   658  	type NoMethod ListReportsResponse
   659  	raw := NoMethod(*s)
   660  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   661  }
   662  
   663  // Options: Additional query options.
   664  type Options struct {
   665  	// IncludeOnlyTargetedUserLists: Set to true and filter your report by
   666  	// `FILTER_INSERTION_ORDER` or `FILTER_LINE_ITEM` to include data for
   667  	// audience lists specifically targeted by those items.
   668  	IncludeOnlyTargetedUserLists bool `json:"includeOnlyTargetedUserLists,omitempty"`
   669  
   670  	// PathQueryOptions: Options that contain Path Filters and Custom
   671  	// Channel Groupings.
   672  	PathQueryOptions *PathQueryOptions `json:"pathQueryOptions,omitempty"`
   673  
   674  	// ForceSendFields is a list of field names (e.g.
   675  	// "IncludeOnlyTargetedUserLists") to unconditionally include in API
   676  	// requests. By default, fields with empty or default values are omitted
   677  	// from API requests. However, any non-pointer, non-interface field
   678  	// appearing in ForceSendFields will be sent to the server regardless of
   679  	// whether the field is empty or not. This may be used to include empty
   680  	// fields in Patch requests.
   681  	ForceSendFields []string `json:"-"`
   682  
   683  	// NullFields is a list of field names (e.g.
   684  	// "IncludeOnlyTargetedUserLists") to include in API requests with the
   685  	// JSON null value. By default, fields with empty values are omitted
   686  	// from API requests. However, any field with an empty value appearing
   687  	// in NullFields will be sent to the server as null. It is an error if a
   688  	// field in this list has a non-empty value. This may be used to include
   689  	// null fields in Patch requests.
   690  	NullFields []string `json:"-"`
   691  }
   692  
   693  func (s *Options) MarshalJSON() ([]byte, error) {
   694  	type NoMethod Options
   695  	raw := NoMethod(*s)
   696  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
   697  }
   698  
   699  // Parameters: Parameters of a query or report.
   700  type Parameters struct {
   701  	// Filters: Filters used to match traffic data in your report.
   702  	Filters []*FilterPair `json:"filters,omitempty"`
   703  
   704  	// GroupBys: Data is grouped by the filters listed in this field.
   705  	//
   706  	// Possible values:
   707  	//   "FILTER_UNKNOWN"
   708  	//   "FILTER_DATE"
   709  	//   "FILTER_DAY_OF_WEEK"
   710  	//   "FILTER_WEEK"
   711  	//   "FILTER_MONTH"
   712  	//   "FILTER_YEAR"
   713  	//   "FILTER_TIME_OF_DAY"
   714  	//   "FILTER_CONVERSION_DELAY"
   715  	//   "FILTER_CREATIVE_ID"
   716  	//   "FILTER_CREATIVE_SIZE"
   717  	//   "FILTER_CREATIVE_TYPE"
   718  	//   "FILTER_EXCHANGE_ID"
   719  	//   "FILTER_AD_POSITION"
   720  	//   "FILTER_PUBLIC_INVENTORY"
   721  	//   "FILTER_INVENTORY_SOURCE"
   722  	//   "FILTER_CITY"
   723  	//   "FILTER_REGION"
   724  	//   "FILTER_DMA"
   725  	//   "FILTER_COUNTRY"
   726  	//   "FILTER_SITE_ID"
   727  	//   "FILTER_CHANNEL_ID"
   728  	//   "FILTER_PARTNER"
   729  	//   "FILTER_ADVERTISER"
   730  	//   "FILTER_INSERTION_ORDER"
   731  	//   "FILTER_LINE_ITEM"
   732  	//   "FILTER_PARTNER_CURRENCY"
   733  	//   "FILTER_ADVERTISER_CURRENCY"
   734  	//   "FILTER_ADVERTISER_TIMEZONE"
   735  	//   "FILTER_LINE_ITEM_TYPE"
   736  	//   "FILTER_USER_LIST"
   737  	//   "FILTER_USER_LIST_FIRST_PARTY"
   738  	//   "FILTER_USER_LIST_THIRD_PARTY"
   739  	//   "FILTER_TARGETED_USER_LIST"
   740  	//   "FILTER_DATA_PROVIDER"
   741  	//   "FILTER_ORDER_ID"
   742  	//   "FILTER_VIDEO_PLAYER_SIZE"
   743  	//   "FILTER_VIDEO_DURATION_SECONDS"
   744  	//   "FILTER_KEYWORD"
   745  	//   "FILTER_PAGE_CATEGORY"
   746  	//   "FILTER_CAMPAIGN_DAILY_FREQUENCY"
   747  	//   "FILTER_LINE_ITEM_DAILY_FREQUENCY"
   748  	//   "FILTER_LINE_ITEM_LIFETIME_FREQUENCY"
   749  	//   "FILTER_OS"
   750  	//   "FILTER_BROWSER"
   751  	//   "FILTER_CARRIER"
   752  	//   "FILTER_SITE_LANGUAGE"
   753  	//   "FILTER_INVENTORY_FORMAT"
   754  	//   "FILTER_ZIP_CODE"
   755  	//   "FILTER_VIDEO_RATING_TIER"
   756  	//   "FILTER_VIDEO_FORMAT_SUPPORT"
   757  	//   "FILTER_VIDEO_SKIPPABLE_SUPPORT"
   758  	//   "FILTER_VIDEO_CREATIVE_DURATION"
   759  	//   "FILTER_PAGE_LAYOUT"
   760  	//   "FILTER_VIDEO_AD_POSITION_IN_STREAM"
   761  	//   "FILTER_AGE"
   762  	//   "FILTER_GENDER"
   763  	//   "FILTER_QUARTER"
   764  	//   "FILTER_TRUEVIEW_CONVERSION_TYPE"
   765  	//   "FILTER_MOBILE_GEO"
   766  	//   "FILTER_MRAID_SUPPORT"
   767  	//   "FILTER_ACTIVE_VIEW_EXPECTED_VIEWABILITY"
   768  	//   "FILTER_VIDEO_CREATIVE_DURATION_SKIPPABLE"
   769  	//   "FILTER_NIELSEN_COUNTRY_CODE"
   770  	//   "FILTER_NIELSEN_DEVICE_ID"
   771  	//   "FILTER_NIELSEN_GENDER"
   772  	//   "FILTER_NIELSEN_AGE"
   773  	//   "FILTER_INVENTORY_SOURCE_TYPE"
   774  	//   "FILTER_CREATIVE_WIDTH"
   775  	//   "FILTER_CREATIVE_HEIGHT"
   776  	//   "FILTER_DFP_ORDER_ID"
   777  	//   "FILTER_TRUEVIEW_AGE"
   778  	//   "FILTER_TRUEVIEW_GENDER"
   779  	//   "FILTER_TRUEVIEW_PARENTAL_STATUS"
   780  	//   "FILTER_TRUEVIEW_REMARKETING_LIST"
   781  	//   "FILTER_TRUEVIEW_INTEREST"
   782  	//   "FILTER_TRUEVIEW_AD_GROUP_ID"
   783  	//   "FILTER_TRUEVIEW_AD_GROUP_AD_ID"
   784  	//   "FILTER_TRUEVIEW_IAR_LANGUAGE"
   785  	//   "FILTER_TRUEVIEW_IAR_GENDER"
   786  	//   "FILTER_TRUEVIEW_IAR_AGE"
   787  	//   "FILTER_TRUEVIEW_IAR_CATEGORY"
   788  	//   "FILTER_TRUEVIEW_IAR_COUNTRY"
   789  	//   "FILTER_TRUEVIEW_IAR_CITY"
   790  	//   "FILTER_TRUEVIEW_IAR_REGION"
   791  	//   "FILTER_TRUEVIEW_IAR_ZIPCODE"
   792  	//   "FILTER_TRUEVIEW_IAR_REMARKETING_LIST"
   793  	//   "FILTER_TRUEVIEW_IAR_INTEREST"
   794  	//   "FILTER_TRUEVIEW_IAR_PARENTAL_STATUS"
   795  	//   "FILTER_TRUEVIEW_IAR_TIME_OF_DAY"
   796  	//   "FILTER_TRUEVIEW_CUSTOM_AFFINITY"
   797  	//   "FILTER_TRUEVIEW_CATEGORY"
   798  	//   "FILTER_TRUEVIEW_KEYWORD"
   799  	//   "FILTER_TRUEVIEW_PLACEMENT"
   800  	//   "FILTER_TRUEVIEW_URL"
   801  	//   "FILTER_TRUEVIEW_COUNTRY"
   802  	//   "FILTER_TRUEVIEW_REGION"
   803  	//   "FILTER_TRUEVIEW_CITY"
   804  	//   "FILTER_TRUEVIEW_DMA"
   805  	//   "FILTER_TRUEVIEW_ZIPCODE"
   806  	//   "FILTER_NOT_SUPPORTED"
   807  	//   "FILTER_MEDIA_PLAN"
   808  	//   "FILTER_TRUEVIEW_IAR_YOUTUBE_CHANNEL"
   809  	//   "FILTER_TRUEVIEW_IAR_YOUTUBE_VIDEO"
   810  	//   "FILTER_SKIPPABLE_SUPPORT"
   811  	//   "FILTER_COMPANION_CREATIVE_ID"
   812  	//   "FILTER_BUDGET_SEGMENT_DESCRIPTION"
   813  	//   "FILTER_FLOODLIGHT_ACTIVITY_ID"
   814  	//   "FILTER_DEVICE_MODEL"
   815  	//   "FILTER_DEVICE_MAKE"
   816  	//   "FILTER_DEVICE_TYPE"
   817  	//   "FILTER_CREATIVE_ATTRIBUTE"
   818  	//   "FILTER_INVENTORY_COMMITMENT_TYPE"
   819  	//   "FILTER_INVENTORY_RATE_TYPE"
   820  	//   "FILTER_INVENTORY_DELIVERY_METHOD"
   821  	//   "FILTER_INVENTORY_SOURCE_EXTERNAL_ID"
   822  	//   "FILTER_AUTHORIZED_SELLER_STATE"
   823  	//   "FILTER_VIDEO_DURATION_SECONDS_RANGE"
   824  	//   "FILTER_PARTNER_NAME"
   825  	//   "FILTER_PARTNER_STATUS"
   826  	//   "FILTER_ADVERTISER_NAME"
   827  	//   "FILTER_ADVERTISER_INTEGRATION_CODE"
   828  	//   "FILTER_ADVERTISER_INTEGRATION_STATUS"
   829  	//   "FILTER_CARRIER_NAME"
   830  	//   "FILTER_CHANNEL_NAME"
   831  	//   "FILTER_CITY_NAME"
   832  	//   "FILTER_COMPANION_CREATIVE_NAME"
   833  	//   "FILTER_USER_LIST_FIRST_PARTY_NAME"
   834  	//   "FILTER_USER_LIST_THIRD_PARTY_NAME"
   835  	//   "FILTER_NIELSEN_RESTATEMENT_DATE"
   836  	//   "FILTER_NIELSEN_DATE_RANGE"
   837  	//   "FILTER_INSERTION_ORDER_NAME"
   838  	//   "FILTER_REGION_NAME"
   839  	//   "FILTER_DMA_NAME"
   840  	//   "FILTER_TRUEVIEW_IAR_REGION_NAME"
   841  	//   "FILTER_TRUEVIEW_DMA_NAME"
   842  	//   "FILTER_TRUEVIEW_REGION_NAME"
   843  	//   "FILTER_ACTIVE_VIEW_CUSTOM_METRIC_ID"
   844  	//   "FILTER_ACTIVE_VIEW_CUSTOM_METRIC_NAME"
   845  	//   "FILTER_AD_TYPE"
   846  	//   "FILTER_ALGORITHM"
   847  	//   "FILTER_ALGORITHM_ID"
   848  	//   "FILTER_AMP_PAGE_REQUEST"
   849  	//   "FILTER_ANONYMOUS_INVENTORY_MODELING"
   850  	//   "FILTER_APP_URL"
   851  	//   "FILTER_APP_URL_EXCLUDED"
   852  	//   "FILTER_ATTRIBUTED_USERLIST"
   853  	//   "FILTER_ATTRIBUTED_USERLIST_COST"
   854  	//   "FILTER_ATTRIBUTED_USERLIST_TYPE"
   855  	//   "FILTER_ATTRIBUTION_MODEL"
   856  	//   "FILTER_AUDIENCE_LIST"
   857  	//   "FILTER_AUDIENCE_LIST_COST"
   858  	//   "FILTER_AUDIENCE_LIST_TYPE"
   859  	//   "FILTER_AUDIENCE_NAME"
   860  	//   "FILTER_AUDIENCE_TYPE"
   861  	//   "FILTER_BILLABLE_OUTCOME"
   862  	//   "FILTER_BRAND_LIFT_TYPE"
   863  	//   "FILTER_CHANNEL_TYPE"
   864  	//   "FILTER_CM_PLACEMENT_ID"
   865  	//   "FILTER_CONVERSION_SOURCE"
   866  	//   "FILTER_CONVERSION_SOURCE_ID"
   867  	//   "FILTER_COUNTRY_ID"
   868  	//   "FILTER_CREATIVE"
   869  	//   "FILTER_CREATIVE_ASSET"
   870  	//   "FILTER_CREATIVE_INTEGRATION_CODE"
   871  	//   "FILTER_CREATIVE_RENDERED_IN_AMP"
   872  	//   "FILTER_CREATIVE_SOURCE"
   873  	//   "FILTER_CREATIVE_STATUS"
   874  	//   "FILTER_DATA_PROVIDER_NAME"
   875  	//   "FILTER_DETAILED_DEMOGRAPHICS"
   876  	//   "FILTER_DETAILED_DEMOGRAPHICS_ID"
   877  	//   "FILTER_DEVICE"
   878  	//   "FILTER_GAM_INSERTION_ORDER"
   879  	//   "FILTER_GAM_LINE_ITEM"
   880  	//   "FILTER_GAM_LINE_ITEM_ID"
   881  	//   "FILTER_DIGITAL_CONTENT_LABEL"
   882  	//   "FILTER_DOMAIN"
   883  	//   "FILTER_ELIGIBLE_COOKIES_ON_FIRST_PARTY_AUDIENCE_LIST"
   884  	//   "FILTER_ELIGIBLE_COOKIES_ON_THIRD_PARTY_AUDIENCE_LIST_AND_INTEREST"
   885  	//   "FILTER_EXCHANGE"
   886  	//   "FILTER_EXCHANGE_CODE"
   887  	//   "FILTER_EXTENSION"
   888  	//   "FILTER_EXTENSION_STATUS"
   889  	//   "FILTER_EXTENSION_TYPE"
   890  	//   "FILTER_FIRST_PARTY_AUDIENCE_LIST_COST"
   891  	//   "FILTER_FIRST_PARTY_AUDIENCE_LIST_TYPE"
   892  	//   "FILTER_FLOODLIGHT_ACTIVITY"
   893  	//   "FILTER_FORMAT"
   894  	//   "FILTER_GMAIL_AGE"
   895  	//   "FILTER_GMAIL_CITY"
   896  	//   "FILTER_GMAIL_COUNTRY"
   897  	//   "FILTER_GMAIL_COUNTRY_NAME"
   898  	//   "FILTER_GMAIL_DEVICE_TYPE"
   899  	//   "FILTER_GMAIL_DEVICE_TYPE_NAME"
   900  	//   "FILTER_GMAIL_GENDER"
   901  	//   "FILTER_GMAIL_REGION"
   902  	//   "FILTER_GMAIL_REMARKETING_LIST"
   903  	//   "FILTER_HOUSEHOLD_INCOME"
   904  	//   "FILTER_IMPRESSION_COUNTING_METHOD"
   905  	//   "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_INSERTION_ORDER"
   906  	//   "FILTER_INSERTION_ORDER_INTEGRATION_CODE"
   907  	//   "FILTER_INSERTION_ORDER_STATUS"
   908  	//   "FILTER_INTEREST"
   909  	//   "FILTER_INVENTORY_SOURCE_GROUP"
   910  	//   "FILTER_INVENTORY_SOURCE_GROUP_ID"
   911  	//   "FILTER_INVENTORY_SOURCE_ID"
   912  	//   "FILTER_INVENTORY_SOURCE_NAME"
   913  	//   "FILTER_LIFE_EVENT"
   914  	//   "FILTER_LIFE_EVENTS"
   915  	//   "FILTER_LINE_ITEM_INTEGRATION_CODE"
   916  	//   "FILTER_LINE_ITEM_NAME"
   917  	//   "FILTER_LINE_ITEM_STATUS"
   918  	//   "FILTER_MATCH_RATIO"
   919  	//   "FILTER_MEASUREMENT_SOURCE"
   920  	//   "FILTER_MEDIA_PLAN_NAME"
   921  	//   "FILTER_PARENTAL_STATUS"
   922  	//   "FILTER_PLACEMENT_ALL_YOUTUBE_CHANNELS"
   923  	//   "FILTER_PLATFORM"
   924  	//   "FILTER_PLAYBACK_METHOD"
   925  	//   "FILTER_POSITION_IN_CONTENT"
   926  	//   "FILTER_PUBLISHER_PROPERTY"
   927  	//   "FILTER_PUBLISHER_PROPERTY_ID"
   928  	//   "FILTER_PUBLISHER_PROPERTY_SECTION"
   929  	//   "FILTER_PUBLISHER_PROPERTY_SECTION_ID"
   930  	//   "FILTER_REFUND_REASON"
   931  	//   "FILTER_REMARKETING_LIST"
   932  	//   "FILTER_REWARDED"
   933  	//   "FILTER_SENSITIVE_CATEGORY"
   934  	//   "FILTER_SERVED_PIXEL_DENSITY"
   935  	//   "FILTER_TARGETED_DATA_PROVIDERS"
   936  	//   "FILTER_THIRD_PARTY_AUDIENCE_LIST_COST"
   937  	//   "FILTER_THIRD_PARTY_AUDIENCE_LIST_TYPE"
   938  	//   "FILTER_TRUEVIEW_AD"
   939  	//   "FILTER_TRUEVIEW_AD_GROUP"
   940  	//   "FILTER_TRUEVIEW_DETAILED_DEMOGRAPHICS"
   941  	//   "FILTER_TRUEVIEW_DETAILED_DEMOGRAPHICS_ID"
   942  	//   "FILTER_TRUEVIEW_HOUSEHOLD_INCOME"
   943  	//   "FILTER_TRUEVIEW_IAR_COUNTRY_NAME"
   944  	//   "FILTER_TRUEVIEW_REMARKETING_LIST_NAME"
   945  	//   "FILTER_VARIANT_ID"
   946  	//   "FILTER_VARIANT_NAME"
   947  	//   "FILTER_VARIANT_VERSION"
   948  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE"
   949  	//   "FILTER_VERIFICATION_VIDEO_POSITION"
   950  	//   "FILTER_VIDEO_COMPANION_CREATIVE_SIZE"
   951  	//   "FILTER_VIDEO_CONTINUOUS_PLAY"
   952  	//   "FILTER_VIDEO_DURATION"
   953  	//   "FILTER_YOUTUBE_ADAPTED_AUDIENCE_LIST"
   954  	//   "FILTER_YOUTUBE_AD_VIDEO"
   955  	//   "FILTER_YOUTUBE_AD_VIDEO_ID"
   956  	//   "FILTER_YOUTUBE_CHANNEL"
   957  	//   "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_ADVERTISER"
   958  	//   "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_PARTNER"
   959  	//   "FILTER_YOUTUBE_VIDEO"
   960  	//   "FILTER_ZIP_POSTAL_CODE"
   961  	//   "FILTER_PLACEMENT_NAME_ALL_YOUTUBE_CHANNELS"
   962  	//   "FILTER_TRUEVIEW_PLACEMENT_ID"
   963  	//   "FILTER_PATH_PATTERN_ID"
   964  	//   "FILTER_PATH_EVENT_INDEX"
   965  	//   "FILTER_EVENT_TYPE"
   966  	//   "FILTER_CHANNEL_GROUPING"
   967  	//   "FILTER_OM_SDK_AVAILABLE"
   968  	//   "FILTER_DATA_SOURCE"
   969  	//   "FILTER_CM360_PLACEMENT_ID"
   970  	//   "FILTER_TRUEVIEW_CLICK_TYPE_NAME"
   971  	//   "FILTER_TRUEVIEW_AD_TYPE_NAME"
   972  	//   "FILTER_VIDEO_CONTENT_DURATION"
   973  	//   "FILTER_MATCHED_GENRE_TARGET"
   974  	//   "FILTER_VIDEO_CONTENT_LIVE_STREAM"
   975  	//   "FILTER_BUDGET_SEGMENT_TYPE"
   976  	//   "FILTER_BUDGET_SEGMENT_BUDGET"
   977  	//   "FILTER_BUDGET_SEGMENT_START_DATE"
   978  	//   "FILTER_BUDGET_SEGMENT_END_DATE"
   979  	//   "FILTER_BUDGET_SEGMENT_PACING_PERCENTAGE"
   980  	//   "FILTER_LINE_ITEM_BUDGET"
   981  	//   "FILTER_LINE_ITEM_START_DATE"
   982  	//   "FILTER_LINE_ITEM_END_DATE"
   983  	//   "FILTER_INSERTION_ORDER_GOAL_TYPE"
   984  	//   "FILTER_LINE_ITEM_PACING_PERCENTAGE"
   985  	//   "FILTER_INSERTION_ORDER_GOAL_VALUE"
   986  	//   "FILTER_OMID_CAPABLE"
   987  	//   "FILTER_VENDOR_MEASUREMENT_MODE"
   988  	//   "FILTER_IMPRESSION_LOSS_REJECTION_REASON"
   989  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_START"
   990  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_FIRST_QUARTILE"
   991  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_MID_POINT"
   992  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_THIRD_QUARTILE"
   993  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_COMPLETE"
   994  	//   "FILTER_VERIFICATION_VIDEO_RESIZED"
   995  	//   "FILTER_VERIFICATION_AUDIBILITY_START"
   996  	//   "FILTER_VERIFICATION_AUDIBILITY_COMPLETE"
   997  	//   "FILTER_MEDIA_TYPE"
   998  	//   "FILTER_AUDIO_FEED_TYPE_NAME"
   999  	//   "FILTER_TRUEVIEW_TARGETING_EXPANSION"
  1000  	//   "FILTER_PUBLISHER_TRAFFIC_SOURCE"
  1001  	GroupBys []string `json:"groupBys,omitempty"`
  1002  
  1003  	// IncludeInviteData: Deprecated. This field is no longer in use.
  1004  	IncludeInviteData bool `json:"includeInviteData,omitempty"`
  1005  
  1006  	// Metrics: Metrics to include as columns in your report.
  1007  	//
  1008  	// Possible values:
  1009  	//   "METRIC_UNKNOWN"
  1010  	//   "METRIC_IMPRESSIONS"
  1011  	//   "METRIC_CLICKS"
  1012  	//   "METRIC_LAST_IMPRESSIONS"
  1013  	//   "METRIC_LAST_CLICKS"
  1014  	//   "METRIC_TOTAL_CONVERSIONS"
  1015  	//   "METRIC_MEDIA_COST_ADVERTISER"
  1016  	//   "METRIC_MEDIA_COST_USD"
  1017  	//   "METRIC_MEDIA_COST_PARTNER"
  1018  	//   "METRIC_DATA_COST_ADVERTISER"
  1019  	//   "METRIC_DATA_COST_USD"
  1020  	//   "METRIC_DATA_COST_PARTNER"
  1021  	//   "METRIC_CPM_FEE1_ADVERTISER"
  1022  	//   "METRIC_CPM_FEE1_USD"
  1023  	//   "METRIC_CPM_FEE1_PARTNER"
  1024  	//   "METRIC_CPM_FEE2_ADVERTISER"
  1025  	//   "METRIC_CPM_FEE2_USD"
  1026  	//   "METRIC_CPM_FEE2_PARTNER"
  1027  	//   "METRIC_MEDIA_FEE1_ADVERTISER"
  1028  	//   "METRIC_MEDIA_FEE1_USD"
  1029  	//   "METRIC_MEDIA_FEE1_PARTNER"
  1030  	//   "METRIC_MEDIA_FEE2_ADVERTISER"
  1031  	//   "METRIC_MEDIA_FEE2_USD"
  1032  	//   "METRIC_MEDIA_FEE2_PARTNER"
  1033  	//   "METRIC_REVENUE_ADVERTISER"
  1034  	//   "METRIC_REVENUE_USD"
  1035  	//   "METRIC_REVENUE_PARTNER"
  1036  	//   "METRIC_PROFIT_ADVERTISER"
  1037  	//   "METRIC_PROFIT_USD"
  1038  	//   "METRIC_PROFIT_PARTNER"
  1039  	//   "METRIC_PROFIT_MARGIN"
  1040  	//   "METRIC_TOTAL_MEDIA_COST_USD"
  1041  	//   "METRIC_TOTAL_MEDIA_COST_PARTNER"
  1042  	//   "METRIC_TOTAL_MEDIA_COST_ADVERTISER"
  1043  	//   "METRIC_BILLABLE_COST_USD"
  1044  	//   "METRIC_BILLABLE_COST_PARTNER"
  1045  	//   "METRIC_BILLABLE_COST_ADVERTISER"
  1046  	//   "METRIC_PLATFORM_FEE_USD"
  1047  	//   "METRIC_PLATFORM_FEE_PARTNER"
  1048  	//   "METRIC_PLATFORM_FEE_ADVERTISER"
  1049  	//   "METRIC_VIDEO_COMPLETION_RATE"
  1050  	//   "METRIC_PROFIT_ECPM_ADVERTISER"
  1051  	//   "METRIC_PROFIT_ECPM_USD"
  1052  	//   "METRIC_PROFIT_ECPM_PARTNER"
  1053  	//   "METRIC_REVENUE_ECPM_ADVERTISER"
  1054  	//   "METRIC_REVENUE_ECPM_USD"
  1055  	//   "METRIC_REVENUE_ECPM_PARTNER"
  1056  	//   "METRIC_REVENUE_ECPC_ADVERTISER"
  1057  	//   "METRIC_REVENUE_ECPC_USD"
  1058  	//   "METRIC_REVENUE_ECPC_PARTNER"
  1059  	//   "METRIC_REVENUE_ECPA_ADVERTISER"
  1060  	//   "METRIC_REVENUE_ECPA_USD"
  1061  	//   "METRIC_REVENUE_ECPA_PARTNER"
  1062  	//   "METRIC_REVENUE_ECPAPV_ADVERTISER"
  1063  	//   "METRIC_REVENUE_ECPAPV_USD"
  1064  	//   "METRIC_REVENUE_ECPAPV_PARTNER"
  1065  	//   "METRIC_REVENUE_ECPAPC_ADVERTISER"
  1066  	//   "METRIC_REVENUE_ECPAPC_USD"
  1067  	//   "METRIC_REVENUE_ECPAPC_PARTNER"
  1068  	//   "METRIC_MEDIA_COST_ECPM_ADVERTISER"
  1069  	//   "METRIC_MEDIA_COST_ECPM_USD"
  1070  	//   "METRIC_MEDIA_COST_ECPM_PARTNER"
  1071  	//   "METRIC_MEDIA_COST_ECPC_ADVERTISER"
  1072  	//   "METRIC_MEDIA_COST_ECPC_USD"
  1073  	//   "METRIC_MEDIA_COST_ECPC_PARTNER"
  1074  	//   "METRIC_MEDIA_COST_ECPA_ADVERTISER"
  1075  	//   "METRIC_MEDIA_COST_ECPA_USD"
  1076  	//   "METRIC_MEDIA_COST_ECPA_PARTNER"
  1077  	//   "METRIC_MEDIA_COST_ECPAPV_ADVERTISER"
  1078  	//   "METRIC_MEDIA_COST_ECPAPV_USD"
  1079  	//   "METRIC_MEDIA_COST_ECPAPV_PARTNER"
  1080  	//   "METRIC_MEDIA_COST_ECPAPC_ADVERTISER"
  1081  	//   "METRIC_MEDIA_COST_ECPAPC_USD"
  1082  	//   "METRIC_MEDIA_COST_ECPAPC_PARTNER"
  1083  	//   "METRIC_TOTAL_MEDIA_COST_ECPM_ADVERTISER"
  1084  	//   "METRIC_TOTAL_MEDIA_COST_ECPM_USD"
  1085  	//   "METRIC_TOTAL_MEDIA_COST_ECPM_PARTNER"
  1086  	//   "METRIC_TOTAL_MEDIA_COST_ECPC_ADVERTISER"
  1087  	//   "METRIC_TOTAL_MEDIA_COST_ECPC_USD"
  1088  	//   "METRIC_TOTAL_MEDIA_COST_ECPC_PARTNER"
  1089  	//   "METRIC_TOTAL_MEDIA_COST_ECPA_ADVERTISER"
  1090  	//   "METRIC_TOTAL_MEDIA_COST_ECPA_USD"
  1091  	//   "METRIC_TOTAL_MEDIA_COST_ECPA_PARTNER"
  1092  	//   "METRIC_TOTAL_MEDIA_COST_ECPAPV_ADVERTISER"
  1093  	//   "METRIC_TOTAL_MEDIA_COST_ECPAPV_USD"
  1094  	//   "METRIC_TOTAL_MEDIA_COST_ECPAPV_PARTNER"
  1095  	//   "METRIC_TOTAL_MEDIA_COST_ECPAPC_ADVERTISER"
  1096  	//   "METRIC_TOTAL_MEDIA_COST_ECPAPC_USD"
  1097  	//   "METRIC_TOTAL_MEDIA_COST_ECPAPC_PARTNER"
  1098  	//   "METRIC_RICH_MEDIA_VIDEO_PLAYS"
  1099  	//   "METRIC_RICH_MEDIA_VIDEO_COMPLETIONS"
  1100  	//   "METRIC_RICH_MEDIA_VIDEO_PAUSES"
  1101  	//   "METRIC_RICH_MEDIA_VIDEO_MUTES"
  1102  	//   "METRIC_RICH_MEDIA_VIDEO_MIDPOINTS"
  1103  	//   "METRIC_RICH_MEDIA_VIDEO_FULL_SCREENS"
  1104  	//   "METRIC_RICH_MEDIA_VIDEO_FIRST_QUARTILE_COMPLETES"
  1105  	//   "METRIC_RICH_MEDIA_VIDEO_THIRD_QUARTILE_COMPLETES"
  1106  	//   "METRIC_CLICK_TO_POST_CLICK_CONVERSION_RATE"
  1107  	//   "METRIC_IMPRESSIONS_TO_CONVERSION_RATE"
  1108  	//   "METRIC_CONVERSIONS_PER_MILLE"
  1109  	//   "METRIC_CTR"
  1110  	//   "METRIC_BID_REQUESTS"
  1111  	//   "METRIC_UNIQUE_VISITORS_COOKIES"
  1112  	//   "METRIC_REVENUE_ECPCV_ADVERTISER"
  1113  	//   "METRIC_REVENUE_ECPCV_USD"
  1114  	//   "METRIC_REVENUE_ECPCV_PARTNER"
  1115  	//   "METRIC_MEDIA_COST_ECPCV_ADVERTISER"
  1116  	//   "METRIC_MEDIA_COST_ECPCV_USD"
  1117  	//   "METRIC_MEDIA_COST_ECPCV_PARTNER"
  1118  	//   "METRIC_TOTAL_MEDIA_COST_ECPCV_ADVERTISER"
  1119  	//   "METRIC_TOTAL_MEDIA_COST_ECPCV_USD"
  1120  	//   "METRIC_TOTAL_MEDIA_COST_ECPCV_PARTNER"
  1121  	//   "METRIC_RICH_MEDIA_VIDEO_SKIPS"
  1122  	//   "METRIC_FEE2_ADVERTISER"
  1123  	//   "METRIC_FEE2_USD"
  1124  	//   "METRIC_FEE2_PARTNER"
  1125  	//   "METRIC_FEE3_ADVERTISER"
  1126  	//   "METRIC_FEE3_USD"
  1127  	//   "METRIC_FEE3_PARTNER"
  1128  	//   "METRIC_FEE4_ADVERTISER"
  1129  	//   "METRIC_FEE4_USD"
  1130  	//   "METRIC_FEE4_PARTNER"
  1131  	//   "METRIC_FEE5_ADVERTISER"
  1132  	//   "METRIC_FEE5_USD"
  1133  	//   "METRIC_FEE5_PARTNER"
  1134  	//   "METRIC_FEE6_ADVERTISER"
  1135  	//   "METRIC_FEE6_USD"
  1136  	//   "METRIC_FEE6_PARTNER"
  1137  	//   "METRIC_FEE7_ADVERTISER"
  1138  	//   "METRIC_FEE7_USD"
  1139  	//   "METRIC_FEE7_PARTNER"
  1140  	//   "METRIC_FEE8_ADVERTISER"
  1141  	//   "METRIC_FEE8_USD"
  1142  	//   "METRIC_FEE8_PARTNER"
  1143  	//   "METRIC_FEE9_ADVERTISER"
  1144  	//   "METRIC_FEE9_USD"
  1145  	//   "METRIC_FEE9_PARTNER"
  1146  	//   "METRIC_FEE10_ADVERTISER"
  1147  	//   "METRIC_FEE10_USD"
  1148  	//   "METRIC_FEE10_PARTNER"
  1149  	//   "METRIC_FEE11_ADVERTISER"
  1150  	//   "METRIC_FEE11_USD"
  1151  	//   "METRIC_FEE11_PARTNER"
  1152  	//   "METRIC_FEE12_ADVERTISER"
  1153  	//   "METRIC_FEE12_USD"
  1154  	//   "METRIC_FEE12_PARTNER"
  1155  	//   "METRIC_FEE13_ADVERTISER"
  1156  	//   "METRIC_FEE13_USD"
  1157  	//   "METRIC_FEE13_PARTNER"
  1158  	//   "METRIC_FEE14_ADVERTISER"
  1159  	//   "METRIC_FEE14_USD"
  1160  	//   "METRIC_FEE14_PARTNER"
  1161  	//   "METRIC_FEE15_ADVERTISER"
  1162  	//   "METRIC_FEE15_USD"
  1163  	//   "METRIC_FEE15_PARTNER"
  1164  	//   "METRIC_CPM_FEE3_ADVERTISER"
  1165  	//   "METRIC_CPM_FEE3_USD"
  1166  	//   "METRIC_CPM_FEE3_PARTNER"
  1167  	//   "METRIC_CPM_FEE4_ADVERTISER"
  1168  	//   "METRIC_CPM_FEE4_USD"
  1169  	//   "METRIC_CPM_FEE4_PARTNER"
  1170  	//   "METRIC_CPM_FEE5_ADVERTISER"
  1171  	//   "METRIC_CPM_FEE5_USD"
  1172  	//   "METRIC_CPM_FEE5_PARTNER"
  1173  	//   "METRIC_MEDIA_FEE3_ADVERTISER"
  1174  	//   "METRIC_MEDIA_FEE3_USD"
  1175  	//   "METRIC_MEDIA_FEE3_PARTNER"
  1176  	//   "METRIC_MEDIA_FEE4_ADVERTISER"
  1177  	//   "METRIC_MEDIA_FEE4_USD"
  1178  	//   "METRIC_MEDIA_FEE4_PARTNER"
  1179  	//   "METRIC_MEDIA_FEE5_ADVERTISER"
  1180  	//   "METRIC_MEDIA_FEE5_USD"
  1181  	//   "METRIC_MEDIA_FEE5_PARTNER"
  1182  	//   "METRIC_VIDEO_COMPANION_IMPRESSIONS"
  1183  	//   "METRIC_VIDEO_COMPANION_CLICKS"
  1184  	//   "METRIC_FEE16_ADVERTISER"
  1185  	//   "METRIC_FEE16_USD"
  1186  	//   "METRIC_FEE16_PARTNER"
  1187  	//   "METRIC_FEE17_ADVERTISER"
  1188  	//   "METRIC_FEE17_USD"
  1189  	//   "METRIC_FEE17_PARTNER"
  1190  	//   "METRIC_FEE18_ADVERTISER"
  1191  	//   "METRIC_FEE18_USD"
  1192  	//   "METRIC_FEE18_PARTNER"
  1193  	//   "METRIC_TRUEVIEW_VIEWS"
  1194  	//   "METRIC_TRUEVIEW_UNIQUE_VIEWERS"
  1195  	//   "METRIC_TRUEVIEW_EARNED_VIEWS"
  1196  	//   "METRIC_TRUEVIEW_EARNED_SUBSCRIBERS"
  1197  	//   "METRIC_TRUEVIEW_EARNED_PLAYLIST_ADDITIONS"
  1198  	//   "METRIC_TRUEVIEW_EARNED_LIKES"
  1199  	//   "METRIC_TRUEVIEW_EARNED_SHARES"
  1200  	//   "METRIC_TRUEVIEW_IMPRESSION_SHARE"
  1201  	//   "METRIC_TRUEVIEW_LOST_IS_BUDGET"
  1202  	//   "METRIC_TRUEVIEW_LOST_IS_RANK"
  1203  	//   "METRIC_TRUEVIEW_VIEW_THROUGH_CONVERSION"
  1204  	//   "METRIC_TRUEVIEW_CONVERSION_MANY_PER_VIEW"
  1205  	//   "METRIC_TRUEVIEW_VIEW_RATE"
  1206  	//   "METRIC_TRUEVIEW_CONVERSION_RATE_ONE_PER_VIEW"
  1207  	//   "METRIC_TRUEVIEW_CPV_ADVERTISER"
  1208  	//   "METRIC_TRUEVIEW_CPV_USD"
  1209  	//   "METRIC_TRUEVIEW_CPV_PARTNER"
  1210  	//   "METRIC_FEE19_ADVERTISER"
  1211  	//   "METRIC_FEE19_USD"
  1212  	//   "METRIC_FEE19_PARTNER"
  1213  	//   "METRIC_TEA_TRUEVIEW_IMPRESSIONS"
  1214  	//   "METRIC_TEA_TRUEVIEW_UNIQUE_COOKIES"
  1215  	//   "METRIC_FEE20_ADVERTISER"
  1216  	//   "METRIC_FEE20_USD"
  1217  	//   "METRIC_FEE20_PARTNER"
  1218  	//   "METRIC_FEE21_ADVERTISER"
  1219  	//   "METRIC_FEE21_USD"
  1220  	//   "METRIC_FEE21_PARTNER"
  1221  	//   "METRIC_FEE22_ADVERTISER"
  1222  	//   "METRIC_FEE22_USD"
  1223  	//   "METRIC_FEE22_PARTNER"
  1224  	//   "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_ADVERTISER"
  1225  	//   "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_USD"
  1226  	//   "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_PARTNER"
  1227  	//   "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_ADVERTISER"
  1228  	//   "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_USD"
  1229  	//   "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_PARTNER"
  1230  	//   "METRIC_PROFIT_VIEWABLE_ECPM_ADVERTISER"
  1231  	//   "METRIC_PROFIT_VIEWABLE_ECPM_USD"
  1232  	//   "METRIC_PROFIT_VIEWABLE_ECPM_PARTNER"
  1233  	//   "METRIC_REVENUE_VIEWABLE_ECPM_ADVERTISER"
  1234  	//   "METRIC_REVENUE_VIEWABLE_ECPM_USD"
  1235  	//   "METRIC_REVENUE_VIEWABLE_ECPM_PARTNER"
  1236  	//   "METRIC_MEDIA_COST_VIEWABLE_ECPM_ADVERTISER"
  1237  	//   "METRIC_MEDIA_COST_VIEWABLE_ECPM_USD"
  1238  	//   "METRIC_MEDIA_COST_VIEWABLE_ECPM_PARTNER"
  1239  	//   "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_ADVERTISER"
  1240  	//   "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_USD"
  1241  	//   "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_PARTNER"
  1242  	//   "METRIC_TRUEVIEW_ENGAGEMENTS"
  1243  	//   "METRIC_TRUEVIEW_ENGAGEMENT_RATE"
  1244  	//   "METRIC_TRUEVIEW_AVERAGE_CPE_ADVERTISER"
  1245  	//   "METRIC_TRUEVIEW_AVERAGE_CPE_USD"
  1246  	//   "METRIC_TRUEVIEW_AVERAGE_CPE_PARTNER"
  1247  	//   "METRIC_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS"
  1248  	//   "METRIC_ACTIVE_VIEW_ELIGIBLE_IMPRESSIONS"
  1249  	//   "METRIC_ACTIVE_VIEW_MEASURABLE_IMPRESSIONS"
  1250  	//   "METRIC_ACTIVE_VIEW_PCT_MEASURABLE_IMPRESSIONS"
  1251  	//   "METRIC_ACTIVE_VIEW_PCT_VIEWABLE_IMPRESSIONS"
  1252  	//   "METRIC_ACTIVE_VIEW_AVERAGE_VIEWABLE_TIME"
  1253  	//   "METRIC_ACTIVE_VIEW_UNMEASURABLE_IMPRESSIONS"
  1254  	//   "METRIC_ACTIVE_VIEW_UNVIEWABLE_IMPRESSIONS"
  1255  	//   "METRIC_ACTIVE_VIEW_DISTRIBUTION_UNMEASURABLE"
  1256  	//   "METRIC_ACTIVE_VIEW_DISTRIBUTION_UNVIEWABLE"
  1257  	//   "METRIC_ACTIVE_VIEW_DISTRIBUTION_VIEWABLE"
  1258  	//   "METRIC_ACTIVE_VIEW_PERCENT_VIEWABLE_FOR_TIME_THRESHOLD"
  1259  	//   "METRIC_ACTIVE_VIEW_VIEWABLE_FOR_TIME_THRESHOLD"
  1260  	//   "METRIC_ACTIVE_VIEW_PERCENT_VISIBLE_AT_START"
  1261  	//   "METRIC_ACTIVE_VIEW_PERCENT_VISIBLE_FIRST_QUAR"
  1262  	//   "METRIC_ACTIVE_VIEW_PERCENT_VISIBLE_SECOND_QUAR"
  1263  	//   "METRIC_ACTIVE_VIEW_PERCENT_VISIBLE_THIRD_QUAR"
  1264  	//   "METRIC_ACTIVE_VIEW_PERCENT_VISIBLE_ON_COMPLETE"
  1265  	//   "METRIC_ACTIVE_VIEW_PERCENT_AUDIBLE_VISIBLE_AT_START"
  1266  	//   "METRIC_ACTIVE_VIEW_PERCENT_AUDIBLE_VISIBLE_FIRST_QUAR"
  1267  	//   "METRIC_ACTIVE_VIEW_PERCENT_AUDIBLE_VISIBLE_SECOND_QUAR"
  1268  	//   "METRIC_ACTIVE_VIEW_PERCENT_AUDIBLE_VISIBLE_THIRD_QUAR"
  1269  	//   "METRIC_ACTIVE_VIEW_PERCENT_AUDIBLE_VISIBLE_ON_COMPLETE"
  1270  	//   "METRIC_ACTIVE_VIEW_AUDIBLE_VISIBLE_ON_COMPLETE_IMPRESSIONS"
  1271  	//   "METRIC_VIEWABLE_BID_REQUESTS"
  1272  	//   "METRIC_COOKIE_REACH_IMPRESSION_REACH"
  1273  	//   "METRIC_COOKIE_REACH_AVERAGE_IMPRESSION_FREQUENCY"
  1274  	//   "METRIC_DBM_ENGAGEMENT_RATE"
  1275  	//   "METRIC_RICH_MEDIA_SCROLLS"
  1276  	//   "METRIC_CM_POST_VIEW_REVENUE"
  1277  	//   "METRIC_CM_POST_CLICK_REVENUE"
  1278  	//   "METRIC_FLOODLIGHT_IMPRESSIONS"
  1279  	//   "METRIC_BILLABLE_IMPRESSIONS"
  1280  	//   "METRIC_NIELSEN_AVERAGE_FREQUENCY"
  1281  	//   "METRIC_NIELSEN_IMPRESSIONS"
  1282  	//   "METRIC_NIELSEN_UNIQUE_AUDIENCE"
  1283  	//   "METRIC_NIELSEN_GRP"
  1284  	//   "METRIC_NIELSEN_IMPRESSION_INDEX"
  1285  	//   "METRIC_NIELSEN_IMPRESSIONS_SHARE"
  1286  	//   "METRIC_NIELSEN_POPULATION"
  1287  	//   "METRIC_NIELSEN_POPULATION_REACH"
  1288  	//   "METRIC_NIELSEN_POPULATION_SHARE"
  1289  	//   "METRIC_NIELSEN_REACH_INDEX"
  1290  	//   "METRIC_NIELSEN_REACH_SHARE"
  1291  	//
  1292  	// "METRIC_ACTIVE_VIEW_AUDIBLE_FULLY_ON_SCREEN_HALF_OF_DURATION_IMPRESSIO
  1293  	// NS"
  1294  	//
  1295  	// "METRIC_ACTIVE_VIEW_AUDIBLE_FULLY_ON_SCREEN_HALF_OF_DURATION_MEASURABL
  1296  	// E_IMPRESSIONS"
  1297  	//   "METRIC_ACTIVE_VIEW_AUDIBLE_FULLY_ON_SCREEN_HALF_OF_DURATION_RATE"
  1298  	//
  1299  	// "METRIC_ACTIVE_VIEW_AUDIBLE_FULLY_ON_SCREEN_HALF_OF_DURATION_TRUEVIEW_
  1300  	// IMPRESSIONS"
  1301  	//
  1302  	// "METRIC_ACTIVE_VIEW_AUDIBLE_FULLY_ON_SCREEN_HALF_OF_DURATION_TRUEVIEW_
  1303  	// MEASURABLE_IMPRESSIONS"
  1304  	//
  1305  	// "METRIC_ACTIVE_VIEW_AUDIBLE_FULLY_ON_SCREEN_HALF_OF_DURATION_TRUEVIEW_
  1306  	// RATE"
  1307  	//   "METRIC_ACTIVE_VIEW_CUSTOM_METRIC_MEASURABLE_IMPRESSIONS"
  1308  	//   "METRIC_ACTIVE_VIEW_CUSTOM_METRIC_VIEWABLE_IMPRESSIONS"
  1309  	//   "METRIC_ACTIVE_VIEW_CUSTOM_METRIC_VIEWABLE_RATE"
  1310  	//   "METRIC_ACTIVE_VIEW_PERCENT_AUDIBLE_IMPRESSIONS"
  1311  	//   "METRIC_ACTIVE_VIEW_PERCENT_FULLY_ON_SCREEN_2_SEC"
  1312  	//   "METRIC_ACTIVE_VIEW_PERCENT_FULL_SCREEN"
  1313  	//   "METRIC_ACTIVE_VIEW_PERCENT_IN_BACKGROUND"
  1314  	//   "METRIC_ACTIVE_VIEW_PERCENT_OF_AD_PLAYED"
  1315  	//
  1316  	// "METRIC_ACTIVE_VIEW_PERCENT_OF_COMPLETED_IMPRESSIONS_AUDIBLE_AND_VISIB
  1317  	// LE"
  1318  	//   "METRIC_ACTIVE_VIEW_PERCENT_OF_COMPLETED_IMPRESSIONS_VISIBLE"
  1319  	//
  1320  	// "METRIC_ACTIVE_VIEW_PERCENT_OF_FIRST_QUARTILE_IMPRESSIONS_AUDIBLE_AND_
  1321  	// VISIBLE"
  1322  	//   "METRIC_ACTIVE_VIEW_PERCENT_OF_FIRST_QUARTILE_IMPRESSIONS_VISIBLE"
  1323  	//
  1324  	// "METRIC_ACTIVE_VIEW_PERCENT_OF_MIDPOINT_IMPRESSIONS_AUDIBLE_AND_VISIBL
  1325  	// E"
  1326  	//   "METRIC_ACTIVE_VIEW_PERCENT_OF_MIDPOINT_IMPRESSIONS_VISIBLE"
  1327  	//
  1328  	// "METRIC_ACTIVE_VIEW_PERCENT_OF_THIRD_QUARTILE_IMPRESSIONS_AUDIBLE_AND_
  1329  	// VISIBLE"
  1330  	//   "METRIC_ACTIVE_VIEW_PERCENT_OF_THIRD_QUARTILE_IMPRESSIONS_VISIBLE"
  1331  	//   "METRIC_ACTIVE_VIEW_PERCENT_PLAY_TIME_AUDIBLE"
  1332  	//   "METRIC_ACTIVE_VIEW_PERCENT_PLAY_TIME_AUDIBLE_AND_VISIBLE"
  1333  	//   "METRIC_ACTIVE_VIEW_PERCENT_PLAY_TIME_VISIBLE"
  1334  	//   "METRIC_ADAPTED_AUDIENCE_FREQUENCY"
  1335  	//   "METRIC_ADLINGO_FEE_ADVERTISER_CURRENCY"
  1336  	//   "METRIC_AUDIO_CLIENT_COST_ECPCL_ADVERTISER_CURRENCY"
  1337  	//   "METRIC_AUDIO_MEDIA_COST_ECPCL_ADVERTISER_CURRENCY"
  1338  	//   "METRIC_AUDIO_MUTES_AUDIO"
  1339  	//   "METRIC_AUDIO_REVENUE_ECPCL_ADVERTISER_CURRENCY"
  1340  	//   "METRIC_AUDIO_UNMUTES_AUDIO"
  1341  	//   "METRIC_AUDIO_UNMUTES_VIDEO"
  1342  	//   "METRIC_AVERAGE_DISPLAY_TIME"
  1343  	//   "METRIC_AVERAGE_IMPRESSION_FREQUENCY_PER_USER"
  1344  	//   "METRIC_AVERAGE_INTERACTION_TIME"
  1345  	//   "METRIC_AVERAGE_WATCH_TIME_PER_IMPRESSION"
  1346  	//   "METRIC_BEGIN_TO_RENDER_ELIGIBLE_IMPRESSIONS"
  1347  	//   "METRIC_BEGIN_TO_RENDER_IMPRESSIONS"
  1348  	//   "METRIC_BENCHMARK_FREQUENCY"
  1349  	//   "METRIC_BRAND_LIFT_ABSOLUTE_BRAND_LIFT"
  1350  	//   "METRIC_BRAND_LIFT_ALL_SURVEY_RESPONSES"
  1351  	//   "METRIC_BRAND_LIFT_BASELINE_POSITIVE_RESPONSE_RATE"
  1352  	//   "METRIC_BRAND_LIFT_BASELINE_SURVEY_RESPONSES"
  1353  	//   "METRIC_BRAND_LIFT_COST_PER_LIFTED_USER"
  1354  	//   "METRIC_BRAND_LIFT_EXPOSED_SURVEY_RESPONSES"
  1355  	//   "METRIC_BRAND_LIFT_HEADROOM_BRAND_LIFT"
  1356  	//   "METRIC_BRAND_LIFT_RELATIVE_BRAND_LIFT"
  1357  	//   "METRIC_BRAND_LIFT_USERS"
  1358  	//   "METRIC_CARD_CLICKS"
  1359  	//   "METRIC_CLIENT_COST_ADVERTISER_CURRENCY"
  1360  	//   "METRIC_CLIENT_COST_ECPA_ADVERTISER_CURRENCY"
  1361  	//   "METRIC_CLIENT_COST_ECPA_PC_ADVERTISER_CURRENCY"
  1362  	//   "METRIC_CLIENT_COST_ECPA_PV_ADVERTISER_CURRENCY"
  1363  	//   "METRIC_CLIENT_COST_ECPC_ADVERTISER_CURRENCY"
  1364  	//   "METRIC_CLIENT_COST_ECPM_ADVERTISER_CURRENCY"
  1365  	//   "METRIC_CLIENT_COST_VIEWABLE_ECPM_ADVERTISER_CURRENCY"
  1366  	//   "METRIC_CM_POST_CLICK_REVENUE_CROSS_ENVIRONMENT"
  1367  	//   "METRIC_CM_POST_VIEW_REVENUE_CROSS_ENVIRONMENT"
  1368  	//   "METRIC_COMPANION_CLICKS_AUDIO"
  1369  	//   "METRIC_COMPANION_IMPRESSIONS_AUDIO"
  1370  	//   "METRIC_COMPLETE_LISTENS_AUDIO"
  1371  	//   "METRIC_COMPLETION_RATE_AUDIO"
  1372  	//   "METRIC_COUNTERS"
  1373  	//   "METRIC_CUSTOM_FEE_1_ADVERTISER_CURRENCY"
  1374  	//   "METRIC_CUSTOM_FEE_2_ADVERTISER_CURRENCY"
  1375  	//   "METRIC_CUSTOM_FEE_3_ADVERTISER_CURRENCY"
  1376  	//   "METRIC_CUSTOM_FEE_4_ADVERTISER_CURRENCY"
  1377  	//   "METRIC_CUSTOM_FEE_5_ADVERTISER_CURRENCY"
  1378  	//   "METRIC_CUSTOM_VALUE_PER_1000_IMPRESSIONS"
  1379  	//   "METRIC_ENGAGEMENTS"
  1380  	//
  1381  	// "METRIC_ESTIMATED_CPM_FOR_IMPRESSIONS_WITH_CUSTOM_VALUE_ADVERTISER_CUR
  1382  	// RENCY"
  1383  	//
  1384  	// "METRIC_ESTIMATED_TOTAL_COST_FOR_IMPRESSIONS_WITH_CUSTOM_VALUE_ADVERTI
  1385  	// SER_CURRENCY"
  1386  	//   "METRIC_EXITS"
  1387  	//   "METRIC_EXPANSIONS"
  1388  	//   "METRIC_FIRST_QUARTILE_AUDIO"
  1389  	//   "METRIC_GENERAL_INVALID_TRAFFIC_GIVT_IMPRESSIONS"
  1390  	//   "METRIC_GENERAL_INVALID_TRAFFIC_GIVT_TRACKED_ADS"
  1391  	//   "METRIC_GIVT_ACTIVE_VIEW_ELIGIBLE_IMPRESSIONS"
  1392  	//   "METRIC_GIVT_ACTIVE_VIEW_MEASURABLE_IMPRESSIONS"
  1393  	//   "METRIC_GIVT_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS"
  1394  	//   "METRIC_GIVT_BEGIN_TO_RENDER_IMPRESSIONS"
  1395  	//   "METRIC_GIVT_CLICKS"
  1396  	//   "METRIC_GMAIL_CONVERSIONS"
  1397  	//   "METRIC_GMAIL_POST_CLICK_CONVERSIONS"
  1398  	//   "METRIC_GMAIL_POST_VIEW_CONVERSIONS"
  1399  	//   "METRIC_GMAIL_POTENTIAL_VIEWS"
  1400  	//   "METRIC_IMPRESSIONS_WITH_CUSTOM_VALUE"
  1401  	//   "METRIC_IMPRESSIONS_WITH_POSITIVE_CUSTOM_VALUE"
  1402  	//   "METRIC_IMPRESSION_CUSTOM_VALUE_COST"
  1403  	//   "METRIC_INTERACTIVE_IMPRESSIONS"
  1404  	//   "METRIC_INVALID_ACTIVE_VIEW_ELIGIBLE_IMPRESSIONS"
  1405  	//   "METRIC_INVALID_ACTIVE_VIEW_MEASURABLE_IMPRESSIONS"
  1406  	//   "METRIC_INVALID_ACTIVE_VIEW_VIEWABLE_IMPRESSIONS"
  1407  	//   "METRIC_INVALID_BEGIN_TO_RENDER_IMPRESSIONS"
  1408  	//   "METRIC_INVALID_CLICKS"
  1409  	//   "METRIC_INVALID_IMPRESSIONS"
  1410  	//   "METRIC_INVALID_TRACKED_ADS"
  1411  	//   "METRIC_MIDPOINT_AUDIO"
  1412  	//   "METRIC_ORIGINAL_AUDIENCE_FREQUENCY"
  1413  	//   "METRIC_PAUSES_AUDIO"
  1414  	//   "METRIC_PERCENT_IMPRESSIONS_WITH_POSITIVE_CUSTOM_VALUE"
  1415  	//   "METRIC_PLATFORM_FEE_RATE"
  1416  	//   "METRIC_POST_CLICK_CONVERSIONS_CROSS_ENVIRONMENT"
  1417  	//   "METRIC_POST_VIEW_CONVERSIONS_CROSS_ENVIRONMENT"
  1418  	//   "METRIC_POTENTIAL_IMPRESSIONS"
  1419  	//   "METRIC_POTENTIAL_VIEWS"
  1420  	//   "METRIC_PREMIUM_FEE_ADVERTISER_CURRENCY"
  1421  	//
  1422  	// "METRIC_PROGRAMMATIC_GUARANTEED_IMPRESSIONS_PASSED_DUE_TO_FREQUENCY"
  1423  	//
  1424  	// "METRIC_PROGRAMMATIC_GUARANTEED_SAVINGS_RE_INVESTED_DUE_TO_FREQUENCY_A
  1425  	// DVERTISER_CURRENCY"
  1426  	//   "METRIC_REFUND_BILLABLE_COST_ADVERTISER_CURRENCY"
  1427  	//   "METRIC_REFUND_MEDIA_COST_ADVERTISER_CURRENCY"
  1428  	//   "METRIC_REFUND_PLATFORM_FEE_ADVERTISER_CURRENCY"
  1429  	//   "METRIC_RICH_MEDIA_ENGAGEMENTS"
  1430  	//   "METRIC_STARTS_AUDIO"
  1431  	//   "METRIC_STOPS_AUDIO"
  1432  	//   "METRIC_STORE_VISIT_CONVERSIONS"
  1433  	//   "METRIC_THIRD_QUARTILE_AUDIO"
  1434  	//   "METRIC_TIMERS"
  1435  	//   "METRIC_TOTAL_AUDIO_MEDIA_COST_ECPCL_ADVERTISER_CURRENCY"
  1436  	//   "METRIC_TOTAL_CONVERSIONS_CROSS_ENVIRONMENT"
  1437  	//   "METRIC_TOTAL_DISPLAY_TIME"
  1438  	//   "METRIC_TOTAL_IMPRESSION_CUSTOM_VALUE"
  1439  	//   "METRIC_TOTAL_INTERACTION_TIME"
  1440  	//   "METRIC_TOTAL_USERS"
  1441  	//   "METRIC_TRACKED_ADS"
  1442  	//   "METRIC_TRUEVIEW_GENERAL_INVALID_TRAFFIC_GIVT_VIEWS"
  1443  	//   "METRIC_TRUEVIEW_INVALID_VIEWS"
  1444  	//   "METRIC_UNIQUE_COOKIES_WITH_IMPRESSIONS"
  1445  	//   "METRIC_UNIQUE_REACH_AVERAGE_IMPRESSION_FREQUENCY"
  1446  	//   "METRIC_UNIQUE_REACH_CLICK_REACH"
  1447  	//   "METRIC_UNIQUE_REACH_IMPRESSION_REACH"
  1448  	//   "METRIC_UNIQUE_REACH_TOTAL_REACH"
  1449  	//   "METRIC_VERIFIABLE_IMPRESSIONS"
  1450  	//   "METRIC_VIDEO_CLIENT_COST_ECPCV_ADVERTISER_CURRENCY"
  1451  	//   "METRIC_WATCH_TIME"
  1452  	//   "METRIC_LAST_TOUCH_TOTAL_CONVERSIONS"
  1453  	//   "METRIC_LAST_TOUCH_CLICK_THROUGH_CONVERSIONS"
  1454  	//   "METRIC_LAST_TOUCH_VIEW_THROUGH_CONVERSIONS"
  1455  	//   "METRIC_TOTAL_PATHS"
  1456  	//   "METRIC_TOTAL_EXPOSURES"
  1457  	//   "METRIC_PATH_CONVERSION_RATE"
  1458  	//   "METRIC_CONVERTING_PATHS"
  1459  	//   "METRIC_ACTIVITY_REVENUE"
  1460  	//   "METRIC_PERCENT_INVALID_IMPRESSIONS_PREBID"
  1461  	//   "METRIC_GRP_CORRECTED_IMPRESSIONS"
  1462  	//   "METRIC_DEMO_CORRECTED_CLICKS"
  1463  	//   "METRIC_VIRTUAL_PEOPLE_IMPRESSION_REACH_BY_DEMO"
  1464  	//   "METRIC_VIRTUAL_PEOPLE_CLICK_REACH_BY_DEMO"
  1465  	//   "METRIC_VIRTUAL_PEOPLE_AVERAGE_IMPRESSION_FREQUENCY_BY_DEMO"
  1466  	//   "METRIC_DEMO_COMPOSITION_IMPRESSION"
  1467  	//   "METRIC_VIRTUAL_PEOPLE_IMPRESSION_REACH_SHARE_PERCENT"
  1468  	//   "METRIC_DEMO_POPULATION"
  1469  	//   "METRIC_VIRTUAL_PEOPLE_IMPRESSION_REACH_PERCENT"
  1470  	//   "METRIC_TARGET_RATING_POINTS"
  1471  	//   "METRIC_PROVISIONAL_IMPRESSIONS"
  1472  	//   "METRIC_VENDOR_BLOCKED_ADS"
  1473  	//   "METRIC_GRP_CORRECTED_VIEWABLE_IMPRESSIONS"
  1474  	//   "METRIC_GRP_CORRECTED_VIEWABLE_IMPRESSIONS_SHARE_PERCENT"
  1475  	//   "METRIC_VIEWABLE_GROSS_RATING_POINTS"
  1476  	//
  1477  	// "METRIC_VIRTUAL_PEOPLE_AVERAGE_VIEWABLE_IMPRESSION_FREQUENCY_BY_DEMO"
  1478  	//   "METRIC_VIRTUAL_PEOPLE_VIEWABLE_IMPRESSION_REACH_BY_DEMO"
  1479  	//   "METRIC_VIRTUAL_PEOPLE_VIEWABLE_IMPRESSION_REACH_PERCENT"
  1480  	//   "METRIC_VIRTUAL_PEOPLE_VIEWABLE_IMPRESSION_REACH_SHARE_PERCENT"
  1481  	//   "METRIC_ENGAGEMENT_RATE"
  1482  	//   "METRIC_CM360_POST_VIEW_REVENUE"
  1483  	//   "METRIC_CM360_POST_CLICK_REVENUE"
  1484  	//   "METRIC_CM360_POST_CLICK_REVENUE_CROSS_ENVIRONMENT"
  1485  	//   "METRIC_CM360_POST_VIEW_REVENUE_CROSS_ENVIRONMENT"
  1486  	//   "METRIC_PERCENTAGE_FROM_CURRENT_IO_GOAL"
  1487  	//   "METRIC_DUPLICATE_FLOODLIGHT_IMPRESSIONS"
  1488  	//   "METRIC_COOKIE_CONSENTED_FLOODLIGHT_IMPRESSIONS"
  1489  	//   "METRIC_COOKIE_UNCONSENTED_FLOODLIGHT_IMPRESSIONS"
  1490  	//   "METRIC_TRACKING_UNCONSENTED_CLICKS"
  1491  	//   "METRIC_IMPRESSION_LOSS_TARGETED_IMPRESSIONS"
  1492  	//   "METRIC_LINEITEM_BID_RESPONSE_COUNT"
  1493  	//   "METRIC_WIN_LOSS_RATE"
  1494  	//   "METRIC_WIN_LOSS_DEAL_AVAILABLE_REQUESTS"
  1495  	//   "METRIC_WIN_LOSS_LINEITEM_AVAILABLE_REQUESTS"
  1496  	//   "METRIC_WIN_LOSS_DEAL_TARGETED_IMPRESSIONS"
  1497  	//   "METRIC_WIN_LOSS_LINEITEM_TARGETED_IMPRESSIONS"
  1498  	//   "METRIC_VERIFICATION_VIDEO_PLAYER_SIZE_MEASURABLE_IMPRESSIONS"
  1499  	//   "METRIC_TRUEVIEW_ALL_AD_SEQUENCE_IMPRESSIONS"
  1500  	//   "METRIC_IMPRESSIONS_COVIEWED"
  1501  	//   "METRIC_UNIQUE_REACH_IMPRESSION_REACH_COVIEWED"
  1502  	//   "METRIC_UNIQUE_REACH_TOTAL_REACH_COVIEWED"
  1503  	//   "METRIC_UNIQUE_REACH_AVERAGE_IMPRESSION_FREQUENCY_COVIEWED"
  1504  	//   "METRIC_GRP_CORRECTED_IMPRESSIONS_COVIEWED"
  1505  	//   "METRIC_VIRTUAL_PEOPLE_IMPRESSION_REACH_BY_DEMO_COVIEWED"
  1506  	//
  1507  	// "METRIC_VIRTUAL_PEOPLE_AVERAGE_IMPRESSION_FREQUENCY_BY_DEMO_COVIEWED"
  1508  	//   "METRIC_TARGET_RATING_POINTS_COVIEWED"
  1509  	//   "METRIC_DEMO_COMPOSITION_IMPRESSION_COVIEWED"
  1510  	//   "METRIC_VIRTUAL_PEOPLE_IMPRESSION_REACH_SHARE_PERCENT_COVIEWED"
  1511  	//   "METRIC_VIRTUAL_PEOPLE_IMPRESSION_REACH_PERCENT_COVIEWED"
  1512  	Metrics []string `json:"metrics,omitempty"`
  1513  
  1514  	// Options: Additional query options.
  1515  	Options *Options `json:"options,omitempty"`
  1516  
  1517  	// Type: Report type.
  1518  	//
  1519  	// Possible values:
  1520  	//   "TYPE_GENERAL"
  1521  	//   "TYPE_AUDIENCE_PERFORMANCE"
  1522  	//   "TYPE_INVENTORY_AVAILABILITY"
  1523  	//   "TYPE_KEYWORD"
  1524  	//   "TYPE_PIXEL_LOAD"
  1525  	//   "TYPE_AUDIENCE_COMPOSITION"
  1526  	//   "TYPE_CROSS_PARTNER"
  1527  	//   "TYPE_PAGE_CATEGORY"
  1528  	//   "TYPE_THIRD_PARTY_DATA_PROVIDER"
  1529  	//   "TYPE_CROSS_PARTNER_THIRD_PARTY_DATA_PROVIDER"
  1530  	//   "TYPE_CLIENT_SAFE"
  1531  	//   "TYPE_ORDER_ID"
  1532  	//   "TYPE_FEE"
  1533  	//   "TYPE_CROSS_FEE"
  1534  	//   "TYPE_ACTIVE_GRP"
  1535  	//   "TYPE_YOUTUBE_VERTICAL"
  1536  	//   "TYPE_COMSCORE_VCE"
  1537  	//   "TYPE_TRUEVIEW"
  1538  	//   "TYPE_NIELSEN_AUDIENCE_PROFILE"
  1539  	//   "TYPE_NIELSEN_DAILY_REACH_BUILD"
  1540  	//   "TYPE_NIELSEN_SITE"
  1541  	//   "TYPE_REACH_AND_FREQUENCY"
  1542  	//   "TYPE_ESTIMATED_CONVERSION"
  1543  	//   "TYPE_VERIFICATION"
  1544  	//   "TYPE_TRUEVIEW_IAR"
  1545  	//   "TYPE_NIELSEN_ONLINE_GLOBAL_MARKET"
  1546  	//   "TYPE_PETRA_NIELSEN_AUDIENCE_PROFILE"
  1547  	//   "TYPE_PETRA_NIELSEN_DAILY_REACH_BUILD"
  1548  	//   "TYPE_PETRA_NIELSEN_ONLINE_GLOBAL_MARKET"
  1549  	//   "TYPE_NOT_SUPPORTED"
  1550  	//   "TYPE_REACH_AUDIENCE"
  1551  	//   "TYPE_LINEAR_TV_SEARCH_LIFT"
  1552  	//   "TYPE_PATH"
  1553  	//   "TYPE_PATH_ATTRIBUTION"
  1554  	Type string `json:"type,omitempty"`
  1555  
  1556  	// ForceSendFields is a list of field names (e.g. "Filters") to
  1557  	// unconditionally include in API requests. By default, fields with
  1558  	// empty or default values are omitted from API requests. However, any
  1559  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1560  	// sent to the server regardless of whether the field is empty or not.
  1561  	// This may be used to include empty fields in Patch requests.
  1562  	ForceSendFields []string `json:"-"`
  1563  
  1564  	// NullFields is a list of field names (e.g. "Filters") to include in
  1565  	// API requests with the JSON null value. By default, fields with empty
  1566  	// values are omitted from API requests. However, any field with an
  1567  	// empty value appearing in NullFields will be sent to the server as
  1568  	// null. It is an error if a field in this list has a non-empty value.
  1569  	// This may be used to include null fields in Patch requests.
  1570  	NullFields []string `json:"-"`
  1571  }
  1572  
  1573  func (s *Parameters) MarshalJSON() ([]byte, error) {
  1574  	type NoMethod Parameters
  1575  	raw := NoMethod(*s)
  1576  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1577  }
  1578  
  1579  // PathFilter: Path filters specify which paths to include in a report.
  1580  // A path is the result of combining DV360 events based on User ID to
  1581  // create a workflow of users' actions. When a path filter is set, the
  1582  // resulting report will only include paths that match the specified
  1583  // event at the specified position. All other paths will be excluded.
  1584  type PathFilter struct {
  1585  	// EventFilters: Filter on an event to be applied to some part of the
  1586  	// path.
  1587  	EventFilters []*EventFilter `json:"eventFilters,omitempty"`
  1588  
  1589  	// PathMatchPosition: Indicates the position of the path the filter
  1590  	// should match to (first, last, or any event in path).
  1591  	//
  1592  	// Possible values:
  1593  	//   "ANY"
  1594  	//   "FIRST"
  1595  	//   "LAST"
  1596  	PathMatchPosition string `json:"pathMatchPosition,omitempty"`
  1597  
  1598  	// ForceSendFields is a list of field names (e.g. "EventFilters") to
  1599  	// unconditionally include in API requests. By default, fields with
  1600  	// empty or default values are omitted from API requests. However, any
  1601  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1602  	// sent to the server regardless of whether the field is empty or not.
  1603  	// This may be used to include empty fields in Patch requests.
  1604  	ForceSendFields []string `json:"-"`
  1605  
  1606  	// NullFields is a list of field names (e.g. "EventFilters") to include
  1607  	// in API requests with the JSON null value. By default, fields with
  1608  	// empty values are omitted from API requests. However, any field with
  1609  	// an empty value appearing in NullFields will be sent to the server as
  1610  	// null. It is an error if a field in this list has a non-empty value.
  1611  	// This may be used to include null fields in Patch requests.
  1612  	NullFields []string `json:"-"`
  1613  }
  1614  
  1615  func (s *PathFilter) MarshalJSON() ([]byte, error) {
  1616  	type NoMethod PathFilter
  1617  	raw := NoMethod(*s)
  1618  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1619  }
  1620  
  1621  // PathQueryOptions: Path Query Options for Report Options.
  1622  type PathQueryOptions struct {
  1623  	// ChannelGrouping: Custom Channel Groupings.
  1624  	ChannelGrouping *ChannelGrouping `json:"channelGrouping,omitempty"`
  1625  
  1626  	// PathFilters: Path Filters. There is a limit of 100 path filters that
  1627  	// can be set per report.
  1628  	PathFilters []*PathFilter `json:"pathFilters,omitempty"`
  1629  
  1630  	// ForceSendFields is a list of field names (e.g. "ChannelGrouping") to
  1631  	// unconditionally include in API requests. By default, fields with
  1632  	// empty or default values are omitted from API requests. However, any
  1633  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1634  	// sent to the server regardless of whether the field is empty or not.
  1635  	// This may be used to include empty fields in Patch requests.
  1636  	ForceSendFields []string `json:"-"`
  1637  
  1638  	// NullFields is a list of field names (e.g. "ChannelGrouping") to
  1639  	// include in API requests with the JSON null value. By default, fields
  1640  	// with empty values are omitted from API requests. However, any field
  1641  	// with an empty value appearing in NullFields will be sent to the
  1642  	// server as null. It is an error if a field in this list has a
  1643  	// non-empty value. This may be used to include null fields in Patch
  1644  	// requests.
  1645  	NullFields []string `json:"-"`
  1646  }
  1647  
  1648  func (s *PathQueryOptions) MarshalJSON() ([]byte, error) {
  1649  	type NoMethod PathQueryOptions
  1650  	raw := NoMethod(*s)
  1651  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1652  }
  1653  
  1654  // PathQueryOptionsFilter: Dimension Filter on path events.
  1655  type PathQueryOptionsFilter struct {
  1656  	// Filter: Dimension the filter is applied to.
  1657  	//
  1658  	// Possible values:
  1659  	//   "FILTER_UNKNOWN"
  1660  	//   "FILTER_DATE"
  1661  	//   "FILTER_DAY_OF_WEEK"
  1662  	//   "FILTER_WEEK"
  1663  	//   "FILTER_MONTH"
  1664  	//   "FILTER_YEAR"
  1665  	//   "FILTER_TIME_OF_DAY"
  1666  	//   "FILTER_CONVERSION_DELAY"
  1667  	//   "FILTER_CREATIVE_ID"
  1668  	//   "FILTER_CREATIVE_SIZE"
  1669  	//   "FILTER_CREATIVE_TYPE"
  1670  	//   "FILTER_EXCHANGE_ID"
  1671  	//   "FILTER_AD_POSITION"
  1672  	//   "FILTER_PUBLIC_INVENTORY"
  1673  	//   "FILTER_INVENTORY_SOURCE"
  1674  	//   "FILTER_CITY"
  1675  	//   "FILTER_REGION"
  1676  	//   "FILTER_DMA"
  1677  	//   "FILTER_COUNTRY"
  1678  	//   "FILTER_SITE_ID"
  1679  	//   "FILTER_CHANNEL_ID"
  1680  	//   "FILTER_PARTNER"
  1681  	//   "FILTER_ADVERTISER"
  1682  	//   "FILTER_INSERTION_ORDER"
  1683  	//   "FILTER_LINE_ITEM"
  1684  	//   "FILTER_PARTNER_CURRENCY"
  1685  	//   "FILTER_ADVERTISER_CURRENCY"
  1686  	//   "FILTER_ADVERTISER_TIMEZONE"
  1687  	//   "FILTER_LINE_ITEM_TYPE"
  1688  	//   "FILTER_USER_LIST"
  1689  	//   "FILTER_USER_LIST_FIRST_PARTY"
  1690  	//   "FILTER_USER_LIST_THIRD_PARTY"
  1691  	//   "FILTER_TARGETED_USER_LIST"
  1692  	//   "FILTER_DATA_PROVIDER"
  1693  	//   "FILTER_ORDER_ID"
  1694  	//   "FILTER_VIDEO_PLAYER_SIZE"
  1695  	//   "FILTER_VIDEO_DURATION_SECONDS"
  1696  	//   "FILTER_KEYWORD"
  1697  	//   "FILTER_PAGE_CATEGORY"
  1698  	//   "FILTER_CAMPAIGN_DAILY_FREQUENCY"
  1699  	//   "FILTER_LINE_ITEM_DAILY_FREQUENCY"
  1700  	//   "FILTER_LINE_ITEM_LIFETIME_FREQUENCY"
  1701  	//   "FILTER_OS"
  1702  	//   "FILTER_BROWSER"
  1703  	//   "FILTER_CARRIER"
  1704  	//   "FILTER_SITE_LANGUAGE"
  1705  	//   "FILTER_INVENTORY_FORMAT"
  1706  	//   "FILTER_ZIP_CODE"
  1707  	//   "FILTER_VIDEO_RATING_TIER"
  1708  	//   "FILTER_VIDEO_FORMAT_SUPPORT"
  1709  	//   "FILTER_VIDEO_SKIPPABLE_SUPPORT"
  1710  	//   "FILTER_VIDEO_CREATIVE_DURATION"
  1711  	//   "FILTER_PAGE_LAYOUT"
  1712  	//   "FILTER_VIDEO_AD_POSITION_IN_STREAM"
  1713  	//   "FILTER_AGE"
  1714  	//   "FILTER_GENDER"
  1715  	//   "FILTER_QUARTER"
  1716  	//   "FILTER_TRUEVIEW_CONVERSION_TYPE"
  1717  	//   "FILTER_MOBILE_GEO"
  1718  	//   "FILTER_MRAID_SUPPORT"
  1719  	//   "FILTER_ACTIVE_VIEW_EXPECTED_VIEWABILITY"
  1720  	//   "FILTER_VIDEO_CREATIVE_DURATION_SKIPPABLE"
  1721  	//   "FILTER_NIELSEN_COUNTRY_CODE"
  1722  	//   "FILTER_NIELSEN_DEVICE_ID"
  1723  	//   "FILTER_NIELSEN_GENDER"
  1724  	//   "FILTER_NIELSEN_AGE"
  1725  	//   "FILTER_INVENTORY_SOURCE_TYPE"
  1726  	//   "FILTER_CREATIVE_WIDTH"
  1727  	//   "FILTER_CREATIVE_HEIGHT"
  1728  	//   "FILTER_DFP_ORDER_ID"
  1729  	//   "FILTER_TRUEVIEW_AGE"
  1730  	//   "FILTER_TRUEVIEW_GENDER"
  1731  	//   "FILTER_TRUEVIEW_PARENTAL_STATUS"
  1732  	//   "FILTER_TRUEVIEW_REMARKETING_LIST"
  1733  	//   "FILTER_TRUEVIEW_INTEREST"
  1734  	//   "FILTER_TRUEVIEW_AD_GROUP_ID"
  1735  	//   "FILTER_TRUEVIEW_AD_GROUP_AD_ID"
  1736  	//   "FILTER_TRUEVIEW_IAR_LANGUAGE"
  1737  	//   "FILTER_TRUEVIEW_IAR_GENDER"
  1738  	//   "FILTER_TRUEVIEW_IAR_AGE"
  1739  	//   "FILTER_TRUEVIEW_IAR_CATEGORY"
  1740  	//   "FILTER_TRUEVIEW_IAR_COUNTRY"
  1741  	//   "FILTER_TRUEVIEW_IAR_CITY"
  1742  	//   "FILTER_TRUEVIEW_IAR_REGION"
  1743  	//   "FILTER_TRUEVIEW_IAR_ZIPCODE"
  1744  	//   "FILTER_TRUEVIEW_IAR_REMARKETING_LIST"
  1745  	//   "FILTER_TRUEVIEW_IAR_INTEREST"
  1746  	//   "FILTER_TRUEVIEW_IAR_PARENTAL_STATUS"
  1747  	//   "FILTER_TRUEVIEW_IAR_TIME_OF_DAY"
  1748  	//   "FILTER_TRUEVIEW_CUSTOM_AFFINITY"
  1749  	//   "FILTER_TRUEVIEW_CATEGORY"
  1750  	//   "FILTER_TRUEVIEW_KEYWORD"
  1751  	//   "FILTER_TRUEVIEW_PLACEMENT"
  1752  	//   "FILTER_TRUEVIEW_URL"
  1753  	//   "FILTER_TRUEVIEW_COUNTRY"
  1754  	//   "FILTER_TRUEVIEW_REGION"
  1755  	//   "FILTER_TRUEVIEW_CITY"
  1756  	//   "FILTER_TRUEVIEW_DMA"
  1757  	//   "FILTER_TRUEVIEW_ZIPCODE"
  1758  	//   "FILTER_NOT_SUPPORTED"
  1759  	//   "FILTER_MEDIA_PLAN"
  1760  	//   "FILTER_TRUEVIEW_IAR_YOUTUBE_CHANNEL"
  1761  	//   "FILTER_TRUEVIEW_IAR_YOUTUBE_VIDEO"
  1762  	//   "FILTER_SKIPPABLE_SUPPORT"
  1763  	//   "FILTER_COMPANION_CREATIVE_ID"
  1764  	//   "FILTER_BUDGET_SEGMENT_DESCRIPTION"
  1765  	//   "FILTER_FLOODLIGHT_ACTIVITY_ID"
  1766  	//   "FILTER_DEVICE_MODEL"
  1767  	//   "FILTER_DEVICE_MAKE"
  1768  	//   "FILTER_DEVICE_TYPE"
  1769  	//   "FILTER_CREATIVE_ATTRIBUTE"
  1770  	//   "FILTER_INVENTORY_COMMITMENT_TYPE"
  1771  	//   "FILTER_INVENTORY_RATE_TYPE"
  1772  	//   "FILTER_INVENTORY_DELIVERY_METHOD"
  1773  	//   "FILTER_INVENTORY_SOURCE_EXTERNAL_ID"
  1774  	//   "FILTER_AUTHORIZED_SELLER_STATE"
  1775  	//   "FILTER_VIDEO_DURATION_SECONDS_RANGE"
  1776  	//   "FILTER_PARTNER_NAME"
  1777  	//   "FILTER_PARTNER_STATUS"
  1778  	//   "FILTER_ADVERTISER_NAME"
  1779  	//   "FILTER_ADVERTISER_INTEGRATION_CODE"
  1780  	//   "FILTER_ADVERTISER_INTEGRATION_STATUS"
  1781  	//   "FILTER_CARRIER_NAME"
  1782  	//   "FILTER_CHANNEL_NAME"
  1783  	//   "FILTER_CITY_NAME"
  1784  	//   "FILTER_COMPANION_CREATIVE_NAME"
  1785  	//   "FILTER_USER_LIST_FIRST_PARTY_NAME"
  1786  	//   "FILTER_USER_LIST_THIRD_PARTY_NAME"
  1787  	//   "FILTER_NIELSEN_RESTATEMENT_DATE"
  1788  	//   "FILTER_NIELSEN_DATE_RANGE"
  1789  	//   "FILTER_INSERTION_ORDER_NAME"
  1790  	//   "FILTER_REGION_NAME"
  1791  	//   "FILTER_DMA_NAME"
  1792  	//   "FILTER_TRUEVIEW_IAR_REGION_NAME"
  1793  	//   "FILTER_TRUEVIEW_DMA_NAME"
  1794  	//   "FILTER_TRUEVIEW_REGION_NAME"
  1795  	//   "FILTER_ACTIVE_VIEW_CUSTOM_METRIC_ID"
  1796  	//   "FILTER_ACTIVE_VIEW_CUSTOM_METRIC_NAME"
  1797  	//   "FILTER_AD_TYPE"
  1798  	//   "FILTER_ALGORITHM"
  1799  	//   "FILTER_ALGORITHM_ID"
  1800  	//   "FILTER_AMP_PAGE_REQUEST"
  1801  	//   "FILTER_ANONYMOUS_INVENTORY_MODELING"
  1802  	//   "FILTER_APP_URL"
  1803  	//   "FILTER_APP_URL_EXCLUDED"
  1804  	//   "FILTER_ATTRIBUTED_USERLIST"
  1805  	//   "FILTER_ATTRIBUTED_USERLIST_COST"
  1806  	//   "FILTER_ATTRIBUTED_USERLIST_TYPE"
  1807  	//   "FILTER_ATTRIBUTION_MODEL"
  1808  	//   "FILTER_AUDIENCE_LIST"
  1809  	//   "FILTER_AUDIENCE_LIST_COST"
  1810  	//   "FILTER_AUDIENCE_LIST_TYPE"
  1811  	//   "FILTER_AUDIENCE_NAME"
  1812  	//   "FILTER_AUDIENCE_TYPE"
  1813  	//   "FILTER_BILLABLE_OUTCOME"
  1814  	//   "FILTER_BRAND_LIFT_TYPE"
  1815  	//   "FILTER_CHANNEL_TYPE"
  1816  	//   "FILTER_CM_PLACEMENT_ID"
  1817  	//   "FILTER_CONVERSION_SOURCE"
  1818  	//   "FILTER_CONVERSION_SOURCE_ID"
  1819  	//   "FILTER_COUNTRY_ID"
  1820  	//   "FILTER_CREATIVE"
  1821  	//   "FILTER_CREATIVE_ASSET"
  1822  	//   "FILTER_CREATIVE_INTEGRATION_CODE"
  1823  	//   "FILTER_CREATIVE_RENDERED_IN_AMP"
  1824  	//   "FILTER_CREATIVE_SOURCE"
  1825  	//   "FILTER_CREATIVE_STATUS"
  1826  	//   "FILTER_DATA_PROVIDER_NAME"
  1827  	//   "FILTER_DETAILED_DEMOGRAPHICS"
  1828  	//   "FILTER_DETAILED_DEMOGRAPHICS_ID"
  1829  	//   "FILTER_DEVICE"
  1830  	//   "FILTER_GAM_INSERTION_ORDER"
  1831  	//   "FILTER_GAM_LINE_ITEM"
  1832  	//   "FILTER_GAM_LINE_ITEM_ID"
  1833  	//   "FILTER_DIGITAL_CONTENT_LABEL"
  1834  	//   "FILTER_DOMAIN"
  1835  	//   "FILTER_ELIGIBLE_COOKIES_ON_FIRST_PARTY_AUDIENCE_LIST"
  1836  	//   "FILTER_ELIGIBLE_COOKIES_ON_THIRD_PARTY_AUDIENCE_LIST_AND_INTEREST"
  1837  	//   "FILTER_EXCHANGE"
  1838  	//   "FILTER_EXCHANGE_CODE"
  1839  	//   "FILTER_EXTENSION"
  1840  	//   "FILTER_EXTENSION_STATUS"
  1841  	//   "FILTER_EXTENSION_TYPE"
  1842  	//   "FILTER_FIRST_PARTY_AUDIENCE_LIST_COST"
  1843  	//   "FILTER_FIRST_PARTY_AUDIENCE_LIST_TYPE"
  1844  	//   "FILTER_FLOODLIGHT_ACTIVITY"
  1845  	//   "FILTER_FORMAT"
  1846  	//   "FILTER_GMAIL_AGE"
  1847  	//   "FILTER_GMAIL_CITY"
  1848  	//   "FILTER_GMAIL_COUNTRY"
  1849  	//   "FILTER_GMAIL_COUNTRY_NAME"
  1850  	//   "FILTER_GMAIL_DEVICE_TYPE"
  1851  	//   "FILTER_GMAIL_DEVICE_TYPE_NAME"
  1852  	//   "FILTER_GMAIL_GENDER"
  1853  	//   "FILTER_GMAIL_REGION"
  1854  	//   "FILTER_GMAIL_REMARKETING_LIST"
  1855  	//   "FILTER_HOUSEHOLD_INCOME"
  1856  	//   "FILTER_IMPRESSION_COUNTING_METHOD"
  1857  	//   "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_INSERTION_ORDER"
  1858  	//   "FILTER_INSERTION_ORDER_INTEGRATION_CODE"
  1859  	//   "FILTER_INSERTION_ORDER_STATUS"
  1860  	//   "FILTER_INTEREST"
  1861  	//   "FILTER_INVENTORY_SOURCE_GROUP"
  1862  	//   "FILTER_INVENTORY_SOURCE_GROUP_ID"
  1863  	//   "FILTER_INVENTORY_SOURCE_ID"
  1864  	//   "FILTER_INVENTORY_SOURCE_NAME"
  1865  	//   "FILTER_LIFE_EVENT"
  1866  	//   "FILTER_LIFE_EVENTS"
  1867  	//   "FILTER_LINE_ITEM_INTEGRATION_CODE"
  1868  	//   "FILTER_LINE_ITEM_NAME"
  1869  	//   "FILTER_LINE_ITEM_STATUS"
  1870  	//   "FILTER_MATCH_RATIO"
  1871  	//   "FILTER_MEASUREMENT_SOURCE"
  1872  	//   "FILTER_MEDIA_PLAN_NAME"
  1873  	//   "FILTER_PARENTAL_STATUS"
  1874  	//   "FILTER_PLACEMENT_ALL_YOUTUBE_CHANNELS"
  1875  	//   "FILTER_PLATFORM"
  1876  	//   "FILTER_PLAYBACK_METHOD"
  1877  	//   "FILTER_POSITION_IN_CONTENT"
  1878  	//   "FILTER_PUBLISHER_PROPERTY"
  1879  	//   "FILTER_PUBLISHER_PROPERTY_ID"
  1880  	//   "FILTER_PUBLISHER_PROPERTY_SECTION"
  1881  	//   "FILTER_PUBLISHER_PROPERTY_SECTION_ID"
  1882  	//   "FILTER_REFUND_REASON"
  1883  	//   "FILTER_REMARKETING_LIST"
  1884  	//   "FILTER_REWARDED"
  1885  	//   "FILTER_SENSITIVE_CATEGORY"
  1886  	//   "FILTER_SERVED_PIXEL_DENSITY"
  1887  	//   "FILTER_TARGETED_DATA_PROVIDERS"
  1888  	//   "FILTER_THIRD_PARTY_AUDIENCE_LIST_COST"
  1889  	//   "FILTER_THIRD_PARTY_AUDIENCE_LIST_TYPE"
  1890  	//   "FILTER_TRUEVIEW_AD"
  1891  	//   "FILTER_TRUEVIEW_AD_GROUP"
  1892  	//   "FILTER_TRUEVIEW_DETAILED_DEMOGRAPHICS"
  1893  	//   "FILTER_TRUEVIEW_DETAILED_DEMOGRAPHICS_ID"
  1894  	//   "FILTER_TRUEVIEW_HOUSEHOLD_INCOME"
  1895  	//   "FILTER_TRUEVIEW_IAR_COUNTRY_NAME"
  1896  	//   "FILTER_TRUEVIEW_REMARKETING_LIST_NAME"
  1897  	//   "FILTER_VARIANT_ID"
  1898  	//   "FILTER_VARIANT_NAME"
  1899  	//   "FILTER_VARIANT_VERSION"
  1900  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE"
  1901  	//   "FILTER_VERIFICATION_VIDEO_POSITION"
  1902  	//   "FILTER_VIDEO_COMPANION_CREATIVE_SIZE"
  1903  	//   "FILTER_VIDEO_CONTINUOUS_PLAY"
  1904  	//   "FILTER_VIDEO_DURATION"
  1905  	//   "FILTER_YOUTUBE_ADAPTED_AUDIENCE_LIST"
  1906  	//   "FILTER_YOUTUBE_AD_VIDEO"
  1907  	//   "FILTER_YOUTUBE_AD_VIDEO_ID"
  1908  	//   "FILTER_YOUTUBE_CHANNEL"
  1909  	//   "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_ADVERTISER"
  1910  	//   "FILTER_YOUTUBE_PROGRAMMATIC_GUARANTEED_PARTNER"
  1911  	//   "FILTER_YOUTUBE_VIDEO"
  1912  	//   "FILTER_ZIP_POSTAL_CODE"
  1913  	//   "FILTER_PLACEMENT_NAME_ALL_YOUTUBE_CHANNELS"
  1914  	//   "FILTER_TRUEVIEW_PLACEMENT_ID"
  1915  	//   "FILTER_PATH_PATTERN_ID"
  1916  	//   "FILTER_PATH_EVENT_INDEX"
  1917  	//   "FILTER_EVENT_TYPE"
  1918  	//   "FILTER_CHANNEL_GROUPING"
  1919  	//   "FILTER_OM_SDK_AVAILABLE"
  1920  	//   "FILTER_DATA_SOURCE"
  1921  	//   "FILTER_CM360_PLACEMENT_ID"
  1922  	//   "FILTER_TRUEVIEW_CLICK_TYPE_NAME"
  1923  	//   "FILTER_TRUEVIEW_AD_TYPE_NAME"
  1924  	//   "FILTER_VIDEO_CONTENT_DURATION"
  1925  	//   "FILTER_MATCHED_GENRE_TARGET"
  1926  	//   "FILTER_VIDEO_CONTENT_LIVE_STREAM"
  1927  	//   "FILTER_BUDGET_SEGMENT_TYPE"
  1928  	//   "FILTER_BUDGET_SEGMENT_BUDGET"
  1929  	//   "FILTER_BUDGET_SEGMENT_START_DATE"
  1930  	//   "FILTER_BUDGET_SEGMENT_END_DATE"
  1931  	//   "FILTER_BUDGET_SEGMENT_PACING_PERCENTAGE"
  1932  	//   "FILTER_LINE_ITEM_BUDGET"
  1933  	//   "FILTER_LINE_ITEM_START_DATE"
  1934  	//   "FILTER_LINE_ITEM_END_DATE"
  1935  	//   "FILTER_INSERTION_ORDER_GOAL_TYPE"
  1936  	//   "FILTER_LINE_ITEM_PACING_PERCENTAGE"
  1937  	//   "FILTER_INSERTION_ORDER_GOAL_VALUE"
  1938  	//   "FILTER_OMID_CAPABLE"
  1939  	//   "FILTER_VENDOR_MEASUREMENT_MODE"
  1940  	//   "FILTER_IMPRESSION_LOSS_REJECTION_REASON"
  1941  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_START"
  1942  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_FIRST_QUARTILE"
  1943  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_MID_POINT"
  1944  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_THIRD_QUARTILE"
  1945  	//   "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_COMPLETE"
  1946  	//   "FILTER_VERIFICATION_VIDEO_RESIZED"
  1947  	//   "FILTER_VERIFICATION_AUDIBILITY_START"
  1948  	//   "FILTER_VERIFICATION_AUDIBILITY_COMPLETE"
  1949  	//   "FILTER_MEDIA_TYPE"
  1950  	//   "FILTER_AUDIO_FEED_TYPE_NAME"
  1951  	//   "FILTER_TRUEVIEW_TARGETING_EXPANSION"
  1952  	//   "FILTER_PUBLISHER_TRAFFIC_SOURCE"
  1953  	Filter string `json:"filter,omitempty"`
  1954  
  1955  	// Match: Indicates how the filter should be matched to the value.
  1956  	//
  1957  	// Possible values:
  1958  	//   "UNKNOWN"
  1959  	//   "EXACT"
  1960  	//   "PARTIAL"
  1961  	//   "BEGINS_WITH"
  1962  	//   "WILDCARD_EXPRESSION"
  1963  	Match string `json:"match,omitempty"`
  1964  
  1965  	// Values: Value to filter on.
  1966  	Values []string `json:"values,omitempty"`
  1967  
  1968  	// ForceSendFields is a list of field names (e.g. "Filter") to
  1969  	// unconditionally include in API requests. By default, fields with
  1970  	// empty or default values are omitted from API requests. However, any
  1971  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1972  	// sent to the server regardless of whether the field is empty or not.
  1973  	// This may be used to include empty fields in Patch requests.
  1974  	ForceSendFields []string `json:"-"`
  1975  
  1976  	// NullFields is a list of field names (e.g. "Filter") to include in API
  1977  	// requests with the JSON null value. By default, fields with empty
  1978  	// values are omitted from API requests. However, any field with an
  1979  	// empty value appearing in NullFields will be sent to the server as
  1980  	// null. It is an error if a field in this list has a non-empty value.
  1981  	// This may be used to include null fields in Patch requests.
  1982  	NullFields []string `json:"-"`
  1983  }
  1984  
  1985  func (s *PathQueryOptionsFilter) MarshalJSON() ([]byte, error) {
  1986  	type NoMethod PathQueryOptionsFilter
  1987  	raw := NoMethod(*s)
  1988  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1989  }
  1990  
  1991  // Query: Represents a query.
  1992  type Query struct {
  1993  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1994  	// string "doubleclickbidmanager#query".
  1995  	Kind string `json:"kind,omitempty"`
  1996  
  1997  	// Metadata: Query metadata.
  1998  	Metadata *QueryMetadata `json:"metadata,omitempty"`
  1999  
  2000  	// Params: Query parameters.
  2001  	Params *Parameters `json:"params,omitempty"`
  2002  
  2003  	// QueryId: Query ID.
  2004  	QueryId int64 `json:"queryId,omitempty,string"`
  2005  
  2006  	// ReportDataEndTimeMs: The ending time for the data that is shown in
  2007  	// the report. Note, reportDataEndTimeMs is required if
  2008  	// metadata.dataRange is CUSTOM_DATES and ignored otherwise.
  2009  	ReportDataEndTimeMs int64 `json:"reportDataEndTimeMs,omitempty,string"`
  2010  
  2011  	// ReportDataStartTimeMs: The starting time for the data that is shown
  2012  	// in the report. Note, reportDataStartTimeMs is required if
  2013  	// metadata.dataRange is CUSTOM_DATES and ignored otherwise.
  2014  	ReportDataStartTimeMs int64 `json:"reportDataStartTimeMs,omitempty,string"`
  2015  
  2016  	// Schedule: Information on how often and when to run a query.
  2017  	Schedule *QuerySchedule `json:"schedule,omitempty"`
  2018  
  2019  	// TimezoneCode: Canonical timezone code for report data time. Defaults
  2020  	// to America/New_York.
  2021  	TimezoneCode string `json:"timezoneCode,omitempty"`
  2022  
  2023  	// ServerResponse contains the HTTP response code and headers from the
  2024  	// server.
  2025  	googleapi.ServerResponse `json:"-"`
  2026  
  2027  	// ForceSendFields is a list of field names (e.g. "Kind") to
  2028  	// unconditionally include in API requests. By default, fields with
  2029  	// empty or default values are omitted from API requests. However, any
  2030  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2031  	// sent to the server regardless of whether the field is empty or not.
  2032  	// This may be used to include empty fields in Patch requests.
  2033  	ForceSendFields []string `json:"-"`
  2034  
  2035  	// NullFields is a list of field names (e.g. "Kind") to include in API
  2036  	// requests with the JSON null value. By default, fields with empty
  2037  	// values are omitted from API requests. However, any field with an
  2038  	// empty value appearing in NullFields will be sent to the server as
  2039  	// null. It is an error if a field in this list has a non-empty value.
  2040  	// This may be used to include null fields in Patch requests.
  2041  	NullFields []string `json:"-"`
  2042  }
  2043  
  2044  func (s *Query) MarshalJSON() ([]byte, error) {
  2045  	type NoMethod Query
  2046  	raw := NoMethod(*s)
  2047  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2048  }
  2049  
  2050  // QueryMetadata: Query metadata.
  2051  type QueryMetadata struct {
  2052  	// DataRange: Range of report data.
  2053  	//
  2054  	// Possible values:
  2055  	//   "CUSTOM_DATES"
  2056  	//   "CURRENT_DAY"
  2057  	//   "PREVIOUS_DAY"
  2058  	//   "WEEK_TO_DATE"
  2059  	//   "MONTH_TO_DATE"
  2060  	//   "QUARTER_TO_DATE"
  2061  	//   "YEAR_TO_DATE"
  2062  	//   "PREVIOUS_WEEK"
  2063  	//   "PREVIOUS_HALF_MONTH"
  2064  	//   "PREVIOUS_MONTH"
  2065  	//   "PREVIOUS_QUARTER"
  2066  	//   "PREVIOUS_YEAR"
  2067  	//   "LAST_7_DAYS"
  2068  	//   "LAST_30_DAYS"
  2069  	//   "LAST_90_DAYS"
  2070  	//   "LAST_365_DAYS"
  2071  	//   "ALL_TIME"
  2072  	//   "LAST_14_DAYS"
  2073  	//   "TYPE_NOT_SUPPORTED"
  2074  	//   "LAST_60_DAYS"
  2075  	DataRange string `json:"dataRange,omitempty"`
  2076  
  2077  	// Format: Format of the generated report.
  2078  	//
  2079  	// Possible values:
  2080  	//   "CSV"
  2081  	//   "EXCEL_CSV"
  2082  	//   "XLSX"
  2083  	Format string `json:"format,omitempty"`
  2084  
  2085  	// GoogleCloudStoragePathForLatestReport: The path to the location in
  2086  	// Google Cloud Storage where the latest report is stored.
  2087  	GoogleCloudStoragePathForLatestReport string `json:"googleCloudStoragePathForLatestReport,omitempty"`
  2088  
  2089  	// GoogleDrivePathForLatestReport: The path in Google Drive for the
  2090  	// latest report.
  2091  	GoogleDrivePathForLatestReport string `json:"googleDrivePathForLatestReport,omitempty"`
  2092  
  2093  	// LatestReportRunTimeMs: The time when the latest report started to
  2094  	// run.
  2095  	LatestReportRunTimeMs int64 `json:"latestReportRunTimeMs,omitempty,string"`
  2096  
  2097  	// Locale: Locale of the generated reports. Valid values are cs CZECH de
  2098  	// GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko
  2099  	// KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk
  2100  	// UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE An locale string
  2101  	// not in the list above will generate reports in English.
  2102  	Locale string `json:"locale,omitempty"`
  2103  
  2104  	// ReportCount: Number of reports that have been generated for the
  2105  	// query.
  2106  	ReportCount int64 `json:"reportCount,omitempty"`
  2107  
  2108  	// Running: Whether the latest report is currently running.
  2109  	Running bool `json:"running,omitempty"`
  2110  
  2111  	// SendNotification: Whether to send an email notification when a report
  2112  	// is ready. Default to false.
  2113  	SendNotification bool `json:"sendNotification,omitempty"`
  2114  
  2115  	// ShareEmailAddress: List of email addresses which are sent email
  2116  	// notifications when the report is finished. Separate from
  2117  	// sendNotification.
  2118  	ShareEmailAddress []string `json:"shareEmailAddress,omitempty"`
  2119  
  2120  	// Title: Query title. It is used to name the reports generated from
  2121  	// this query.
  2122  	Title string `json:"title,omitempty"`
  2123  
  2124  	// ForceSendFields is a list of field names (e.g. "DataRange") to
  2125  	// unconditionally include in API requests. By default, fields with
  2126  	// empty or default values are omitted from API requests. However, any
  2127  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2128  	// sent to the server regardless of whether the field is empty or not.
  2129  	// This may be used to include empty fields in Patch requests.
  2130  	ForceSendFields []string `json:"-"`
  2131  
  2132  	// NullFields is a list of field names (e.g. "DataRange") to include in
  2133  	// API requests with the JSON null value. By default, fields with empty
  2134  	// values are omitted from API requests. However, any field with an
  2135  	// empty value appearing in NullFields will be sent to the server as
  2136  	// null. It is an error if a field in this list has a non-empty value.
  2137  	// This may be used to include null fields in Patch requests.
  2138  	NullFields []string `json:"-"`
  2139  }
  2140  
  2141  func (s *QueryMetadata) MarshalJSON() ([]byte, error) {
  2142  	type NoMethod QueryMetadata
  2143  	raw := NoMethod(*s)
  2144  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2145  }
  2146  
  2147  // QuerySchedule: Information on how frequently and when to run a query.
  2148  type QuerySchedule struct {
  2149  	// EndTimeMs: Datetime to periodically run the query until.
  2150  	EndTimeMs int64 `json:"endTimeMs,omitempty,string"`
  2151  
  2152  	// Frequency: How often the query is run.
  2153  	//
  2154  	// Possible values:
  2155  	//   "ONE_TIME"
  2156  	//   "DAILY"
  2157  	//   "WEEKLY"
  2158  	//   "SEMI_MONTHLY"
  2159  	//   "MONTHLY"
  2160  	//   "QUARTERLY"
  2161  	//   "YEARLY"
  2162  	Frequency string `json:"frequency,omitempty"`
  2163  
  2164  	// NextRunMinuteOfDay: Time of day at which a new report will be
  2165  	// generated, represented as minutes past midnight. Range is 0 to 1439.
  2166  	// Only applies to scheduled reports.
  2167  	NextRunMinuteOfDay int64 `json:"nextRunMinuteOfDay,omitempty"`
  2168  
  2169  	// NextRunTimezoneCode: Canonical timezone code for report generation
  2170  	// time. Defaults to America/New_York.
  2171  	NextRunTimezoneCode string `json:"nextRunTimezoneCode,omitempty"`
  2172  
  2173  	// StartTimeMs: When to start running the query. Not applicable to
  2174  	// `ONE_TIME` frequency.
  2175  	StartTimeMs int64 `json:"startTimeMs,omitempty,string"`
  2176  
  2177  	// ForceSendFields is a list of field names (e.g. "EndTimeMs") to
  2178  	// unconditionally include in API requests. By default, fields with
  2179  	// empty or default values are omitted from API requests. However, any
  2180  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2181  	// sent to the server regardless of whether the field is empty or not.
  2182  	// This may be used to include empty fields in Patch requests.
  2183  	ForceSendFields []string `json:"-"`
  2184  
  2185  	// NullFields is a list of field names (e.g. "EndTimeMs") to include in
  2186  	// API requests with the JSON null value. By default, fields with empty
  2187  	// values are omitted from API requests. However, any field with an
  2188  	// empty value appearing in NullFields will be sent to the server as
  2189  	// null. It is an error if a field in this list has a non-empty value.
  2190  	// This may be used to include null fields in Patch requests.
  2191  	NullFields []string `json:"-"`
  2192  }
  2193  
  2194  func (s *QuerySchedule) MarshalJSON() ([]byte, error) {
  2195  	type NoMethod QuerySchedule
  2196  	raw := NoMethod(*s)
  2197  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2198  }
  2199  
  2200  // Report: Represents a report.
  2201  type Report struct {
  2202  	// Key: Key used to identify a report.
  2203  	Key *ReportKey `json:"key,omitempty"`
  2204  
  2205  	// Metadata: Report metadata.
  2206  	Metadata *ReportMetadata `json:"metadata,omitempty"`
  2207  
  2208  	// Params: Report parameters.
  2209  	Params *Parameters `json:"params,omitempty"`
  2210  
  2211  	// ForceSendFields is a list of field names (e.g. "Key") to
  2212  	// unconditionally include in API requests. By default, fields with
  2213  	// empty or default values are omitted from API requests. However, any
  2214  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2215  	// sent to the server regardless of whether the field is empty or not.
  2216  	// This may be used to include empty fields in Patch requests.
  2217  	ForceSendFields []string `json:"-"`
  2218  
  2219  	// NullFields is a list of field names (e.g. "Key") to include in API
  2220  	// requests with the JSON null value. By default, fields with empty
  2221  	// values are omitted from API requests. However, any field with an
  2222  	// empty value appearing in NullFields will be sent to the server as
  2223  	// null. It is an error if a field in this list has a non-empty value.
  2224  	// This may be used to include null fields in Patch requests.
  2225  	NullFields []string `json:"-"`
  2226  }
  2227  
  2228  func (s *Report) MarshalJSON() ([]byte, error) {
  2229  	type NoMethod Report
  2230  	raw := NoMethod(*s)
  2231  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2232  }
  2233  
  2234  // ReportFailure: An explanation of a report failure.
  2235  type ReportFailure struct {
  2236  	// ErrorCode: Error code that shows why the report was not created.
  2237  	//
  2238  	// Possible values:
  2239  	//   "AUTHENTICATION_ERROR"
  2240  	//   "UNAUTHORIZED_API_ACCESS"
  2241  	//   "SERVER_ERROR"
  2242  	//   "VALIDATION_ERROR"
  2243  	//   "REPORTING_FATAL_ERROR"
  2244  	//   "REPORTING_TRANSIENT_ERROR"
  2245  	//   "REPORTING_IMCOMPATIBLE_METRICS"
  2246  	//   "REPORTING_ILLEGAL_FILENAME"
  2247  	//   "REPORTING_QUERY_NOT_FOUND"
  2248  	//   "REPORTING_BUCKET_NOT_FOUND"
  2249  	//   "REPORTING_CREATE_BUCKET_FAILED"
  2250  	//   "REPORTING_DELETE_BUCKET_FAILED"
  2251  	//   "REPORTING_UPDATE_BUCKET_PERMISSION_FAILED"
  2252  	//   "REPORTING_WRITE_BUCKET_OBJECT_FAILED"
  2253  	//   "DEPRECATED_REPORTING_INVALID_QUERY"
  2254  	//   "REPORTING_INVALID_QUERY_TOO_MANY_UNFILTERED_LARGE_GROUP_BYS"
  2255  	//   "REPORTING_INVALID_QUERY_TITLE_MISSING"
  2256  	//   "REPORTING_INVALID_QUERY_MISSING_PARTNER_AND_ADVERTISER_FILTERS"
  2257  	ErrorCode string `json:"errorCode,omitempty"`
  2258  
  2259  	// ForceSendFields is a list of field names (e.g. "ErrorCode") to
  2260  	// unconditionally include in API requests. By default, fields with
  2261  	// empty or default values are omitted from API requests. However, any
  2262  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2263  	// sent to the server regardless of whether the field is empty or not.
  2264  	// This may be used to include empty fields in Patch requests.
  2265  	ForceSendFields []string `json:"-"`
  2266  
  2267  	// NullFields is a list of field names (e.g. "ErrorCode") to include in
  2268  	// API requests with the JSON null value. By default, fields with empty
  2269  	// values are omitted from API requests. However, any field with an
  2270  	// empty value appearing in NullFields will be sent to the server as
  2271  	// null. It is an error if a field in this list has a non-empty value.
  2272  	// This may be used to include null fields in Patch requests.
  2273  	NullFields []string `json:"-"`
  2274  }
  2275  
  2276  func (s *ReportFailure) MarshalJSON() ([]byte, error) {
  2277  	type NoMethod ReportFailure
  2278  	raw := NoMethod(*s)
  2279  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2280  }
  2281  
  2282  // ReportKey: Key used to identify a report.
  2283  type ReportKey struct {
  2284  	// QueryId: Query ID.
  2285  	QueryId int64 `json:"queryId,omitempty,string"`
  2286  
  2287  	// ReportId: Report ID.
  2288  	ReportId int64 `json:"reportId,omitempty,string"`
  2289  
  2290  	// ForceSendFields is a list of field names (e.g. "QueryId") to
  2291  	// unconditionally include in API requests. By default, fields with
  2292  	// empty or default values are omitted from API requests. However, any
  2293  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2294  	// sent to the server regardless of whether the field is empty or not.
  2295  	// This may be used to include empty fields in Patch requests.
  2296  	ForceSendFields []string `json:"-"`
  2297  
  2298  	// NullFields is a list of field names (e.g. "QueryId") to include in
  2299  	// API requests with the JSON null value. By default, fields with empty
  2300  	// values are omitted from API requests. However, any field with an
  2301  	// empty value appearing in NullFields will be sent to the server as
  2302  	// null. It is an error if a field in this list has a non-empty value.
  2303  	// This may be used to include null fields in Patch requests.
  2304  	NullFields []string `json:"-"`
  2305  }
  2306  
  2307  func (s *ReportKey) MarshalJSON() ([]byte, error) {
  2308  	type NoMethod ReportKey
  2309  	raw := NoMethod(*s)
  2310  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2311  }
  2312  
  2313  // ReportMetadata: Report metadata.
  2314  type ReportMetadata struct {
  2315  	// GoogleCloudStoragePath: The path to the location in Google Cloud
  2316  	// Storage where the report is stored.
  2317  	GoogleCloudStoragePath string `json:"googleCloudStoragePath,omitempty"`
  2318  
  2319  	// ReportDataEndTimeMs: The ending time for the data that is shown in
  2320  	// the report.
  2321  	ReportDataEndTimeMs int64 `json:"reportDataEndTimeMs,omitempty,string"`
  2322  
  2323  	// ReportDataStartTimeMs: The starting time for the data that is shown
  2324  	// in the report.
  2325  	ReportDataStartTimeMs int64 `json:"reportDataStartTimeMs,omitempty,string"`
  2326  
  2327  	// Status: Report status.
  2328  	Status *ReportStatus `json:"status,omitempty"`
  2329  
  2330  	// ForceSendFields is a list of field names (e.g.
  2331  	// "GoogleCloudStoragePath") to unconditionally include in API requests.
  2332  	// By default, fields with empty or default values are omitted from API
  2333  	// requests. However, any non-pointer, non-interface field appearing in
  2334  	// ForceSendFields will be sent to the server regardless of whether the
  2335  	// field is empty or not. This may be used to include empty fields in
  2336  	// Patch requests.
  2337  	ForceSendFields []string `json:"-"`
  2338  
  2339  	// NullFields is a list of field names (e.g. "GoogleCloudStoragePath")
  2340  	// to include in API requests with the JSON null value. By default,
  2341  	// fields with empty values are omitted from API requests. However, any
  2342  	// field with an empty value appearing in NullFields will be sent to the
  2343  	// server as null. It is an error if a field in this list has a
  2344  	// non-empty value. This may be used to include null fields in Patch
  2345  	// requests.
  2346  	NullFields []string `json:"-"`
  2347  }
  2348  
  2349  func (s *ReportMetadata) MarshalJSON() ([]byte, error) {
  2350  	type NoMethod ReportMetadata
  2351  	raw := NoMethod(*s)
  2352  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2353  }
  2354  
  2355  // ReportStatus: Report status.
  2356  type ReportStatus struct {
  2357  	// Failure: If the report failed, this records the cause.
  2358  	Failure *ReportFailure `json:"failure,omitempty"`
  2359  
  2360  	// FinishTimeMs: The time when this report either completed successfully
  2361  	// or failed.
  2362  	FinishTimeMs int64 `json:"finishTimeMs,omitempty,string"`
  2363  
  2364  	// Format: The file type of the report.
  2365  	//
  2366  	// Possible values:
  2367  	//   "CSV"
  2368  	//   "EXCEL_CSV"
  2369  	//   "XLSX"
  2370  	Format string `json:"format,omitempty"`
  2371  
  2372  	// State: The state of the report.
  2373  	//
  2374  	// Possible values:
  2375  	//   "RUNNING"
  2376  	//   "DONE"
  2377  	//   "FAILED"
  2378  	State string `json:"state,omitempty"`
  2379  
  2380  	// ForceSendFields is a list of field names (e.g. "Failure") to
  2381  	// unconditionally include in API requests. By default, fields with
  2382  	// empty or default values are omitted from API requests. However, any
  2383  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2384  	// sent to the server regardless of whether the field is empty or not.
  2385  	// This may be used to include empty fields in Patch requests.
  2386  	ForceSendFields []string `json:"-"`
  2387  
  2388  	// NullFields is a list of field names (e.g. "Failure") to include in
  2389  	// API requests with the JSON null value. By default, fields with empty
  2390  	// values are omitted from API requests. However, any field with an
  2391  	// empty value appearing in NullFields will be sent to the server as
  2392  	// null. It is an error if a field in this list has a non-empty value.
  2393  	// This may be used to include null fields in Patch requests.
  2394  	NullFields []string `json:"-"`
  2395  }
  2396  
  2397  func (s *ReportStatus) MarshalJSON() ([]byte, error) {
  2398  	type NoMethod ReportStatus
  2399  	raw := NoMethod(*s)
  2400  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2401  }
  2402  
  2403  // Rule: A Rule defines a name, and a boolean expression in conjunctive
  2404  // normal form (http:
  2405  // //mathworld.wolfram.com/ConjunctiveNormalForm.html){.external} that
  2406  // can be // applied to a path event to determine if that name should be
  2407  // applied.
  2408  type Rule struct {
  2409  	DisjunctiveMatchStatements []*DisjunctiveMatchStatement `json:"disjunctiveMatchStatements,omitempty"`
  2410  
  2411  	// Name: Rule name.
  2412  	Name string `json:"name,omitempty"`
  2413  
  2414  	// ForceSendFields is a list of field names (e.g.
  2415  	// "DisjunctiveMatchStatements") to unconditionally include in API
  2416  	// requests. By default, fields with empty or default values are omitted
  2417  	// from API requests. However, any non-pointer, non-interface field
  2418  	// appearing in ForceSendFields will be sent to the server regardless of
  2419  	// whether the field is empty or not. This may be used to include empty
  2420  	// fields in Patch requests.
  2421  	ForceSendFields []string `json:"-"`
  2422  
  2423  	// NullFields is a list of field names (e.g.
  2424  	// "DisjunctiveMatchStatements") to include in API requests with the
  2425  	// JSON null value. By default, fields with empty values are omitted
  2426  	// from API requests. However, any field with an empty value appearing
  2427  	// in NullFields will be sent to the server as null. It is an error if a
  2428  	// field in this list has a non-empty value. This may be used to include
  2429  	// null fields in Patch requests.
  2430  	NullFields []string `json:"-"`
  2431  }
  2432  
  2433  func (s *Rule) MarshalJSON() ([]byte, error) {
  2434  	type NoMethod Rule
  2435  	raw := NoMethod(*s)
  2436  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2437  }
  2438  
  2439  // RunQueryRequest: Request to run a stored query to generate a report.
  2440  type RunQueryRequest struct {
  2441  	// DataRange: Report data range used to generate the report.
  2442  	//
  2443  	// Possible values:
  2444  	//   "CUSTOM_DATES"
  2445  	//   "CURRENT_DAY"
  2446  	//   "PREVIOUS_DAY"
  2447  	//   "WEEK_TO_DATE"
  2448  	//   "MONTH_TO_DATE"
  2449  	//   "QUARTER_TO_DATE"
  2450  	//   "YEAR_TO_DATE"
  2451  	//   "PREVIOUS_WEEK"
  2452  	//   "PREVIOUS_HALF_MONTH"
  2453  	//   "PREVIOUS_MONTH"
  2454  	//   "PREVIOUS_QUARTER"
  2455  	//   "PREVIOUS_YEAR"
  2456  	//   "LAST_7_DAYS"
  2457  	//   "LAST_30_DAYS"
  2458  	//   "LAST_90_DAYS"
  2459  	//   "LAST_365_DAYS"
  2460  	//   "ALL_TIME"
  2461  	//   "LAST_14_DAYS"
  2462  	//   "TYPE_NOT_SUPPORTED"
  2463  	//   "LAST_60_DAYS"
  2464  	DataRange string `json:"dataRange,omitempty"`
  2465  
  2466  	// ReportDataEndTimeMs: The ending time for the data that is shown in
  2467  	// the report. Note, reportDataEndTimeMs is required if dataRange is
  2468  	// CUSTOM_DATES and ignored otherwise.
  2469  	ReportDataEndTimeMs int64 `json:"reportDataEndTimeMs,omitempty,string"`
  2470  
  2471  	// ReportDataStartTimeMs: The starting time for the data that is shown
  2472  	// in the report. Note, reportDataStartTimeMs is required if dataRange
  2473  	// is CUSTOM_DATES and ignored otherwise.
  2474  	ReportDataStartTimeMs int64 `json:"reportDataStartTimeMs,omitempty,string"`
  2475  
  2476  	// TimezoneCode: Canonical timezone code for report data time. Defaults
  2477  	// to America/New_York.
  2478  	TimezoneCode string `json:"timezoneCode,omitempty"`
  2479  
  2480  	// ForceSendFields is a list of field names (e.g. "DataRange") to
  2481  	// unconditionally include in API requests. By default, fields with
  2482  	// empty or default values are omitted from API requests. However, any
  2483  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2484  	// sent to the server regardless of whether the field is empty or not.
  2485  	// This may be used to include empty fields in Patch requests.
  2486  	ForceSendFields []string `json:"-"`
  2487  
  2488  	// NullFields is a list of field names (e.g. "DataRange") to include in
  2489  	// API requests with the JSON null value. By default, fields with empty
  2490  	// values are omitted from API requests. However, any field with an
  2491  	// empty value appearing in NullFields will be sent to the server as
  2492  	// null. It is an error if a field in this list has a non-empty value.
  2493  	// This may be used to include null fields in Patch requests.
  2494  	NullFields []string `json:"-"`
  2495  }
  2496  
  2497  func (s *RunQueryRequest) MarshalJSON() ([]byte, error) {
  2498  	type NoMethod RunQueryRequest
  2499  	raw := NoMethod(*s)
  2500  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2501  }
  2502  
  2503  // method id "doubleclickbidmanager.queries.createquery":
  2504  
  2505  type QueriesCreatequeryCall struct {
  2506  	s          *Service
  2507  	query      *Query
  2508  	urlParams_ gensupport.URLParams
  2509  	ctx_       context.Context
  2510  	header_    http.Header
  2511  }
  2512  
  2513  // Createquery: Creates a query.
  2514  func (r *QueriesService) Createquery(query *Query) *QueriesCreatequeryCall {
  2515  	c := &QueriesCreatequeryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2516  	c.query = query
  2517  	return c
  2518  }
  2519  
  2520  // Asynchronous sets the optional parameter "asynchronous": If true,
  2521  // tries to run the query asynchronously. Only applicable when the
  2522  // frequency is ONE_TIME.
  2523  func (c *QueriesCreatequeryCall) Asynchronous(asynchronous bool) *QueriesCreatequeryCall {
  2524  	c.urlParams_.Set("asynchronous", fmt.Sprint(asynchronous))
  2525  	return c
  2526  }
  2527  
  2528  // Fields allows partial responses to be retrieved. See
  2529  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  2530  // for more information.
  2531  func (c *QueriesCreatequeryCall) Fields(s ...googleapi.Field) *QueriesCreatequeryCall {
  2532  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2533  	return c
  2534  }
  2535  
  2536  // Context sets the context to be used in this call's Do method. Any
  2537  // pending HTTP request will be aborted if the provided context is
  2538  // canceled.
  2539  func (c *QueriesCreatequeryCall) Context(ctx context.Context) *QueriesCreatequeryCall {
  2540  	c.ctx_ = ctx
  2541  	return c
  2542  }
  2543  
  2544  // Header returns an http.Header that can be modified by the caller to
  2545  // add HTTP headers to the request.
  2546  func (c *QueriesCreatequeryCall) Header() http.Header {
  2547  	if c.header_ == nil {
  2548  		c.header_ = make(http.Header)
  2549  	}
  2550  	return c.header_
  2551  }
  2552  
  2553  func (c *QueriesCreatequeryCall) doRequest(alt string) (*http.Response, error) {
  2554  	reqHeaders := make(http.Header)
  2555  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
  2556  	for k, v := range c.header_ {
  2557  		reqHeaders[k] = v
  2558  	}
  2559  	reqHeaders.Set("User-Agent", c.s.userAgent())
  2560  	var body io.Reader = nil
  2561  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.query)
  2562  	if err != nil {
  2563  		return nil, err
  2564  	}
  2565  	reqHeaders.Set("Content-Type", "application/json")
  2566  	c.urlParams_.Set("alt", alt)
  2567  	c.urlParams_.Set("prettyPrint", "false")
  2568  	urls := googleapi.ResolveRelative(c.s.BasePath, "query")
  2569  	urls += "?" + c.urlParams_.Encode()
  2570  	req, err := http.NewRequest("POST", urls, body)
  2571  	if err != nil {
  2572  		return nil, err
  2573  	}
  2574  	req.Header = reqHeaders
  2575  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2576  }
  2577  
  2578  // Do executes the "doubleclickbidmanager.queries.createquery" call.
  2579  // Exactly one of *Query or error will be non-nil. Any non-2xx status
  2580  // code is an error. Response headers are in either
  2581  // *Query.ServerResponse.Header or (if a response was returned at all)
  2582  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  2583  // check whether the returned error was because http.StatusNotModified
  2584  // was returned.
  2585  func (c *QueriesCreatequeryCall) Do(opts ...googleapi.CallOption) (*Query, error) {
  2586  	gensupport.SetOptions(c.urlParams_, opts...)
  2587  	res, err := c.doRequest("json")
  2588  	if res != nil && res.StatusCode == http.StatusNotModified {
  2589  		if res.Body != nil {
  2590  			res.Body.Close()
  2591  		}
  2592  		return nil, gensupport.WrapError(&googleapi.Error{
  2593  			Code:   res.StatusCode,
  2594  			Header: res.Header,
  2595  		})
  2596  	}
  2597  	if err != nil {
  2598  		return nil, err
  2599  	}
  2600  	defer googleapi.CloseBody(res)
  2601  	if err := googleapi.CheckResponse(res); err != nil {
  2602  		return nil, gensupport.WrapError(err)
  2603  	}
  2604  	ret := &Query{
  2605  		ServerResponse: googleapi.ServerResponse{
  2606  			Header:         res.Header,
  2607  			HTTPStatusCode: res.StatusCode,
  2608  		},
  2609  	}
  2610  	target := &ret
  2611  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2612  		return nil, err
  2613  	}
  2614  	return ret, nil
  2615  	// {
  2616  	//   "description": "Creates a query.",
  2617  	//   "flatPath": "query",
  2618  	//   "httpMethod": "POST",
  2619  	//   "id": "doubleclickbidmanager.queries.createquery",
  2620  	//   "parameterOrder": [],
  2621  	//   "parameters": {
  2622  	//     "asynchronous": {
  2623  	//       "default": "false",
  2624  	//       "description": "If true, tries to run the query asynchronously. Only applicable when the frequency is ONE_TIME.",
  2625  	//       "location": "query",
  2626  	//       "type": "boolean"
  2627  	//     }
  2628  	//   },
  2629  	//   "path": "query",
  2630  	//   "request": {
  2631  	//     "$ref": "Query"
  2632  	//   },
  2633  	//   "response": {
  2634  	//     "$ref": "Query"
  2635  	//   },
  2636  	//   "scopes": [
  2637  	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
  2638  	//   ]
  2639  	// }
  2640  
  2641  }
  2642  
  2643  // method id "doubleclickbidmanager.queries.deletequery":
  2644  
  2645  type QueriesDeletequeryCall struct {
  2646  	s          *Service
  2647  	queryId    int64
  2648  	urlParams_ gensupport.URLParams
  2649  	ctx_       context.Context
  2650  	header_    http.Header
  2651  }
  2652  
  2653  // Deletequery: Deletes a stored query as well as the associated stored
  2654  // reports.
  2655  //
  2656  // - queryId: Query ID to delete.
  2657  func (r *QueriesService) Deletequery(queryId int64) *QueriesDeletequeryCall {
  2658  	c := &QueriesDeletequeryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2659  	c.queryId = queryId
  2660  	return c
  2661  }
  2662  
  2663  // Fields allows partial responses to be retrieved. See
  2664  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  2665  // for more information.
  2666  func (c *QueriesDeletequeryCall) Fields(s ...googleapi.Field) *QueriesDeletequeryCall {
  2667  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2668  	return c
  2669  }
  2670  
  2671  // Context sets the context to be used in this call's Do method. Any
  2672  // pending HTTP request will be aborted if the provided context is
  2673  // canceled.
  2674  func (c *QueriesDeletequeryCall) Context(ctx context.Context) *QueriesDeletequeryCall {
  2675  	c.ctx_ = ctx
  2676  	return c
  2677  }
  2678  
  2679  // Header returns an http.Header that can be modified by the caller to
  2680  // add HTTP headers to the request.
  2681  func (c *QueriesDeletequeryCall) Header() http.Header {
  2682  	if c.header_ == nil {
  2683  		c.header_ = make(http.Header)
  2684  	}
  2685  	return c.header_
  2686  }
  2687  
  2688  func (c *QueriesDeletequeryCall) doRequest(alt string) (*http.Response, error) {
  2689  	reqHeaders := make(http.Header)
  2690  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
  2691  	for k, v := range c.header_ {
  2692  		reqHeaders[k] = v
  2693  	}
  2694  	reqHeaders.Set("User-Agent", c.s.userAgent())
  2695  	var body io.Reader = nil
  2696  	c.urlParams_.Set("alt", alt)
  2697  	c.urlParams_.Set("prettyPrint", "false")
  2698  	urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}")
  2699  	urls += "?" + c.urlParams_.Encode()
  2700  	req, err := http.NewRequest("DELETE", urls, body)
  2701  	if err != nil {
  2702  		return nil, err
  2703  	}
  2704  	req.Header = reqHeaders
  2705  	googleapi.Expand(req.URL, map[string]string{
  2706  		"queryId": strconv.FormatInt(c.queryId, 10),
  2707  	})
  2708  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2709  }
  2710  
  2711  // Do executes the "doubleclickbidmanager.queries.deletequery" call.
  2712  func (c *QueriesDeletequeryCall) Do(opts ...googleapi.CallOption) error {
  2713  	gensupport.SetOptions(c.urlParams_, opts...)
  2714  	res, err := c.doRequest("json")
  2715  	if err != nil {
  2716  		return err
  2717  	}
  2718  	defer googleapi.CloseBody(res)
  2719  	if err := googleapi.CheckResponse(res); err != nil {
  2720  		return gensupport.WrapError(err)
  2721  	}
  2722  	return nil
  2723  	// {
  2724  	//   "description": "Deletes a stored query as well as the associated stored reports.",
  2725  	//   "flatPath": "query/{queryId}",
  2726  	//   "httpMethod": "DELETE",
  2727  	//   "id": "doubleclickbidmanager.queries.deletequery",
  2728  	//   "parameterOrder": [
  2729  	//     "queryId"
  2730  	//   ],
  2731  	//   "parameters": {
  2732  	//     "queryId": {
  2733  	//       "description": "Query ID to delete.",
  2734  	//       "format": "int64",
  2735  	//       "location": "path",
  2736  	//       "required": true,
  2737  	//       "type": "string"
  2738  	//     }
  2739  	//   },
  2740  	//   "path": "query/{queryId}",
  2741  	//   "scopes": [
  2742  	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
  2743  	//   ]
  2744  	// }
  2745  
  2746  }
  2747  
  2748  // method id "doubleclickbidmanager.queries.getquery":
  2749  
  2750  type QueriesGetqueryCall struct {
  2751  	s            *Service
  2752  	queryId      int64
  2753  	urlParams_   gensupport.URLParams
  2754  	ifNoneMatch_ string
  2755  	ctx_         context.Context
  2756  	header_      http.Header
  2757  }
  2758  
  2759  // Getquery: Retrieves a stored query.
  2760  //
  2761  // - queryId: Query ID to retrieve.
  2762  func (r *QueriesService) Getquery(queryId int64) *QueriesGetqueryCall {
  2763  	c := &QueriesGetqueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2764  	c.queryId = queryId
  2765  	return c
  2766  }
  2767  
  2768  // Fields allows partial responses to be retrieved. See
  2769  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  2770  // for more information.
  2771  func (c *QueriesGetqueryCall) Fields(s ...googleapi.Field) *QueriesGetqueryCall {
  2772  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2773  	return c
  2774  }
  2775  
  2776  // IfNoneMatch sets the optional parameter which makes the operation
  2777  // fail if the object's ETag matches the given value. This is useful for
  2778  // getting updates only after the object has changed since the last
  2779  // request. Use googleapi.IsNotModified to check whether the response
  2780  // error from Do is the result of In-None-Match.
  2781  func (c *QueriesGetqueryCall) IfNoneMatch(entityTag string) *QueriesGetqueryCall {
  2782  	c.ifNoneMatch_ = entityTag
  2783  	return c
  2784  }
  2785  
  2786  // Context sets the context to be used in this call's Do method. Any
  2787  // pending HTTP request will be aborted if the provided context is
  2788  // canceled.
  2789  func (c *QueriesGetqueryCall) Context(ctx context.Context) *QueriesGetqueryCall {
  2790  	c.ctx_ = ctx
  2791  	return c
  2792  }
  2793  
  2794  // Header returns an http.Header that can be modified by the caller to
  2795  // add HTTP headers to the request.
  2796  func (c *QueriesGetqueryCall) Header() http.Header {
  2797  	if c.header_ == nil {
  2798  		c.header_ = make(http.Header)
  2799  	}
  2800  	return c.header_
  2801  }
  2802  
  2803  func (c *QueriesGetqueryCall) doRequest(alt string) (*http.Response, error) {
  2804  	reqHeaders := make(http.Header)
  2805  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
  2806  	for k, v := range c.header_ {
  2807  		reqHeaders[k] = v
  2808  	}
  2809  	reqHeaders.Set("User-Agent", c.s.userAgent())
  2810  	if c.ifNoneMatch_ != "" {
  2811  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2812  	}
  2813  	var body io.Reader = nil
  2814  	c.urlParams_.Set("alt", alt)
  2815  	c.urlParams_.Set("prettyPrint", "false")
  2816  	urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}")
  2817  	urls += "?" + c.urlParams_.Encode()
  2818  	req, err := http.NewRequest("GET", urls, body)
  2819  	if err != nil {
  2820  		return nil, err
  2821  	}
  2822  	req.Header = reqHeaders
  2823  	googleapi.Expand(req.URL, map[string]string{
  2824  		"queryId": strconv.FormatInt(c.queryId, 10),
  2825  	})
  2826  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2827  }
  2828  
  2829  // Do executes the "doubleclickbidmanager.queries.getquery" call.
  2830  // Exactly one of *Query or error will be non-nil. Any non-2xx status
  2831  // code is an error. Response headers are in either
  2832  // *Query.ServerResponse.Header or (if a response was returned at all)
  2833  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  2834  // check whether the returned error was because http.StatusNotModified
  2835  // was returned.
  2836  func (c *QueriesGetqueryCall) Do(opts ...googleapi.CallOption) (*Query, error) {
  2837  	gensupport.SetOptions(c.urlParams_, opts...)
  2838  	res, err := c.doRequest("json")
  2839  	if res != nil && res.StatusCode == http.StatusNotModified {
  2840  		if res.Body != nil {
  2841  			res.Body.Close()
  2842  		}
  2843  		return nil, gensupport.WrapError(&googleapi.Error{
  2844  			Code:   res.StatusCode,
  2845  			Header: res.Header,
  2846  		})
  2847  	}
  2848  	if err != nil {
  2849  		return nil, err
  2850  	}
  2851  	defer googleapi.CloseBody(res)
  2852  	if err := googleapi.CheckResponse(res); err != nil {
  2853  		return nil, gensupport.WrapError(err)
  2854  	}
  2855  	ret := &Query{
  2856  		ServerResponse: googleapi.ServerResponse{
  2857  			Header:         res.Header,
  2858  			HTTPStatusCode: res.StatusCode,
  2859  		},
  2860  	}
  2861  	target := &ret
  2862  	if err := gensupport.DecodeResponse(target, res); err != nil {
  2863  		return nil, err
  2864  	}
  2865  	return ret, nil
  2866  	// {
  2867  	//   "description": "Retrieves a stored query.",
  2868  	//   "flatPath": "query/{queryId}",
  2869  	//   "httpMethod": "GET",
  2870  	//   "id": "doubleclickbidmanager.queries.getquery",
  2871  	//   "parameterOrder": [
  2872  	//     "queryId"
  2873  	//   ],
  2874  	//   "parameters": {
  2875  	//     "queryId": {
  2876  	//       "description": "Query ID to retrieve.",
  2877  	//       "format": "int64",
  2878  	//       "location": "path",
  2879  	//       "required": true,
  2880  	//       "type": "string"
  2881  	//     }
  2882  	//   },
  2883  	//   "path": "query/{queryId}",
  2884  	//   "response": {
  2885  	//     "$ref": "Query"
  2886  	//   },
  2887  	//   "scopes": [
  2888  	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
  2889  	//   ]
  2890  	// }
  2891  
  2892  }
  2893  
  2894  // method id "doubleclickbidmanager.queries.listqueries":
  2895  
  2896  type QueriesListqueriesCall struct {
  2897  	s            *Service
  2898  	urlParams_   gensupport.URLParams
  2899  	ifNoneMatch_ string
  2900  	ctx_         context.Context
  2901  	header_      http.Header
  2902  }
  2903  
  2904  // Listqueries: Retrieves stored queries.
  2905  func (r *QueriesService) Listqueries() *QueriesListqueriesCall {
  2906  	c := &QueriesListqueriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  2907  	return c
  2908  }
  2909  
  2910  // PageSize sets the optional parameter "pageSize": Maximum number of
  2911  // results per page. Must be between 1 and 100. Defaults to 100 if
  2912  // unspecified.
  2913  func (c *QueriesListqueriesCall) PageSize(pageSize int64) *QueriesListqueriesCall {
  2914  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  2915  	return c
  2916  }
  2917  
  2918  // PageToken sets the optional parameter "pageToken": Optional
  2919  // pagination token.
  2920  func (c *QueriesListqueriesCall) PageToken(pageToken string) *QueriesListqueriesCall {
  2921  	c.urlParams_.Set("pageToken", pageToken)
  2922  	return c
  2923  }
  2924  
  2925  // Fields allows partial responses to be retrieved. See
  2926  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  2927  // for more information.
  2928  func (c *QueriesListqueriesCall) Fields(s ...googleapi.Field) *QueriesListqueriesCall {
  2929  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  2930  	return c
  2931  }
  2932  
  2933  // IfNoneMatch sets the optional parameter which makes the operation
  2934  // fail if the object's ETag matches the given value. This is useful for
  2935  // getting updates only after the object has changed since the last
  2936  // request. Use googleapi.IsNotModified to check whether the response
  2937  // error from Do is the result of In-None-Match.
  2938  func (c *QueriesListqueriesCall) IfNoneMatch(entityTag string) *QueriesListqueriesCall {
  2939  	c.ifNoneMatch_ = entityTag
  2940  	return c
  2941  }
  2942  
  2943  // Context sets the context to be used in this call's Do method. Any
  2944  // pending HTTP request will be aborted if the provided context is
  2945  // canceled.
  2946  func (c *QueriesListqueriesCall) Context(ctx context.Context) *QueriesListqueriesCall {
  2947  	c.ctx_ = ctx
  2948  	return c
  2949  }
  2950  
  2951  // Header returns an http.Header that can be modified by the caller to
  2952  // add HTTP headers to the request.
  2953  func (c *QueriesListqueriesCall) Header() http.Header {
  2954  	if c.header_ == nil {
  2955  		c.header_ = make(http.Header)
  2956  	}
  2957  	return c.header_
  2958  }
  2959  
  2960  func (c *QueriesListqueriesCall) doRequest(alt string) (*http.Response, error) {
  2961  	reqHeaders := make(http.Header)
  2962  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
  2963  	for k, v := range c.header_ {
  2964  		reqHeaders[k] = v
  2965  	}
  2966  	reqHeaders.Set("User-Agent", c.s.userAgent())
  2967  	if c.ifNoneMatch_ != "" {
  2968  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  2969  	}
  2970  	var body io.Reader = nil
  2971  	c.urlParams_.Set("alt", alt)
  2972  	c.urlParams_.Set("prettyPrint", "false")
  2973  	urls := googleapi.ResolveRelative(c.s.BasePath, "queries")
  2974  	urls += "?" + c.urlParams_.Encode()
  2975  	req, err := http.NewRequest("GET", urls, body)
  2976  	if err != nil {
  2977  		return nil, err
  2978  	}
  2979  	req.Header = reqHeaders
  2980  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  2981  }
  2982  
  2983  // Do executes the "doubleclickbidmanager.queries.listqueries" call.
  2984  // Exactly one of *ListQueriesResponse or error will be non-nil. Any
  2985  // non-2xx status code is an error. Response headers are in either
  2986  // *ListQueriesResponse.ServerResponse.Header or (if a response was
  2987  // returned at all) in error.(*googleapi.Error).Header. Use
  2988  // googleapi.IsNotModified to check whether the returned error was
  2989  // because http.StatusNotModified was returned.
  2990  func (c *QueriesListqueriesCall) Do(opts ...googleapi.CallOption) (*ListQueriesResponse, error) {
  2991  	gensupport.SetOptions(c.urlParams_, opts...)
  2992  	res, err := c.doRequest("json")
  2993  	if res != nil && res.StatusCode == http.StatusNotModified {
  2994  		if res.Body != nil {
  2995  			res.Body.Close()
  2996  		}
  2997  		return nil, gensupport.WrapError(&googleapi.Error{
  2998  			Code:   res.StatusCode,
  2999  			Header: res.Header,
  3000  		})
  3001  	}
  3002  	if err != nil {
  3003  		return nil, err
  3004  	}
  3005  	defer googleapi.CloseBody(res)
  3006  	if err := googleapi.CheckResponse(res); err != nil {
  3007  		return nil, gensupport.WrapError(err)
  3008  	}
  3009  	ret := &ListQueriesResponse{
  3010  		ServerResponse: googleapi.ServerResponse{
  3011  			Header:         res.Header,
  3012  			HTTPStatusCode: res.StatusCode,
  3013  		},
  3014  	}
  3015  	target := &ret
  3016  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3017  		return nil, err
  3018  	}
  3019  	return ret, nil
  3020  	// {
  3021  	//   "description": "Retrieves stored queries.",
  3022  	//   "flatPath": "queries",
  3023  	//   "httpMethod": "GET",
  3024  	//   "id": "doubleclickbidmanager.queries.listqueries",
  3025  	//   "parameterOrder": [],
  3026  	//   "parameters": {
  3027  	//     "pageSize": {
  3028  	//       "description": "Maximum number of results per page. Must be between 1 and 100. Defaults to 100 if unspecified.",
  3029  	//       "format": "int32",
  3030  	//       "location": "query",
  3031  	//       "type": "integer"
  3032  	//     },
  3033  	//     "pageToken": {
  3034  	//       "description": "Optional pagination token.",
  3035  	//       "location": "query",
  3036  	//       "type": "string"
  3037  	//     }
  3038  	//   },
  3039  	//   "path": "queries",
  3040  	//   "response": {
  3041  	//     "$ref": "ListQueriesResponse"
  3042  	//   },
  3043  	//   "scopes": [
  3044  	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
  3045  	//   ]
  3046  	// }
  3047  
  3048  }
  3049  
  3050  // Pages invokes f for each page of results.
  3051  // A non-nil error returned from f will halt the iteration.
  3052  // The provided context supersedes any context provided to the Context method.
  3053  func (c *QueriesListqueriesCall) Pages(ctx context.Context, f func(*ListQueriesResponse) error) error {
  3054  	c.ctx_ = ctx
  3055  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
  3056  	for {
  3057  		x, err := c.Do()
  3058  		if err != nil {
  3059  			return err
  3060  		}
  3061  		if err := f(x); err != nil {
  3062  			return err
  3063  		}
  3064  		if x.NextPageToken == "" {
  3065  			return nil
  3066  		}
  3067  		c.PageToken(x.NextPageToken)
  3068  	}
  3069  }
  3070  
  3071  // method id "doubleclickbidmanager.queries.runquery":
  3072  
  3073  type QueriesRunqueryCall struct {
  3074  	s               *Service
  3075  	queryId         int64
  3076  	runqueryrequest *RunQueryRequest
  3077  	urlParams_      gensupport.URLParams
  3078  	ctx_            context.Context
  3079  	header_         http.Header
  3080  }
  3081  
  3082  // Runquery: Runs a stored query to generate a report.
  3083  //
  3084  // - queryId: Query ID to run.
  3085  func (r *QueriesService) Runquery(queryId int64, runqueryrequest *RunQueryRequest) *QueriesRunqueryCall {
  3086  	c := &QueriesRunqueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3087  	c.queryId = queryId
  3088  	c.runqueryrequest = runqueryrequest
  3089  	return c
  3090  }
  3091  
  3092  // Asynchronous sets the optional parameter "asynchronous": If true,
  3093  // tries to run the query asynchronously.
  3094  func (c *QueriesRunqueryCall) Asynchronous(asynchronous bool) *QueriesRunqueryCall {
  3095  	c.urlParams_.Set("asynchronous", fmt.Sprint(asynchronous))
  3096  	return c
  3097  }
  3098  
  3099  // Fields allows partial responses to be retrieved. See
  3100  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  3101  // for more information.
  3102  func (c *QueriesRunqueryCall) Fields(s ...googleapi.Field) *QueriesRunqueryCall {
  3103  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3104  	return c
  3105  }
  3106  
  3107  // Context sets the context to be used in this call's Do method. Any
  3108  // pending HTTP request will be aborted if the provided context is
  3109  // canceled.
  3110  func (c *QueriesRunqueryCall) Context(ctx context.Context) *QueriesRunqueryCall {
  3111  	c.ctx_ = ctx
  3112  	return c
  3113  }
  3114  
  3115  // Header returns an http.Header that can be modified by the caller to
  3116  // add HTTP headers to the request.
  3117  func (c *QueriesRunqueryCall) Header() http.Header {
  3118  	if c.header_ == nil {
  3119  		c.header_ = make(http.Header)
  3120  	}
  3121  	return c.header_
  3122  }
  3123  
  3124  func (c *QueriesRunqueryCall) doRequest(alt string) (*http.Response, error) {
  3125  	reqHeaders := make(http.Header)
  3126  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
  3127  	for k, v := range c.header_ {
  3128  		reqHeaders[k] = v
  3129  	}
  3130  	reqHeaders.Set("User-Agent", c.s.userAgent())
  3131  	var body io.Reader = nil
  3132  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.runqueryrequest)
  3133  	if err != nil {
  3134  		return nil, err
  3135  	}
  3136  	reqHeaders.Set("Content-Type", "application/json")
  3137  	c.urlParams_.Set("alt", alt)
  3138  	c.urlParams_.Set("prettyPrint", "false")
  3139  	urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}")
  3140  	urls += "?" + c.urlParams_.Encode()
  3141  	req, err := http.NewRequest("POST", urls, body)
  3142  	if err != nil {
  3143  		return nil, err
  3144  	}
  3145  	req.Header = reqHeaders
  3146  	googleapi.Expand(req.URL, map[string]string{
  3147  		"queryId": strconv.FormatInt(c.queryId, 10),
  3148  	})
  3149  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3150  }
  3151  
  3152  // Do executes the "doubleclickbidmanager.queries.runquery" call.
  3153  func (c *QueriesRunqueryCall) Do(opts ...googleapi.CallOption) error {
  3154  	gensupport.SetOptions(c.urlParams_, opts...)
  3155  	res, err := c.doRequest("json")
  3156  	if err != nil {
  3157  		return err
  3158  	}
  3159  	defer googleapi.CloseBody(res)
  3160  	if err := googleapi.CheckResponse(res); err != nil {
  3161  		return gensupport.WrapError(err)
  3162  	}
  3163  	return nil
  3164  	// {
  3165  	//   "description": "Runs a stored query to generate a report.",
  3166  	//   "flatPath": "query/{queryId}",
  3167  	//   "httpMethod": "POST",
  3168  	//   "id": "doubleclickbidmanager.queries.runquery",
  3169  	//   "parameterOrder": [
  3170  	//     "queryId"
  3171  	//   ],
  3172  	//   "parameters": {
  3173  	//     "asynchronous": {
  3174  	//       "default": "false",
  3175  	//       "description": "If true, tries to run the query asynchronously.",
  3176  	//       "location": "query",
  3177  	//       "type": "boolean"
  3178  	//     },
  3179  	//     "queryId": {
  3180  	//       "description": "Query ID to run.",
  3181  	//       "format": "int64",
  3182  	//       "location": "path",
  3183  	//       "required": true,
  3184  	//       "type": "string"
  3185  	//     }
  3186  	//   },
  3187  	//   "path": "query/{queryId}",
  3188  	//   "request": {
  3189  	//     "$ref": "RunQueryRequest"
  3190  	//   },
  3191  	//   "scopes": [
  3192  	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
  3193  	//   ]
  3194  	// }
  3195  
  3196  }
  3197  
  3198  // method id "doubleclickbidmanager.reports.listreports":
  3199  
  3200  type ReportsListreportsCall struct {
  3201  	s            *Service
  3202  	queryId      int64
  3203  	urlParams_   gensupport.URLParams
  3204  	ifNoneMatch_ string
  3205  	ctx_         context.Context
  3206  	header_      http.Header
  3207  }
  3208  
  3209  // Listreports: Retrieves stored reports.
  3210  //
  3211  // - queryId: Query ID with which the reports are associated.
  3212  func (r *ReportsService) Listreports(queryId int64) *ReportsListreportsCall {
  3213  	c := &ReportsListreportsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  3214  	c.queryId = queryId
  3215  	return c
  3216  }
  3217  
  3218  // PageSize sets the optional parameter "pageSize": Maximum number of
  3219  // results per page. Must be between 1 and 100. Defaults to 100 if
  3220  // unspecified.
  3221  func (c *ReportsListreportsCall) PageSize(pageSize int64) *ReportsListreportsCall {
  3222  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
  3223  	return c
  3224  }
  3225  
  3226  // PageToken sets the optional parameter "pageToken": Optional
  3227  // pagination token.
  3228  func (c *ReportsListreportsCall) PageToken(pageToken string) *ReportsListreportsCall {
  3229  	c.urlParams_.Set("pageToken", pageToken)
  3230  	return c
  3231  }
  3232  
  3233  // Fields allows partial responses to be retrieved. See
  3234  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
  3235  // for more information.
  3236  func (c *ReportsListreportsCall) Fields(s ...googleapi.Field) *ReportsListreportsCall {
  3237  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  3238  	return c
  3239  }
  3240  
  3241  // IfNoneMatch sets the optional parameter which makes the operation
  3242  // fail if the object's ETag matches the given value. This is useful for
  3243  // getting updates only after the object has changed since the last
  3244  // request. Use googleapi.IsNotModified to check whether the response
  3245  // error from Do is the result of In-None-Match.
  3246  func (c *ReportsListreportsCall) IfNoneMatch(entityTag string) *ReportsListreportsCall {
  3247  	c.ifNoneMatch_ = entityTag
  3248  	return c
  3249  }
  3250  
  3251  // Context sets the context to be used in this call's Do method. Any
  3252  // pending HTTP request will be aborted if the provided context is
  3253  // canceled.
  3254  func (c *ReportsListreportsCall) Context(ctx context.Context) *ReportsListreportsCall {
  3255  	c.ctx_ = ctx
  3256  	return c
  3257  }
  3258  
  3259  // Header returns an http.Header that can be modified by the caller to
  3260  // add HTTP headers to the request.
  3261  func (c *ReportsListreportsCall) Header() http.Header {
  3262  	if c.header_ == nil {
  3263  		c.header_ = make(http.Header)
  3264  	}
  3265  	return c.header_
  3266  }
  3267  
  3268  func (c *ReportsListreportsCall) doRequest(alt string) (*http.Response, error) {
  3269  	reqHeaders := make(http.Header)
  3270  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
  3271  	for k, v := range c.header_ {
  3272  		reqHeaders[k] = v
  3273  	}
  3274  	reqHeaders.Set("User-Agent", c.s.userAgent())
  3275  	if c.ifNoneMatch_ != "" {
  3276  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  3277  	}
  3278  	var body io.Reader = nil
  3279  	c.urlParams_.Set("alt", alt)
  3280  	c.urlParams_.Set("prettyPrint", "false")
  3281  	urls := googleapi.ResolveRelative(c.s.BasePath, "queries/{queryId}/reports")
  3282  	urls += "?" + c.urlParams_.Encode()
  3283  	req, err := http.NewRequest("GET", urls, body)
  3284  	if err != nil {
  3285  		return nil, err
  3286  	}
  3287  	req.Header = reqHeaders
  3288  	googleapi.Expand(req.URL, map[string]string{
  3289  		"queryId": strconv.FormatInt(c.queryId, 10),
  3290  	})
  3291  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  3292  }
  3293  
  3294  // Do executes the "doubleclickbidmanager.reports.listreports" call.
  3295  // Exactly one of *ListReportsResponse or error will be non-nil. Any
  3296  // non-2xx status code is an error. Response headers are in either
  3297  // *ListReportsResponse.ServerResponse.Header or (if a response was
  3298  // returned at all) in error.(*googleapi.Error).Header. Use
  3299  // googleapi.IsNotModified to check whether the returned error was
  3300  // because http.StatusNotModified was returned.
  3301  func (c *ReportsListreportsCall) Do(opts ...googleapi.CallOption) (*ListReportsResponse, error) {
  3302  	gensupport.SetOptions(c.urlParams_, opts...)
  3303  	res, err := c.doRequest("json")
  3304  	if res != nil && res.StatusCode == http.StatusNotModified {
  3305  		if res.Body != nil {
  3306  			res.Body.Close()
  3307  		}
  3308  		return nil, gensupport.WrapError(&googleapi.Error{
  3309  			Code:   res.StatusCode,
  3310  			Header: res.Header,
  3311  		})
  3312  	}
  3313  	if err != nil {
  3314  		return nil, err
  3315  	}
  3316  	defer googleapi.CloseBody(res)
  3317  	if err := googleapi.CheckResponse(res); err != nil {
  3318  		return nil, gensupport.WrapError(err)
  3319  	}
  3320  	ret := &ListReportsResponse{
  3321  		ServerResponse: googleapi.ServerResponse{
  3322  			Header:         res.Header,
  3323  			HTTPStatusCode: res.StatusCode,
  3324  		},
  3325  	}
  3326  	target := &ret
  3327  	if err := gensupport.DecodeResponse(target, res); err != nil {
  3328  		return nil, err
  3329  	}
  3330  	return ret, nil
  3331  	// {
  3332  	//   "description": "Retrieves stored reports.",
  3333  	//   "flatPath": "queries/{queryId}/reports",
  3334  	//   "httpMethod": "GET",
  3335  	//   "id": "doubleclickbidmanager.reports.listreports",
  3336  	//   "parameterOrder": [
  3337  	//     "queryId"
  3338  	//   ],
  3339  	//   "parameters": {
  3340  	//     "pageSize": {
  3341  	//       "description": "Maximum number of results per page. Must be between 1 and 100. Defaults to 100 if unspecified.",
  3342  	//       "format": "int32",
  3343  	//       "location": "query",
  3344  	//       "type": "integer"
  3345  	//     },
  3346  	//     "pageToken": {
  3347  	//       "description": "Optional pagination token.",
  3348  	//       "location": "query",
  3349  	//       "type": "string"
  3350  	//     },
  3351  	//     "queryId": {
  3352  	//       "description": "Query ID with which the reports are associated.",
  3353  	//       "format": "int64",
  3354  	//       "location": "path",
  3355  	//       "required": true,
  3356  	//       "type": "string"
  3357  	//     }
  3358  	//   },
  3359  	//   "path": "queries/{queryId}/reports",
  3360  	//   "response": {
  3361  	//     "$ref": "ListReportsResponse"
  3362  	//   },
  3363  	//   "scopes": [
  3364  	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
  3365  	//   ]
  3366  	// }
  3367  
  3368  }
  3369  
  3370  // Pages invokes f for each page of results.
  3371  // A non-nil error returned from f will halt the iteration.
  3372  // The provided context supersedes any context provided to the Context method.
  3373  func (c *ReportsListreportsCall) Pages(ctx context.Context, f func(*ListReportsResponse) error) error {
  3374  	c.ctx_ = ctx
  3375  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
  3376  	for {
  3377  		x, err := c.Do()
  3378  		if err != nil {
  3379  			return err
  3380  		}
  3381  		if err := f(x); err != nil {
  3382  			return err
  3383  		}
  3384  		if x.NextPageToken == "" {
  3385  			return nil
  3386  		}
  3387  		c.PageToken(x.NextPageToken)
  3388  	}
  3389  }
  3390  

View as plain text