...

Source file src/google.golang.org/api/sheets/v4/sheets-gen.go

Documentation: google.golang.org/api/sheets/v4

     1  // Copyright 2024 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 sheets provides access to the Google Sheets API.
     8  //
     9  // For product documentation, see: https://developers.google.com/sheets/
    10  //
    11  // # Library status
    12  //
    13  // These client libraries are officially supported by Google. However, this
    14  // library is considered complete and is in maintenance mode. This means
    15  // that we will address critical bugs and security issues but will not add
    16  // any new features.
    17  //
    18  // When possible, we recommend using our newer
    19  // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
    20  // that are still actively being worked and iterated on.
    21  //
    22  // # Creating a client
    23  //
    24  // Usage example:
    25  //
    26  //	import "google.golang.org/api/sheets/v4"
    27  //	...
    28  //	ctx := context.Background()
    29  //	sheetsService, err := sheets.NewService(ctx)
    30  //
    31  // In this example, Google Application Default Credentials are used for
    32  // authentication. For information on how to create and obtain Application
    33  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    34  //
    35  // # Other authentication options
    36  //
    37  // By default, all available scopes (see "Constants") are used to authenticate.
    38  // To restrict scopes, use [google.golang.org/api/option.WithScopes]:
    39  //
    40  //	sheetsService, err := sheets.NewService(ctx, option.WithScopes(sheets.SpreadsheetsReadonlyScope))
    41  //
    42  // To use an API key for authentication (note: some APIs do not support API
    43  // keys), use [google.golang.org/api/option.WithAPIKey]:
    44  //
    45  //	sheetsService, err := sheets.NewService(ctx, option.WithAPIKey("AIza..."))
    46  //
    47  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    48  // flow, use [google.golang.org/api/option.WithTokenSource]:
    49  //
    50  //	config := &oauth2.Config{...}
    51  //	// ...
    52  //	token, err := config.Exchange(ctx, ...)
    53  //	sheetsService, err := sheets.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    54  //
    55  // See [google.golang.org/api/option.ClientOption] for details on options.
    56  package sheets // import "google.golang.org/api/sheets/v4"
    57  
    58  import (
    59  	"bytes"
    60  	"context"
    61  	"encoding/json"
    62  	"errors"
    63  	"fmt"
    64  	"io"
    65  	"net/http"
    66  	"net/url"
    67  	"strconv"
    68  	"strings"
    69  
    70  	googleapi "google.golang.org/api/googleapi"
    71  	internal "google.golang.org/api/internal"
    72  	gensupport "google.golang.org/api/internal/gensupport"
    73  	option "google.golang.org/api/option"
    74  	internaloption "google.golang.org/api/option/internaloption"
    75  	htransport "google.golang.org/api/transport/http"
    76  )
    77  
    78  // Always reference these packages, just in case the auto-generated code
    79  // below doesn't.
    80  var _ = bytes.NewBuffer
    81  var _ = strconv.Itoa
    82  var _ = fmt.Sprintf
    83  var _ = json.NewDecoder
    84  var _ = io.Copy
    85  var _ = url.Parse
    86  var _ = gensupport.MarshalJSON
    87  var _ = googleapi.Version
    88  var _ = errors.New
    89  var _ = strings.Replace
    90  var _ = context.Canceled
    91  var _ = internaloption.WithDefaultEndpoint
    92  var _ = internal.Version
    93  
    94  const apiId = "sheets:v4"
    95  const apiName = "sheets"
    96  const apiVersion = "v4"
    97  const basePath = "https://sheets.googleapis.com/"
    98  const basePathTemplate = "https://sheets.UNIVERSE_DOMAIN/"
    99  const mtlsBasePath = "https://sheets.mtls.googleapis.com/"
   100  
   101  // OAuth2 scopes used by this API.
   102  const (
   103  	// See, edit, create, and delete all of your Google Drive files
   104  	DriveScope = "https://www.googleapis.com/auth/drive"
   105  
   106  	// See, edit, create, and delete only the specific Google Drive files you use
   107  	// with this app
   108  	DriveFileScope = "https://www.googleapis.com/auth/drive.file"
   109  
   110  	// See and download all your Google Drive files
   111  	DriveReadonlyScope = "https://www.googleapis.com/auth/drive.readonly"
   112  
   113  	// See, edit, create, and delete all your Google Sheets spreadsheets
   114  	SpreadsheetsScope = "https://www.googleapis.com/auth/spreadsheets"
   115  
   116  	// See all your Google Sheets spreadsheets
   117  	SpreadsheetsReadonlyScope = "https://www.googleapis.com/auth/spreadsheets.readonly"
   118  )
   119  
   120  // NewService creates a new Service.
   121  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   122  	scopesOption := internaloption.WithDefaultScopes(
   123  		"https://www.googleapis.com/auth/drive",
   124  		"https://www.googleapis.com/auth/drive.file",
   125  		"https://www.googleapis.com/auth/drive.readonly",
   126  		"https://www.googleapis.com/auth/spreadsheets",
   127  		"https://www.googleapis.com/auth/spreadsheets.readonly",
   128  	)
   129  	// NOTE: prepend, so we don't override user-specified scopes.
   130  	opts = append([]option.ClientOption{scopesOption}, opts...)
   131  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   132  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   133  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   134  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   135  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   136  	if err != nil {
   137  		return nil, err
   138  	}
   139  	s, err := New(client)
   140  	if err != nil {
   141  		return nil, err
   142  	}
   143  	if endpoint != "" {
   144  		s.BasePath = endpoint
   145  	}
   146  	return s, nil
   147  }
   148  
   149  // New creates a new Service. It uses the provided http.Client for requests.
   150  //
   151  // Deprecated: please use NewService instead.
   152  // To provide a custom HTTP client, use option.WithHTTPClient.
   153  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   154  func New(client *http.Client) (*Service, error) {
   155  	if client == nil {
   156  		return nil, errors.New("client is nil")
   157  	}
   158  	s := &Service{client: client, BasePath: basePath}
   159  	s.Spreadsheets = NewSpreadsheetsService(s)
   160  	return s, nil
   161  }
   162  
   163  type Service struct {
   164  	client    *http.Client
   165  	BasePath  string // API endpoint base URL
   166  	UserAgent string // optional additional User-Agent fragment
   167  
   168  	Spreadsheets *SpreadsheetsService
   169  }
   170  
   171  func (s *Service) userAgent() string {
   172  	if s.UserAgent == "" {
   173  		return googleapi.UserAgent
   174  	}
   175  	return googleapi.UserAgent + " " + s.UserAgent
   176  }
   177  
   178  func NewSpreadsheetsService(s *Service) *SpreadsheetsService {
   179  	rs := &SpreadsheetsService{s: s}
   180  	rs.DeveloperMetadata = NewSpreadsheetsDeveloperMetadataService(s)
   181  	rs.Sheets = NewSpreadsheetsSheetsService(s)
   182  	rs.Values = NewSpreadsheetsValuesService(s)
   183  	return rs
   184  }
   185  
   186  type SpreadsheetsService struct {
   187  	s *Service
   188  
   189  	DeveloperMetadata *SpreadsheetsDeveloperMetadataService
   190  
   191  	Sheets *SpreadsheetsSheetsService
   192  
   193  	Values *SpreadsheetsValuesService
   194  }
   195  
   196  func NewSpreadsheetsDeveloperMetadataService(s *Service) *SpreadsheetsDeveloperMetadataService {
   197  	rs := &SpreadsheetsDeveloperMetadataService{s: s}
   198  	return rs
   199  }
   200  
   201  type SpreadsheetsDeveloperMetadataService struct {
   202  	s *Service
   203  }
   204  
   205  func NewSpreadsheetsSheetsService(s *Service) *SpreadsheetsSheetsService {
   206  	rs := &SpreadsheetsSheetsService{s: s}
   207  	return rs
   208  }
   209  
   210  type SpreadsheetsSheetsService struct {
   211  	s *Service
   212  }
   213  
   214  func NewSpreadsheetsValuesService(s *Service) *SpreadsheetsValuesService {
   215  	rs := &SpreadsheetsValuesService{s: s}
   216  	return rs
   217  }
   218  
   219  type SpreadsheetsValuesService struct {
   220  	s *Service
   221  }
   222  
   223  // AddBandingRequest: Adds a new banded range to the spreadsheet.
   224  type AddBandingRequest struct {
   225  	// BandedRange: The banded range to add. The bandedRangeId field is optional;
   226  	// if one is not set, an id will be randomly generated. (It is an error to
   227  	// specify the ID of a range that already exists.)
   228  	BandedRange *BandedRange `json:"bandedRange,omitempty"`
   229  	// ForceSendFields is a list of field names (e.g. "BandedRange") to
   230  	// unconditionally include in API requests. By default, fields with empty or
   231  	// default values are omitted from API requests. See
   232  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   233  	// details.
   234  	ForceSendFields []string `json:"-"`
   235  	// NullFields is a list of field names (e.g. "BandedRange") to include in API
   236  	// requests with the JSON null value. By default, fields with empty values are
   237  	// omitted from API requests. See
   238  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   239  	NullFields []string `json:"-"`
   240  }
   241  
   242  func (s *AddBandingRequest) MarshalJSON() ([]byte, error) {
   243  	type NoMethod AddBandingRequest
   244  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   245  }
   246  
   247  // AddBandingResponse: The result of adding a banded range.
   248  type AddBandingResponse struct {
   249  	// BandedRange: The banded range that was added.
   250  	BandedRange *BandedRange `json:"bandedRange,omitempty"`
   251  	// ForceSendFields is a list of field names (e.g. "BandedRange") to
   252  	// unconditionally include in API requests. By default, fields with empty or
   253  	// default values are omitted from API requests. See
   254  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   255  	// details.
   256  	ForceSendFields []string `json:"-"`
   257  	// NullFields is a list of field names (e.g. "BandedRange") to include in API
   258  	// requests with the JSON null value. By default, fields with empty values are
   259  	// omitted from API requests. See
   260  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   261  	NullFields []string `json:"-"`
   262  }
   263  
   264  func (s *AddBandingResponse) MarshalJSON() ([]byte, error) {
   265  	type NoMethod AddBandingResponse
   266  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   267  }
   268  
   269  // AddChartRequest: Adds a chart to a sheet in the spreadsheet.
   270  type AddChartRequest struct {
   271  	// Chart: The chart that should be added to the spreadsheet, including the
   272  	// position where it should be placed. The chartId field is optional; if one is
   273  	// not set, an id will be randomly generated. (It is an error to specify the ID
   274  	// of an embedded object that already exists.)
   275  	Chart *EmbeddedChart `json:"chart,omitempty"`
   276  	// ForceSendFields is a list of field names (e.g. "Chart") to unconditionally
   277  	// include in API requests. By default, fields with empty or default values are
   278  	// omitted from API requests. See
   279  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   280  	// details.
   281  	ForceSendFields []string `json:"-"`
   282  	// NullFields is a list of field names (e.g. "Chart") to include in API
   283  	// requests with the JSON null value. By default, fields with empty values are
   284  	// omitted from API requests. See
   285  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   286  	NullFields []string `json:"-"`
   287  }
   288  
   289  func (s *AddChartRequest) MarshalJSON() ([]byte, error) {
   290  	type NoMethod AddChartRequest
   291  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   292  }
   293  
   294  // AddChartResponse: The result of adding a chart to a spreadsheet.
   295  type AddChartResponse struct {
   296  	// Chart: The newly added chart.
   297  	Chart *EmbeddedChart `json:"chart,omitempty"`
   298  	// ForceSendFields is a list of field names (e.g. "Chart") to unconditionally
   299  	// include in API requests. By default, fields with empty or default values are
   300  	// omitted from API requests. See
   301  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   302  	// details.
   303  	ForceSendFields []string `json:"-"`
   304  	// NullFields is a list of field names (e.g. "Chart") to include in API
   305  	// requests with the JSON null value. By default, fields with empty values are
   306  	// omitted from API requests. See
   307  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   308  	NullFields []string `json:"-"`
   309  }
   310  
   311  func (s *AddChartResponse) MarshalJSON() ([]byte, error) {
   312  	type NoMethod AddChartResponse
   313  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   314  }
   315  
   316  // AddConditionalFormatRuleRequest: Adds a new conditional format rule at the
   317  // given index. All subsequent rules' indexes are incremented.
   318  type AddConditionalFormatRuleRequest struct {
   319  	// Index: The zero-based index where the rule should be inserted.
   320  	Index int64 `json:"index,omitempty"`
   321  	// Rule: The rule to add.
   322  	Rule *ConditionalFormatRule `json:"rule,omitempty"`
   323  	// ForceSendFields is a list of field names (e.g. "Index") to unconditionally
   324  	// include in API requests. By default, fields with empty or default values are
   325  	// omitted from API requests. See
   326  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   327  	// details.
   328  	ForceSendFields []string `json:"-"`
   329  	// NullFields is a list of field names (e.g. "Index") to include in API
   330  	// requests with the JSON null value. By default, fields with empty values are
   331  	// omitted from API requests. See
   332  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   333  	NullFields []string `json:"-"`
   334  }
   335  
   336  func (s *AddConditionalFormatRuleRequest) MarshalJSON() ([]byte, error) {
   337  	type NoMethod AddConditionalFormatRuleRequest
   338  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   339  }
   340  
   341  // AddDataSourceRequest: Adds a data source. After the data source is added
   342  // successfully, an associated DATA_SOURCE sheet is created and an execution is
   343  // triggered to refresh the sheet to read data from the data source. The
   344  // request requires an additional `bigquery.readonly` OAuth scope.
   345  type AddDataSourceRequest struct {
   346  	// DataSource: The data source to add.
   347  	DataSource *DataSource `json:"dataSource,omitempty"`
   348  	// ForceSendFields is a list of field names (e.g. "DataSource") to
   349  	// unconditionally include in API requests. By default, fields with empty or
   350  	// default values are omitted from API requests. See
   351  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   352  	// details.
   353  	ForceSendFields []string `json:"-"`
   354  	// NullFields is a list of field names (e.g. "DataSource") to include in API
   355  	// requests with the JSON null value. By default, fields with empty values are
   356  	// omitted from API requests. See
   357  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   358  	NullFields []string `json:"-"`
   359  }
   360  
   361  func (s *AddDataSourceRequest) MarshalJSON() ([]byte, error) {
   362  	type NoMethod AddDataSourceRequest
   363  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   364  }
   365  
   366  // AddDataSourceResponse: The result of adding a data source.
   367  type AddDataSourceResponse struct {
   368  	// DataExecutionStatus: The data execution status.
   369  	DataExecutionStatus *DataExecutionStatus `json:"dataExecutionStatus,omitempty"`
   370  	// DataSource: The data source that was created.
   371  	DataSource *DataSource `json:"dataSource,omitempty"`
   372  	// ForceSendFields is a list of field names (e.g. "DataExecutionStatus") to
   373  	// unconditionally include in API requests. By default, fields with empty or
   374  	// default values are omitted from API requests. See
   375  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   376  	// details.
   377  	ForceSendFields []string `json:"-"`
   378  	// NullFields is a list of field names (e.g. "DataExecutionStatus") to include
   379  	// in API requests with the JSON null value. By default, fields with empty
   380  	// values are omitted from API requests. See
   381  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   382  	NullFields []string `json:"-"`
   383  }
   384  
   385  func (s *AddDataSourceResponse) MarshalJSON() ([]byte, error) {
   386  	type NoMethod AddDataSourceResponse
   387  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   388  }
   389  
   390  // AddDimensionGroupRequest: Creates a group over the specified range. If the
   391  // requested range is a superset of the range of an existing group G, then the
   392  // depth of G is incremented and this new group G' has the depth of that group.
   393  // For example, a group [C:D, depth 1] + [B:E] results in groups [B:E, depth 1]
   394  // and [C:D, depth 2]. If the requested range is a subset of the range of an
   395  // existing group G, then the depth of the new group G' becomes one greater
   396  // than the depth of G. For example, a group [B:E, depth 1] + [C:D] results in
   397  // groups [B:E, depth 1] and [C:D, depth 2]. If the requested range starts
   398  // before and ends within, or starts within and ends after, the range of an
   399  // existing group G, then the range of the existing group G becomes the union
   400  // of the ranges, and the new group G' has depth one greater than the depth of
   401  // G and range as the intersection of the ranges. For example, a group [B:D,
   402  // depth 1] + [C:E] results in groups [B:E, depth 1] and [C:D, depth 2].
   403  type AddDimensionGroupRequest struct {
   404  	// Range: The range over which to create a group.
   405  	Range *DimensionRange `json:"range,omitempty"`
   406  	// ForceSendFields is a list of field names (e.g. "Range") to unconditionally
   407  	// include in API requests. By default, fields with empty or default values are
   408  	// omitted from API requests. See
   409  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   410  	// details.
   411  	ForceSendFields []string `json:"-"`
   412  	// NullFields is a list of field names (e.g. "Range") to include in API
   413  	// requests with the JSON null value. By default, fields with empty values are
   414  	// omitted from API requests. See
   415  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   416  	NullFields []string `json:"-"`
   417  }
   418  
   419  func (s *AddDimensionGroupRequest) MarshalJSON() ([]byte, error) {
   420  	type NoMethod AddDimensionGroupRequest
   421  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   422  }
   423  
   424  // AddDimensionGroupResponse: The result of adding a group.
   425  type AddDimensionGroupResponse struct {
   426  	// DimensionGroups: All groups of a dimension after adding a group to that
   427  	// dimension.
   428  	DimensionGroups []*DimensionGroup `json:"dimensionGroups,omitempty"`
   429  	// ForceSendFields is a list of field names (e.g. "DimensionGroups") to
   430  	// unconditionally include in API requests. By default, fields with empty or
   431  	// default values are omitted from API requests. See
   432  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   433  	// details.
   434  	ForceSendFields []string `json:"-"`
   435  	// NullFields is a list of field names (e.g. "DimensionGroups") to include in
   436  	// API requests with the JSON null value. By default, fields with empty values
   437  	// are omitted from API requests. See
   438  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   439  	NullFields []string `json:"-"`
   440  }
   441  
   442  func (s *AddDimensionGroupResponse) MarshalJSON() ([]byte, error) {
   443  	type NoMethod AddDimensionGroupResponse
   444  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   445  }
   446  
   447  // AddFilterViewRequest: Adds a filter view.
   448  type AddFilterViewRequest struct {
   449  	// Filter: The filter to add. The filterViewId field is optional; if one is not
   450  	// set, an id will be randomly generated. (It is an error to specify the ID of
   451  	// a filter that already exists.)
   452  	Filter *FilterView `json:"filter,omitempty"`
   453  	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
   454  	// include in API requests. By default, fields with empty or default values are
   455  	// omitted from API requests. See
   456  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   457  	// details.
   458  	ForceSendFields []string `json:"-"`
   459  	// NullFields is a list of field names (e.g. "Filter") to include in API
   460  	// requests with the JSON null value. By default, fields with empty values are
   461  	// omitted from API requests. See
   462  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   463  	NullFields []string `json:"-"`
   464  }
   465  
   466  func (s *AddFilterViewRequest) MarshalJSON() ([]byte, error) {
   467  	type NoMethod AddFilterViewRequest
   468  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   469  }
   470  
   471  // AddFilterViewResponse: The result of adding a filter view.
   472  type AddFilterViewResponse struct {
   473  	// Filter: The newly added filter view.
   474  	Filter *FilterView `json:"filter,omitempty"`
   475  	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
   476  	// include in API requests. By default, fields with empty or default values are
   477  	// omitted from API requests. See
   478  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   479  	// details.
   480  	ForceSendFields []string `json:"-"`
   481  	// NullFields is a list of field names (e.g. "Filter") to include in API
   482  	// requests with the JSON null value. By default, fields with empty values are
   483  	// omitted from API requests. See
   484  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   485  	NullFields []string `json:"-"`
   486  }
   487  
   488  func (s *AddFilterViewResponse) MarshalJSON() ([]byte, error) {
   489  	type NoMethod AddFilterViewResponse
   490  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   491  }
   492  
   493  // AddNamedRangeRequest: Adds a named range to the spreadsheet.
   494  type AddNamedRangeRequest struct {
   495  	// NamedRange: The named range to add. The namedRangeId field is optional; if
   496  	// one is not set, an id will be randomly generated. (It is an error to specify
   497  	// the ID of a range that already exists.)
   498  	NamedRange *NamedRange `json:"namedRange,omitempty"`
   499  	// ForceSendFields is a list of field names (e.g. "NamedRange") to
   500  	// unconditionally include in API requests. By default, fields with empty or
   501  	// default values are omitted from API requests. See
   502  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   503  	// details.
   504  	ForceSendFields []string `json:"-"`
   505  	// NullFields is a list of field names (e.g. "NamedRange") to include in API
   506  	// requests with the JSON null value. By default, fields with empty values are
   507  	// omitted from API requests. See
   508  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   509  	NullFields []string `json:"-"`
   510  }
   511  
   512  func (s *AddNamedRangeRequest) MarshalJSON() ([]byte, error) {
   513  	type NoMethod AddNamedRangeRequest
   514  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   515  }
   516  
   517  // AddNamedRangeResponse: The result of adding a named range.
   518  type AddNamedRangeResponse struct {
   519  	// NamedRange: The named range to add.
   520  	NamedRange *NamedRange `json:"namedRange,omitempty"`
   521  	// ForceSendFields is a list of field names (e.g. "NamedRange") to
   522  	// unconditionally include in API requests. By default, fields with empty or
   523  	// default values are omitted from API requests. See
   524  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   525  	// details.
   526  	ForceSendFields []string `json:"-"`
   527  	// NullFields is a list of field names (e.g. "NamedRange") to include in API
   528  	// requests with the JSON null value. By default, fields with empty values are
   529  	// omitted from API requests. See
   530  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   531  	NullFields []string `json:"-"`
   532  }
   533  
   534  func (s *AddNamedRangeResponse) MarshalJSON() ([]byte, error) {
   535  	type NoMethod AddNamedRangeResponse
   536  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   537  }
   538  
   539  // AddProtectedRangeRequest: Adds a new protected range.
   540  type AddProtectedRangeRequest struct {
   541  	// ProtectedRange: The protected range to be added. The protectedRangeId field
   542  	// is optional; if one is not set, an id will be randomly generated. (It is an
   543  	// error to specify the ID of a range that already exists.)
   544  	ProtectedRange *ProtectedRange `json:"protectedRange,omitempty"`
   545  	// ForceSendFields is a list of field names (e.g. "ProtectedRange") to
   546  	// unconditionally include in API requests. By default, fields with empty or
   547  	// default values are omitted from API requests. See
   548  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   549  	// details.
   550  	ForceSendFields []string `json:"-"`
   551  	// NullFields is a list of field names (e.g. "ProtectedRange") to include in
   552  	// API requests with the JSON null value. By default, fields with empty values
   553  	// are omitted from API requests. See
   554  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   555  	NullFields []string `json:"-"`
   556  }
   557  
   558  func (s *AddProtectedRangeRequest) MarshalJSON() ([]byte, error) {
   559  	type NoMethod AddProtectedRangeRequest
   560  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   561  }
   562  
   563  // AddProtectedRangeResponse: The result of adding a new protected range.
   564  type AddProtectedRangeResponse struct {
   565  	// ProtectedRange: The newly added protected range.
   566  	ProtectedRange *ProtectedRange `json:"protectedRange,omitempty"`
   567  	// ForceSendFields is a list of field names (e.g. "ProtectedRange") to
   568  	// unconditionally include in API requests. By default, fields with empty or
   569  	// default values are omitted from API requests. See
   570  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   571  	// details.
   572  	ForceSendFields []string `json:"-"`
   573  	// NullFields is a list of field names (e.g. "ProtectedRange") to include in
   574  	// API requests with the JSON null value. By default, fields with empty values
   575  	// are omitted from API requests. See
   576  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   577  	NullFields []string `json:"-"`
   578  }
   579  
   580  func (s *AddProtectedRangeResponse) MarshalJSON() ([]byte, error) {
   581  	type NoMethod AddProtectedRangeResponse
   582  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   583  }
   584  
   585  // AddSheetRequest: Adds a new sheet. When a sheet is added at a given index,
   586  // all subsequent sheets' indexes are incremented. To add an object sheet, use
   587  // AddChartRequest instead and specify EmbeddedObjectPosition.sheetId or
   588  // EmbeddedObjectPosition.newSheet.
   589  type AddSheetRequest struct {
   590  	// Properties: The properties the new sheet should have. All properties are
   591  	// optional. The sheetId field is optional; if one is not set, an id will be
   592  	// randomly generated. (It is an error to specify the ID of a sheet that
   593  	// already exists.)
   594  	Properties *SheetProperties `json:"properties,omitempty"`
   595  	// ForceSendFields is a list of field names (e.g. "Properties") to
   596  	// unconditionally include in API requests. By default, fields with empty or
   597  	// default values are omitted from API requests. See
   598  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   599  	// details.
   600  	ForceSendFields []string `json:"-"`
   601  	// NullFields is a list of field names (e.g. "Properties") to include in API
   602  	// requests with the JSON null value. By default, fields with empty values are
   603  	// omitted from API requests. See
   604  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   605  	NullFields []string `json:"-"`
   606  }
   607  
   608  func (s *AddSheetRequest) MarshalJSON() ([]byte, error) {
   609  	type NoMethod AddSheetRequest
   610  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   611  }
   612  
   613  // AddSheetResponse: The result of adding a sheet.
   614  type AddSheetResponse struct {
   615  	// Properties: The properties of the newly added sheet.
   616  	Properties *SheetProperties `json:"properties,omitempty"`
   617  	// ForceSendFields is a list of field names (e.g. "Properties") to
   618  	// unconditionally include in API requests. By default, fields with empty or
   619  	// default values are omitted from API requests. See
   620  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   621  	// details.
   622  	ForceSendFields []string `json:"-"`
   623  	// NullFields is a list of field names (e.g. "Properties") to include in API
   624  	// requests with the JSON null value. By default, fields with empty values are
   625  	// omitted from API requests. See
   626  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   627  	NullFields []string `json:"-"`
   628  }
   629  
   630  func (s *AddSheetResponse) MarshalJSON() ([]byte, error) {
   631  	type NoMethod AddSheetResponse
   632  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   633  }
   634  
   635  // AddSlicerRequest: Adds a slicer to a sheet in the spreadsheet.
   636  type AddSlicerRequest struct {
   637  	// Slicer: The slicer that should be added to the spreadsheet, including the
   638  	// position where it should be placed. The slicerId field is optional; if one
   639  	// is not set, an id will be randomly generated. (It is an error to specify the
   640  	// ID of a slicer that already exists.)
   641  	Slicer *Slicer `json:"slicer,omitempty"`
   642  	// ForceSendFields is a list of field names (e.g. "Slicer") to unconditionally
   643  	// include in API requests. By default, fields with empty or default values are
   644  	// omitted from API requests. See
   645  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   646  	// details.
   647  	ForceSendFields []string `json:"-"`
   648  	// NullFields is a list of field names (e.g. "Slicer") to include in API
   649  	// requests with the JSON null value. By default, fields with empty values are
   650  	// omitted from API requests. See
   651  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   652  	NullFields []string `json:"-"`
   653  }
   654  
   655  func (s *AddSlicerRequest) MarshalJSON() ([]byte, error) {
   656  	type NoMethod AddSlicerRequest
   657  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   658  }
   659  
   660  // AddSlicerResponse: The result of adding a slicer to a spreadsheet.
   661  type AddSlicerResponse struct {
   662  	// Slicer: The newly added slicer.
   663  	Slicer *Slicer `json:"slicer,omitempty"`
   664  	// ForceSendFields is a list of field names (e.g. "Slicer") to unconditionally
   665  	// include in API requests. By default, fields with empty or default values are
   666  	// omitted from API requests. See
   667  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   668  	// details.
   669  	ForceSendFields []string `json:"-"`
   670  	// NullFields is a list of field names (e.g. "Slicer") to include in API
   671  	// requests with the JSON null value. By default, fields with empty values are
   672  	// omitted from API requests. See
   673  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   674  	NullFields []string `json:"-"`
   675  }
   676  
   677  func (s *AddSlicerResponse) MarshalJSON() ([]byte, error) {
   678  	type NoMethod AddSlicerResponse
   679  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   680  }
   681  
   682  // AppendCellsRequest: Adds new cells after the last row with data in a sheet,
   683  // inserting new rows into the sheet if necessary.
   684  type AppendCellsRequest struct {
   685  	// Fields: The fields of CellData that should be updated. At least one field
   686  	// must be specified. The root is the CellData; 'row.values.' should not be
   687  	// specified. A single "*" can be used as short-hand for listing every field.
   688  	Fields string `json:"fields,omitempty"`
   689  	// Rows: The data to append.
   690  	Rows []*RowData `json:"rows,omitempty"`
   691  	// SheetId: The sheet ID to append the data to.
   692  	SheetId int64 `json:"sheetId,omitempty"`
   693  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
   694  	// include in API requests. By default, fields with empty or default values are
   695  	// omitted from API requests. See
   696  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   697  	// details.
   698  	ForceSendFields []string `json:"-"`
   699  	// NullFields is a list of field names (e.g. "Fields") to include in API
   700  	// requests with the JSON null value. By default, fields with empty values are
   701  	// omitted from API requests. See
   702  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   703  	NullFields []string `json:"-"`
   704  }
   705  
   706  func (s *AppendCellsRequest) MarshalJSON() ([]byte, error) {
   707  	type NoMethod AppendCellsRequest
   708  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   709  }
   710  
   711  // AppendDimensionRequest: Appends rows or columns to the end of a sheet.
   712  type AppendDimensionRequest struct {
   713  	// Dimension: Whether rows or columns should be appended.
   714  	//
   715  	// Possible values:
   716  	//   "DIMENSION_UNSPECIFIED" - The default value, do not use.
   717  	//   "ROWS" - Operates on the rows of a sheet.
   718  	//   "COLUMNS" - Operates on the columns of a sheet.
   719  	Dimension string `json:"dimension,omitempty"`
   720  	// Length: The number of rows or columns to append.
   721  	Length int64 `json:"length,omitempty"`
   722  	// SheetId: The sheet to append rows or columns to.
   723  	SheetId int64 `json:"sheetId,omitempty"`
   724  	// ForceSendFields is a list of field names (e.g. "Dimension") to
   725  	// unconditionally include in API requests. By default, fields with empty or
   726  	// default values are omitted from API requests. See
   727  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   728  	// details.
   729  	ForceSendFields []string `json:"-"`
   730  	// NullFields is a list of field names (e.g. "Dimension") to include in API
   731  	// requests with the JSON null value. By default, fields with empty values are
   732  	// omitted from API requests. See
   733  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   734  	NullFields []string `json:"-"`
   735  }
   736  
   737  func (s *AppendDimensionRequest) MarshalJSON() ([]byte, error) {
   738  	type NoMethod AppendDimensionRequest
   739  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   740  }
   741  
   742  // AppendValuesResponse: The response when updating a range of values in a
   743  // spreadsheet.
   744  type AppendValuesResponse struct {
   745  	// SpreadsheetId: The spreadsheet the updates were applied to.
   746  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
   747  	// TableRange: The range (in A1 notation) of the table that values are being
   748  	// appended to (before the values were appended). Empty if no table was found.
   749  	TableRange string `json:"tableRange,omitempty"`
   750  	// Updates: Information about the updates that were applied.
   751  	Updates *UpdateValuesResponse `json:"updates,omitempty"`
   752  
   753  	// ServerResponse contains the HTTP response code and headers from the server.
   754  	googleapi.ServerResponse `json:"-"`
   755  	// ForceSendFields is a list of field names (e.g. "SpreadsheetId") to
   756  	// unconditionally include in API requests. By default, fields with empty or
   757  	// default values are omitted from API requests. See
   758  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   759  	// details.
   760  	ForceSendFields []string `json:"-"`
   761  	// NullFields is a list of field names (e.g. "SpreadsheetId") to include in API
   762  	// requests with the JSON null value. By default, fields with empty values are
   763  	// omitted from API requests. See
   764  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   765  	NullFields []string `json:"-"`
   766  }
   767  
   768  func (s *AppendValuesResponse) MarshalJSON() ([]byte, error) {
   769  	type NoMethod AppendValuesResponse
   770  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   771  }
   772  
   773  // AutoFillRequest: Fills in more data based on existing data.
   774  type AutoFillRequest struct {
   775  	// Range: The range to autofill. This will examine the range and detect the
   776  	// location that has data and automatically fill that data in to the rest of
   777  	// the range.
   778  	Range *GridRange `json:"range,omitempty"`
   779  	// SourceAndDestination: The source and destination areas to autofill. This
   780  	// explicitly lists the source of the autofill and where to extend that data.
   781  	SourceAndDestination *SourceAndDestination `json:"sourceAndDestination,omitempty"`
   782  	// UseAlternateSeries: True if we should generate data with the "alternate"
   783  	// series. This differs based on the type and amount of source data.
   784  	UseAlternateSeries bool `json:"useAlternateSeries,omitempty"`
   785  	// ForceSendFields is a list of field names (e.g. "Range") to unconditionally
   786  	// include in API requests. By default, fields with empty or default values are
   787  	// omitted from API requests. See
   788  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   789  	// details.
   790  	ForceSendFields []string `json:"-"`
   791  	// NullFields is a list of field names (e.g. "Range") to include in API
   792  	// requests with the JSON null value. By default, fields with empty values are
   793  	// omitted from API requests. See
   794  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   795  	NullFields []string `json:"-"`
   796  }
   797  
   798  func (s *AutoFillRequest) MarshalJSON() ([]byte, error) {
   799  	type NoMethod AutoFillRequest
   800  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   801  }
   802  
   803  // AutoResizeDimensionsRequest: Automatically resizes one or more dimensions
   804  // based on the contents of the cells in that dimension.
   805  type AutoResizeDimensionsRequest struct {
   806  	// DataSourceSheetDimensions: The dimensions on a data source sheet to
   807  	// automatically resize.
   808  	DataSourceSheetDimensions *DataSourceSheetDimensionRange `json:"dataSourceSheetDimensions,omitempty"`
   809  	// Dimensions: The dimensions to automatically resize.
   810  	Dimensions *DimensionRange `json:"dimensions,omitempty"`
   811  	// ForceSendFields is a list of field names (e.g. "DataSourceSheetDimensions")
   812  	// to unconditionally include in API requests. By default, fields with empty or
   813  	// default values are omitted from API requests. See
   814  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   815  	// details.
   816  	ForceSendFields []string `json:"-"`
   817  	// NullFields is a list of field names (e.g. "DataSourceSheetDimensions") to
   818  	// include in API requests with the JSON null value. By default, fields with
   819  	// empty values are omitted from API requests. See
   820  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   821  	NullFields []string `json:"-"`
   822  }
   823  
   824  func (s *AutoResizeDimensionsRequest) MarshalJSON() ([]byte, error) {
   825  	type NoMethod AutoResizeDimensionsRequest
   826  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   827  }
   828  
   829  // BandedRange: A banded (alternating colors) range in a sheet.
   830  type BandedRange struct {
   831  	// BandedRangeId: The ID of the banded range.
   832  	BandedRangeId int64 `json:"bandedRangeId,omitempty"`
   833  	// ColumnProperties: Properties for column bands. These properties are applied
   834  	// on a column- by-column basis throughout all the columns in the range. At
   835  	// least one of row_properties or column_properties must be specified.
   836  	ColumnProperties *BandingProperties `json:"columnProperties,omitempty"`
   837  	// Range: The range over which these properties are applied.
   838  	Range *GridRange `json:"range,omitempty"`
   839  	// RowProperties: Properties for row bands. These properties are applied on a
   840  	// row-by-row basis throughout all the rows in the range. At least one of
   841  	// row_properties or column_properties must be specified.
   842  	RowProperties *BandingProperties `json:"rowProperties,omitempty"`
   843  	// ForceSendFields is a list of field names (e.g. "BandedRangeId") to
   844  	// unconditionally include in API requests. By default, fields with empty or
   845  	// default values are omitted from API requests. See
   846  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   847  	// details.
   848  	ForceSendFields []string `json:"-"`
   849  	// NullFields is a list of field names (e.g. "BandedRangeId") to include in API
   850  	// requests with the JSON null value. By default, fields with empty values are
   851  	// omitted from API requests. See
   852  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   853  	NullFields []string `json:"-"`
   854  }
   855  
   856  func (s *BandedRange) MarshalJSON() ([]byte, error) {
   857  	type NoMethod BandedRange
   858  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   859  }
   860  
   861  // BandingProperties: Properties referring a single dimension (either row or
   862  // column). If both BandedRange.row_properties and
   863  // BandedRange.column_properties are set, the fill colors are applied to cells
   864  // according to the following rules: * header_color and footer_color take
   865  // priority over band colors. * first_band_color takes priority over
   866  // second_band_color. * row_properties takes priority over column_properties.
   867  // For example, the first row color takes priority over the first column color,
   868  // but the first column color takes priority over the second row color.
   869  // Similarly, the row header takes priority over the column header in the top
   870  // left cell, but the column header takes priority over the first row color if
   871  // the row header is not set.
   872  type BandingProperties struct {
   873  	// FirstBandColor: The first color that is alternating. (Required) Deprecated:
   874  	// Use first_band_color_style.
   875  	FirstBandColor *Color `json:"firstBandColor,omitempty"`
   876  	// FirstBandColorStyle: The first color that is alternating. (Required) If
   877  	// first_band_color is also set, this field takes precedence.
   878  	FirstBandColorStyle *ColorStyle `json:"firstBandColorStyle,omitempty"`
   879  	// FooterColor: The color of the last row or column. If this field is not set,
   880  	// the last row or column is filled with either first_band_color or
   881  	// second_band_color, depending on the color of the previous row or column.
   882  	// Deprecated: Use footer_color_style.
   883  	FooterColor *Color `json:"footerColor,omitempty"`
   884  	// FooterColorStyle: The color of the last row or column. If this field is not
   885  	// set, the last row or column is filled with either first_band_color or
   886  	// second_band_color, depending on the color of the previous row or column. If
   887  	// footer_color is also set, this field takes precedence.
   888  	FooterColorStyle *ColorStyle `json:"footerColorStyle,omitempty"`
   889  	// HeaderColor: The color of the first row or column. If this field is set, the
   890  	// first row or column is filled with this color and the colors alternate
   891  	// between first_band_color and second_band_color starting from the second row
   892  	// or column. Otherwise, the first row or column is filled with
   893  	// first_band_color and the colors proceed to alternate as they normally would.
   894  	// Deprecated: Use header_color_style.
   895  	HeaderColor *Color `json:"headerColor,omitempty"`
   896  	// HeaderColorStyle: The color of the first row or column. If this field is
   897  	// set, the first row or column is filled with this color and the colors
   898  	// alternate between first_band_color and second_band_color starting from the
   899  	// second row or column. Otherwise, the first row or column is filled with
   900  	// first_band_color and the colors proceed to alternate as they normally would.
   901  	// If header_color is also set, this field takes precedence.
   902  	HeaderColorStyle *ColorStyle `json:"headerColorStyle,omitempty"`
   903  	// SecondBandColor: The second color that is alternating. (Required)
   904  	// Deprecated: Use second_band_color_style.
   905  	SecondBandColor *Color `json:"secondBandColor,omitempty"`
   906  	// SecondBandColorStyle: The second color that is alternating. (Required) If
   907  	// second_band_color is also set, this field takes precedence.
   908  	SecondBandColorStyle *ColorStyle `json:"secondBandColorStyle,omitempty"`
   909  	// ForceSendFields is a list of field names (e.g. "FirstBandColor") to
   910  	// unconditionally include in API requests. By default, fields with empty or
   911  	// default values are omitted from API requests. See
   912  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   913  	// details.
   914  	ForceSendFields []string `json:"-"`
   915  	// NullFields is a list of field names (e.g. "FirstBandColor") to include in
   916  	// API requests with the JSON null value. By default, fields with empty values
   917  	// are omitted from API requests. See
   918  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   919  	NullFields []string `json:"-"`
   920  }
   921  
   922  func (s *BandingProperties) MarshalJSON() ([]byte, error) {
   923  	type NoMethod BandingProperties
   924  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   925  }
   926  
   927  // BaselineValueFormat: Formatting options for baseline value.
   928  type BaselineValueFormat struct {
   929  	// ComparisonType: The comparison type of key value with baseline value.
   930  	//
   931  	// Possible values:
   932  	//   "COMPARISON_TYPE_UNDEFINED" - Default value, do not use.
   933  	//   "ABSOLUTE_DIFFERENCE" - Use absolute difference between key and baseline
   934  	// value.
   935  	//   "PERCENTAGE_DIFFERENCE" - Use percentage difference between key and
   936  	// baseline value.
   937  	ComparisonType string `json:"comparisonType,omitempty"`
   938  	// Description: Description which is appended after the baseline value. This
   939  	// field is optional.
   940  	Description string `json:"description,omitempty"`
   941  	// NegativeColor: Color to be used, in case baseline value represents a
   942  	// negative change for key value. This field is optional. Deprecated: Use
   943  	// negative_color_style.
   944  	NegativeColor *Color `json:"negativeColor,omitempty"`
   945  	// NegativeColorStyle: Color to be used, in case baseline value represents a
   946  	// negative change for key value. This field is optional. If negative_color is
   947  	// also set, this field takes precedence.
   948  	NegativeColorStyle *ColorStyle `json:"negativeColorStyle,omitempty"`
   949  	// Position: Specifies the horizontal text positioning of baseline value. This
   950  	// field is optional. If not specified, default positioning is used.
   951  	Position *TextPosition `json:"position,omitempty"`
   952  	// PositiveColor: Color to be used, in case baseline value represents a
   953  	// positive change for key value. This field is optional. Deprecated: Use
   954  	// positive_color_style.
   955  	PositiveColor *Color `json:"positiveColor,omitempty"`
   956  	// PositiveColorStyle: Color to be used, in case baseline value represents a
   957  	// positive change for key value. This field is optional. If positive_color is
   958  	// also set, this field takes precedence.
   959  	PositiveColorStyle *ColorStyle `json:"positiveColorStyle,omitempty"`
   960  	// TextFormat: Text formatting options for baseline value. The link field is
   961  	// not supported.
   962  	TextFormat *TextFormat `json:"textFormat,omitempty"`
   963  	// ForceSendFields is a list of field names (e.g. "ComparisonType") to
   964  	// unconditionally include in API requests. By default, fields with empty or
   965  	// default values are omitted from API requests. See
   966  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   967  	// details.
   968  	ForceSendFields []string `json:"-"`
   969  	// NullFields is a list of field names (e.g. "ComparisonType") to include in
   970  	// API requests with the JSON null value. By default, fields with empty values
   971  	// are omitted from API requests. See
   972  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   973  	NullFields []string `json:"-"`
   974  }
   975  
   976  func (s *BaselineValueFormat) MarshalJSON() ([]byte, error) {
   977  	type NoMethod BaselineValueFormat
   978  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   979  }
   980  
   981  // BasicChartAxis: An axis of the chart. A chart may not have more than one
   982  // axis per axis position.
   983  type BasicChartAxis struct {
   984  	// Format: The format of the title. Only valid if the axis is not associated
   985  	// with the domain. The link field is not supported.
   986  	Format *TextFormat `json:"format,omitempty"`
   987  	// Position: The position of this axis.
   988  	//
   989  	// Possible values:
   990  	//   "BASIC_CHART_AXIS_POSITION_UNSPECIFIED" - Default value, do not use.
   991  	//   "BOTTOM_AXIS" - The axis rendered at the bottom of a chart. For most
   992  	// charts, this is the standard major axis. For bar charts, this is a minor
   993  	// axis.
   994  	//   "LEFT_AXIS" - The axis rendered at the left of a chart. For most charts,
   995  	// this is a minor axis. For bar charts, this is the standard major axis.
   996  	//   "RIGHT_AXIS" - The axis rendered at the right of a chart. For most charts,
   997  	// this is a minor axis. For bar charts, this is an unusual major axis.
   998  	Position string `json:"position,omitempty"`
   999  	// Title: The title of this axis. If set, this overrides any title inferred
  1000  	// from headers of the data.
  1001  	Title string `json:"title,omitempty"`
  1002  	// TitleTextPosition: The axis title text position.
  1003  	TitleTextPosition *TextPosition `json:"titleTextPosition,omitempty"`
  1004  	// ViewWindowOptions: The view window options for this axis.
  1005  	ViewWindowOptions *ChartAxisViewWindowOptions `json:"viewWindowOptions,omitempty"`
  1006  	// ForceSendFields is a list of field names (e.g. "Format") to unconditionally
  1007  	// include in API requests. By default, fields with empty or default values are
  1008  	// omitted from API requests. See
  1009  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1010  	// details.
  1011  	ForceSendFields []string `json:"-"`
  1012  	// NullFields is a list of field names (e.g. "Format") to include in API
  1013  	// requests with the JSON null value. By default, fields with empty values are
  1014  	// omitted from API requests. See
  1015  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1016  	NullFields []string `json:"-"`
  1017  }
  1018  
  1019  func (s *BasicChartAxis) MarshalJSON() ([]byte, error) {
  1020  	type NoMethod BasicChartAxis
  1021  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1022  }
  1023  
  1024  // BasicChartDomain: The domain of a chart. For example, if charting stock
  1025  // prices over time, this would be the date.
  1026  type BasicChartDomain struct {
  1027  	// Domain: The data of the domain. For example, if charting stock prices over
  1028  	// time, this is the data representing the dates.
  1029  	Domain *ChartData `json:"domain,omitempty"`
  1030  	// Reversed: True to reverse the order of the domain values (horizontal axis).
  1031  	Reversed bool `json:"reversed,omitempty"`
  1032  	// ForceSendFields is a list of field names (e.g. "Domain") to unconditionally
  1033  	// include in API requests. By default, fields with empty or default values are
  1034  	// omitted from API requests. See
  1035  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1036  	// details.
  1037  	ForceSendFields []string `json:"-"`
  1038  	// NullFields is a list of field names (e.g. "Domain") to include in API
  1039  	// requests with the JSON null value. By default, fields with empty values are
  1040  	// omitted from API requests. See
  1041  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1042  	NullFields []string `json:"-"`
  1043  }
  1044  
  1045  func (s *BasicChartDomain) MarshalJSON() ([]byte, error) {
  1046  	type NoMethod BasicChartDomain
  1047  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1048  }
  1049  
  1050  // BasicChartSeries: A single series of data in a chart. For example, if
  1051  // charting stock prices over time, multiple series may exist, one for the
  1052  // "Open Price", "High Price", "Low Price" and "Close Price".
  1053  type BasicChartSeries struct {
  1054  	// Color: The color for elements (such as bars, lines, and points) associated
  1055  	// with this series. If empty, a default color is used. Deprecated: Use
  1056  	// color_style.
  1057  	Color *Color `json:"color,omitempty"`
  1058  	// ColorStyle: The color for elements (such as bars, lines, and points)
  1059  	// associated with this series. If empty, a default color is used. If color is
  1060  	// also set, this field takes precedence.
  1061  	ColorStyle *ColorStyle `json:"colorStyle,omitempty"`
  1062  	// DataLabel: Information about the data labels for this series.
  1063  	DataLabel *DataLabel `json:"dataLabel,omitempty"`
  1064  	// LineStyle: The line style of this series. Valid only if the chartType is
  1065  	// AREA, LINE, or SCATTER. COMBO charts are also supported if the series chart
  1066  	// type is AREA or LINE.
  1067  	LineStyle *LineStyle `json:"lineStyle,omitempty"`
  1068  	// PointStyle: The style for points associated with this series. Valid only if
  1069  	// the chartType is AREA, LINE, or SCATTER. COMBO charts are also supported if
  1070  	// the series chart type is AREA, LINE, or SCATTER. If empty, a default point
  1071  	// style is used.
  1072  	PointStyle *PointStyle `json:"pointStyle,omitempty"`
  1073  	// Series: The data being visualized in this chart series.
  1074  	Series *ChartData `json:"series,omitempty"`
  1075  	// StyleOverrides: Style override settings for series data points.
  1076  	StyleOverrides []*BasicSeriesDataPointStyleOverride `json:"styleOverrides,omitempty"`
  1077  	// TargetAxis: The minor axis that will specify the range of values for this
  1078  	// series. For example, if charting stocks over time, the "Volume" series may
  1079  	// want to be pinned to the right with the prices pinned to the left, because
  1080  	// the scale of trading volume is different than the scale of prices. It is an
  1081  	// error to specify an axis that isn't a valid minor axis for the chart's type.
  1082  	//
  1083  	// Possible values:
  1084  	//   "BASIC_CHART_AXIS_POSITION_UNSPECIFIED" - Default value, do not use.
  1085  	//   "BOTTOM_AXIS" - The axis rendered at the bottom of a chart. For most
  1086  	// charts, this is the standard major axis. For bar charts, this is a minor
  1087  	// axis.
  1088  	//   "LEFT_AXIS" - The axis rendered at the left of a chart. For most charts,
  1089  	// this is a minor axis. For bar charts, this is the standard major axis.
  1090  	//   "RIGHT_AXIS" - The axis rendered at the right of a chart. For most charts,
  1091  	// this is a minor axis. For bar charts, this is an unusual major axis.
  1092  	TargetAxis string `json:"targetAxis,omitempty"`
  1093  	// Type: The type of this series. Valid only if the chartType is COMBO.
  1094  	// Different types will change the way the series is visualized. Only LINE,
  1095  	// AREA, and COLUMN are supported.
  1096  	//
  1097  	// Possible values:
  1098  	//   "BASIC_CHART_TYPE_UNSPECIFIED" - Default value, do not use.
  1099  	//   "BAR" - A bar chart.
  1100  	//   "LINE" - A line chart.
  1101  	//   "AREA" - An area chart.
  1102  	//   "COLUMN" - A column chart.
  1103  	//   "SCATTER" - A scatter chart.
  1104  	//   "COMBO" - A combo chart.
  1105  	//   "STEPPED_AREA" - A stepped area chart.
  1106  	Type string `json:"type,omitempty"`
  1107  	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
  1108  	// include in API requests. By default, fields with empty or default values are
  1109  	// omitted from API requests. See
  1110  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1111  	// details.
  1112  	ForceSendFields []string `json:"-"`
  1113  	// NullFields is a list of field names (e.g. "Color") to include in API
  1114  	// requests with the JSON null value. By default, fields with empty values are
  1115  	// omitted from API requests. See
  1116  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1117  	NullFields []string `json:"-"`
  1118  }
  1119  
  1120  func (s *BasicChartSeries) MarshalJSON() ([]byte, error) {
  1121  	type NoMethod BasicChartSeries
  1122  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1123  }
  1124  
  1125  // BasicChartSpec: The specification for a basic chart. See BasicChartType for
  1126  // the list of charts this supports.
  1127  type BasicChartSpec struct {
  1128  	// Axis: The axis on the chart.
  1129  	Axis []*BasicChartAxis `json:"axis,omitempty"`
  1130  	// ChartType: The type of the chart.
  1131  	//
  1132  	// Possible values:
  1133  	//   "BASIC_CHART_TYPE_UNSPECIFIED" - Default value, do not use.
  1134  	//   "BAR" - A bar chart.
  1135  	//   "LINE" - A line chart.
  1136  	//   "AREA" - An area chart.
  1137  	//   "COLUMN" - A column chart.
  1138  	//   "SCATTER" - A scatter chart.
  1139  	//   "COMBO" - A combo chart.
  1140  	//   "STEPPED_AREA" - A stepped area chart.
  1141  	ChartType string `json:"chartType,omitempty"`
  1142  	// CompareMode: The behavior of tooltips and data highlighting when hovering on
  1143  	// data and chart area.
  1144  	//
  1145  	// Possible values:
  1146  	//   "BASIC_CHART_COMPARE_MODE_UNSPECIFIED" - Default value, do not use.
  1147  	//   "DATUM" - Only the focused data element is highlighted and shown in the
  1148  	// tooltip.
  1149  	//   "CATEGORY" - All data elements with the same category (e.g., domain value)
  1150  	// are highlighted and shown in the tooltip.
  1151  	CompareMode string `json:"compareMode,omitempty"`
  1152  	// Domains: The domain of data this is charting. Only a single domain is
  1153  	// supported.
  1154  	Domains []*BasicChartDomain `json:"domains,omitempty"`
  1155  	// HeaderCount: The number of rows or columns in the data that are "headers".
  1156  	// If not set, Google Sheets will guess how many rows are headers based on the
  1157  	// data. (Note that BasicChartAxis.title may override the axis title inferred
  1158  	// from the header values.)
  1159  	HeaderCount int64 `json:"headerCount,omitempty"`
  1160  	// InterpolateNulls: If some values in a series are missing, gaps may appear in
  1161  	// the chart (e.g, segments of lines in a line chart will be missing). To
  1162  	// eliminate these gaps set this to true. Applies to Line, Area, and Combo
  1163  	// charts.
  1164  	InterpolateNulls bool `json:"interpolateNulls,omitempty"`
  1165  	// LegendPosition: The position of the chart legend.
  1166  	//
  1167  	// Possible values:
  1168  	//   "BASIC_CHART_LEGEND_POSITION_UNSPECIFIED" - Default value, do not use.
  1169  	//   "BOTTOM_LEGEND" - The legend is rendered on the bottom of the chart.
  1170  	//   "LEFT_LEGEND" - The legend is rendered on the left of the chart.
  1171  	//   "RIGHT_LEGEND" - The legend is rendered on the right of the chart.
  1172  	//   "TOP_LEGEND" - The legend is rendered on the top of the chart.
  1173  	//   "NO_LEGEND" - No legend is rendered.
  1174  	LegendPosition string `json:"legendPosition,omitempty"`
  1175  	// LineSmoothing: Gets whether all lines should be rendered smooth or straight
  1176  	// by default. Applies to Line charts.
  1177  	LineSmoothing bool `json:"lineSmoothing,omitempty"`
  1178  	// Series: The data this chart is visualizing.
  1179  	Series []*BasicChartSeries `json:"series,omitempty"`
  1180  	// StackedType: The stacked type for charts that support vertical stacking.
  1181  	// Applies to Area, Bar, Column, Combo, and Stepped Area charts.
  1182  	//
  1183  	// Possible values:
  1184  	//   "BASIC_CHART_STACKED_TYPE_UNSPECIFIED" - Default value, do not use.
  1185  	//   "NOT_STACKED" - Series are not stacked.
  1186  	//   "STACKED" - Series values are stacked, each value is rendered vertically
  1187  	// beginning from the top of the value below it.
  1188  	//   "PERCENT_STACKED" - Vertical stacks are stretched to reach the top of the
  1189  	// chart, with values laid out as percentages of each other.
  1190  	StackedType string `json:"stackedType,omitempty"`
  1191  	// ThreeDimensional: True to make the chart 3D. Applies to Bar and Column
  1192  	// charts.
  1193  	ThreeDimensional bool `json:"threeDimensional,omitempty"`
  1194  	// TotalDataLabel: Controls whether to display additional data labels on
  1195  	// stacked charts which sum the total value of all stacked values at each value
  1196  	// along the domain axis. These data labels can only be set when chart_type is
  1197  	// one of AREA, BAR, COLUMN, COMBO or STEPPED_AREA and stacked_type is either
  1198  	// STACKED or PERCENT_STACKED. In addition, for COMBO, this will only be
  1199  	// supported if there is only one type of stackable series type or one type has
  1200  	// more series than the others and each of the other types have no more than
  1201  	// one series. For example, if a chart has two stacked bar series and one area
  1202  	// series, the total data labels will be supported. If it has three bar series
  1203  	// and two area series, total data labels are not allowed. Neither CUSTOM nor
  1204  	// placement can be set on the total_data_label.
  1205  	TotalDataLabel *DataLabel `json:"totalDataLabel,omitempty"`
  1206  	// ForceSendFields is a list of field names (e.g. "Axis") to unconditionally
  1207  	// include in API requests. By default, fields with empty or default values are
  1208  	// omitted from API requests. See
  1209  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1210  	// details.
  1211  	ForceSendFields []string `json:"-"`
  1212  	// NullFields is a list of field names (e.g. "Axis") to include in API requests
  1213  	// with the JSON null value. By default, fields with empty values are omitted
  1214  	// from API requests. See
  1215  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1216  	NullFields []string `json:"-"`
  1217  }
  1218  
  1219  func (s *BasicChartSpec) MarshalJSON() ([]byte, error) {
  1220  	type NoMethod BasicChartSpec
  1221  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1222  }
  1223  
  1224  // BasicFilter: The default filter associated with a sheet.
  1225  type BasicFilter struct {
  1226  	// Criteria: The criteria for showing/hiding values per column. The map's key
  1227  	// is the column index, and the value is the criteria for that column. This
  1228  	// field is deprecated in favor of filter_specs.
  1229  	Criteria map[string]FilterCriteria `json:"criteria,omitempty"`
  1230  	// FilterSpecs: The filter criteria per column. Both criteria and filter_specs
  1231  	// are populated in responses. If both fields are specified in an update
  1232  	// request, this field takes precedence.
  1233  	FilterSpecs []*FilterSpec `json:"filterSpecs,omitempty"`
  1234  	// Range: The range the filter covers.
  1235  	Range *GridRange `json:"range,omitempty"`
  1236  	// SortSpecs: The sort order per column. Later specifications are used when
  1237  	// values are equal in the earlier specifications.
  1238  	SortSpecs []*SortSpec `json:"sortSpecs,omitempty"`
  1239  	// ForceSendFields is a list of field names (e.g. "Criteria") to
  1240  	// unconditionally include in API requests. By default, fields with empty or
  1241  	// default values are omitted from API requests. See
  1242  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1243  	// details.
  1244  	ForceSendFields []string `json:"-"`
  1245  	// NullFields is a list of field names (e.g. "Criteria") to include in API
  1246  	// requests with the JSON null value. By default, fields with empty values are
  1247  	// omitted from API requests. See
  1248  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1249  	NullFields []string `json:"-"`
  1250  }
  1251  
  1252  func (s *BasicFilter) MarshalJSON() ([]byte, error) {
  1253  	type NoMethod BasicFilter
  1254  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1255  }
  1256  
  1257  // BasicSeriesDataPointStyleOverride: Style override settings for a single
  1258  // series data point.
  1259  type BasicSeriesDataPointStyleOverride struct {
  1260  	// Color: Color of the series data point. If empty, the series default is used.
  1261  	// Deprecated: Use color_style.
  1262  	Color *Color `json:"color,omitempty"`
  1263  	// ColorStyle: Color of the series data point. If empty, the series default is
  1264  	// used. If color is also set, this field takes precedence.
  1265  	ColorStyle *ColorStyle `json:"colorStyle,omitempty"`
  1266  	// Index: The zero-based index of the series data point.
  1267  	Index int64 `json:"index,omitempty"`
  1268  	// PointStyle: Point style of the series data point. Valid only if the
  1269  	// chartType is AREA, LINE, or SCATTER. COMBO charts are also supported if the
  1270  	// series chart type is AREA, LINE, or SCATTER. If empty, the series default is
  1271  	// used.
  1272  	PointStyle *PointStyle `json:"pointStyle,omitempty"`
  1273  	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
  1274  	// include in API requests. By default, fields with empty or default values are
  1275  	// omitted from API requests. See
  1276  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1277  	// details.
  1278  	ForceSendFields []string `json:"-"`
  1279  	// NullFields is a list of field names (e.g. "Color") to include in API
  1280  	// requests with the JSON null value. By default, fields with empty values are
  1281  	// omitted from API requests. See
  1282  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1283  	NullFields []string `json:"-"`
  1284  }
  1285  
  1286  func (s *BasicSeriesDataPointStyleOverride) MarshalJSON() ([]byte, error) {
  1287  	type NoMethod BasicSeriesDataPointStyleOverride
  1288  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1289  }
  1290  
  1291  // BatchClearValuesByDataFilterRequest: The request for clearing more than one
  1292  // range selected by a DataFilter in a spreadsheet.
  1293  type BatchClearValuesByDataFilterRequest struct {
  1294  	// DataFilters: The DataFilters used to determine which ranges to clear.
  1295  	DataFilters []*DataFilter `json:"dataFilters,omitempty"`
  1296  	// ForceSendFields is a list of field names (e.g. "DataFilters") to
  1297  	// unconditionally include in API requests. By default, fields with empty or
  1298  	// default values are omitted from API requests. See
  1299  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1300  	// details.
  1301  	ForceSendFields []string `json:"-"`
  1302  	// NullFields is a list of field names (e.g. "DataFilters") to include in API
  1303  	// requests with the JSON null value. By default, fields with empty values are
  1304  	// omitted from API requests. See
  1305  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1306  	NullFields []string `json:"-"`
  1307  }
  1308  
  1309  func (s *BatchClearValuesByDataFilterRequest) MarshalJSON() ([]byte, error) {
  1310  	type NoMethod BatchClearValuesByDataFilterRequest
  1311  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1312  }
  1313  
  1314  // BatchClearValuesByDataFilterResponse: The response when clearing a range of
  1315  // values selected with DataFilters in a spreadsheet.
  1316  type BatchClearValuesByDataFilterResponse struct {
  1317  	// ClearedRanges: The ranges that were cleared, in A1 notation
  1318  	// (/sheets/api/guides/concepts#cell). If the requests are for an unbounded
  1319  	// range or a ranger larger than the bounds of the sheet, this is the actual
  1320  	// ranges that were cleared, bounded to the sheet's limits.
  1321  	ClearedRanges []string `json:"clearedRanges,omitempty"`
  1322  	// SpreadsheetId: The spreadsheet the updates were applied to.
  1323  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
  1324  
  1325  	// ServerResponse contains the HTTP response code and headers from the server.
  1326  	googleapi.ServerResponse `json:"-"`
  1327  	// ForceSendFields is a list of field names (e.g. "ClearedRanges") to
  1328  	// unconditionally include in API requests. By default, fields with empty or
  1329  	// default values are omitted from API requests. See
  1330  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1331  	// details.
  1332  	ForceSendFields []string `json:"-"`
  1333  	// NullFields is a list of field names (e.g. "ClearedRanges") to include in API
  1334  	// requests with the JSON null value. By default, fields with empty values are
  1335  	// omitted from API requests. See
  1336  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1337  	NullFields []string `json:"-"`
  1338  }
  1339  
  1340  func (s *BatchClearValuesByDataFilterResponse) MarshalJSON() ([]byte, error) {
  1341  	type NoMethod BatchClearValuesByDataFilterResponse
  1342  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1343  }
  1344  
  1345  // BatchClearValuesRequest: The request for clearing more than one range of
  1346  // values in a spreadsheet.
  1347  type BatchClearValuesRequest struct {
  1348  	// Ranges: The ranges to clear, in A1 notation or R1C1 notation
  1349  	// (/sheets/api/guides/concepts#cell).
  1350  	Ranges []string `json:"ranges,omitempty"`
  1351  	// ForceSendFields is a list of field names (e.g. "Ranges") to unconditionally
  1352  	// include in API requests. By default, fields with empty or default values are
  1353  	// omitted from API requests. See
  1354  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1355  	// details.
  1356  	ForceSendFields []string `json:"-"`
  1357  	// NullFields is a list of field names (e.g. "Ranges") to include in API
  1358  	// requests with the JSON null value. By default, fields with empty values are
  1359  	// omitted from API requests. See
  1360  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1361  	NullFields []string `json:"-"`
  1362  }
  1363  
  1364  func (s *BatchClearValuesRequest) MarshalJSON() ([]byte, error) {
  1365  	type NoMethod BatchClearValuesRequest
  1366  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1367  }
  1368  
  1369  // BatchClearValuesResponse: The response when clearing a range of values in a
  1370  // spreadsheet.
  1371  type BatchClearValuesResponse struct {
  1372  	// ClearedRanges: The ranges that were cleared, in A1 notation. If the requests
  1373  	// are for an unbounded range or a ranger larger than the bounds of the sheet,
  1374  	// this is the actual ranges that were cleared, bounded to the sheet's limits.
  1375  	ClearedRanges []string `json:"clearedRanges,omitempty"`
  1376  	// SpreadsheetId: The spreadsheet the updates were applied to.
  1377  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
  1378  
  1379  	// ServerResponse contains the HTTP response code and headers from the server.
  1380  	googleapi.ServerResponse `json:"-"`
  1381  	// ForceSendFields is a list of field names (e.g. "ClearedRanges") to
  1382  	// unconditionally include in API requests. By default, fields with empty or
  1383  	// default values are omitted from API requests. See
  1384  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1385  	// details.
  1386  	ForceSendFields []string `json:"-"`
  1387  	// NullFields is a list of field names (e.g. "ClearedRanges") to include in API
  1388  	// requests with the JSON null value. By default, fields with empty values are
  1389  	// omitted from API requests. See
  1390  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1391  	NullFields []string `json:"-"`
  1392  }
  1393  
  1394  func (s *BatchClearValuesResponse) MarshalJSON() ([]byte, error) {
  1395  	type NoMethod BatchClearValuesResponse
  1396  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1397  }
  1398  
  1399  // BatchGetValuesByDataFilterRequest: The request for retrieving a range of
  1400  // values in a spreadsheet selected by a set of DataFilters.
  1401  type BatchGetValuesByDataFilterRequest struct {
  1402  	// DataFilters: The data filters used to match the ranges of values to
  1403  	// retrieve. Ranges that match any of the specified data filters are included
  1404  	// in the response.
  1405  	DataFilters []*DataFilter `json:"dataFilters,omitempty"`
  1406  	// DateTimeRenderOption: How dates, times, and durations should be represented
  1407  	// in the output. This is ignored if value_render_option is FORMATTED_VALUE.
  1408  	// The default dateTime render option is SERIAL_NUMBER.
  1409  	//
  1410  	// Possible values:
  1411  	//   "SERIAL_NUMBER" - Instructs date, time, datetime, and duration fields to
  1412  	// be output as doubles in "serial number" format, as popularized by Lotus
  1413  	// 1-2-3. The whole number portion of the value (left of the decimal) counts
  1414  	// the days since December 30th 1899. The fractional portion (right of the
  1415  	// decimal) counts the time as a fraction of the day. For example, January 1st
  1416  	// 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899,
  1417  	// and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625.
  1418  	// This correctly treats the year 1900 as not a leap year.
  1419  	//   "FORMATTED_STRING" - Instructs date, time, datetime, and duration fields
  1420  	// to be output as strings in their given number format (which depends on the
  1421  	// spreadsheet locale).
  1422  	DateTimeRenderOption string `json:"dateTimeRenderOption,omitempty"`
  1423  	// MajorDimension: The major dimension that results should use. For example, if
  1424  	// the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then a request that selects
  1425  	// that range and sets `majorDimension=ROWS` returns `[[1,2],[3,4]]`, whereas a
  1426  	// request that sets `majorDimension=COLUMNS` returns `[[1,3],[2,4]]`.
  1427  	//
  1428  	// Possible values:
  1429  	//   "DIMENSION_UNSPECIFIED" - The default value, do not use.
  1430  	//   "ROWS" - Operates on the rows of a sheet.
  1431  	//   "COLUMNS" - Operates on the columns of a sheet.
  1432  	MajorDimension string `json:"majorDimension,omitempty"`
  1433  	// ValueRenderOption: How values should be represented in the output. The
  1434  	// default render option is FORMATTED_VALUE.
  1435  	//
  1436  	// Possible values:
  1437  	//   "FORMATTED_VALUE" - Values will be calculated & formatted in the response
  1438  	// according to the cell's formatting. Formatting is based on the spreadsheet's
  1439  	// locale, not the requesting user's locale. For example, if `A1` is `1.23` and
  1440  	// `A2` is `=A1` and formatted as currency, then `A2` would return "$1.23".
  1441  	//   "UNFORMATTED_VALUE" - Values will be calculated, but not formatted in the
  1442  	// reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
  1443  	// currency, then `A2` would return the number `1.23`.
  1444  	//   "FORMULA" - Values will not be calculated. The reply will include the
  1445  	// formulas. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
  1446  	// currency, then A2 would return "=A1". Sheets treats date and time values
  1447  	// as decimal values. This lets you perform arithmetic on them in formulas. For
  1448  	// more information on interpreting date and time values, see [About date &
  1449  	// time
  1450  	// values](https://developers.google.com/sheets/api/guides/formats#about_date_ti
  1451  	// me_values).
  1452  	ValueRenderOption string `json:"valueRenderOption,omitempty"`
  1453  	// ForceSendFields is a list of field names (e.g. "DataFilters") to
  1454  	// unconditionally include in API requests. By default, fields with empty or
  1455  	// default values are omitted from API requests. See
  1456  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1457  	// details.
  1458  	ForceSendFields []string `json:"-"`
  1459  	// NullFields is a list of field names (e.g. "DataFilters") to include in API
  1460  	// requests with the JSON null value. By default, fields with empty values are
  1461  	// omitted from API requests. See
  1462  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1463  	NullFields []string `json:"-"`
  1464  }
  1465  
  1466  func (s *BatchGetValuesByDataFilterRequest) MarshalJSON() ([]byte, error) {
  1467  	type NoMethod BatchGetValuesByDataFilterRequest
  1468  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1469  }
  1470  
  1471  // BatchGetValuesByDataFilterResponse: The response when retrieving more than
  1472  // one range of values in a spreadsheet selected by DataFilters.
  1473  type BatchGetValuesByDataFilterResponse struct {
  1474  	// SpreadsheetId: The ID of the spreadsheet the data was retrieved from.
  1475  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
  1476  	// ValueRanges: The requested values with the list of data filters that matched
  1477  	// them.
  1478  	ValueRanges []*MatchedValueRange `json:"valueRanges,omitempty"`
  1479  
  1480  	// ServerResponse contains the HTTP response code and headers from the server.
  1481  	googleapi.ServerResponse `json:"-"`
  1482  	// ForceSendFields is a list of field names (e.g. "SpreadsheetId") to
  1483  	// unconditionally include in API requests. By default, fields with empty or
  1484  	// default values are omitted from API requests. See
  1485  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1486  	// details.
  1487  	ForceSendFields []string `json:"-"`
  1488  	// NullFields is a list of field names (e.g. "SpreadsheetId") to include in API
  1489  	// requests with the JSON null value. By default, fields with empty values are
  1490  	// omitted from API requests. See
  1491  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1492  	NullFields []string `json:"-"`
  1493  }
  1494  
  1495  func (s *BatchGetValuesByDataFilterResponse) MarshalJSON() ([]byte, error) {
  1496  	type NoMethod BatchGetValuesByDataFilterResponse
  1497  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1498  }
  1499  
  1500  // BatchGetValuesResponse: The response when retrieving more than one range of
  1501  // values in a spreadsheet.
  1502  type BatchGetValuesResponse struct {
  1503  	// SpreadsheetId: The ID of the spreadsheet the data was retrieved from.
  1504  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
  1505  	// ValueRanges: The requested values. The order of the ValueRanges is the same
  1506  	// as the order of the requested ranges.
  1507  	ValueRanges []*ValueRange `json:"valueRanges,omitempty"`
  1508  
  1509  	// ServerResponse contains the HTTP response code and headers from the server.
  1510  	googleapi.ServerResponse `json:"-"`
  1511  	// ForceSendFields is a list of field names (e.g. "SpreadsheetId") to
  1512  	// unconditionally include in API requests. By default, fields with empty or
  1513  	// default values are omitted from API requests. See
  1514  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1515  	// details.
  1516  	ForceSendFields []string `json:"-"`
  1517  	// NullFields is a list of field names (e.g. "SpreadsheetId") to include in API
  1518  	// requests with the JSON null value. By default, fields with empty values are
  1519  	// omitted from API requests. See
  1520  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1521  	NullFields []string `json:"-"`
  1522  }
  1523  
  1524  func (s *BatchGetValuesResponse) MarshalJSON() ([]byte, error) {
  1525  	type NoMethod BatchGetValuesResponse
  1526  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1527  }
  1528  
  1529  // BatchUpdateSpreadsheetRequest: The request for updating any aspect of a
  1530  // spreadsheet.
  1531  type BatchUpdateSpreadsheetRequest struct {
  1532  	// IncludeSpreadsheetInResponse: Determines if the update response should
  1533  	// include the spreadsheet resource.
  1534  	IncludeSpreadsheetInResponse bool `json:"includeSpreadsheetInResponse,omitempty"`
  1535  	// Requests: A list of updates to apply to the spreadsheet. Requests will be
  1536  	// applied in the order they are specified. If any request is not valid, no
  1537  	// requests will be applied.
  1538  	Requests []*Request `json:"requests,omitempty"`
  1539  	// ResponseIncludeGridData: True if grid data should be returned. Meaningful
  1540  	// only if include_spreadsheet_in_response is 'true'. This parameter is ignored
  1541  	// if a field mask was set in the request.
  1542  	ResponseIncludeGridData bool `json:"responseIncludeGridData,omitempty"`
  1543  	// ResponseRanges: Limits the ranges included in the response spreadsheet.
  1544  	// Meaningful only if include_spreadsheet_in_response is 'true'.
  1545  	ResponseRanges []string `json:"responseRanges,omitempty"`
  1546  	// ForceSendFields is a list of field names (e.g.
  1547  	// "IncludeSpreadsheetInResponse") to unconditionally include in API requests.
  1548  	// By default, fields with empty or default values are omitted from API
  1549  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  1550  	// for more details.
  1551  	ForceSendFields []string `json:"-"`
  1552  	// NullFields is a list of field names (e.g. "IncludeSpreadsheetInResponse") to
  1553  	// include in API requests with the JSON null value. By default, fields with
  1554  	// empty values are omitted from API requests. See
  1555  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1556  	NullFields []string `json:"-"`
  1557  }
  1558  
  1559  func (s *BatchUpdateSpreadsheetRequest) MarshalJSON() ([]byte, error) {
  1560  	type NoMethod BatchUpdateSpreadsheetRequest
  1561  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1562  }
  1563  
  1564  // BatchUpdateSpreadsheetResponse: The reply for batch updating a spreadsheet.
  1565  type BatchUpdateSpreadsheetResponse struct {
  1566  	// Replies: The reply of the updates. This maps 1:1 with the updates, although
  1567  	// replies to some requests may be empty.
  1568  	Replies []*Response `json:"replies,omitempty"`
  1569  	// SpreadsheetId: The spreadsheet the updates were applied to.
  1570  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
  1571  	// UpdatedSpreadsheet: The spreadsheet after updates were applied. This is only
  1572  	// set if BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response is
  1573  	// `true`.
  1574  	UpdatedSpreadsheet *Spreadsheet `json:"updatedSpreadsheet,omitempty"`
  1575  
  1576  	// ServerResponse contains the HTTP response code and headers from the server.
  1577  	googleapi.ServerResponse `json:"-"`
  1578  	// ForceSendFields is a list of field names (e.g. "Replies") to unconditionally
  1579  	// include in API requests. By default, fields with empty or default values are
  1580  	// omitted from API requests. See
  1581  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1582  	// details.
  1583  	ForceSendFields []string `json:"-"`
  1584  	// NullFields is a list of field names (e.g. "Replies") to include in API
  1585  	// requests with the JSON null value. By default, fields with empty values are
  1586  	// omitted from API requests. See
  1587  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1588  	NullFields []string `json:"-"`
  1589  }
  1590  
  1591  func (s *BatchUpdateSpreadsheetResponse) MarshalJSON() ([]byte, error) {
  1592  	type NoMethod BatchUpdateSpreadsheetResponse
  1593  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1594  }
  1595  
  1596  // BatchUpdateValuesByDataFilterRequest: The request for updating more than one
  1597  // range of values in a spreadsheet.
  1598  type BatchUpdateValuesByDataFilterRequest struct {
  1599  	// Data: The new values to apply to the spreadsheet. If more than one range is
  1600  	// matched by the specified DataFilter the specified values are applied to all
  1601  	// of those ranges.
  1602  	Data []*DataFilterValueRange `json:"data,omitempty"`
  1603  	// IncludeValuesInResponse: Determines if the update response should include
  1604  	// the values of the cells that were updated. By default, responses do not
  1605  	// include the updated values. The `updatedData` field within each of the
  1606  	// BatchUpdateValuesResponse.responses contains the updated values. If the
  1607  	// range to write was larger than the range actually written, the response
  1608  	// includes all values in the requested range (excluding trailing empty rows
  1609  	// and columns).
  1610  	IncludeValuesInResponse bool `json:"includeValuesInResponse,omitempty"`
  1611  	// ResponseDateTimeRenderOption: Determines how dates, times, and durations in
  1612  	// the response should be rendered. This is ignored if
  1613  	// response_value_render_option is FORMATTED_VALUE. The default dateTime render
  1614  	// option is SERIAL_NUMBER.
  1615  	//
  1616  	// Possible values:
  1617  	//   "SERIAL_NUMBER" - Instructs date, time, datetime, and duration fields to
  1618  	// be output as doubles in "serial number" format, as popularized by Lotus
  1619  	// 1-2-3. The whole number portion of the value (left of the decimal) counts
  1620  	// the days since December 30th 1899. The fractional portion (right of the
  1621  	// decimal) counts the time as a fraction of the day. For example, January 1st
  1622  	// 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899,
  1623  	// and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625.
  1624  	// This correctly treats the year 1900 as not a leap year.
  1625  	//   "FORMATTED_STRING" - Instructs date, time, datetime, and duration fields
  1626  	// to be output as strings in their given number format (which depends on the
  1627  	// spreadsheet locale).
  1628  	ResponseDateTimeRenderOption string `json:"responseDateTimeRenderOption,omitempty"`
  1629  	// ResponseValueRenderOption: Determines how values in the response should be
  1630  	// rendered. The default render option is FORMATTED_VALUE.
  1631  	//
  1632  	// Possible values:
  1633  	//   "FORMATTED_VALUE" - Values will be calculated & formatted in the response
  1634  	// according to the cell's formatting. Formatting is based on the spreadsheet's
  1635  	// locale, not the requesting user's locale. For example, if `A1` is `1.23` and
  1636  	// `A2` is `=A1` and formatted as currency, then `A2` would return "$1.23".
  1637  	//   "UNFORMATTED_VALUE" - Values will be calculated, but not formatted in the
  1638  	// reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
  1639  	// currency, then `A2` would return the number `1.23`.
  1640  	//   "FORMULA" - Values will not be calculated. The reply will include the
  1641  	// formulas. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
  1642  	// currency, then A2 would return "=A1". Sheets treats date and time values
  1643  	// as decimal values. This lets you perform arithmetic on them in formulas. For
  1644  	// more information on interpreting date and time values, see [About date &
  1645  	// time
  1646  	// values](https://developers.google.com/sheets/api/guides/formats#about_date_ti
  1647  	// me_values).
  1648  	ResponseValueRenderOption string `json:"responseValueRenderOption,omitempty"`
  1649  	// ValueInputOption: How the input data should be interpreted.
  1650  	//
  1651  	// Possible values:
  1652  	//   "INPUT_VALUE_OPTION_UNSPECIFIED" - Default input value. This value must
  1653  	// not be used.
  1654  	//   "RAW" - The values the user has entered will not be parsed and will be
  1655  	// stored as-is.
  1656  	//   "USER_ENTERED" - The values will be parsed as if the user typed them into
  1657  	// the UI. Numbers will stay as numbers, but strings may be converted to
  1658  	// numbers, dates, etc. following the same rules that are applied when entering
  1659  	// text into a cell via the Google Sheets UI.
  1660  	ValueInputOption string `json:"valueInputOption,omitempty"`
  1661  	// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
  1662  	// include in API requests. By default, fields with empty or default values are
  1663  	// omitted from API requests. See
  1664  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1665  	// details.
  1666  	ForceSendFields []string `json:"-"`
  1667  	// NullFields is a list of field names (e.g. "Data") to include in API requests
  1668  	// with the JSON null value. By default, fields with empty values are omitted
  1669  	// from API requests. See
  1670  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1671  	NullFields []string `json:"-"`
  1672  }
  1673  
  1674  func (s *BatchUpdateValuesByDataFilterRequest) MarshalJSON() ([]byte, error) {
  1675  	type NoMethod BatchUpdateValuesByDataFilterRequest
  1676  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1677  }
  1678  
  1679  // BatchUpdateValuesByDataFilterResponse: The response when updating a range of
  1680  // values in a spreadsheet.
  1681  type BatchUpdateValuesByDataFilterResponse struct {
  1682  	// Responses: The response for each range updated.
  1683  	Responses []*UpdateValuesByDataFilterResponse `json:"responses,omitempty"`
  1684  	// SpreadsheetId: The spreadsheet the updates were applied to.
  1685  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
  1686  	// TotalUpdatedCells: The total number of cells updated.
  1687  	TotalUpdatedCells int64 `json:"totalUpdatedCells,omitempty"`
  1688  	// TotalUpdatedColumns: The total number of columns where at least one cell in
  1689  	// the column was updated.
  1690  	TotalUpdatedColumns int64 `json:"totalUpdatedColumns,omitempty"`
  1691  	// TotalUpdatedRows: The total number of rows where at least one cell in the
  1692  	// row was updated.
  1693  	TotalUpdatedRows int64 `json:"totalUpdatedRows,omitempty"`
  1694  	// TotalUpdatedSheets: The total number of sheets where at least one cell in
  1695  	// the sheet was updated.
  1696  	TotalUpdatedSheets int64 `json:"totalUpdatedSheets,omitempty"`
  1697  
  1698  	// ServerResponse contains the HTTP response code and headers from the server.
  1699  	googleapi.ServerResponse `json:"-"`
  1700  	// ForceSendFields is a list of field names (e.g. "Responses") to
  1701  	// unconditionally include in API requests. By default, fields with empty or
  1702  	// default values are omitted from API requests. See
  1703  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1704  	// details.
  1705  	ForceSendFields []string `json:"-"`
  1706  	// NullFields is a list of field names (e.g. "Responses") to include in API
  1707  	// requests with the JSON null value. By default, fields with empty values are
  1708  	// omitted from API requests. See
  1709  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1710  	NullFields []string `json:"-"`
  1711  }
  1712  
  1713  func (s *BatchUpdateValuesByDataFilterResponse) MarshalJSON() ([]byte, error) {
  1714  	type NoMethod BatchUpdateValuesByDataFilterResponse
  1715  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1716  }
  1717  
  1718  // BatchUpdateValuesRequest: The request for updating more than one range of
  1719  // values in a spreadsheet.
  1720  type BatchUpdateValuesRequest struct {
  1721  	// Data: The new values to apply to the spreadsheet.
  1722  	Data []*ValueRange `json:"data,omitempty"`
  1723  	// IncludeValuesInResponse: Determines if the update response should include
  1724  	// the values of the cells that were updated. By default, responses do not
  1725  	// include the updated values. The `updatedData` field within each of the
  1726  	// BatchUpdateValuesResponse.responses contains the updated values. If the
  1727  	// range to write was larger than the range actually written, the response
  1728  	// includes all values in the requested range (excluding trailing empty rows
  1729  	// and columns).
  1730  	IncludeValuesInResponse bool `json:"includeValuesInResponse,omitempty"`
  1731  	// ResponseDateTimeRenderOption: Determines how dates, times, and durations in
  1732  	// the response should be rendered. This is ignored if
  1733  	// response_value_render_option is FORMATTED_VALUE. The default dateTime render
  1734  	// option is SERIAL_NUMBER.
  1735  	//
  1736  	// Possible values:
  1737  	//   "SERIAL_NUMBER" - Instructs date, time, datetime, and duration fields to
  1738  	// be output as doubles in "serial number" format, as popularized by Lotus
  1739  	// 1-2-3. The whole number portion of the value (left of the decimal) counts
  1740  	// the days since December 30th 1899. The fractional portion (right of the
  1741  	// decimal) counts the time as a fraction of the day. For example, January 1st
  1742  	// 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899,
  1743  	// and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625.
  1744  	// This correctly treats the year 1900 as not a leap year.
  1745  	//   "FORMATTED_STRING" - Instructs date, time, datetime, and duration fields
  1746  	// to be output as strings in their given number format (which depends on the
  1747  	// spreadsheet locale).
  1748  	ResponseDateTimeRenderOption string `json:"responseDateTimeRenderOption,omitempty"`
  1749  	// ResponseValueRenderOption: Determines how values in the response should be
  1750  	// rendered. The default render option is FORMATTED_VALUE.
  1751  	//
  1752  	// Possible values:
  1753  	//   "FORMATTED_VALUE" - Values will be calculated & formatted in the response
  1754  	// according to the cell's formatting. Formatting is based on the spreadsheet's
  1755  	// locale, not the requesting user's locale. For example, if `A1` is `1.23` and
  1756  	// `A2` is `=A1` and formatted as currency, then `A2` would return "$1.23".
  1757  	//   "UNFORMATTED_VALUE" - Values will be calculated, but not formatted in the
  1758  	// reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
  1759  	// currency, then `A2` would return the number `1.23`.
  1760  	//   "FORMULA" - Values will not be calculated. The reply will include the
  1761  	// formulas. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
  1762  	// currency, then A2 would return "=A1". Sheets treats date and time values
  1763  	// as decimal values. This lets you perform arithmetic on them in formulas. For
  1764  	// more information on interpreting date and time values, see [About date &
  1765  	// time
  1766  	// values](https://developers.google.com/sheets/api/guides/formats#about_date_ti
  1767  	// me_values).
  1768  	ResponseValueRenderOption string `json:"responseValueRenderOption,omitempty"`
  1769  	// ValueInputOption: How the input data should be interpreted.
  1770  	//
  1771  	// Possible values:
  1772  	//   "INPUT_VALUE_OPTION_UNSPECIFIED" - Default input value. This value must
  1773  	// not be used.
  1774  	//   "RAW" - The values the user has entered will not be parsed and will be
  1775  	// stored as-is.
  1776  	//   "USER_ENTERED" - The values will be parsed as if the user typed them into
  1777  	// the UI. Numbers will stay as numbers, but strings may be converted to
  1778  	// numbers, dates, etc. following the same rules that are applied when entering
  1779  	// text into a cell via the Google Sheets UI.
  1780  	ValueInputOption string `json:"valueInputOption,omitempty"`
  1781  	// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
  1782  	// include in API requests. By default, fields with empty or default values are
  1783  	// omitted from API requests. See
  1784  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1785  	// details.
  1786  	ForceSendFields []string `json:"-"`
  1787  	// NullFields is a list of field names (e.g. "Data") to include in API requests
  1788  	// with the JSON null value. By default, fields with empty values are omitted
  1789  	// from API requests. See
  1790  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1791  	NullFields []string `json:"-"`
  1792  }
  1793  
  1794  func (s *BatchUpdateValuesRequest) MarshalJSON() ([]byte, error) {
  1795  	type NoMethod BatchUpdateValuesRequest
  1796  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1797  }
  1798  
  1799  // BatchUpdateValuesResponse: The response when updating a range of values in a
  1800  // spreadsheet.
  1801  type BatchUpdateValuesResponse struct {
  1802  	// Responses: One UpdateValuesResponse per requested range, in the same order
  1803  	// as the requests appeared.
  1804  	Responses []*UpdateValuesResponse `json:"responses,omitempty"`
  1805  	// SpreadsheetId: The spreadsheet the updates were applied to.
  1806  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
  1807  	// TotalUpdatedCells: The total number of cells updated.
  1808  	TotalUpdatedCells int64 `json:"totalUpdatedCells,omitempty"`
  1809  	// TotalUpdatedColumns: The total number of columns where at least one cell in
  1810  	// the column was updated.
  1811  	TotalUpdatedColumns int64 `json:"totalUpdatedColumns,omitempty"`
  1812  	// TotalUpdatedRows: The total number of rows where at least one cell in the
  1813  	// row was updated.
  1814  	TotalUpdatedRows int64 `json:"totalUpdatedRows,omitempty"`
  1815  	// TotalUpdatedSheets: The total number of sheets where at least one cell in
  1816  	// the sheet was updated.
  1817  	TotalUpdatedSheets int64 `json:"totalUpdatedSheets,omitempty"`
  1818  
  1819  	// ServerResponse contains the HTTP response code and headers from the server.
  1820  	googleapi.ServerResponse `json:"-"`
  1821  	// ForceSendFields is a list of field names (e.g. "Responses") to
  1822  	// unconditionally include in API requests. By default, fields with empty or
  1823  	// default values are omitted from API requests. See
  1824  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1825  	// details.
  1826  	ForceSendFields []string `json:"-"`
  1827  	// NullFields is a list of field names (e.g. "Responses") to include in API
  1828  	// requests with the JSON null value. By default, fields with empty values are
  1829  	// omitted from API requests. See
  1830  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1831  	NullFields []string `json:"-"`
  1832  }
  1833  
  1834  func (s *BatchUpdateValuesResponse) MarshalJSON() ([]byte, error) {
  1835  	type NoMethod BatchUpdateValuesResponse
  1836  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1837  }
  1838  
  1839  // BigQueryDataSourceSpec: The specification of a BigQuery data source that's
  1840  // connected to a sheet.
  1841  type BigQueryDataSourceSpec struct {
  1842  	// ProjectId: The ID of a BigQuery enabled Google Cloud project with a billing
  1843  	// account attached. For any queries executed against the data source, the
  1844  	// project is charged.
  1845  	ProjectId string `json:"projectId,omitempty"`
  1846  	// QuerySpec: A BigQueryQuerySpec.
  1847  	QuerySpec *BigQueryQuerySpec `json:"querySpec,omitempty"`
  1848  	// TableSpec: A BigQueryTableSpec.
  1849  	TableSpec *BigQueryTableSpec `json:"tableSpec,omitempty"`
  1850  	// ForceSendFields is a list of field names (e.g. "ProjectId") to
  1851  	// unconditionally include in API requests. By default, fields with empty or
  1852  	// default values are omitted from API requests. See
  1853  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1854  	// details.
  1855  	ForceSendFields []string `json:"-"`
  1856  	// NullFields is a list of field names (e.g. "ProjectId") to include in API
  1857  	// requests with the JSON null value. By default, fields with empty values are
  1858  	// omitted from API requests. See
  1859  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1860  	NullFields []string `json:"-"`
  1861  }
  1862  
  1863  func (s *BigQueryDataSourceSpec) MarshalJSON() ([]byte, error) {
  1864  	type NoMethod BigQueryDataSourceSpec
  1865  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1866  }
  1867  
  1868  // BigQueryQuerySpec: Specifies a custom BigQuery query.
  1869  type BigQueryQuerySpec struct {
  1870  	// RawQuery: The raw query string.
  1871  	RawQuery string `json:"rawQuery,omitempty"`
  1872  	// ForceSendFields is a list of field names (e.g. "RawQuery") to
  1873  	// unconditionally include in API requests. By default, fields with empty or
  1874  	// default values are omitted from API requests. See
  1875  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1876  	// details.
  1877  	ForceSendFields []string `json:"-"`
  1878  	// NullFields is a list of field names (e.g. "RawQuery") to include in API
  1879  	// requests with the JSON null value. By default, fields with empty values are
  1880  	// omitted from API requests. See
  1881  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1882  	NullFields []string `json:"-"`
  1883  }
  1884  
  1885  func (s *BigQueryQuerySpec) MarshalJSON() ([]byte, error) {
  1886  	type NoMethod BigQueryQuerySpec
  1887  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1888  }
  1889  
  1890  // BigQueryTableSpec: Specifies a BigQuery table definition. Only native tables
  1891  // (https://cloud.google.com/bigquery/docs/tables-intro) are allowed.
  1892  type BigQueryTableSpec struct {
  1893  	// DatasetId: The BigQuery dataset id.
  1894  	DatasetId string `json:"datasetId,omitempty"`
  1895  	// TableId: The BigQuery table id.
  1896  	TableId string `json:"tableId,omitempty"`
  1897  	// TableProjectId: The ID of a BigQuery project the table belongs to. If not
  1898  	// specified, the project_id is assumed.
  1899  	TableProjectId string `json:"tableProjectId,omitempty"`
  1900  	// ForceSendFields is a list of field names (e.g. "DatasetId") to
  1901  	// unconditionally include in API requests. By default, fields with empty or
  1902  	// default values are omitted from API requests. See
  1903  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1904  	// details.
  1905  	ForceSendFields []string `json:"-"`
  1906  	// NullFields is a list of field names (e.g. "DatasetId") to include in API
  1907  	// requests with the JSON null value. By default, fields with empty values are
  1908  	// omitted from API requests. See
  1909  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1910  	NullFields []string `json:"-"`
  1911  }
  1912  
  1913  func (s *BigQueryTableSpec) MarshalJSON() ([]byte, error) {
  1914  	type NoMethod BigQueryTableSpec
  1915  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1916  }
  1917  
  1918  // BooleanCondition: A condition that can evaluate to true or false.
  1919  // BooleanConditions are used by conditional formatting, data validation, and
  1920  // the criteria in filters.
  1921  type BooleanCondition struct {
  1922  	// Type: The type of condition.
  1923  	//
  1924  	// Possible values:
  1925  	//   "CONDITION_TYPE_UNSPECIFIED" - The default value, do not use.
  1926  	//   "NUMBER_GREATER" - The cell's value must be greater than the condition's
  1927  	// value. Supported by data validation, conditional formatting and filters.
  1928  	// Requires a single ConditionValue.
  1929  	//   "NUMBER_GREATER_THAN_EQ" - The cell's value must be greater than or equal
  1930  	// to the condition's value. Supported by data validation, conditional
  1931  	// formatting and filters. Requires a single ConditionValue.
  1932  	//   "NUMBER_LESS" - The cell's value must be less than the condition's value.
  1933  	// Supported by data validation, conditional formatting and filters. Requires a
  1934  	// single ConditionValue.
  1935  	//   "NUMBER_LESS_THAN_EQ" - The cell's value must be less than or equal to the
  1936  	// condition's value. Supported by data validation, conditional formatting and
  1937  	// filters. Requires a single ConditionValue.
  1938  	//   "NUMBER_EQ" - The cell's value must be equal to the condition's value.
  1939  	// Supported by data validation, conditional formatting and filters. Requires a
  1940  	// single ConditionValue for data validation, conditional formatting, and
  1941  	// filters on non-data source objects and at least one ConditionValue for
  1942  	// filters on data source objects.
  1943  	//   "NUMBER_NOT_EQ" - The cell's value must be not equal to the condition's
  1944  	// value. Supported by data validation, conditional formatting and filters.
  1945  	// Requires a single ConditionValue for data validation, conditional
  1946  	// formatting, and filters on non-data source objects and at least one
  1947  	// ConditionValue for filters on data source objects.
  1948  	//   "NUMBER_BETWEEN" - The cell's value must be between the two condition
  1949  	// values. Supported by data validation, conditional formatting and filters.
  1950  	// Requires exactly two ConditionValues.
  1951  	//   "NUMBER_NOT_BETWEEN" - The cell's value must not be between the two
  1952  	// condition values. Supported by data validation, conditional formatting and
  1953  	// filters. Requires exactly two ConditionValues.
  1954  	//   "TEXT_CONTAINS" - The cell's value must contain the condition's value.
  1955  	// Supported by data validation, conditional formatting and filters. Requires a
  1956  	// single ConditionValue.
  1957  	//   "TEXT_NOT_CONTAINS" - The cell's value must not contain the condition's
  1958  	// value. Supported by data validation, conditional formatting and filters.
  1959  	// Requires a single ConditionValue.
  1960  	//   "TEXT_STARTS_WITH" - The cell's value must start with the condition's
  1961  	// value. Supported by conditional formatting and filters. Requires a single
  1962  	// ConditionValue.
  1963  	//   "TEXT_ENDS_WITH" - The cell's value must end with the condition's value.
  1964  	// Supported by conditional formatting and filters. Requires a single
  1965  	// ConditionValue.
  1966  	//   "TEXT_EQ" - The cell's value must be exactly the condition's value.
  1967  	// Supported by data validation, conditional formatting and filters. Requires a
  1968  	// single ConditionValue for data validation, conditional formatting, and
  1969  	// filters on non-data source objects and at least one ConditionValue for
  1970  	// filters on data source objects.
  1971  	//   "TEXT_IS_EMAIL" - The cell's value must be a valid email address.
  1972  	// Supported by data validation. Requires no ConditionValues.
  1973  	//   "TEXT_IS_URL" - The cell's value must be a valid URL. Supported by data
  1974  	// validation. Requires no ConditionValues.
  1975  	//   "DATE_EQ" - The cell's value must be the same date as the condition's
  1976  	// value. Supported by data validation, conditional formatting and filters.
  1977  	// Requires a single ConditionValue for data validation, conditional
  1978  	// formatting, and filters on non-data source objects and at least one
  1979  	// ConditionValue for filters on data source objects.
  1980  	//   "DATE_BEFORE" - The cell's value must be before the date of the
  1981  	// condition's value. Supported by data validation, conditional formatting and
  1982  	// filters. Requires a single ConditionValue that may be a relative date.
  1983  	//   "DATE_AFTER" - The cell's value must be after the date of the condition's
  1984  	// value. Supported by data validation, conditional formatting and filters.
  1985  	// Requires a single ConditionValue that may be a relative date.
  1986  	//   "DATE_ON_OR_BEFORE" - The cell's value must be on or before the date of
  1987  	// the condition's value. Supported by data validation. Requires a single
  1988  	// ConditionValue that may be a relative date.
  1989  	//   "DATE_ON_OR_AFTER" - The cell's value must be on or after the date of the
  1990  	// condition's value. Supported by data validation. Requires a single
  1991  	// ConditionValue that may be a relative date.
  1992  	//   "DATE_BETWEEN" - The cell's value must be between the dates of the two
  1993  	// condition values. Supported by data validation. Requires exactly two
  1994  	// ConditionValues.
  1995  	//   "DATE_NOT_BETWEEN" - The cell's value must be outside the dates of the two
  1996  	// condition values. Supported by data validation. Requires exactly two
  1997  	// ConditionValues.
  1998  	//   "DATE_IS_VALID" - The cell's value must be a date. Supported by data
  1999  	// validation. Requires no ConditionValues.
  2000  	//   "ONE_OF_RANGE" - The cell's value must be listed in the grid in condition
  2001  	// value's range. Supported by data validation. Requires a single
  2002  	// ConditionValue, and the value must be a valid range in A1 notation.
  2003  	//   "ONE_OF_LIST" - The cell's value must be in the list of condition values.
  2004  	// Supported by data validation. Supports any number of condition values, one
  2005  	// per item in the list. Formulas are not supported in the values.
  2006  	//   "BLANK" - The cell's value must be empty. Supported by conditional
  2007  	// formatting and filters. Requires no ConditionValues.
  2008  	//   "NOT_BLANK" - The cell's value must not be empty. Supported by conditional
  2009  	// formatting and filters. Requires no ConditionValues.
  2010  	//   "CUSTOM_FORMULA" - The condition's formula must evaluate to true.
  2011  	// Supported by data validation, conditional formatting and filters. Not
  2012  	// supported by data source sheet filters. Requires a single ConditionValue.
  2013  	//   "BOOLEAN" - The cell's value must be TRUE/FALSE or in the list of
  2014  	// condition values. Supported by data validation. Renders as a cell checkbox.
  2015  	// Supports zero, one or two ConditionValues. No values indicates the cell must
  2016  	// be TRUE or FALSE, where TRUE renders as checked and FALSE renders as
  2017  	// unchecked. One value indicates the cell will render as checked when it
  2018  	// contains that value and unchecked when it is blank. Two values indicate that
  2019  	// the cell will render as checked when it contains the first value and
  2020  	// unchecked when it contains the second value. For example, ["Yes","No"]
  2021  	// indicates that the cell will render a checked box when it has the value
  2022  	// "Yes" and an unchecked box when it has the value "No".
  2023  	//   "TEXT_NOT_EQ" - The cell's value must be exactly not the condition's
  2024  	// value. Supported by filters on data source objects. Requires at least one
  2025  	// ConditionValue.
  2026  	//   "DATE_NOT_EQ" - The cell's value must be exactly not the condition's
  2027  	// value. Supported by filters on data source objects. Requires at least one
  2028  	// ConditionValue.
  2029  	//   "FILTER_EXPRESSION" - The cell's value must follow the pattern specified.
  2030  	// Requires a single ConditionValue.
  2031  	Type string `json:"type,omitempty"`
  2032  	// Values: The values of the condition. The number of supported values depends
  2033  	// on the condition type. Some support zero values, others one or two values,
  2034  	// and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
  2035  	Values []*ConditionValue `json:"values,omitempty"`
  2036  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  2037  	// include in API requests. By default, fields with empty or default values are
  2038  	// omitted from API requests. See
  2039  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2040  	// details.
  2041  	ForceSendFields []string `json:"-"`
  2042  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  2043  	// with the JSON null value. By default, fields with empty values are omitted
  2044  	// from API requests. See
  2045  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2046  	NullFields []string `json:"-"`
  2047  }
  2048  
  2049  func (s *BooleanCondition) MarshalJSON() ([]byte, error) {
  2050  	type NoMethod BooleanCondition
  2051  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2052  }
  2053  
  2054  // BooleanRule: A rule that may or may not match, depending on the condition.
  2055  type BooleanRule struct {
  2056  	// Condition: The condition of the rule. If the condition evaluates to true,
  2057  	// the format is applied.
  2058  	Condition *BooleanCondition `json:"condition,omitempty"`
  2059  	// Format: The format to apply. Conditional formatting can only apply a subset
  2060  	// of formatting: bold, italic, strikethrough, foreground color and, background
  2061  	// color.
  2062  	Format *CellFormat `json:"format,omitempty"`
  2063  	// ForceSendFields is a list of field names (e.g. "Condition") to
  2064  	// unconditionally include in API requests. By default, fields with empty or
  2065  	// default values are omitted from API requests. See
  2066  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2067  	// details.
  2068  	ForceSendFields []string `json:"-"`
  2069  	// NullFields is a list of field names (e.g. "Condition") to include in API
  2070  	// requests with the JSON null value. By default, fields with empty values are
  2071  	// omitted from API requests. See
  2072  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2073  	NullFields []string `json:"-"`
  2074  }
  2075  
  2076  func (s *BooleanRule) MarshalJSON() ([]byte, error) {
  2077  	type NoMethod BooleanRule
  2078  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2079  }
  2080  
  2081  // Border: A border along a cell.
  2082  type Border struct {
  2083  	// Color: The color of the border. Deprecated: Use color_style.
  2084  	Color *Color `json:"color,omitempty"`
  2085  	// ColorStyle: The color of the border. If color is also set, this field takes
  2086  	// precedence.
  2087  	ColorStyle *ColorStyle `json:"colorStyle,omitempty"`
  2088  	// Style: The style of the border.
  2089  	//
  2090  	// Possible values:
  2091  	//   "STYLE_UNSPECIFIED" - The style is not specified. Do not use this.
  2092  	//   "DOTTED" - The border is dotted.
  2093  	//   "DASHED" - The border is dashed.
  2094  	//   "SOLID" - The border is a thin solid line.
  2095  	//   "SOLID_MEDIUM" - The border is a medium solid line.
  2096  	//   "SOLID_THICK" - The border is a thick solid line.
  2097  	//   "NONE" - No border. Used only when updating a border in order to erase it.
  2098  	//   "DOUBLE" - The border is two solid lines.
  2099  	Style string `json:"style,omitempty"`
  2100  	// Width: The width of the border, in pixels. Deprecated; the width is
  2101  	// determined by the "style" field.
  2102  	Width int64 `json:"width,omitempty"`
  2103  	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
  2104  	// include in API requests. By default, fields with empty or default values are
  2105  	// omitted from API requests. See
  2106  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2107  	// details.
  2108  	ForceSendFields []string `json:"-"`
  2109  	// NullFields is a list of field names (e.g. "Color") to include in API
  2110  	// requests with the JSON null value. By default, fields with empty values are
  2111  	// omitted from API requests. See
  2112  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2113  	NullFields []string `json:"-"`
  2114  }
  2115  
  2116  func (s *Border) MarshalJSON() ([]byte, error) {
  2117  	type NoMethod Border
  2118  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2119  }
  2120  
  2121  // Borders: The borders of the cell.
  2122  type Borders struct {
  2123  	// Bottom: The bottom border of the cell.
  2124  	Bottom *Border `json:"bottom,omitempty"`
  2125  	// Left: The left border of the cell.
  2126  	Left *Border `json:"left,omitempty"`
  2127  	// Right: The right border of the cell.
  2128  	Right *Border `json:"right,omitempty"`
  2129  	// Top: The top border of the cell.
  2130  	Top *Border `json:"top,omitempty"`
  2131  	// ForceSendFields is a list of field names (e.g. "Bottom") to unconditionally
  2132  	// include in API requests. By default, fields with empty or default values are
  2133  	// omitted from API requests. See
  2134  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2135  	// details.
  2136  	ForceSendFields []string `json:"-"`
  2137  	// NullFields is a list of field names (e.g. "Bottom") to include in API
  2138  	// requests with the JSON null value. By default, fields with empty values are
  2139  	// omitted from API requests. See
  2140  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2141  	NullFields []string `json:"-"`
  2142  }
  2143  
  2144  func (s *Borders) MarshalJSON() ([]byte, error) {
  2145  	type NoMethod Borders
  2146  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2147  }
  2148  
  2149  // BubbleChartSpec: A bubble chart.
  2150  type BubbleChartSpec struct {
  2151  	// BubbleBorderColor: The bubble border color. Deprecated: Use
  2152  	// bubble_border_color_style.
  2153  	BubbleBorderColor *Color `json:"bubbleBorderColor,omitempty"`
  2154  	// BubbleBorderColorStyle: The bubble border color. If bubble_border_color is
  2155  	// also set, this field takes precedence.
  2156  	BubbleBorderColorStyle *ColorStyle `json:"bubbleBorderColorStyle,omitempty"`
  2157  	// BubbleLabels: The data containing the bubble labels. These do not need to be
  2158  	// unique.
  2159  	BubbleLabels *ChartData `json:"bubbleLabels,omitempty"`
  2160  	// BubbleMaxRadiusSize: The max radius size of the bubbles, in pixels. If
  2161  	// specified, the field must be a positive value.
  2162  	BubbleMaxRadiusSize int64 `json:"bubbleMaxRadiusSize,omitempty"`
  2163  	// BubbleMinRadiusSize: The minimum radius size of the bubbles, in pixels. If
  2164  	// specific, the field must be a positive value.
  2165  	BubbleMinRadiusSize int64 `json:"bubbleMinRadiusSize,omitempty"`
  2166  	// BubbleOpacity: The opacity of the bubbles between 0 and 1.0. 0 is fully
  2167  	// transparent and 1 is fully opaque.
  2168  	BubbleOpacity float64 `json:"bubbleOpacity,omitempty"`
  2169  	// BubbleSizes: The data containing the bubble sizes. Bubble sizes are used to
  2170  	// draw the bubbles at different sizes relative to each other. If specified,
  2171  	// group_ids must also be specified. This field is optional.
  2172  	BubbleSizes *ChartData `json:"bubbleSizes,omitempty"`
  2173  	// BubbleTextStyle: The format of the text inside the bubbles. Strikethrough,
  2174  	// underline, and link are not supported.
  2175  	BubbleTextStyle *TextFormat `json:"bubbleTextStyle,omitempty"`
  2176  	// Domain: The data containing the bubble x-values. These values locate the
  2177  	// bubbles in the chart horizontally.
  2178  	Domain *ChartData `json:"domain,omitempty"`
  2179  	// GroupIds: The data containing the bubble group IDs. All bubbles with the
  2180  	// same group ID are drawn in the same color. If bubble_sizes is specified then
  2181  	// this field must also be specified but may contain blank values. This field
  2182  	// is optional.
  2183  	GroupIds *ChartData `json:"groupIds,omitempty"`
  2184  	// LegendPosition: Where the legend of the chart should be drawn.
  2185  	//
  2186  	// Possible values:
  2187  	//   "BUBBLE_CHART_LEGEND_POSITION_UNSPECIFIED" - Default value, do not use.
  2188  	//   "BOTTOM_LEGEND" - The legend is rendered on the bottom of the chart.
  2189  	//   "LEFT_LEGEND" - The legend is rendered on the left of the chart.
  2190  	//   "RIGHT_LEGEND" - The legend is rendered on the right of the chart.
  2191  	//   "TOP_LEGEND" - The legend is rendered on the top of the chart.
  2192  	//   "NO_LEGEND" - No legend is rendered.
  2193  	//   "INSIDE_LEGEND" - The legend is rendered inside the chart area.
  2194  	LegendPosition string `json:"legendPosition,omitempty"`
  2195  	// Series: The data containing the bubble y-values. These values locate the
  2196  	// bubbles in the chart vertically.
  2197  	Series *ChartData `json:"series,omitempty"`
  2198  	// ForceSendFields is a list of field names (e.g. "BubbleBorderColor") to
  2199  	// unconditionally include in API requests. By default, fields with empty or
  2200  	// default values are omitted from API requests. See
  2201  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2202  	// details.
  2203  	ForceSendFields []string `json:"-"`
  2204  	// NullFields is a list of field names (e.g. "BubbleBorderColor") to include in
  2205  	// API requests with the JSON null value. By default, fields with empty values
  2206  	// are omitted from API requests. See
  2207  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2208  	NullFields []string `json:"-"`
  2209  }
  2210  
  2211  func (s *BubbleChartSpec) MarshalJSON() ([]byte, error) {
  2212  	type NoMethod BubbleChartSpec
  2213  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2214  }
  2215  
  2216  func (s *BubbleChartSpec) UnmarshalJSON(data []byte) error {
  2217  	type NoMethod BubbleChartSpec
  2218  	var s1 struct {
  2219  		BubbleOpacity gensupport.JSONFloat64 `json:"bubbleOpacity"`
  2220  		*NoMethod
  2221  	}
  2222  	s1.NoMethod = (*NoMethod)(s)
  2223  	if err := json.Unmarshal(data, &s1); err != nil {
  2224  		return err
  2225  	}
  2226  	s.BubbleOpacity = float64(s1.BubbleOpacity)
  2227  	return nil
  2228  }
  2229  
  2230  // CancelDataSourceRefreshRequest: Cancels one or multiple refreshes of data
  2231  // source objects in the spreadsheet by the specified references.
  2232  type CancelDataSourceRefreshRequest struct {
  2233  	// DataSourceId: Reference to a DataSource. If specified, cancels all
  2234  	// associated data source object refreshes for this data source.
  2235  	DataSourceId string `json:"dataSourceId,omitempty"`
  2236  	// IsAll: Cancels all existing data source object refreshes for all data
  2237  	// sources in the spreadsheet.
  2238  	IsAll bool `json:"isAll,omitempty"`
  2239  	// References: References to data source objects whose refreshes are to be
  2240  	// cancelled.
  2241  	References *DataSourceObjectReferences `json:"references,omitempty"`
  2242  	// ForceSendFields is a list of field names (e.g. "DataSourceId") to
  2243  	// unconditionally include in API requests. By default, fields with empty or
  2244  	// default values are omitted from API requests. See
  2245  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2246  	// details.
  2247  	ForceSendFields []string `json:"-"`
  2248  	// NullFields is a list of field names (e.g. "DataSourceId") to include in API
  2249  	// requests with the JSON null value. By default, fields with empty values are
  2250  	// omitted from API requests. See
  2251  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2252  	NullFields []string `json:"-"`
  2253  }
  2254  
  2255  func (s *CancelDataSourceRefreshRequest) MarshalJSON() ([]byte, error) {
  2256  	type NoMethod CancelDataSourceRefreshRequest
  2257  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2258  }
  2259  
  2260  // CancelDataSourceRefreshResponse: The response from cancelling one or
  2261  // multiple data source object refreshes.
  2262  type CancelDataSourceRefreshResponse struct {
  2263  	// Statuses: The cancellation statuses of refreshes of all data source objects
  2264  	// specified in the request. If is_all is specified, the field contains only
  2265  	// those in failure status. Refreshing and canceling refresh the same data
  2266  	// source object is also not allowed in the same `batchUpdate`.
  2267  	Statuses []*CancelDataSourceRefreshStatus `json:"statuses,omitempty"`
  2268  	// ForceSendFields is a list of field names (e.g. "Statuses") to
  2269  	// unconditionally include in API requests. By default, fields with empty or
  2270  	// default values are omitted from API requests. See
  2271  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2272  	// details.
  2273  	ForceSendFields []string `json:"-"`
  2274  	// NullFields is a list of field names (e.g. "Statuses") to include in API
  2275  	// requests with the JSON null value. By default, fields with empty values are
  2276  	// omitted from API requests. See
  2277  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2278  	NullFields []string `json:"-"`
  2279  }
  2280  
  2281  func (s *CancelDataSourceRefreshResponse) MarshalJSON() ([]byte, error) {
  2282  	type NoMethod CancelDataSourceRefreshResponse
  2283  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2284  }
  2285  
  2286  // CancelDataSourceRefreshStatus: The status of cancelling a single data source
  2287  // object refresh.
  2288  type CancelDataSourceRefreshStatus struct {
  2289  	// Reference: Reference to the data source object whose refresh is being
  2290  	// cancelled.
  2291  	Reference *DataSourceObjectReference `json:"reference,omitempty"`
  2292  	// RefreshCancellationStatus: The cancellation status.
  2293  	RefreshCancellationStatus *RefreshCancellationStatus `json:"refreshCancellationStatus,omitempty"`
  2294  	// ForceSendFields is a list of field names (e.g. "Reference") to
  2295  	// unconditionally include in API requests. By default, fields with empty or
  2296  	// default values are omitted from API requests. See
  2297  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2298  	// details.
  2299  	ForceSendFields []string `json:"-"`
  2300  	// NullFields is a list of field names (e.g. "Reference") to include in API
  2301  	// requests with the JSON null value. By default, fields with empty values are
  2302  	// omitted from API requests. See
  2303  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2304  	NullFields []string `json:"-"`
  2305  }
  2306  
  2307  func (s *CancelDataSourceRefreshStatus) MarshalJSON() ([]byte, error) {
  2308  	type NoMethod CancelDataSourceRefreshStatus
  2309  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2310  }
  2311  
  2312  // CandlestickChartSpec: A candlestick chart.
  2313  type CandlestickChartSpec struct {
  2314  	// Data: The Candlestick chart data. Only one CandlestickData is supported.
  2315  	Data []*CandlestickData `json:"data,omitempty"`
  2316  	// Domain: The domain data (horizontal axis) for the candlestick chart. String
  2317  	// data will be treated as discrete labels, other data will be treated as
  2318  	// continuous values.
  2319  	Domain *CandlestickDomain `json:"domain,omitempty"`
  2320  	// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
  2321  	// include in API requests. By default, fields with empty or default values are
  2322  	// omitted from API requests. See
  2323  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2324  	// details.
  2325  	ForceSendFields []string `json:"-"`
  2326  	// NullFields is a list of field names (e.g. "Data") to include in API requests
  2327  	// with the JSON null value. By default, fields with empty values are omitted
  2328  	// from API requests. See
  2329  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2330  	NullFields []string `json:"-"`
  2331  }
  2332  
  2333  func (s *CandlestickChartSpec) MarshalJSON() ([]byte, error) {
  2334  	type NoMethod CandlestickChartSpec
  2335  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2336  }
  2337  
  2338  // CandlestickData: The Candlestick chart data, each containing the low, open,
  2339  // close, and high values for a series.
  2340  type CandlestickData struct {
  2341  	// CloseSeries: The range data (vertical axis) for the close/final value for
  2342  	// each candle. This is the top of the candle body. If greater than the open
  2343  	// value the candle will be filled. Otherwise the candle will be hollow.
  2344  	CloseSeries *CandlestickSeries `json:"closeSeries,omitempty"`
  2345  	// HighSeries: The range data (vertical axis) for the high/maximum value for
  2346  	// each candle. This is the top of the candle's center line.
  2347  	HighSeries *CandlestickSeries `json:"highSeries,omitempty"`
  2348  	// LowSeries: The range data (vertical axis) for the low/minimum value for each
  2349  	// candle. This is the bottom of the candle's center line.
  2350  	LowSeries *CandlestickSeries `json:"lowSeries,omitempty"`
  2351  	// OpenSeries: The range data (vertical axis) for the open/initial value for
  2352  	// each candle. This is the bottom of the candle body. If less than the close
  2353  	// value the candle will be filled. Otherwise the candle will be hollow.
  2354  	OpenSeries *CandlestickSeries `json:"openSeries,omitempty"`
  2355  	// ForceSendFields is a list of field names (e.g. "CloseSeries") to
  2356  	// unconditionally include in API requests. By default, fields with empty or
  2357  	// default values are omitted from API requests. See
  2358  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2359  	// details.
  2360  	ForceSendFields []string `json:"-"`
  2361  	// NullFields is a list of field names (e.g. "CloseSeries") to include in API
  2362  	// requests with the JSON null value. By default, fields with empty values are
  2363  	// omitted from API requests. See
  2364  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2365  	NullFields []string `json:"-"`
  2366  }
  2367  
  2368  func (s *CandlestickData) MarshalJSON() ([]byte, error) {
  2369  	type NoMethod CandlestickData
  2370  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2371  }
  2372  
  2373  // CandlestickDomain: The domain of a CandlestickChart.
  2374  type CandlestickDomain struct {
  2375  	// Data: The data of the CandlestickDomain.
  2376  	Data *ChartData `json:"data,omitempty"`
  2377  	// Reversed: True to reverse the order of the domain values (horizontal axis).
  2378  	Reversed bool `json:"reversed,omitempty"`
  2379  	// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
  2380  	// include in API requests. By default, fields with empty or default values are
  2381  	// omitted from API requests. See
  2382  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2383  	// details.
  2384  	ForceSendFields []string `json:"-"`
  2385  	// NullFields is a list of field names (e.g. "Data") to include in API requests
  2386  	// with the JSON null value. By default, fields with empty values are omitted
  2387  	// from API requests. See
  2388  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2389  	NullFields []string `json:"-"`
  2390  }
  2391  
  2392  func (s *CandlestickDomain) MarshalJSON() ([]byte, error) {
  2393  	type NoMethod CandlestickDomain
  2394  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2395  }
  2396  
  2397  // CandlestickSeries: The series of a CandlestickData.
  2398  type CandlestickSeries struct {
  2399  	// Data: The data of the CandlestickSeries.
  2400  	Data *ChartData `json:"data,omitempty"`
  2401  	// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
  2402  	// include in API requests. By default, fields with empty or default values are
  2403  	// omitted from API requests. See
  2404  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2405  	// details.
  2406  	ForceSendFields []string `json:"-"`
  2407  	// NullFields is a list of field names (e.g. "Data") to include in API requests
  2408  	// with the JSON null value. By default, fields with empty values are omitted
  2409  	// from API requests. See
  2410  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2411  	NullFields []string `json:"-"`
  2412  }
  2413  
  2414  func (s *CandlestickSeries) MarshalJSON() ([]byte, error) {
  2415  	type NoMethod CandlestickSeries
  2416  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2417  }
  2418  
  2419  // CellData: Data about a specific cell.
  2420  type CellData struct {
  2421  	// DataSourceFormula: Output only. Information about a data source formula on
  2422  	// the cell. The field is set if user_entered_value is a formula referencing
  2423  	// some DATA_SOURCE sheet, e.g. `=SUM(DataSheet!Column)`.
  2424  	DataSourceFormula *DataSourceFormula `json:"dataSourceFormula,omitempty"`
  2425  	// DataSourceTable: A data source table anchored at this cell. The size of data
  2426  	// source table itself is computed dynamically based on its configuration. Only
  2427  	// the first cell of the data source table contains the data source table
  2428  	// definition. The other cells will contain the display values of the data
  2429  	// source table result in their effective_value fields.
  2430  	DataSourceTable *DataSourceTable `json:"dataSourceTable,omitempty"`
  2431  	// DataValidation: A data validation rule on the cell, if any. When writing,
  2432  	// the new data validation rule will overwrite any prior rule.
  2433  	DataValidation *DataValidationRule `json:"dataValidation,omitempty"`
  2434  	// EffectiveFormat: The effective format being used by the cell. This includes
  2435  	// the results of applying any conditional formatting and, if the cell contains
  2436  	// a formula, the computed number format. If the effective format is the
  2437  	// default format, effective format will not be written. This field is
  2438  	// read-only.
  2439  	EffectiveFormat *CellFormat `json:"effectiveFormat,omitempty"`
  2440  	// EffectiveValue: The effective value of the cell. For cells with formulas,
  2441  	// this is the calculated value. For cells with literals, this is the same as
  2442  	// the user_entered_value. This field is read-only.
  2443  	EffectiveValue *ExtendedValue `json:"effectiveValue,omitempty"`
  2444  	// FormattedValue: The formatted value of the cell. This is the value as it's
  2445  	// shown to the user. This field is read-only.
  2446  	FormattedValue string `json:"formattedValue,omitempty"`
  2447  	// Hyperlink: A hyperlink this cell points to, if any. If the cell contains
  2448  	// multiple hyperlinks, this field will be empty. This field is read-only. To
  2449  	// set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue
  2450  	// field. A cell-level link can also be set from the
  2451  	// userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the
  2452  	// textFormatRun.format.link field that spans the entire cell.
  2453  	Hyperlink string `json:"hyperlink,omitempty"`
  2454  	// Note: Any note on the cell.
  2455  	Note string `json:"note,omitempty"`
  2456  	// PivotTable: A pivot table anchored at this cell. The size of pivot table
  2457  	// itself is computed dynamically based on its data, grouping, filters, values,
  2458  	// etc. Only the top-left cell of the pivot table contains the pivot table
  2459  	// definition. The other cells will contain the calculated values of the
  2460  	// results of the pivot in their effective_value fields.
  2461  	PivotTable *PivotTable `json:"pivotTable,omitempty"`
  2462  	// TextFormatRuns: Runs of rich text applied to subsections of the cell. Runs
  2463  	// are only valid on user entered strings, not formulas, bools, or numbers.
  2464  	// Properties of a run start at a specific index in the text and continue until
  2465  	// the next run. Runs will inherit the properties of the cell unless explicitly
  2466  	// changed. When writing, the new runs will overwrite any prior runs. When
  2467  	// writing a new user_entered_value, previous runs are erased.
  2468  	TextFormatRuns []*TextFormatRun `json:"textFormatRuns,omitempty"`
  2469  	// UserEnteredFormat: The format the user entered for the cell. When writing,
  2470  	// the new format will be merged with the existing format.
  2471  	UserEnteredFormat *CellFormat `json:"userEnteredFormat,omitempty"`
  2472  	// UserEnteredValue: The value the user entered in the cell. e.g., `1234`,
  2473  	// `'Hello'`, or `=NOW()` Note: Dates, Times and DateTimes are represented as
  2474  	// doubles in serial number format.
  2475  	UserEnteredValue *ExtendedValue `json:"userEnteredValue,omitempty"`
  2476  	// ForceSendFields is a list of field names (e.g. "DataSourceFormula") to
  2477  	// unconditionally include in API requests. By default, fields with empty or
  2478  	// default values are omitted from API requests. See
  2479  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2480  	// details.
  2481  	ForceSendFields []string `json:"-"`
  2482  	// NullFields is a list of field names (e.g. "DataSourceFormula") to include in
  2483  	// API requests with the JSON null value. By default, fields with empty values
  2484  	// are omitted from API requests. See
  2485  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2486  	NullFields []string `json:"-"`
  2487  }
  2488  
  2489  func (s *CellData) MarshalJSON() ([]byte, error) {
  2490  	type NoMethod CellData
  2491  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2492  }
  2493  
  2494  // CellFormat: The format of a cell.
  2495  type CellFormat struct {
  2496  	// BackgroundColor: The background color of the cell. Deprecated: Use
  2497  	// background_color_style.
  2498  	BackgroundColor *Color `json:"backgroundColor,omitempty"`
  2499  	// BackgroundColorStyle: The background color of the cell. If background_color
  2500  	// is also set, this field takes precedence.
  2501  	BackgroundColorStyle *ColorStyle `json:"backgroundColorStyle,omitempty"`
  2502  	// Borders: The borders of the cell.
  2503  	Borders *Borders `json:"borders,omitempty"`
  2504  	// HorizontalAlignment: The horizontal alignment of the value in the cell.
  2505  	//
  2506  	// Possible values:
  2507  	//   "HORIZONTAL_ALIGN_UNSPECIFIED" - The horizontal alignment is not
  2508  	// specified. Do not use this.
  2509  	//   "LEFT" - The text is explicitly aligned to the left of the cell.
  2510  	//   "CENTER" - The text is explicitly aligned to the center of the cell.
  2511  	//   "RIGHT" - The text is explicitly aligned to the right of the cell.
  2512  	HorizontalAlignment string `json:"horizontalAlignment,omitempty"`
  2513  	// HyperlinkDisplayType: If one exists, how a hyperlink should be displayed in
  2514  	// the cell.
  2515  	//
  2516  	// Possible values:
  2517  	//   "HYPERLINK_DISPLAY_TYPE_UNSPECIFIED" - The default value: the hyperlink is
  2518  	// rendered. Do not use this.
  2519  	//   "LINKED" - A hyperlink should be explicitly rendered.
  2520  	//   "PLAIN_TEXT" - A hyperlink should not be rendered.
  2521  	HyperlinkDisplayType string `json:"hyperlinkDisplayType,omitempty"`
  2522  	// NumberFormat: A format describing how number values should be represented to
  2523  	// the user.
  2524  	NumberFormat *NumberFormat `json:"numberFormat,omitempty"`
  2525  	// Padding: The padding of the cell.
  2526  	Padding *Padding `json:"padding,omitempty"`
  2527  	// TextDirection: The direction of the text in the cell.
  2528  	//
  2529  	// Possible values:
  2530  	//   "TEXT_DIRECTION_UNSPECIFIED" - The text direction is not specified. Do not
  2531  	// use this.
  2532  	//   "LEFT_TO_RIGHT" - The text direction of left-to-right was set by the user.
  2533  	//   "RIGHT_TO_LEFT" - The text direction of right-to-left was set by the user.
  2534  	TextDirection string `json:"textDirection,omitempty"`
  2535  	// TextFormat: The format of the text in the cell (unless overridden by a
  2536  	// format run). Setting a cell-level link here clears the cell's existing
  2537  	// links. Setting the link field in a TextFormatRun takes precedence over the
  2538  	// cell-level link.
  2539  	TextFormat *TextFormat `json:"textFormat,omitempty"`
  2540  	// TextRotation: The rotation applied to text in the cell.
  2541  	TextRotation *TextRotation `json:"textRotation,omitempty"`
  2542  	// VerticalAlignment: The vertical alignment of the value in the cell.
  2543  	//
  2544  	// Possible values:
  2545  	//   "VERTICAL_ALIGN_UNSPECIFIED" - The vertical alignment is not specified. Do
  2546  	// not use this.
  2547  	//   "TOP" - The text is explicitly aligned to the top of the cell.
  2548  	//   "MIDDLE" - The text is explicitly aligned to the middle of the cell.
  2549  	//   "BOTTOM" - The text is explicitly aligned to the bottom of the cell.
  2550  	VerticalAlignment string `json:"verticalAlignment,omitempty"`
  2551  	// WrapStrategy: The wrap strategy for the value in the cell.
  2552  	//
  2553  	// Possible values:
  2554  	//   "WRAP_STRATEGY_UNSPECIFIED" - The default value, do not use.
  2555  	//   "OVERFLOW_CELL" - Lines that are longer than the cell width will be
  2556  	// written in the next cell over, so long as that cell is empty. If the next
  2557  	// cell over is non-empty, this behaves the same as `CLIP`. The text will never
  2558  	// wrap to the next line unless the user manually inserts a new line. Example:
  2559  	// | First sentence. | | Manual newline that is very long. <- Text continues
  2560  	// into next cell | Next newline. |
  2561  	//   "LEGACY_WRAP" - This wrap strategy represents the old Google Sheets wrap
  2562  	// strategy where words that are longer than a line are clipped rather than
  2563  	// broken. This strategy is not supported on all platforms and is being phased
  2564  	// out. Example: | Cell has a | | loooooooooo| <- Word is clipped. | word. |
  2565  	//   "CLIP" - Lines that are longer than the cell width will be clipped. The
  2566  	// text will never wrap to the next line unless the user manually inserts a new
  2567  	// line. Example: | First sentence. | | Manual newline t| <- Text is clipped |
  2568  	// Next newline. |
  2569  	//   "WRAP" - Words that are longer than a line are wrapped at the character
  2570  	// level rather than clipped. Example: | Cell has a | | loooooooooo| <- Word is
  2571  	// broken. | ong word. |
  2572  	WrapStrategy string `json:"wrapStrategy,omitempty"`
  2573  	// ForceSendFields is a list of field names (e.g. "BackgroundColor") to
  2574  	// unconditionally include in API requests. By default, fields with empty or
  2575  	// default values are omitted from API requests. See
  2576  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2577  	// details.
  2578  	ForceSendFields []string `json:"-"`
  2579  	// NullFields is a list of field names (e.g. "BackgroundColor") to include in
  2580  	// API requests with the JSON null value. By default, fields with empty values
  2581  	// are omitted from API requests. See
  2582  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2583  	NullFields []string `json:"-"`
  2584  }
  2585  
  2586  func (s *CellFormat) MarshalJSON() ([]byte, error) {
  2587  	type NoMethod CellFormat
  2588  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2589  }
  2590  
  2591  // ChartAxisViewWindowOptions: The options that define a "view window" for a
  2592  // chart (such as the visible values in an axis).
  2593  type ChartAxisViewWindowOptions struct {
  2594  	// ViewWindowMax: The maximum numeric value to be shown in this view window. If
  2595  	// unset, will automatically determine a maximum value that looks good for the
  2596  	// data.
  2597  	ViewWindowMax float64 `json:"viewWindowMax,omitempty"`
  2598  	// ViewWindowMin: The minimum numeric value to be shown in this view window. If
  2599  	// unset, will automatically determine a minimum value that looks good for the
  2600  	// data.
  2601  	ViewWindowMin float64 `json:"viewWindowMin,omitempty"`
  2602  	// ViewWindowMode: The view window's mode.
  2603  	//
  2604  	// Possible values:
  2605  	//   "DEFAULT_VIEW_WINDOW_MODE" - The default view window mode used in the
  2606  	// Sheets editor for this chart type. In most cases, if set, the default mode
  2607  	// is equivalent to `PRETTY`.
  2608  	//   "VIEW_WINDOW_MODE_UNSUPPORTED" - Do not use. Represents that the currently
  2609  	// set mode is not supported by the API.
  2610  	//   "EXPLICIT" - Follows the min and max exactly if specified. If a value is
  2611  	// unspecified, it will fall back to the `PRETTY` value.
  2612  	//   "PRETTY" - Chooses a min and max that make the chart look good. Both min
  2613  	// and max are ignored in this mode.
  2614  	ViewWindowMode string `json:"viewWindowMode,omitempty"`
  2615  	// ForceSendFields is a list of field names (e.g. "ViewWindowMax") to
  2616  	// unconditionally include in API requests. By default, fields with empty or
  2617  	// default values are omitted from API requests. See
  2618  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2619  	// details.
  2620  	ForceSendFields []string `json:"-"`
  2621  	// NullFields is a list of field names (e.g. "ViewWindowMax") to include in API
  2622  	// requests with the JSON null value. By default, fields with empty values are
  2623  	// omitted from API requests. See
  2624  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2625  	NullFields []string `json:"-"`
  2626  }
  2627  
  2628  func (s *ChartAxisViewWindowOptions) MarshalJSON() ([]byte, error) {
  2629  	type NoMethod ChartAxisViewWindowOptions
  2630  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2631  }
  2632  
  2633  func (s *ChartAxisViewWindowOptions) UnmarshalJSON(data []byte) error {
  2634  	type NoMethod ChartAxisViewWindowOptions
  2635  	var s1 struct {
  2636  		ViewWindowMax gensupport.JSONFloat64 `json:"viewWindowMax"`
  2637  		ViewWindowMin gensupport.JSONFloat64 `json:"viewWindowMin"`
  2638  		*NoMethod
  2639  	}
  2640  	s1.NoMethod = (*NoMethod)(s)
  2641  	if err := json.Unmarshal(data, &s1); err != nil {
  2642  		return err
  2643  	}
  2644  	s.ViewWindowMax = float64(s1.ViewWindowMax)
  2645  	s.ViewWindowMin = float64(s1.ViewWindowMin)
  2646  	return nil
  2647  }
  2648  
  2649  // ChartCustomNumberFormatOptions: Custom number formatting options for chart
  2650  // attributes.
  2651  type ChartCustomNumberFormatOptions struct {
  2652  	// Prefix: Custom prefix to be prepended to the chart attribute. This field is
  2653  	// optional.
  2654  	Prefix string `json:"prefix,omitempty"`
  2655  	// Suffix: Custom suffix to be appended to the chart attribute. This field is
  2656  	// optional.
  2657  	Suffix string `json:"suffix,omitempty"`
  2658  	// ForceSendFields is a list of field names (e.g. "Prefix") to unconditionally
  2659  	// include in API requests. By default, fields with empty or default values are
  2660  	// omitted from API requests. See
  2661  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2662  	// details.
  2663  	ForceSendFields []string `json:"-"`
  2664  	// NullFields is a list of field names (e.g. "Prefix") to include in API
  2665  	// requests with the JSON null value. By default, fields with empty values are
  2666  	// omitted from API requests. See
  2667  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2668  	NullFields []string `json:"-"`
  2669  }
  2670  
  2671  func (s *ChartCustomNumberFormatOptions) MarshalJSON() ([]byte, error) {
  2672  	type NoMethod ChartCustomNumberFormatOptions
  2673  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2674  }
  2675  
  2676  // ChartData: The data included in a domain or series.
  2677  type ChartData struct {
  2678  	// AggregateType: The aggregation type for the series of a data source chart.
  2679  	// Only supported for data source charts.
  2680  	//
  2681  	// Possible values:
  2682  	//   "CHART_AGGREGATE_TYPE_UNSPECIFIED" - Default value, do not use.
  2683  	//   "AVERAGE" - Average aggregate function.
  2684  	//   "COUNT" - Count aggregate function.
  2685  	//   "MAX" - Maximum aggregate function.
  2686  	//   "MEDIAN" - Median aggregate function.
  2687  	//   "MIN" - Minimum aggregate function.
  2688  	//   "SUM" - Sum aggregate function.
  2689  	AggregateType string `json:"aggregateType,omitempty"`
  2690  	// ColumnReference: The reference to the data source column that the data reads
  2691  	// from.
  2692  	ColumnReference *DataSourceColumnReference `json:"columnReference,omitempty"`
  2693  	// GroupRule: The rule to group the data by if the ChartData backs the domain
  2694  	// of a data source chart. Only supported for data source charts.
  2695  	GroupRule *ChartGroupRule `json:"groupRule,omitempty"`
  2696  	// SourceRange: The source ranges of the data.
  2697  	SourceRange *ChartSourceRange `json:"sourceRange,omitempty"`
  2698  	// ForceSendFields is a list of field names (e.g. "AggregateType") to
  2699  	// unconditionally include in API requests. By default, fields with empty or
  2700  	// default values are omitted from API requests. See
  2701  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2702  	// details.
  2703  	ForceSendFields []string `json:"-"`
  2704  	// NullFields is a list of field names (e.g. "AggregateType") to include in API
  2705  	// requests with the JSON null value. By default, fields with empty values are
  2706  	// omitted from API requests. See
  2707  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2708  	NullFields []string `json:"-"`
  2709  }
  2710  
  2711  func (s *ChartData) MarshalJSON() ([]byte, error) {
  2712  	type NoMethod ChartData
  2713  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2714  }
  2715  
  2716  // ChartDateTimeRule: Allows you to organize the date-time values in a source
  2717  // data column into buckets based on selected parts of their date or time
  2718  // values.
  2719  type ChartDateTimeRule struct {
  2720  	// Type: The type of date-time grouping to apply.
  2721  	//
  2722  	// Possible values:
  2723  	//   "CHART_DATE_TIME_RULE_TYPE_UNSPECIFIED" - The default type, do not use.
  2724  	//   "SECOND" - Group dates by second, from 0 to 59.
  2725  	//   "MINUTE" - Group dates by minute, from 0 to 59.
  2726  	//   "HOUR" - Group dates by hour using a 24-hour system, from 0 to 23.
  2727  	//   "HOUR_MINUTE" - Group dates by hour and minute using a 24-hour system, for
  2728  	// example 19:45.
  2729  	//   "HOUR_MINUTE_AMPM" - Group dates by hour and minute using a 12-hour
  2730  	// system, for example 7:45 PM. The AM/PM designation is translated based on
  2731  	// the spreadsheet locale.
  2732  	//   "DAY_OF_WEEK" - Group dates by day of week, for example Sunday. The days
  2733  	// of the week will be translated based on the spreadsheet locale.
  2734  	//   "DAY_OF_YEAR" - Group dates by day of year, from 1 to 366. Note that dates
  2735  	// after Feb. 29 fall in different buckets in leap years than in non-leap
  2736  	// years.
  2737  	//   "DAY_OF_MONTH" - Group dates by day of month, from 1 to 31.
  2738  	//   "DAY_MONTH" - Group dates by day and month, for example 22-Nov. The month
  2739  	// is translated based on the spreadsheet locale.
  2740  	//   "MONTH" - Group dates by month, for example Nov. The month is translated
  2741  	// based on the spreadsheet locale.
  2742  	//   "QUARTER" - Group dates by quarter, for example Q1 (which represents
  2743  	// Jan-Mar).
  2744  	//   "YEAR" - Group dates by year, for example 2008.
  2745  	//   "YEAR_MONTH" - Group dates by year and month, for example 2008-Nov. The
  2746  	// month is translated based on the spreadsheet locale.
  2747  	//   "YEAR_QUARTER" - Group dates by year and quarter, for example 2008 Q4.
  2748  	//   "YEAR_MONTH_DAY" - Group dates by year, month, and day, for example
  2749  	// 2008-11-22.
  2750  	Type string `json:"type,omitempty"`
  2751  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  2752  	// include in API requests. By default, fields with empty or default values are
  2753  	// omitted from API requests. See
  2754  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2755  	// details.
  2756  	ForceSendFields []string `json:"-"`
  2757  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  2758  	// with the JSON null value. By default, fields with empty values are omitted
  2759  	// from API requests. See
  2760  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2761  	NullFields []string `json:"-"`
  2762  }
  2763  
  2764  func (s *ChartDateTimeRule) MarshalJSON() ([]byte, error) {
  2765  	type NoMethod ChartDateTimeRule
  2766  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2767  }
  2768  
  2769  // ChartGroupRule: An optional setting on the ChartData of the domain of a data
  2770  // source chart that defines buckets for the values in the domain rather than
  2771  // breaking out each individual value. For example, when plotting a data source
  2772  // chart, you can specify a histogram rule on the domain (it should only
  2773  // contain numeric values), grouping its values into buckets. Any values of a
  2774  // chart series that fall into the same bucket are aggregated based on the
  2775  // aggregate_type.
  2776  type ChartGroupRule struct {
  2777  	// DateTimeRule: A ChartDateTimeRule.
  2778  	DateTimeRule *ChartDateTimeRule `json:"dateTimeRule,omitempty"`
  2779  	// HistogramRule: A ChartHistogramRule
  2780  	HistogramRule *ChartHistogramRule `json:"histogramRule,omitempty"`
  2781  	// ForceSendFields is a list of field names (e.g. "DateTimeRule") to
  2782  	// unconditionally include in API requests. By default, fields with empty or
  2783  	// default values are omitted from API requests. See
  2784  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2785  	// details.
  2786  	ForceSendFields []string `json:"-"`
  2787  	// NullFields is a list of field names (e.g. "DateTimeRule") to include in API
  2788  	// requests with the JSON null value. By default, fields with empty values are
  2789  	// omitted from API requests. See
  2790  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2791  	NullFields []string `json:"-"`
  2792  }
  2793  
  2794  func (s *ChartGroupRule) MarshalJSON() ([]byte, error) {
  2795  	type NoMethod ChartGroupRule
  2796  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2797  }
  2798  
  2799  // ChartHistogramRule: Allows you to organize numeric values in a source data
  2800  // column into buckets of constant size.
  2801  type ChartHistogramRule struct {
  2802  	// IntervalSize: The size of the buckets that are created. Must be positive.
  2803  	IntervalSize float64 `json:"intervalSize,omitempty"`
  2804  	// MaxValue: The maximum value at which items are placed into buckets. Values
  2805  	// greater than the maximum are grouped into a single bucket. If omitted, it is
  2806  	// determined by the maximum item value.
  2807  	MaxValue float64 `json:"maxValue,omitempty"`
  2808  	// MinValue: The minimum value at which items are placed into buckets. Values
  2809  	// that are less than the minimum are grouped into a single bucket. If omitted,
  2810  	// it is determined by the minimum item value.
  2811  	MinValue float64 `json:"minValue,omitempty"`
  2812  	// ForceSendFields is a list of field names (e.g. "IntervalSize") to
  2813  	// unconditionally include in API requests. By default, fields with empty or
  2814  	// default values are omitted from API requests. See
  2815  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2816  	// details.
  2817  	ForceSendFields []string `json:"-"`
  2818  	// NullFields is a list of field names (e.g. "IntervalSize") to include in API
  2819  	// requests with the JSON null value. By default, fields with empty values are
  2820  	// omitted from API requests. See
  2821  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2822  	NullFields []string `json:"-"`
  2823  }
  2824  
  2825  func (s *ChartHistogramRule) MarshalJSON() ([]byte, error) {
  2826  	type NoMethod ChartHistogramRule
  2827  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2828  }
  2829  
  2830  func (s *ChartHistogramRule) UnmarshalJSON(data []byte) error {
  2831  	type NoMethod ChartHistogramRule
  2832  	var s1 struct {
  2833  		IntervalSize gensupport.JSONFloat64 `json:"intervalSize"`
  2834  		MaxValue     gensupport.JSONFloat64 `json:"maxValue"`
  2835  		MinValue     gensupport.JSONFloat64 `json:"minValue"`
  2836  		*NoMethod
  2837  	}
  2838  	s1.NoMethod = (*NoMethod)(s)
  2839  	if err := json.Unmarshal(data, &s1); err != nil {
  2840  		return err
  2841  	}
  2842  	s.IntervalSize = float64(s1.IntervalSize)
  2843  	s.MaxValue = float64(s1.MaxValue)
  2844  	s.MinValue = float64(s1.MinValue)
  2845  	return nil
  2846  }
  2847  
  2848  // ChartSourceRange: Source ranges for a chart.
  2849  type ChartSourceRange struct {
  2850  	// Sources: The ranges of data for a series or domain. Exactly one dimension
  2851  	// must have a length of 1, and all sources in the list must have the same
  2852  	// dimension with length 1. The domain (if it exists) & all series must have
  2853  	// the same number of source ranges. If using more than one source range, then
  2854  	// the source range at a given offset must be in order and contiguous across
  2855  	// the domain and series. For example, these are valid configurations: domain
  2856  	// sources: A1:A5 series1 sources: B1:B5 series2 sources: D6:D10 domain
  2857  	// sources: A1:A5, C10:C12 series1 sources: B1:B5, D10:D12 series2 sources:
  2858  	// C1:C5, E10:E12
  2859  	Sources []*GridRange `json:"sources,omitempty"`
  2860  	// ForceSendFields is a list of field names (e.g. "Sources") to unconditionally
  2861  	// include in API requests. By default, fields with empty or default values are
  2862  	// omitted from API requests. See
  2863  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2864  	// details.
  2865  	ForceSendFields []string `json:"-"`
  2866  	// NullFields is a list of field names (e.g. "Sources") to include in API
  2867  	// requests with the JSON null value. By default, fields with empty values are
  2868  	// omitted from API requests. See
  2869  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2870  	NullFields []string `json:"-"`
  2871  }
  2872  
  2873  func (s *ChartSourceRange) MarshalJSON() ([]byte, error) {
  2874  	type NoMethod ChartSourceRange
  2875  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2876  }
  2877  
  2878  // ChartSpec: The specifications of a chart.
  2879  type ChartSpec struct {
  2880  	// AltText: The alternative text that describes the chart. This is often used
  2881  	// for accessibility.
  2882  	AltText string `json:"altText,omitempty"`
  2883  	// BackgroundColor: The background color of the entire chart. Not applicable to
  2884  	// Org charts. Deprecated: Use background_color_style.
  2885  	BackgroundColor *Color `json:"backgroundColor,omitempty"`
  2886  	// BackgroundColorStyle: The background color of the entire chart. Not
  2887  	// applicable to Org charts. If background_color is also set, this field takes
  2888  	// precedence.
  2889  	BackgroundColorStyle *ColorStyle `json:"backgroundColorStyle,omitempty"`
  2890  	// BasicChart: A basic chart specification, can be one of many kinds of charts.
  2891  	// See BasicChartType for the list of all charts this supports.
  2892  	BasicChart *BasicChartSpec `json:"basicChart,omitempty"`
  2893  	// BubbleChart: A bubble chart specification.
  2894  	BubbleChart *BubbleChartSpec `json:"bubbleChart,omitempty"`
  2895  	// CandlestickChart: A candlestick chart specification.
  2896  	CandlestickChart *CandlestickChartSpec `json:"candlestickChart,omitempty"`
  2897  	// DataSourceChartProperties: If present, the field contains data source chart
  2898  	// specific properties.
  2899  	DataSourceChartProperties *DataSourceChartProperties `json:"dataSourceChartProperties,omitempty"`
  2900  	// FilterSpecs: The filters applied to the source data of the chart. Only
  2901  	// supported for data source charts.
  2902  	FilterSpecs []*FilterSpec `json:"filterSpecs,omitempty"`
  2903  	// FontName: The name of the font to use by default for all chart text (e.g.
  2904  	// title, axis labels, legend). If a font is specified for a specific part of
  2905  	// the chart it will override this font name.
  2906  	FontName string `json:"fontName,omitempty"`
  2907  	// HiddenDimensionStrategy: Determines how the charts will use hidden rows or
  2908  	// columns.
  2909  	//
  2910  	// Possible values:
  2911  	//   "CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED" - Default value, do not use.
  2912  	//   "SKIP_HIDDEN_ROWS_AND_COLUMNS" - Charts will skip hidden rows and columns.
  2913  	//   "SKIP_HIDDEN_ROWS" - Charts will skip hidden rows only.
  2914  	//   "SKIP_HIDDEN_COLUMNS" - Charts will skip hidden columns only.
  2915  	//   "SHOW_ALL" - Charts will not skip any hidden rows or columns.
  2916  	HiddenDimensionStrategy string `json:"hiddenDimensionStrategy,omitempty"`
  2917  	// HistogramChart: A histogram chart specification.
  2918  	HistogramChart *HistogramChartSpec `json:"histogramChart,omitempty"`
  2919  	// Maximized: True to make a chart fill the entire space in which it's rendered
  2920  	// with minimum padding. False to use the default padding. (Not applicable to
  2921  	// Geo and Org charts.)
  2922  	Maximized bool `json:"maximized,omitempty"`
  2923  	// OrgChart: An org chart specification.
  2924  	OrgChart *OrgChartSpec `json:"orgChart,omitempty"`
  2925  	// PieChart: A pie chart specification.
  2926  	PieChart *PieChartSpec `json:"pieChart,omitempty"`
  2927  	// ScorecardChart: A scorecard chart specification.
  2928  	ScorecardChart *ScorecardChartSpec `json:"scorecardChart,omitempty"`
  2929  	// SortSpecs: The order to sort the chart data by. Only a single sort spec is
  2930  	// supported. Only supported for data source charts.
  2931  	SortSpecs []*SortSpec `json:"sortSpecs,omitempty"`
  2932  	// Subtitle: The subtitle of the chart.
  2933  	Subtitle string `json:"subtitle,omitempty"`
  2934  	// SubtitleTextFormat: The subtitle text format. Strikethrough, underline, and
  2935  	// link are not supported.
  2936  	SubtitleTextFormat *TextFormat `json:"subtitleTextFormat,omitempty"`
  2937  	// SubtitleTextPosition: The subtitle text position. This field is optional.
  2938  	SubtitleTextPosition *TextPosition `json:"subtitleTextPosition,omitempty"`
  2939  	// Title: The title of the chart.
  2940  	Title string `json:"title,omitempty"`
  2941  	// TitleTextFormat: The title text format. Strikethrough, underline, and link
  2942  	// are not supported.
  2943  	TitleTextFormat *TextFormat `json:"titleTextFormat,omitempty"`
  2944  	// TitleTextPosition: The title text position. This field is optional.
  2945  	TitleTextPosition *TextPosition `json:"titleTextPosition,omitempty"`
  2946  	// TreemapChart: A treemap chart specification.
  2947  	TreemapChart *TreemapChartSpec `json:"treemapChart,omitempty"`
  2948  	// WaterfallChart: A waterfall chart specification.
  2949  	WaterfallChart *WaterfallChartSpec `json:"waterfallChart,omitempty"`
  2950  	// ForceSendFields is a list of field names (e.g. "AltText") to unconditionally
  2951  	// include in API requests. By default, fields with empty or default values are
  2952  	// omitted from API requests. See
  2953  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2954  	// details.
  2955  	ForceSendFields []string `json:"-"`
  2956  	// NullFields is a list of field names (e.g. "AltText") to include in API
  2957  	// requests with the JSON null value. By default, fields with empty values are
  2958  	// omitted from API requests. See
  2959  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2960  	NullFields []string `json:"-"`
  2961  }
  2962  
  2963  func (s *ChartSpec) MarshalJSON() ([]byte, error) {
  2964  	type NoMethod ChartSpec
  2965  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2966  }
  2967  
  2968  // ClearBasicFilterRequest: Clears the basic filter, if any exists on the
  2969  // sheet.
  2970  type ClearBasicFilterRequest struct {
  2971  	// SheetId: The sheet ID on which the basic filter should be cleared.
  2972  	SheetId int64 `json:"sheetId,omitempty"`
  2973  	// ForceSendFields is a list of field names (e.g. "SheetId") to unconditionally
  2974  	// include in API requests. By default, fields with empty or default values are
  2975  	// omitted from API requests. See
  2976  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2977  	// details.
  2978  	ForceSendFields []string `json:"-"`
  2979  	// NullFields is a list of field names (e.g. "SheetId") to include in API
  2980  	// requests with the JSON null value. By default, fields with empty values are
  2981  	// omitted from API requests. See
  2982  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2983  	NullFields []string `json:"-"`
  2984  }
  2985  
  2986  func (s *ClearBasicFilterRequest) MarshalJSON() ([]byte, error) {
  2987  	type NoMethod ClearBasicFilterRequest
  2988  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2989  }
  2990  
  2991  // ClearValuesRequest: The request for clearing a range of values in a
  2992  // spreadsheet.
  2993  type ClearValuesRequest struct {
  2994  }
  2995  
  2996  // ClearValuesResponse: The response when clearing a range of values in a
  2997  // spreadsheet.
  2998  type ClearValuesResponse struct {
  2999  	// ClearedRange: The range (in A1 notation) that was cleared. (If the request
  3000  	// was for an unbounded range or a ranger larger than the bounds of the sheet,
  3001  	// this will be the actual range that was cleared, bounded to the sheet's
  3002  	// limits.)
  3003  	ClearedRange string `json:"clearedRange,omitempty"`
  3004  	// SpreadsheetId: The spreadsheet the updates were applied to.
  3005  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
  3006  
  3007  	// ServerResponse contains the HTTP response code and headers from the server.
  3008  	googleapi.ServerResponse `json:"-"`
  3009  	// ForceSendFields is a list of field names (e.g. "ClearedRange") to
  3010  	// unconditionally include in API requests. By default, fields with empty or
  3011  	// default values are omitted from API requests. See
  3012  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3013  	// details.
  3014  	ForceSendFields []string `json:"-"`
  3015  	// NullFields is a list of field names (e.g. "ClearedRange") to include in API
  3016  	// requests with the JSON null value. By default, fields with empty values are
  3017  	// omitted from API requests. See
  3018  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3019  	NullFields []string `json:"-"`
  3020  }
  3021  
  3022  func (s *ClearValuesResponse) MarshalJSON() ([]byte, error) {
  3023  	type NoMethod ClearValuesResponse
  3024  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3025  }
  3026  
  3027  // Color: Represents a color in the RGBA color space. This representation is
  3028  // designed for simplicity of conversion to and from color representations in
  3029  // various languages over compactness. For example, the fields of this
  3030  // representation can be trivially provided to the constructor of
  3031  // `java.awt.Color` in Java; it can also be trivially provided to UIColor's
  3032  // `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little
  3033  // work, it can be easily formatted into a CSS `rgba()` string in JavaScript.
  3034  // This reference page doesn't have information about the absolute color space
  3035  // that should be used to interpret the RGB value—for example, sRGB, Adobe
  3036  // RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB
  3037  // color space. When color equality needs to be decided, implementations,
  3038  // unless documented otherwise, treat two colors as equal if all their red,
  3039  // green, blue, and alpha values each differ by at most `1e-5`. Example (Java):
  3040  // import com.google.type.Color; // ... public static java.awt.Color
  3041  // fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ?
  3042  // protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color(
  3043  // protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); }
  3044  // public static Color toProto(java.awt.Color color) { float red = (float)
  3045  // color.getRed(); float green = (float) color.getGreen(); float blue = (float)
  3046  // color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder =
  3047  // Color .newBuilder() .setRed(red / denominator) .setGreen(green /
  3048  // denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if
  3049  // (alpha != 255) { result.setAlpha( FloatValue .newBuilder()
  3050  // .setValue(((float) alpha) / denominator) .build()); } return
  3051  // resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static
  3052  // UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float
  3053  // green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
  3054  // alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
  3055  // nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red
  3056  // green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color)
  3057  // { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green
  3058  // blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc]
  3059  // init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue];
  3060  // if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; }
  3061  // [result autorelease]; return result; } // ... Example (JavaScript): // ...
  3062  // var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red ||
  3063  // 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue
  3064  // || 0.0; var red = Math.floor(redFrac * 255); var green =
  3065  // Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if
  3066  // (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var
  3067  // alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green,
  3068  // blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(”);
  3069  // }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new
  3070  // Number((red << 16) | (green << 8) | blue); var hexString =
  3071  // rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
  3072  // resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) {
  3073  // resultBuilder.push('0'); } resultBuilder.push(hexString); return
  3074  // resultBuilder.join(”); }; // ...
  3075  type Color struct {
  3076  	// Alpha: The fraction of this color that should be applied to the pixel. That
  3077  	// is, the final pixel color is defined by the equation: `pixel color = alpha *
  3078  	// (this color) + (1.0 - alpha) * (background color)` This means that a value
  3079  	// of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a
  3080  	// completely transparent color. This uses a wrapper message rather than a
  3081  	// simple float scalar so that it is possible to distinguish between a default
  3082  	// value and the value being unset. If omitted, this color object is rendered
  3083  	// as a solid color (as if the alpha value had been explicitly given a value of
  3084  	// 1.0).
  3085  	Alpha float64 `json:"alpha,omitempty"`
  3086  	// Blue: The amount of blue in the color as a value in the interval [0, 1].
  3087  	Blue float64 `json:"blue,omitempty"`
  3088  	// Green: The amount of green in the color as a value in the interval [0, 1].
  3089  	Green float64 `json:"green,omitempty"`
  3090  	// Red: The amount of red in the color as a value in the interval [0, 1].
  3091  	Red float64 `json:"red,omitempty"`
  3092  	// ForceSendFields is a list of field names (e.g. "Alpha") to unconditionally
  3093  	// include in API requests. By default, fields with empty or default values are
  3094  	// omitted from API requests. See
  3095  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3096  	// details.
  3097  	ForceSendFields []string `json:"-"`
  3098  	// NullFields is a list of field names (e.g. "Alpha") to include in API
  3099  	// requests with the JSON null value. By default, fields with empty values are
  3100  	// omitted from API requests. See
  3101  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3102  	NullFields []string `json:"-"`
  3103  }
  3104  
  3105  func (s *Color) MarshalJSON() ([]byte, error) {
  3106  	type NoMethod Color
  3107  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3108  }
  3109  
  3110  func (s *Color) UnmarshalJSON(data []byte) error {
  3111  	type NoMethod Color
  3112  	var s1 struct {
  3113  		Alpha gensupport.JSONFloat64 `json:"alpha"`
  3114  		Blue  gensupport.JSONFloat64 `json:"blue"`
  3115  		Green gensupport.JSONFloat64 `json:"green"`
  3116  		Red   gensupport.JSONFloat64 `json:"red"`
  3117  		*NoMethod
  3118  	}
  3119  	s1.NoMethod = (*NoMethod)(s)
  3120  	if err := json.Unmarshal(data, &s1); err != nil {
  3121  		return err
  3122  	}
  3123  	s.Alpha = float64(s1.Alpha)
  3124  	s.Blue = float64(s1.Blue)
  3125  	s.Green = float64(s1.Green)
  3126  	s.Red = float64(s1.Red)
  3127  	return nil
  3128  }
  3129  
  3130  // ColorStyle: A color value.
  3131  type ColorStyle struct {
  3132  	// RgbColor: RGB color. The `alpha`
  3133  	// (/sheets/api/reference/rest/v4/spreadsheets/other#Color.FIELDS.alpha) value
  3134  	// in the `Color` (/sheets/api/reference/rest/v4/spreadsheets/other#color)
  3135  	// object isn't generally supported.
  3136  	RgbColor *Color `json:"rgbColor,omitempty"`
  3137  	// ThemeColor: Theme color.
  3138  	//
  3139  	// Possible values:
  3140  	//   "THEME_COLOR_TYPE_UNSPECIFIED" - Unspecified theme color
  3141  	//   "TEXT" - Represents the primary text color
  3142  	//   "BACKGROUND" - Represents the primary background color
  3143  	//   "ACCENT1" - Represents the first accent color
  3144  	//   "ACCENT2" - Represents the second accent color
  3145  	//   "ACCENT3" - Represents the third accent color
  3146  	//   "ACCENT4" - Represents the fourth accent color
  3147  	//   "ACCENT5" - Represents the fifth accent color
  3148  	//   "ACCENT6" - Represents the sixth accent color
  3149  	//   "LINK" - Represents the color to use for hyperlinks
  3150  	ThemeColor string `json:"themeColor,omitempty"`
  3151  	// ForceSendFields is a list of field names (e.g. "RgbColor") to
  3152  	// unconditionally include in API requests. By default, fields with empty or
  3153  	// default values are omitted from API requests. See
  3154  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3155  	// details.
  3156  	ForceSendFields []string `json:"-"`
  3157  	// NullFields is a list of field names (e.g. "RgbColor") to include in API
  3158  	// requests with the JSON null value. By default, fields with empty values are
  3159  	// omitted from API requests. See
  3160  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3161  	NullFields []string `json:"-"`
  3162  }
  3163  
  3164  func (s *ColorStyle) MarshalJSON() ([]byte, error) {
  3165  	type NoMethod ColorStyle
  3166  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3167  }
  3168  
  3169  // ConditionValue: The value of the condition.
  3170  type ConditionValue struct {
  3171  	// RelativeDate: A relative date (based on the current date). Valid only if the
  3172  	// type is DATE_BEFORE, DATE_AFTER, DATE_ON_OR_BEFORE or DATE_ON_OR_AFTER.
  3173  	// Relative dates are not supported in data validation. They are supported only
  3174  	// in conditional formatting and conditional filters.
  3175  	//
  3176  	// Possible values:
  3177  	//   "RELATIVE_DATE_UNSPECIFIED" - Default value, do not use.
  3178  	//   "PAST_YEAR" - The value is one year before today.
  3179  	//   "PAST_MONTH" - The value is one month before today.
  3180  	//   "PAST_WEEK" - The value is one week before today.
  3181  	//   "YESTERDAY" - The value is yesterday.
  3182  	//   "TODAY" - The value is today.
  3183  	//   "TOMORROW" - The value is tomorrow.
  3184  	RelativeDate string `json:"relativeDate,omitempty"`
  3185  	// UserEnteredValue: A value the condition is based on. The value is parsed as
  3186  	// if the user typed into a cell. Formulas are supported (and must begin with
  3187  	// an `=` or a '+').
  3188  	UserEnteredValue string `json:"userEnteredValue,omitempty"`
  3189  	// ForceSendFields is a list of field names (e.g. "RelativeDate") to
  3190  	// unconditionally include in API requests. By default, fields with empty or
  3191  	// default values are omitted from API requests. See
  3192  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3193  	// details.
  3194  	ForceSendFields []string `json:"-"`
  3195  	// NullFields is a list of field names (e.g. "RelativeDate") to include in API
  3196  	// requests with the JSON null value. By default, fields with empty values are
  3197  	// omitted from API requests. See
  3198  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3199  	NullFields []string `json:"-"`
  3200  }
  3201  
  3202  func (s *ConditionValue) MarshalJSON() ([]byte, error) {
  3203  	type NoMethod ConditionValue
  3204  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3205  }
  3206  
  3207  // ConditionalFormatRule: A rule describing a conditional format.
  3208  type ConditionalFormatRule struct {
  3209  	// BooleanRule: The formatting is either "on" or "off" according to the rule.
  3210  	BooleanRule *BooleanRule `json:"booleanRule,omitempty"`
  3211  	// GradientRule: The formatting will vary based on the gradients in the rule.
  3212  	GradientRule *GradientRule `json:"gradientRule,omitempty"`
  3213  	// Ranges: The ranges that are formatted if the condition is true. All the
  3214  	// ranges must be on the same grid.
  3215  	Ranges []*GridRange `json:"ranges,omitempty"`
  3216  	// ForceSendFields is a list of field names (e.g. "BooleanRule") to
  3217  	// unconditionally include in API requests. By default, fields with empty or
  3218  	// default values are omitted from API requests. See
  3219  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3220  	// details.
  3221  	ForceSendFields []string `json:"-"`
  3222  	// NullFields is a list of field names (e.g. "BooleanRule") to include in API
  3223  	// requests with the JSON null value. By default, fields with empty values are
  3224  	// omitted from API requests. See
  3225  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3226  	NullFields []string `json:"-"`
  3227  }
  3228  
  3229  func (s *ConditionalFormatRule) MarshalJSON() ([]byte, error) {
  3230  	type NoMethod ConditionalFormatRule
  3231  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3232  }
  3233  
  3234  // CopyPasteRequest: Copies data from the source to the destination.
  3235  type CopyPasteRequest struct {
  3236  	// Destination: The location to paste to. If the range covers a span that's a
  3237  	// multiple of the source's height or width, then the data will be repeated to
  3238  	// fill in the destination range. If the range is smaller than the source
  3239  	// range, the entire source data will still be copied (beyond the end of the
  3240  	// destination range).
  3241  	Destination *GridRange `json:"destination,omitempty"`
  3242  	// PasteOrientation: How that data should be oriented when pasting.
  3243  	//
  3244  	// Possible values:
  3245  	//   "NORMAL" - Paste normally.
  3246  	//   "TRANSPOSE" - Paste transposed, where all rows become columns and vice
  3247  	// versa.
  3248  	PasteOrientation string `json:"pasteOrientation,omitempty"`
  3249  	// PasteType: What kind of data to paste.
  3250  	//
  3251  	// Possible values:
  3252  	//   "PASTE_NORMAL" - Paste values, formulas, formats, and merges.
  3253  	//   "PASTE_VALUES" - Paste the values ONLY without formats, formulas, or
  3254  	// merges.
  3255  	//   "PASTE_FORMAT" - Paste the format and data validation only.
  3256  	//   "PASTE_NO_BORDERS" - Like `PASTE_NORMAL` but without borders.
  3257  	//   "PASTE_FORMULA" - Paste the formulas only.
  3258  	//   "PASTE_DATA_VALIDATION" - Paste the data validation only.
  3259  	//   "PASTE_CONDITIONAL_FORMATTING" - Paste the conditional formatting rules
  3260  	// only.
  3261  	PasteType string `json:"pasteType,omitempty"`
  3262  	// Source: The source range to copy.
  3263  	Source *GridRange `json:"source,omitempty"`
  3264  	// ForceSendFields is a list of field names (e.g. "Destination") to
  3265  	// unconditionally include in API requests. By default, fields with empty or
  3266  	// default values are omitted from API requests. See
  3267  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3268  	// details.
  3269  	ForceSendFields []string `json:"-"`
  3270  	// NullFields is a list of field names (e.g. "Destination") to include in API
  3271  	// requests with the JSON null value. By default, fields with empty values are
  3272  	// omitted from API requests. See
  3273  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3274  	NullFields []string `json:"-"`
  3275  }
  3276  
  3277  func (s *CopyPasteRequest) MarshalJSON() ([]byte, error) {
  3278  	type NoMethod CopyPasteRequest
  3279  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3280  }
  3281  
  3282  // CopySheetToAnotherSpreadsheetRequest: The request to copy a sheet across
  3283  // spreadsheets.
  3284  type CopySheetToAnotherSpreadsheetRequest struct {
  3285  	// DestinationSpreadsheetId: The ID of the spreadsheet to copy the sheet to.
  3286  	DestinationSpreadsheetId string `json:"destinationSpreadsheetId,omitempty"`
  3287  	// ForceSendFields is a list of field names (e.g. "DestinationSpreadsheetId")
  3288  	// to unconditionally include in API requests. By default, fields with empty or
  3289  	// default values are omitted from API requests. See
  3290  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3291  	// details.
  3292  	ForceSendFields []string `json:"-"`
  3293  	// NullFields is a list of field names (e.g. "DestinationSpreadsheetId") to
  3294  	// include in API requests with the JSON null value. By default, fields with
  3295  	// empty values are omitted from API requests. See
  3296  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3297  	NullFields []string `json:"-"`
  3298  }
  3299  
  3300  func (s *CopySheetToAnotherSpreadsheetRequest) MarshalJSON() ([]byte, error) {
  3301  	type NoMethod CopySheetToAnotherSpreadsheetRequest
  3302  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3303  }
  3304  
  3305  // CreateDeveloperMetadataRequest: A request to create developer metadata.
  3306  type CreateDeveloperMetadataRequest struct {
  3307  	// DeveloperMetadata: The developer metadata to create.
  3308  	DeveloperMetadata *DeveloperMetadata `json:"developerMetadata,omitempty"`
  3309  	// ForceSendFields is a list of field names (e.g. "DeveloperMetadata") to
  3310  	// unconditionally include in API requests. By default, fields with empty or
  3311  	// default values are omitted from API requests. See
  3312  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3313  	// details.
  3314  	ForceSendFields []string `json:"-"`
  3315  	// NullFields is a list of field names (e.g. "DeveloperMetadata") to include in
  3316  	// API requests with the JSON null value. By default, fields with empty values
  3317  	// are omitted from API requests. See
  3318  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3319  	NullFields []string `json:"-"`
  3320  }
  3321  
  3322  func (s *CreateDeveloperMetadataRequest) MarshalJSON() ([]byte, error) {
  3323  	type NoMethod CreateDeveloperMetadataRequest
  3324  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3325  }
  3326  
  3327  // CreateDeveloperMetadataResponse: The response from creating developer
  3328  // metadata.
  3329  type CreateDeveloperMetadataResponse struct {
  3330  	// DeveloperMetadata: The developer metadata that was created.
  3331  	DeveloperMetadata *DeveloperMetadata `json:"developerMetadata,omitempty"`
  3332  	// ForceSendFields is a list of field names (e.g. "DeveloperMetadata") to
  3333  	// unconditionally include in API requests. By default, fields with empty or
  3334  	// default values are omitted from API requests. See
  3335  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3336  	// details.
  3337  	ForceSendFields []string `json:"-"`
  3338  	// NullFields is a list of field names (e.g. "DeveloperMetadata") to include in
  3339  	// API requests with the JSON null value. By default, fields with empty values
  3340  	// are omitted from API requests. See
  3341  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3342  	NullFields []string `json:"-"`
  3343  }
  3344  
  3345  func (s *CreateDeveloperMetadataResponse) MarshalJSON() ([]byte, error) {
  3346  	type NoMethod CreateDeveloperMetadataResponse
  3347  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3348  }
  3349  
  3350  // CutPasteRequest: Moves data from the source to the destination.
  3351  type CutPasteRequest struct {
  3352  	// Destination: The top-left coordinate where the data should be pasted.
  3353  	Destination *GridCoordinate `json:"destination,omitempty"`
  3354  	// PasteType: What kind of data to paste. All the source data will be cut,
  3355  	// regardless of what is pasted.
  3356  	//
  3357  	// Possible values:
  3358  	//   "PASTE_NORMAL" - Paste values, formulas, formats, and merges.
  3359  	//   "PASTE_VALUES" - Paste the values ONLY without formats, formulas, or
  3360  	// merges.
  3361  	//   "PASTE_FORMAT" - Paste the format and data validation only.
  3362  	//   "PASTE_NO_BORDERS" - Like `PASTE_NORMAL` but without borders.
  3363  	//   "PASTE_FORMULA" - Paste the formulas only.
  3364  	//   "PASTE_DATA_VALIDATION" - Paste the data validation only.
  3365  	//   "PASTE_CONDITIONAL_FORMATTING" - Paste the conditional formatting rules
  3366  	// only.
  3367  	PasteType string `json:"pasteType,omitempty"`
  3368  	// Source: The source data to cut.
  3369  	Source *GridRange `json:"source,omitempty"`
  3370  	// ForceSendFields is a list of field names (e.g. "Destination") to
  3371  	// unconditionally include in API requests. By default, fields with empty or
  3372  	// default values are omitted from API requests. See
  3373  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3374  	// details.
  3375  	ForceSendFields []string `json:"-"`
  3376  	// NullFields is a list of field names (e.g. "Destination") to include in API
  3377  	// requests with the JSON null value. By default, fields with empty values are
  3378  	// omitted from API requests. See
  3379  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3380  	NullFields []string `json:"-"`
  3381  }
  3382  
  3383  func (s *CutPasteRequest) MarshalJSON() ([]byte, error) {
  3384  	type NoMethod CutPasteRequest
  3385  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3386  }
  3387  
  3388  // DataExecutionStatus: The data execution status. A data execution is created
  3389  // to sync a data source object with the latest data from a DataSource. It is
  3390  // usually scheduled to run at background, you can check its state to tell if
  3391  // an execution completes There are several scenarios where a data execution is
  3392  // triggered to run: * Adding a data source creates an associated data source
  3393  // sheet as well as a data execution to sync the data from the data source to
  3394  // the sheet. * Updating a data source creates a data execution to refresh the
  3395  // associated data source sheet similarly. * You can send refresh request to
  3396  // explicitly refresh one or multiple data source objects.
  3397  type DataExecutionStatus struct {
  3398  	// ErrorCode: The error code.
  3399  	//
  3400  	// Possible values:
  3401  	//   "DATA_EXECUTION_ERROR_CODE_UNSPECIFIED" - Default value, do not use.
  3402  	//   "TIMED_OUT" - The data execution timed out.
  3403  	//   "TOO_MANY_ROWS" - The data execution returns more rows than the limit.
  3404  	//   "TOO_MANY_COLUMNS" - The data execution returns more columns than the
  3405  	// limit.
  3406  	//   "TOO_MANY_CELLS" - The data execution returns more cells than the limit.
  3407  	//   "ENGINE" - Error is received from the backend data execution engine (e.g.
  3408  	// BigQuery). Check error_message for details.
  3409  	//   "PARAMETER_INVALID" - One or some of the provided data source parameters
  3410  	// are invalid.
  3411  	//   "UNSUPPORTED_DATA_TYPE" - The data execution returns an unsupported data
  3412  	// type.
  3413  	//   "DUPLICATE_COLUMN_NAMES" - The data execution returns duplicate column
  3414  	// names or aliases.
  3415  	//   "INTERRUPTED" - The data execution is interrupted. Please refresh later.
  3416  	//   "CONCURRENT_QUERY" - The data execution is currently in progress, can not
  3417  	// be refreshed until it completes.
  3418  	//   "OTHER" - Other errors.
  3419  	//   "TOO_MANY_CHARS_PER_CELL" - The data execution returns values that exceed
  3420  	// the maximum characters allowed in a single cell.
  3421  	//   "DATA_NOT_FOUND" - The database referenced by the data source is not
  3422  	// found. */
  3423  	//   "PERMISSION_DENIED" - The user does not have access to the database
  3424  	// referenced by the data source.
  3425  	//   "MISSING_COLUMN_ALIAS" - The data execution returns columns with missing
  3426  	// aliases.
  3427  	//   "OBJECT_NOT_FOUND" - The data source object does not exist.
  3428  	//   "OBJECT_IN_ERROR_STATE" - The data source object is currently in error
  3429  	// state. To force refresh, set force in RefreshDataSourceRequest.
  3430  	//   "OBJECT_SPEC_INVALID" - The data source object specification is invalid.
  3431  	//   "DATA_EXECUTION_CANCELLED" - The data execution has been cancelled.
  3432  	ErrorCode string `json:"errorCode,omitempty"`
  3433  	// ErrorMessage: The error message, which may be empty.
  3434  	ErrorMessage string `json:"errorMessage,omitempty"`
  3435  	// LastRefreshTime: Gets the time the data last successfully refreshed.
  3436  	LastRefreshTime string `json:"lastRefreshTime,omitempty"`
  3437  	// State: The state of the data execution.
  3438  	//
  3439  	// Possible values:
  3440  	//   "DATA_EXECUTION_STATE_UNSPECIFIED" - Default value, do not use.
  3441  	//   "NOT_STARTED" - The data execution has not started.
  3442  	//   "RUNNING" - The data execution has started and is running.
  3443  	//   "CANCELLING" - The data execution is currently being cancelled.
  3444  	//   "SUCCEEDED" - The data execution has completed successfully.
  3445  	//   "FAILED" - The data execution has completed with errors.
  3446  	State string `json:"state,omitempty"`
  3447  	// ForceSendFields is a list of field names (e.g. "ErrorCode") to
  3448  	// unconditionally include in API requests. By default, fields with empty or
  3449  	// default values are omitted from API requests. See
  3450  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3451  	// details.
  3452  	ForceSendFields []string `json:"-"`
  3453  	// NullFields is a list of field names (e.g. "ErrorCode") to include in API
  3454  	// requests with the JSON null value. By default, fields with empty values are
  3455  	// omitted from API requests. See
  3456  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3457  	NullFields []string `json:"-"`
  3458  }
  3459  
  3460  func (s *DataExecutionStatus) MarshalJSON() ([]byte, error) {
  3461  	type NoMethod DataExecutionStatus
  3462  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3463  }
  3464  
  3465  // DataFilter: Filter that describes what data should be selected or returned
  3466  // from a request.
  3467  type DataFilter struct {
  3468  	// A1Range: Selects data that matches the specified A1 range.
  3469  	A1Range string `json:"a1Range,omitempty"`
  3470  	// DeveloperMetadataLookup: Selects data associated with the developer metadata
  3471  	// matching the criteria described by this DeveloperMetadataLookup.
  3472  	DeveloperMetadataLookup *DeveloperMetadataLookup `json:"developerMetadataLookup,omitempty"`
  3473  	// GridRange: Selects data that matches the range described by the GridRange.
  3474  	GridRange *GridRange `json:"gridRange,omitempty"`
  3475  	// ForceSendFields is a list of field names (e.g. "A1Range") to unconditionally
  3476  	// include in API requests. By default, fields with empty or default values are
  3477  	// omitted from API requests. See
  3478  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3479  	// details.
  3480  	ForceSendFields []string `json:"-"`
  3481  	// NullFields is a list of field names (e.g. "A1Range") to include in API
  3482  	// requests with the JSON null value. By default, fields with empty values are
  3483  	// omitted from API requests. See
  3484  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3485  	NullFields []string `json:"-"`
  3486  }
  3487  
  3488  func (s *DataFilter) MarshalJSON() ([]byte, error) {
  3489  	type NoMethod DataFilter
  3490  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3491  }
  3492  
  3493  // DataFilterValueRange: A range of values whose location is specified by a
  3494  // DataFilter.
  3495  type DataFilterValueRange struct {
  3496  	// DataFilter: The data filter describing the location of the values in the
  3497  	// spreadsheet.
  3498  	DataFilter *DataFilter `json:"dataFilter,omitempty"`
  3499  	// MajorDimension: The major dimension of the values.
  3500  	//
  3501  	// Possible values:
  3502  	//   "DIMENSION_UNSPECIFIED" - The default value, do not use.
  3503  	//   "ROWS" - Operates on the rows of a sheet.
  3504  	//   "COLUMNS" - Operates on the columns of a sheet.
  3505  	MajorDimension string `json:"majorDimension,omitempty"`
  3506  	// Values: The data to be written. If the provided values exceed any of the
  3507  	// ranges matched by the data filter then the request fails. If the provided
  3508  	// values are less than the matched ranges only the specified values are
  3509  	// written, existing values in the matched ranges remain unaffected.
  3510  	Values [][]interface{} `json:"values,omitempty"`
  3511  	// ForceSendFields is a list of field names (e.g. "DataFilter") to
  3512  	// unconditionally include in API requests. By default, fields with empty or
  3513  	// default values are omitted from API requests. See
  3514  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3515  	// details.
  3516  	ForceSendFields []string `json:"-"`
  3517  	// NullFields is a list of field names (e.g. "DataFilter") to include in API
  3518  	// requests with the JSON null value. By default, fields with empty values are
  3519  	// omitted from API requests. See
  3520  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3521  	NullFields []string `json:"-"`
  3522  }
  3523  
  3524  func (s *DataFilterValueRange) MarshalJSON() ([]byte, error) {
  3525  	type NoMethod DataFilterValueRange
  3526  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3527  }
  3528  
  3529  // DataLabel: Settings for one set of data labels. Data labels are annotations
  3530  // that appear next to a set of data, such as the points on a line chart, and
  3531  // provide additional information about what the data represents, such as a
  3532  // text representation of the value behind that point on the graph.
  3533  type DataLabel struct {
  3534  	// CustomLabelData: Data to use for custom labels. Only used if type is set to
  3535  	// CUSTOM. This data must be the same length as the series or other element
  3536  	// this data label is applied to. In addition, if the series is split into
  3537  	// multiple source ranges, this source data must come from the next column in
  3538  	// the source data. For example, if the series is B2:B4,E6:E8 then this data
  3539  	// must come from C2:C4,F6:F8.
  3540  	CustomLabelData *ChartData `json:"customLabelData,omitempty"`
  3541  	// Placement: The placement of the data label relative to the labeled data.
  3542  	//
  3543  	// Possible values:
  3544  	//   "DATA_LABEL_PLACEMENT_UNSPECIFIED" - The positioning is determined
  3545  	// automatically by the renderer.
  3546  	//   "CENTER" - Center within a bar or column, both horizontally and
  3547  	// vertically.
  3548  	//   "LEFT" - To the left of a data point.
  3549  	//   "RIGHT" - To the right of a data point.
  3550  	//   "ABOVE" - Above a data point.
  3551  	//   "BELOW" - Below a data point.
  3552  	//   "INSIDE_END" - Inside a bar or column at the end (top if positive, bottom
  3553  	// if negative).
  3554  	//   "INSIDE_BASE" - Inside a bar or column at the base.
  3555  	//   "OUTSIDE_END" - Outside a bar or column at the end.
  3556  	Placement string `json:"placement,omitempty"`
  3557  	// TextFormat: The text format used for the data label. The link field is not
  3558  	// supported.
  3559  	TextFormat *TextFormat `json:"textFormat,omitempty"`
  3560  	// Type: The type of the data label.
  3561  	//
  3562  	// Possible values:
  3563  	//   "DATA_LABEL_TYPE_UNSPECIFIED" - The data label type is not specified and
  3564  	// will be interpreted depending on the context of the data label within the
  3565  	// chart.
  3566  	//   "NONE" - The data label is not displayed.
  3567  	//   "DATA" - The data label is displayed using values from the series data.
  3568  	//   "CUSTOM" - The data label is displayed using values from a custom data
  3569  	// source indicated by customLabelData.
  3570  	Type string `json:"type,omitempty"`
  3571  	// ForceSendFields is a list of field names (e.g. "CustomLabelData") to
  3572  	// unconditionally include in API requests. By default, fields with empty or
  3573  	// default values are omitted from API requests. See
  3574  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3575  	// details.
  3576  	ForceSendFields []string `json:"-"`
  3577  	// NullFields is a list of field names (e.g. "CustomLabelData") to include in
  3578  	// API requests with the JSON null value. By default, fields with empty values
  3579  	// are omitted from API requests. See
  3580  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3581  	NullFields []string `json:"-"`
  3582  }
  3583  
  3584  func (s *DataLabel) MarshalJSON() ([]byte, error) {
  3585  	type NoMethod DataLabel
  3586  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3587  }
  3588  
  3589  // DataSource: Information about an external data source in the spreadsheet.
  3590  type DataSource struct {
  3591  	// CalculatedColumns: All calculated columns in the data source.
  3592  	CalculatedColumns []*DataSourceColumn `json:"calculatedColumns,omitempty"`
  3593  	// DataSourceId: The spreadsheet-scoped unique ID that identifies the data
  3594  	// source. Example: 1080547365.
  3595  	DataSourceId string `json:"dataSourceId,omitempty"`
  3596  	// SheetId: The ID of the Sheet connected with the data source. The field
  3597  	// cannot be changed once set. When creating a data source, an associated
  3598  	// DATA_SOURCE sheet is also created, if the field is not specified, the ID of
  3599  	// the created sheet will be randomly generated.
  3600  	SheetId int64 `json:"sheetId,omitempty"`
  3601  	// Spec: The DataSourceSpec for the data source connected with this
  3602  	// spreadsheet.
  3603  	Spec *DataSourceSpec `json:"spec,omitempty"`
  3604  	// ForceSendFields is a list of field names (e.g. "CalculatedColumns") to
  3605  	// unconditionally include in API requests. By default, fields with empty or
  3606  	// default values are omitted from API requests. See
  3607  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3608  	// details.
  3609  	ForceSendFields []string `json:"-"`
  3610  	// NullFields is a list of field names (e.g. "CalculatedColumns") to include in
  3611  	// API requests with the JSON null value. By default, fields with empty values
  3612  	// are omitted from API requests. See
  3613  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3614  	NullFields []string `json:"-"`
  3615  }
  3616  
  3617  func (s *DataSource) MarshalJSON() ([]byte, error) {
  3618  	type NoMethod DataSource
  3619  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3620  }
  3621  
  3622  // DataSourceChartProperties: Properties of a data source chart.
  3623  type DataSourceChartProperties struct {
  3624  	// DataExecutionStatus: Output only. The data execution status.
  3625  	DataExecutionStatus *DataExecutionStatus `json:"dataExecutionStatus,omitempty"`
  3626  	// DataSourceId: ID of the data source that the chart is associated with.
  3627  	DataSourceId string `json:"dataSourceId,omitempty"`
  3628  	// ForceSendFields is a list of field names (e.g. "DataExecutionStatus") to
  3629  	// unconditionally include in API requests. By default, fields with empty or
  3630  	// default values are omitted from API requests. See
  3631  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3632  	// details.
  3633  	ForceSendFields []string `json:"-"`
  3634  	// NullFields is a list of field names (e.g. "DataExecutionStatus") to include
  3635  	// in API requests with the JSON null value. By default, fields with empty
  3636  	// values are omitted from API requests. See
  3637  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3638  	NullFields []string `json:"-"`
  3639  }
  3640  
  3641  func (s *DataSourceChartProperties) MarshalJSON() ([]byte, error) {
  3642  	type NoMethod DataSourceChartProperties
  3643  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3644  }
  3645  
  3646  // DataSourceColumn: A column in a data source.
  3647  type DataSourceColumn struct {
  3648  	// Formula: The formula of the calculated column.
  3649  	Formula string `json:"formula,omitempty"`
  3650  	// Reference: The column reference.
  3651  	Reference *DataSourceColumnReference `json:"reference,omitempty"`
  3652  	// ForceSendFields is a list of field names (e.g. "Formula") to unconditionally
  3653  	// include in API requests. By default, fields with empty or default values are
  3654  	// omitted from API requests. See
  3655  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3656  	// details.
  3657  	ForceSendFields []string `json:"-"`
  3658  	// NullFields is a list of field names (e.g. "Formula") to include in API
  3659  	// requests with the JSON null value. By default, fields with empty values are
  3660  	// omitted from API requests. See
  3661  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3662  	NullFields []string `json:"-"`
  3663  }
  3664  
  3665  func (s *DataSourceColumn) MarshalJSON() ([]byte, error) {
  3666  	type NoMethod DataSourceColumn
  3667  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3668  }
  3669  
  3670  // DataSourceColumnReference: An unique identifier that references a data
  3671  // source column.
  3672  type DataSourceColumnReference struct {
  3673  	// Name: The display name of the column. It should be unique within a data
  3674  	// source.
  3675  	Name string `json:"name,omitempty"`
  3676  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  3677  	// include in API requests. By default, fields with empty or default values are
  3678  	// omitted from API requests. See
  3679  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3680  	// details.
  3681  	ForceSendFields []string `json:"-"`
  3682  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  3683  	// with the JSON null value. By default, fields with empty values are omitted
  3684  	// from API requests. See
  3685  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3686  	NullFields []string `json:"-"`
  3687  }
  3688  
  3689  func (s *DataSourceColumnReference) MarshalJSON() ([]byte, error) {
  3690  	type NoMethod DataSourceColumnReference
  3691  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3692  }
  3693  
  3694  // DataSourceFormula: A data source formula.
  3695  type DataSourceFormula struct {
  3696  	// DataExecutionStatus: Output only. The data execution status.
  3697  	DataExecutionStatus *DataExecutionStatus `json:"dataExecutionStatus,omitempty"`
  3698  	// DataSourceId: The ID of the data source the formula is associated with.
  3699  	DataSourceId string `json:"dataSourceId,omitempty"`
  3700  	// ForceSendFields is a list of field names (e.g. "DataExecutionStatus") to
  3701  	// unconditionally include in API requests. By default, fields with empty or
  3702  	// default values are omitted from API requests. See
  3703  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3704  	// details.
  3705  	ForceSendFields []string `json:"-"`
  3706  	// NullFields is a list of field names (e.g. "DataExecutionStatus") to include
  3707  	// in API requests with the JSON null value. By default, fields with empty
  3708  	// values are omitted from API requests. See
  3709  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3710  	NullFields []string `json:"-"`
  3711  }
  3712  
  3713  func (s *DataSourceFormula) MarshalJSON() ([]byte, error) {
  3714  	type NoMethod DataSourceFormula
  3715  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3716  }
  3717  
  3718  // DataSourceObjectReference: Reference to a data source object.
  3719  type DataSourceObjectReference struct {
  3720  	// ChartId: References to a data source chart.
  3721  	ChartId int64 `json:"chartId,omitempty"`
  3722  	// DataSourceFormulaCell: References to a cell containing DataSourceFormula.
  3723  	DataSourceFormulaCell *GridCoordinate `json:"dataSourceFormulaCell,omitempty"`
  3724  	// DataSourcePivotTableAnchorCell: References to a data source PivotTable
  3725  	// anchored at the cell.
  3726  	DataSourcePivotTableAnchorCell *GridCoordinate `json:"dataSourcePivotTableAnchorCell,omitempty"`
  3727  	// DataSourceTableAnchorCell: References to a DataSourceTable anchored at the
  3728  	// cell.
  3729  	DataSourceTableAnchorCell *GridCoordinate `json:"dataSourceTableAnchorCell,omitempty"`
  3730  	// SheetId: References to a DATA_SOURCE sheet.
  3731  	SheetId string `json:"sheetId,omitempty"`
  3732  	// ForceSendFields is a list of field names (e.g. "ChartId") to unconditionally
  3733  	// include in API requests. By default, fields with empty or default values are
  3734  	// omitted from API requests. See
  3735  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3736  	// details.
  3737  	ForceSendFields []string `json:"-"`
  3738  	// NullFields is a list of field names (e.g. "ChartId") to include in API
  3739  	// requests with the JSON null value. By default, fields with empty values are
  3740  	// omitted from API requests. See
  3741  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3742  	NullFields []string `json:"-"`
  3743  }
  3744  
  3745  func (s *DataSourceObjectReference) MarshalJSON() ([]byte, error) {
  3746  	type NoMethod DataSourceObjectReference
  3747  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3748  }
  3749  
  3750  // DataSourceObjectReferences: A list of references to data source objects.
  3751  type DataSourceObjectReferences struct {
  3752  	// References: The references.
  3753  	References []*DataSourceObjectReference `json:"references,omitempty"`
  3754  	// ForceSendFields is a list of field names (e.g. "References") to
  3755  	// unconditionally include in API requests. By default, fields with empty or
  3756  	// default values are omitted from API requests. See
  3757  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3758  	// details.
  3759  	ForceSendFields []string `json:"-"`
  3760  	// NullFields is a list of field names (e.g. "References") to include in API
  3761  	// requests with the JSON null value. By default, fields with empty values are
  3762  	// omitted from API requests. See
  3763  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3764  	NullFields []string `json:"-"`
  3765  }
  3766  
  3767  func (s *DataSourceObjectReferences) MarshalJSON() ([]byte, error) {
  3768  	type NoMethod DataSourceObjectReferences
  3769  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3770  }
  3771  
  3772  // DataSourceParameter: A parameter in a data source's query. The parameter
  3773  // allows the user to pass in values from the spreadsheet into a query.
  3774  type DataSourceParameter struct {
  3775  	// Name: Named parameter. Must be a legitimate identifier for the DataSource
  3776  	// that supports it. For example, BigQuery identifier
  3777  	// (https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#identifiers).
  3778  	Name string `json:"name,omitempty"`
  3779  	// NamedRangeId: ID of a NamedRange. Its size must be 1x1.
  3780  	NamedRangeId string `json:"namedRangeId,omitempty"`
  3781  	// Range: A range that contains the value of the parameter. Its size must be
  3782  	// 1x1.
  3783  	Range *GridRange `json:"range,omitempty"`
  3784  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  3785  	// include in API requests. By default, fields with empty or default values are
  3786  	// omitted from API requests. See
  3787  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3788  	// details.
  3789  	ForceSendFields []string `json:"-"`
  3790  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  3791  	// with the JSON null value. By default, fields with empty values are omitted
  3792  	// from API requests. See
  3793  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3794  	NullFields []string `json:"-"`
  3795  }
  3796  
  3797  func (s *DataSourceParameter) MarshalJSON() ([]byte, error) {
  3798  	type NoMethod DataSourceParameter
  3799  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3800  }
  3801  
  3802  // DataSourceRefreshDailySchedule: A schedule for data to refresh every day in
  3803  // a given time interval.
  3804  type DataSourceRefreshDailySchedule struct {
  3805  	// StartTime: The start time of a time interval in which a data source refresh
  3806  	// is scheduled. Only `hours` part is used. The time interval size defaults to
  3807  	// that in the Sheets editor.
  3808  	StartTime *TimeOfDay `json:"startTime,omitempty"`
  3809  	// ForceSendFields is a list of field names (e.g. "StartTime") to
  3810  	// unconditionally include in API requests. By default, fields with empty or
  3811  	// default values are omitted from API requests. See
  3812  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3813  	// details.
  3814  	ForceSendFields []string `json:"-"`
  3815  	// NullFields is a list of field names (e.g. "StartTime") to include in API
  3816  	// requests with the JSON null value. By default, fields with empty values are
  3817  	// omitted from API requests. See
  3818  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3819  	NullFields []string `json:"-"`
  3820  }
  3821  
  3822  func (s *DataSourceRefreshDailySchedule) MarshalJSON() ([]byte, error) {
  3823  	type NoMethod DataSourceRefreshDailySchedule
  3824  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3825  }
  3826  
  3827  // DataSourceRefreshMonthlySchedule: A monthly schedule for data to refresh on
  3828  // specific days in the month in a given time interval.
  3829  type DataSourceRefreshMonthlySchedule struct {
  3830  	// DaysOfMonth: Days of the month to refresh. Only 1-28 are supported, mapping
  3831  	// to the 1st to the 28th day. At least one day must be specified.
  3832  	DaysOfMonth []int64 `json:"daysOfMonth,omitempty"`
  3833  	// StartTime: The start time of a time interval in which a data source refresh
  3834  	// is scheduled. Only `hours` part is used. The time interval size defaults to
  3835  	// that in the Sheets editor.
  3836  	StartTime *TimeOfDay `json:"startTime,omitempty"`
  3837  	// ForceSendFields is a list of field names (e.g. "DaysOfMonth") to
  3838  	// unconditionally include in API requests. By default, fields with empty or
  3839  	// default values are omitted from API requests. See
  3840  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3841  	// details.
  3842  	ForceSendFields []string `json:"-"`
  3843  	// NullFields is a list of field names (e.g. "DaysOfMonth") to include in API
  3844  	// requests with the JSON null value. By default, fields with empty values are
  3845  	// omitted from API requests. See
  3846  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3847  	NullFields []string `json:"-"`
  3848  }
  3849  
  3850  func (s *DataSourceRefreshMonthlySchedule) MarshalJSON() ([]byte, error) {
  3851  	type NoMethod DataSourceRefreshMonthlySchedule
  3852  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3853  }
  3854  
  3855  // DataSourceRefreshSchedule: Schedule for refreshing the data source. Data
  3856  // sources in the spreadsheet are refreshed within a time interval. You can
  3857  // specify the start time by clicking the Scheduled Refresh button in the
  3858  // Sheets editor, but the interval is fixed at 4 hours. For example, if you
  3859  // specify a start time of 8 AM , the refresh will take place between 8 AM and
  3860  // 12 PM every day.
  3861  type DataSourceRefreshSchedule struct {
  3862  	// DailySchedule: Daily refresh schedule.
  3863  	DailySchedule *DataSourceRefreshDailySchedule `json:"dailySchedule,omitempty"`
  3864  	// Enabled: True if the refresh schedule is enabled, or false otherwise.
  3865  	Enabled bool `json:"enabled,omitempty"`
  3866  	// MonthlySchedule: Monthly refresh schedule.
  3867  	MonthlySchedule *DataSourceRefreshMonthlySchedule `json:"monthlySchedule,omitempty"`
  3868  	// NextRun: Output only. The time interval of the next run.
  3869  	NextRun *Interval `json:"nextRun,omitempty"`
  3870  	// RefreshScope: The scope of the refresh. Must be ALL_DATA_SOURCES.
  3871  	//
  3872  	// Possible values:
  3873  	//   "DATA_SOURCE_REFRESH_SCOPE_UNSPECIFIED" - Default value, do not use.
  3874  	//   "ALL_DATA_SOURCES" - Refreshes all data sources and their associated data
  3875  	// source objects in the spreadsheet.
  3876  	RefreshScope string `json:"refreshScope,omitempty"`
  3877  	// WeeklySchedule: Weekly refresh schedule.
  3878  	WeeklySchedule *DataSourceRefreshWeeklySchedule `json:"weeklySchedule,omitempty"`
  3879  	// ForceSendFields is a list of field names (e.g. "DailySchedule") to
  3880  	// unconditionally include in API requests. By default, fields with empty or
  3881  	// default values are omitted from API requests. See
  3882  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3883  	// details.
  3884  	ForceSendFields []string `json:"-"`
  3885  	// NullFields is a list of field names (e.g. "DailySchedule") to include in API
  3886  	// requests with the JSON null value. By default, fields with empty values are
  3887  	// omitted from API requests. See
  3888  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3889  	NullFields []string `json:"-"`
  3890  }
  3891  
  3892  func (s *DataSourceRefreshSchedule) MarshalJSON() ([]byte, error) {
  3893  	type NoMethod DataSourceRefreshSchedule
  3894  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3895  }
  3896  
  3897  // DataSourceRefreshWeeklySchedule: A weekly schedule for data to refresh on
  3898  // specific days in a given time interval.
  3899  type DataSourceRefreshWeeklySchedule struct {
  3900  	// DaysOfWeek: Days of the week to refresh. At least one day must be specified.
  3901  	//
  3902  	// Possible values:
  3903  	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
  3904  	//   "MONDAY" - Monday
  3905  	//   "TUESDAY" - Tuesday
  3906  	//   "WEDNESDAY" - Wednesday
  3907  	//   "THURSDAY" - Thursday
  3908  	//   "FRIDAY" - Friday
  3909  	//   "SATURDAY" - Saturday
  3910  	//   "SUNDAY" - Sunday
  3911  	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
  3912  	// StartTime: The start time of a time interval in which a data source refresh
  3913  	// is scheduled. Only `hours` part is used. The time interval size defaults to
  3914  	// that in the Sheets editor.
  3915  	StartTime *TimeOfDay `json:"startTime,omitempty"`
  3916  	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
  3917  	// unconditionally include in API requests. By default, fields with empty or
  3918  	// default values are omitted from API requests. See
  3919  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3920  	// details.
  3921  	ForceSendFields []string `json:"-"`
  3922  	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in API
  3923  	// requests with the JSON null value. By default, fields with empty values are
  3924  	// omitted from API requests. See
  3925  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3926  	NullFields []string `json:"-"`
  3927  }
  3928  
  3929  func (s *DataSourceRefreshWeeklySchedule) MarshalJSON() ([]byte, error) {
  3930  	type NoMethod DataSourceRefreshWeeklySchedule
  3931  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3932  }
  3933  
  3934  // DataSourceSheetDimensionRange: A range along a single dimension on a
  3935  // DATA_SOURCE sheet.
  3936  type DataSourceSheetDimensionRange struct {
  3937  	// ColumnReferences: The columns on the data source sheet.
  3938  	ColumnReferences []*DataSourceColumnReference `json:"columnReferences,omitempty"`
  3939  	// SheetId: The ID of the data source sheet the range is on.
  3940  	SheetId int64 `json:"sheetId,omitempty"`
  3941  	// ForceSendFields is a list of field names (e.g. "ColumnReferences") to
  3942  	// unconditionally include in API requests. By default, fields with empty or
  3943  	// default values are omitted from API requests. See
  3944  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3945  	// details.
  3946  	ForceSendFields []string `json:"-"`
  3947  	// NullFields is a list of field names (e.g. "ColumnReferences") to include in
  3948  	// API requests with the JSON null value. By default, fields with empty values
  3949  	// are omitted from API requests. See
  3950  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3951  	NullFields []string `json:"-"`
  3952  }
  3953  
  3954  func (s *DataSourceSheetDimensionRange) MarshalJSON() ([]byte, error) {
  3955  	type NoMethod DataSourceSheetDimensionRange
  3956  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3957  }
  3958  
  3959  // DataSourceSheetProperties: Additional properties of a DATA_SOURCE sheet.
  3960  type DataSourceSheetProperties struct {
  3961  	// Columns: The columns displayed on the sheet, corresponding to the values in
  3962  	// RowData.
  3963  	Columns []*DataSourceColumn `json:"columns,omitempty"`
  3964  	// DataExecutionStatus: The data execution status.
  3965  	DataExecutionStatus *DataExecutionStatus `json:"dataExecutionStatus,omitempty"`
  3966  	// DataSourceId: ID of the DataSource the sheet is connected to.
  3967  	DataSourceId string `json:"dataSourceId,omitempty"`
  3968  	// ForceSendFields is a list of field names (e.g. "Columns") to unconditionally
  3969  	// include in API requests. By default, fields with empty or default values are
  3970  	// omitted from API requests. See
  3971  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3972  	// details.
  3973  	ForceSendFields []string `json:"-"`
  3974  	// NullFields is a list of field names (e.g. "Columns") to include in API
  3975  	// requests with the JSON null value. By default, fields with empty values are
  3976  	// omitted from API requests. See
  3977  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3978  	NullFields []string `json:"-"`
  3979  }
  3980  
  3981  func (s *DataSourceSheetProperties) MarshalJSON() ([]byte, error) {
  3982  	type NoMethod DataSourceSheetProperties
  3983  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3984  }
  3985  
  3986  // DataSourceSpec: This specifies the details of the data source. For example,
  3987  // for BigQuery, this specifies information about the BigQuery source.
  3988  type DataSourceSpec struct {
  3989  	// BigQuery: A BigQueryDataSourceSpec.
  3990  	BigQuery *BigQueryDataSourceSpec `json:"bigQuery,omitempty"`
  3991  	// Parameters: The parameters of the data source, used when querying the data
  3992  	// source.
  3993  	Parameters []*DataSourceParameter `json:"parameters,omitempty"`
  3994  	// ForceSendFields is a list of field names (e.g. "BigQuery") to
  3995  	// unconditionally include in API requests. By default, fields with empty or
  3996  	// default values are omitted from API requests. See
  3997  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3998  	// details.
  3999  	ForceSendFields []string `json:"-"`
  4000  	// NullFields is a list of field names (e.g. "BigQuery") to include in API
  4001  	// requests with the JSON null value. By default, fields with empty values are
  4002  	// omitted from API requests. See
  4003  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4004  	NullFields []string `json:"-"`
  4005  }
  4006  
  4007  func (s *DataSourceSpec) MarshalJSON() ([]byte, error) {
  4008  	type NoMethod DataSourceSpec
  4009  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4010  }
  4011  
  4012  // DataSourceTable: A data source table, which allows the user to import a
  4013  // static table of data from the DataSource into Sheets. This is also known as
  4014  // "Extract" in the Sheets editor.
  4015  type DataSourceTable struct {
  4016  	// ColumnSelectionType: The type to select columns for the data source table.
  4017  	// Defaults to SELECTED.
  4018  	//
  4019  	// Possible values:
  4020  	//   "DATA_SOURCE_TABLE_COLUMN_SELECTION_TYPE_UNSPECIFIED" - The default column
  4021  	// selection type, do not use.
  4022  	//   "SELECTED" - Select columns specified by columns field.
  4023  	//   "SYNC_ALL" - Sync all current and future columns in the data source. If
  4024  	// set, the data source table fetches all the columns in the data source at the
  4025  	// time of refresh.
  4026  	ColumnSelectionType string `json:"columnSelectionType,omitempty"`
  4027  	// Columns: Columns selected for the data source table. The
  4028  	// column_selection_type must be SELECTED.
  4029  	Columns []*DataSourceColumnReference `json:"columns,omitempty"`
  4030  	// DataExecutionStatus: Output only. The data execution status.
  4031  	DataExecutionStatus *DataExecutionStatus `json:"dataExecutionStatus,omitempty"`
  4032  	// DataSourceId: The ID of the data source the data source table is associated
  4033  	// with.
  4034  	DataSourceId string `json:"dataSourceId,omitempty"`
  4035  	// FilterSpecs: Filter specifications in the data source table.
  4036  	FilterSpecs []*FilterSpec `json:"filterSpecs,omitempty"`
  4037  	// RowLimit: The limit of rows to return. If not set, a default limit is
  4038  	// applied. Please refer to the Sheets editor for the default and max limit.
  4039  	RowLimit int64 `json:"rowLimit,omitempty"`
  4040  	// SortSpecs: Sort specifications in the data source table. The result of the
  4041  	// data source table is sorted based on the sort specifications in order.
  4042  	SortSpecs []*SortSpec `json:"sortSpecs,omitempty"`
  4043  	// ForceSendFields is a list of field names (e.g. "ColumnSelectionType") to
  4044  	// unconditionally include in API requests. By default, fields with empty or
  4045  	// default values are omitted from API requests. See
  4046  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4047  	// details.
  4048  	ForceSendFields []string `json:"-"`
  4049  	// NullFields is a list of field names (e.g. "ColumnSelectionType") to include
  4050  	// in API requests with the JSON null value. By default, fields with empty
  4051  	// values are omitted from API requests. See
  4052  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4053  	NullFields []string `json:"-"`
  4054  }
  4055  
  4056  func (s *DataSourceTable) MarshalJSON() ([]byte, error) {
  4057  	type NoMethod DataSourceTable
  4058  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4059  }
  4060  
  4061  // DataValidationRule: A data validation rule.
  4062  type DataValidationRule struct {
  4063  	// Condition: The condition that data in the cell must match.
  4064  	Condition *BooleanCondition `json:"condition,omitempty"`
  4065  	// InputMessage: A message to show the user when adding data to the cell.
  4066  	InputMessage string `json:"inputMessage,omitempty"`
  4067  	// ShowCustomUi: True if the UI should be customized based on the kind of
  4068  	// condition. If true, "List" conditions will show a dropdown.
  4069  	ShowCustomUi bool `json:"showCustomUi,omitempty"`
  4070  	// Strict: True if invalid data should be rejected.
  4071  	Strict bool `json:"strict,omitempty"`
  4072  	// ForceSendFields is a list of field names (e.g. "Condition") to
  4073  	// unconditionally include in API requests. By default, fields with empty or
  4074  	// default values are omitted from API requests. See
  4075  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4076  	// details.
  4077  	ForceSendFields []string `json:"-"`
  4078  	// NullFields is a list of field names (e.g. "Condition") to include in API
  4079  	// requests with the JSON null value. By default, fields with empty values are
  4080  	// omitted from API requests. See
  4081  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4082  	NullFields []string `json:"-"`
  4083  }
  4084  
  4085  func (s *DataValidationRule) MarshalJSON() ([]byte, error) {
  4086  	type NoMethod DataValidationRule
  4087  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4088  }
  4089  
  4090  // DateTimeRule: Allows you to organize the date-time values in a source data
  4091  // column into buckets based on selected parts of their date or time values.
  4092  // For example, consider a pivot table showing sales transactions by date:
  4093  // +----------+--------------+ | Date | SUM of Sales |
  4094  // +----------+--------------+ | 1/1/2017 | $621.14 | | 2/3/2017 | $708.84 | |
  4095  // 5/8/2017 | $326.84 | ... +----------+--------------+ Applying a date-time
  4096  // group rule with a DateTimeRuleType of YEAR_MONTH results in the following
  4097  // pivot table. +--------------+--------------+ | Grouped Date | SUM of Sales |
  4098  // +--------------+--------------+ | 2017-Jan | $53,731.78 | | 2017-Feb |
  4099  // $83,475.32 | | 2017-Mar | $94,385.05 | ... +--------------+--------------+
  4100  type DateTimeRule struct {
  4101  	// Type: The type of date-time grouping to apply.
  4102  	//
  4103  	// Possible values:
  4104  	//   "DATE_TIME_RULE_TYPE_UNSPECIFIED" - The default type, do not use.
  4105  	//   "SECOND" - Group dates by second, from 0 to 59.
  4106  	//   "MINUTE" - Group dates by minute, from 0 to 59.
  4107  	//   "HOUR" - Group dates by hour using a 24-hour system, from 0 to 23.
  4108  	//   "HOUR_MINUTE" - Group dates by hour and minute using a 24-hour system, for
  4109  	// example 19:45.
  4110  	//   "HOUR_MINUTE_AMPM" - Group dates by hour and minute using a 12-hour
  4111  	// system, for example 7:45 PM. The AM/PM designation is translated based on
  4112  	// the spreadsheet locale.
  4113  	//   "DAY_OF_WEEK" - Group dates by day of week, for example Sunday. The days
  4114  	// of the week will be translated based on the spreadsheet locale.
  4115  	//   "DAY_OF_YEAR" - Group dates by day of year, from 1 to 366. Note that dates
  4116  	// after Feb. 29 fall in different buckets in leap years than in non-leap
  4117  	// years.
  4118  	//   "DAY_OF_MONTH" - Group dates by day of month, from 1 to 31.
  4119  	//   "DAY_MONTH" - Group dates by day and month, for example 22-Nov. The month
  4120  	// is translated based on the spreadsheet locale.
  4121  	//   "MONTH" - Group dates by month, for example Nov. The month is translated
  4122  	// based on the spreadsheet locale.
  4123  	//   "QUARTER" - Group dates by quarter, for example Q1 (which represents
  4124  	// Jan-Mar).
  4125  	//   "YEAR" - Group dates by year, for example 2008.
  4126  	//   "YEAR_MONTH" - Group dates by year and month, for example 2008-Nov. The
  4127  	// month is translated based on the spreadsheet locale.
  4128  	//   "YEAR_QUARTER" - Group dates by year and quarter, for example 2008 Q4.
  4129  	//   "YEAR_MONTH_DAY" - Group dates by year, month, and day, for example
  4130  	// 2008-11-22.
  4131  	Type string `json:"type,omitempty"`
  4132  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  4133  	// include in API requests. By default, fields with empty or default values are
  4134  	// omitted from API requests. See
  4135  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4136  	// details.
  4137  	ForceSendFields []string `json:"-"`
  4138  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  4139  	// with the JSON null value. By default, fields with empty values are omitted
  4140  	// from API requests. See
  4141  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4142  	NullFields []string `json:"-"`
  4143  }
  4144  
  4145  func (s *DateTimeRule) MarshalJSON() ([]byte, error) {
  4146  	type NoMethod DateTimeRule
  4147  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4148  }
  4149  
  4150  // DeleteBandingRequest: Removes the banded range with the given ID from the
  4151  // spreadsheet.
  4152  type DeleteBandingRequest struct {
  4153  	// BandedRangeId: The ID of the banded range to delete.
  4154  	BandedRangeId int64 `json:"bandedRangeId,omitempty"`
  4155  	// ForceSendFields is a list of field names (e.g. "BandedRangeId") to
  4156  	// unconditionally include in API requests. By default, fields with empty or
  4157  	// default values are omitted from API requests. See
  4158  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4159  	// details.
  4160  	ForceSendFields []string `json:"-"`
  4161  	// NullFields is a list of field names (e.g. "BandedRangeId") to include in API
  4162  	// requests with the JSON null value. By default, fields with empty values are
  4163  	// omitted from API requests. See
  4164  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4165  	NullFields []string `json:"-"`
  4166  }
  4167  
  4168  func (s *DeleteBandingRequest) MarshalJSON() ([]byte, error) {
  4169  	type NoMethod DeleteBandingRequest
  4170  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4171  }
  4172  
  4173  // DeleteConditionalFormatRuleRequest: Deletes a conditional format rule at the
  4174  // given index. All subsequent rules' indexes are decremented.
  4175  type DeleteConditionalFormatRuleRequest struct {
  4176  	// Index: The zero-based index of the rule to be deleted.
  4177  	Index int64 `json:"index,omitempty"`
  4178  	// SheetId: The sheet the rule is being deleted from.
  4179  	SheetId int64 `json:"sheetId,omitempty"`
  4180  	// ForceSendFields is a list of field names (e.g. "Index") to unconditionally
  4181  	// include in API requests. By default, fields with empty or default values are
  4182  	// omitted from API requests. See
  4183  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4184  	// details.
  4185  	ForceSendFields []string `json:"-"`
  4186  	// NullFields is a list of field names (e.g. "Index") to include in API
  4187  	// requests with the JSON null value. By default, fields with empty values are
  4188  	// omitted from API requests. See
  4189  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4190  	NullFields []string `json:"-"`
  4191  }
  4192  
  4193  func (s *DeleteConditionalFormatRuleRequest) MarshalJSON() ([]byte, error) {
  4194  	type NoMethod DeleteConditionalFormatRuleRequest
  4195  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4196  }
  4197  
  4198  // DeleteConditionalFormatRuleResponse: The result of deleting a conditional
  4199  // format rule.
  4200  type DeleteConditionalFormatRuleResponse struct {
  4201  	// Rule: The rule that was deleted.
  4202  	Rule *ConditionalFormatRule `json:"rule,omitempty"`
  4203  	// ForceSendFields is a list of field names (e.g. "Rule") to unconditionally
  4204  	// include in API requests. By default, fields with empty or default values are
  4205  	// omitted from API requests. See
  4206  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4207  	// details.
  4208  	ForceSendFields []string `json:"-"`
  4209  	// NullFields is a list of field names (e.g. "Rule") to include in API requests
  4210  	// with the JSON null value. By default, fields with empty values are omitted
  4211  	// from API requests. See
  4212  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4213  	NullFields []string `json:"-"`
  4214  }
  4215  
  4216  func (s *DeleteConditionalFormatRuleResponse) MarshalJSON() ([]byte, error) {
  4217  	type NoMethod DeleteConditionalFormatRuleResponse
  4218  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4219  }
  4220  
  4221  // DeleteDataSourceRequest: Deletes a data source. The request also deletes the
  4222  // associated data source sheet, and unlinks all associated data source
  4223  // objects.
  4224  type DeleteDataSourceRequest struct {
  4225  	// DataSourceId: The ID of the data source to delete.
  4226  	DataSourceId string `json:"dataSourceId,omitempty"`
  4227  	// ForceSendFields is a list of field names (e.g. "DataSourceId") to
  4228  	// unconditionally include in API requests. By default, fields with empty or
  4229  	// default values are omitted from API requests. See
  4230  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4231  	// details.
  4232  	ForceSendFields []string `json:"-"`
  4233  	// NullFields is a list of field names (e.g. "DataSourceId") to include in API
  4234  	// requests with the JSON null value. By default, fields with empty values are
  4235  	// omitted from API requests. See
  4236  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4237  	NullFields []string `json:"-"`
  4238  }
  4239  
  4240  func (s *DeleteDataSourceRequest) MarshalJSON() ([]byte, error) {
  4241  	type NoMethod DeleteDataSourceRequest
  4242  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4243  }
  4244  
  4245  // DeleteDeveloperMetadataRequest: A request to delete developer metadata.
  4246  type DeleteDeveloperMetadataRequest struct {
  4247  	// DataFilter: The data filter describing the criteria used to select which
  4248  	// developer metadata entry to delete.
  4249  	DataFilter *DataFilter `json:"dataFilter,omitempty"`
  4250  	// ForceSendFields is a list of field names (e.g. "DataFilter") to
  4251  	// unconditionally include in API requests. By default, fields with empty or
  4252  	// default values are omitted from API requests. See
  4253  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4254  	// details.
  4255  	ForceSendFields []string `json:"-"`
  4256  	// NullFields is a list of field names (e.g. "DataFilter") to include in API
  4257  	// requests with the JSON null value. By default, fields with empty values are
  4258  	// omitted from API requests. See
  4259  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4260  	NullFields []string `json:"-"`
  4261  }
  4262  
  4263  func (s *DeleteDeveloperMetadataRequest) MarshalJSON() ([]byte, error) {
  4264  	type NoMethod DeleteDeveloperMetadataRequest
  4265  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4266  }
  4267  
  4268  // DeleteDeveloperMetadataResponse: The response from deleting developer
  4269  // metadata.
  4270  type DeleteDeveloperMetadataResponse struct {
  4271  	// DeletedDeveloperMetadata: The metadata that was deleted.
  4272  	DeletedDeveloperMetadata []*DeveloperMetadata `json:"deletedDeveloperMetadata,omitempty"`
  4273  	// ForceSendFields is a list of field names (e.g. "DeletedDeveloperMetadata")
  4274  	// to unconditionally include in API requests. By default, fields with empty or
  4275  	// default values are omitted from API requests. See
  4276  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4277  	// details.
  4278  	ForceSendFields []string `json:"-"`
  4279  	// NullFields is a list of field names (e.g. "DeletedDeveloperMetadata") to
  4280  	// include in API requests with the JSON null value. By default, fields with
  4281  	// empty values are omitted from API requests. See
  4282  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4283  	NullFields []string `json:"-"`
  4284  }
  4285  
  4286  func (s *DeleteDeveloperMetadataResponse) MarshalJSON() ([]byte, error) {
  4287  	type NoMethod DeleteDeveloperMetadataResponse
  4288  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4289  }
  4290  
  4291  // DeleteDimensionGroupRequest: Deletes a group over the specified range by
  4292  // decrementing the depth of the dimensions in the range. For example, assume
  4293  // the sheet has a depth-1 group over B:E and a depth-2 group over C:D.
  4294  // Deleting a group over D:E leaves the sheet with a depth-1 group over B:D and
  4295  // a depth-2 group over C:C.
  4296  type DeleteDimensionGroupRequest struct {
  4297  	// Range: The range of the group to be deleted.
  4298  	Range *DimensionRange `json:"range,omitempty"`
  4299  	// ForceSendFields is a list of field names (e.g. "Range") to unconditionally
  4300  	// include in API requests. By default, fields with empty or default values are
  4301  	// omitted from API requests. See
  4302  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4303  	// details.
  4304  	ForceSendFields []string `json:"-"`
  4305  	// NullFields is a list of field names (e.g. "Range") to include in API
  4306  	// requests with the JSON null value. By default, fields with empty values are
  4307  	// omitted from API requests. See
  4308  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4309  	NullFields []string `json:"-"`
  4310  }
  4311  
  4312  func (s *DeleteDimensionGroupRequest) MarshalJSON() ([]byte, error) {
  4313  	type NoMethod DeleteDimensionGroupRequest
  4314  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4315  }
  4316  
  4317  // DeleteDimensionGroupResponse: The result of deleting a group.
  4318  type DeleteDimensionGroupResponse struct {
  4319  	// DimensionGroups: All groups of a dimension after deleting a group from that
  4320  	// dimension.
  4321  	DimensionGroups []*DimensionGroup `json:"dimensionGroups,omitempty"`
  4322  	// ForceSendFields is a list of field names (e.g. "DimensionGroups") to
  4323  	// unconditionally include in API requests. By default, fields with empty or
  4324  	// default values are omitted from API requests. See
  4325  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4326  	// details.
  4327  	ForceSendFields []string `json:"-"`
  4328  	// NullFields is a list of field names (e.g. "DimensionGroups") to include in
  4329  	// API requests with the JSON null value. By default, fields with empty values
  4330  	// are omitted from API requests. See
  4331  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4332  	NullFields []string `json:"-"`
  4333  }
  4334  
  4335  func (s *DeleteDimensionGroupResponse) MarshalJSON() ([]byte, error) {
  4336  	type NoMethod DeleteDimensionGroupResponse
  4337  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4338  }
  4339  
  4340  // DeleteDimensionRequest: Deletes the dimensions from the sheet.
  4341  type DeleteDimensionRequest struct {
  4342  	// Range: The dimensions to delete from the sheet.
  4343  	Range *DimensionRange `json:"range,omitempty"`
  4344  	// ForceSendFields is a list of field names (e.g. "Range") to unconditionally
  4345  	// include in API requests. By default, fields with empty or default values are
  4346  	// omitted from API requests. See
  4347  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4348  	// details.
  4349  	ForceSendFields []string `json:"-"`
  4350  	// NullFields is a list of field names (e.g. "Range") to include in API
  4351  	// requests with the JSON null value. By default, fields with empty values are
  4352  	// omitted from API requests. See
  4353  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4354  	NullFields []string `json:"-"`
  4355  }
  4356  
  4357  func (s *DeleteDimensionRequest) MarshalJSON() ([]byte, error) {
  4358  	type NoMethod DeleteDimensionRequest
  4359  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4360  }
  4361  
  4362  // DeleteDuplicatesRequest: Removes rows within this range that contain values
  4363  // in the specified columns that are duplicates of values in any previous row.
  4364  // Rows with identical values but different letter cases, formatting, or
  4365  // formulas are considered to be duplicates. This request also removes
  4366  // duplicate rows hidden from view (for example, due to a filter). When
  4367  // removing duplicates, the first instance of each duplicate row scanning from
  4368  // the top downwards is kept in the resulting range. Content outside of the
  4369  // specified range isn't removed, and rows considered duplicates do not have to
  4370  // be adjacent to each other in the range.
  4371  type DeleteDuplicatesRequest struct {
  4372  	// ComparisonColumns: The columns in the range to analyze for duplicate values.
  4373  	// If no columns are selected then all columns are analyzed for duplicates.
  4374  	ComparisonColumns []*DimensionRange `json:"comparisonColumns,omitempty"`
  4375  	// Range: The range to remove duplicates rows from.
  4376  	Range *GridRange `json:"range,omitempty"`
  4377  	// ForceSendFields is a list of field names (e.g. "ComparisonColumns") to
  4378  	// unconditionally include in API requests. By default, fields with empty or
  4379  	// default values are omitted from API requests. See
  4380  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4381  	// details.
  4382  	ForceSendFields []string `json:"-"`
  4383  	// NullFields is a list of field names (e.g. "ComparisonColumns") to include in
  4384  	// API requests with the JSON null value. By default, fields with empty values
  4385  	// are omitted from API requests. See
  4386  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4387  	NullFields []string `json:"-"`
  4388  }
  4389  
  4390  func (s *DeleteDuplicatesRequest) MarshalJSON() ([]byte, error) {
  4391  	type NoMethod DeleteDuplicatesRequest
  4392  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4393  }
  4394  
  4395  // DeleteDuplicatesResponse: The result of removing duplicates in a range.
  4396  type DeleteDuplicatesResponse struct {
  4397  	// DuplicatesRemovedCount: The number of duplicate rows removed.
  4398  	DuplicatesRemovedCount int64 `json:"duplicatesRemovedCount,omitempty"`
  4399  	// ForceSendFields is a list of field names (e.g. "DuplicatesRemovedCount") to
  4400  	// unconditionally include in API requests. By default, fields with empty or
  4401  	// default values are omitted from API requests. See
  4402  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4403  	// details.
  4404  	ForceSendFields []string `json:"-"`
  4405  	// NullFields is a list of field names (e.g. "DuplicatesRemovedCount") to
  4406  	// include in API requests with the JSON null value. By default, fields with
  4407  	// empty values are omitted from API requests. See
  4408  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4409  	NullFields []string `json:"-"`
  4410  }
  4411  
  4412  func (s *DeleteDuplicatesResponse) MarshalJSON() ([]byte, error) {
  4413  	type NoMethod DeleteDuplicatesResponse
  4414  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4415  }
  4416  
  4417  // DeleteEmbeddedObjectRequest: Deletes the embedded object with the given ID.
  4418  type DeleteEmbeddedObjectRequest struct {
  4419  	// ObjectId: The ID of the embedded object to delete.
  4420  	ObjectId int64 `json:"objectId,omitempty"`
  4421  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  4422  	// unconditionally include in API requests. By default, fields with empty or
  4423  	// default values are omitted from API requests. See
  4424  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4425  	// details.
  4426  	ForceSendFields []string `json:"-"`
  4427  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  4428  	// requests with the JSON null value. By default, fields with empty values are
  4429  	// omitted from API requests. See
  4430  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4431  	NullFields []string `json:"-"`
  4432  }
  4433  
  4434  func (s *DeleteEmbeddedObjectRequest) MarshalJSON() ([]byte, error) {
  4435  	type NoMethod DeleteEmbeddedObjectRequest
  4436  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4437  }
  4438  
  4439  // DeleteFilterViewRequest: Deletes a particular filter view.
  4440  type DeleteFilterViewRequest struct {
  4441  	// FilterId: The ID of the filter to delete.
  4442  	FilterId int64 `json:"filterId,omitempty"`
  4443  	// ForceSendFields is a list of field names (e.g. "FilterId") to
  4444  	// unconditionally include in API requests. By default, fields with empty or
  4445  	// default values are omitted from API requests. See
  4446  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4447  	// details.
  4448  	ForceSendFields []string `json:"-"`
  4449  	// NullFields is a list of field names (e.g. "FilterId") to include in API
  4450  	// requests with the JSON null value. By default, fields with empty values are
  4451  	// omitted from API requests. See
  4452  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4453  	NullFields []string `json:"-"`
  4454  }
  4455  
  4456  func (s *DeleteFilterViewRequest) MarshalJSON() ([]byte, error) {
  4457  	type NoMethod DeleteFilterViewRequest
  4458  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4459  }
  4460  
  4461  // DeleteNamedRangeRequest: Removes the named range with the given ID from the
  4462  // spreadsheet.
  4463  type DeleteNamedRangeRequest struct {
  4464  	// NamedRangeId: The ID of the named range to delete.
  4465  	NamedRangeId string `json:"namedRangeId,omitempty"`
  4466  	// ForceSendFields is a list of field names (e.g. "NamedRangeId") to
  4467  	// unconditionally include in API requests. By default, fields with empty or
  4468  	// default values are omitted from API requests. See
  4469  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4470  	// details.
  4471  	ForceSendFields []string `json:"-"`
  4472  	// NullFields is a list of field names (e.g. "NamedRangeId") to include in API
  4473  	// requests with the JSON null value. By default, fields with empty values are
  4474  	// omitted from API requests. See
  4475  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4476  	NullFields []string `json:"-"`
  4477  }
  4478  
  4479  func (s *DeleteNamedRangeRequest) MarshalJSON() ([]byte, error) {
  4480  	type NoMethod DeleteNamedRangeRequest
  4481  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4482  }
  4483  
  4484  // DeleteProtectedRangeRequest: Deletes the protected range with the given ID.
  4485  type DeleteProtectedRangeRequest struct {
  4486  	// ProtectedRangeId: The ID of the protected range to delete.
  4487  	ProtectedRangeId int64 `json:"protectedRangeId,omitempty"`
  4488  	// ForceSendFields is a list of field names (e.g. "ProtectedRangeId") to
  4489  	// unconditionally include in API requests. By default, fields with empty or
  4490  	// default values are omitted from API requests. See
  4491  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4492  	// details.
  4493  	ForceSendFields []string `json:"-"`
  4494  	// NullFields is a list of field names (e.g. "ProtectedRangeId") to include in
  4495  	// API requests with the JSON null value. By default, fields with empty values
  4496  	// are omitted from API requests. See
  4497  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4498  	NullFields []string `json:"-"`
  4499  }
  4500  
  4501  func (s *DeleteProtectedRangeRequest) MarshalJSON() ([]byte, error) {
  4502  	type NoMethod DeleteProtectedRangeRequest
  4503  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4504  }
  4505  
  4506  // DeleteRangeRequest: Deletes a range of cells, shifting other cells into the
  4507  // deleted area.
  4508  type DeleteRangeRequest struct {
  4509  	// Range: The range of cells to delete.
  4510  	Range *GridRange `json:"range,omitempty"`
  4511  	// ShiftDimension: The dimension from which deleted cells will be replaced
  4512  	// with. If ROWS, existing cells will be shifted upward to replace the deleted
  4513  	// cells. If COLUMNS, existing cells will be shifted left to replace the
  4514  	// deleted cells.
  4515  	//
  4516  	// Possible values:
  4517  	//   "DIMENSION_UNSPECIFIED" - The default value, do not use.
  4518  	//   "ROWS" - Operates on the rows of a sheet.
  4519  	//   "COLUMNS" - Operates on the columns of a sheet.
  4520  	ShiftDimension string `json:"shiftDimension,omitempty"`
  4521  	// ForceSendFields is a list of field names (e.g. "Range") to unconditionally
  4522  	// include in API requests. By default, fields with empty or default values are
  4523  	// omitted from API requests. See
  4524  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4525  	// details.
  4526  	ForceSendFields []string `json:"-"`
  4527  	// NullFields is a list of field names (e.g. "Range") to include in API
  4528  	// requests with the JSON null value. By default, fields with empty values are
  4529  	// omitted from API requests. See
  4530  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4531  	NullFields []string `json:"-"`
  4532  }
  4533  
  4534  func (s *DeleteRangeRequest) MarshalJSON() ([]byte, error) {
  4535  	type NoMethod DeleteRangeRequest
  4536  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4537  }
  4538  
  4539  // DeleteSheetRequest: Deletes the requested sheet.
  4540  type DeleteSheetRequest struct {
  4541  	// SheetId: The ID of the sheet to delete. If the sheet is of DATA_SOURCE type,
  4542  	// the associated DataSource is also deleted.
  4543  	SheetId int64 `json:"sheetId,omitempty"`
  4544  	// ForceSendFields is a list of field names (e.g. "SheetId") to unconditionally
  4545  	// include in API requests. By default, fields with empty or default values are
  4546  	// omitted from API requests. See
  4547  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4548  	// details.
  4549  	ForceSendFields []string `json:"-"`
  4550  	// NullFields is a list of field names (e.g. "SheetId") to include in API
  4551  	// requests with the JSON null value. By default, fields with empty values are
  4552  	// omitted from API requests. See
  4553  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4554  	NullFields []string `json:"-"`
  4555  }
  4556  
  4557  func (s *DeleteSheetRequest) MarshalJSON() ([]byte, error) {
  4558  	type NoMethod DeleteSheetRequest
  4559  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4560  }
  4561  
  4562  // DeveloperMetadata: Developer metadata associated with a location or object
  4563  // in a spreadsheet. Developer metadata may be used to associate arbitrary data
  4564  // with various parts of a spreadsheet and will remain associated at those
  4565  // locations as they move around and the spreadsheet is edited. For example, if
  4566  // developer metadata is associated with row 5 and another row is then
  4567  // subsequently inserted above row 5, that original metadata will still be
  4568  // associated with the row it was first associated with (what is now row 6). If
  4569  // the associated object is deleted its metadata is deleted too.
  4570  type DeveloperMetadata struct {
  4571  	// Location: The location where the metadata is associated.
  4572  	Location *DeveloperMetadataLocation `json:"location,omitempty"`
  4573  	// MetadataId: The spreadsheet-scoped unique ID that identifies the metadata.
  4574  	// IDs may be specified when metadata is created, otherwise one will be
  4575  	// randomly generated and assigned. Must be positive.
  4576  	MetadataId int64 `json:"metadataId,omitempty"`
  4577  	// MetadataKey: The metadata key. There may be multiple metadata in a
  4578  	// spreadsheet with the same key. Developer metadata must always have a key
  4579  	// specified.
  4580  	MetadataKey string `json:"metadataKey,omitempty"`
  4581  	// MetadataValue: Data associated with the metadata's key.
  4582  	MetadataValue string `json:"metadataValue,omitempty"`
  4583  	// Visibility: The metadata visibility. Developer metadata must always have a
  4584  	// visibility specified.
  4585  	//
  4586  	// Possible values:
  4587  	//   "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED" - Default value.
  4588  	//   "DOCUMENT" - Document-visible metadata is accessible from any developer
  4589  	// project with access to the document.
  4590  	//   "PROJECT" - Project-visible metadata is only visible to and accessible by
  4591  	// the developer project that created the metadata.
  4592  	Visibility string `json:"visibility,omitempty"`
  4593  
  4594  	// ServerResponse contains the HTTP response code and headers from the server.
  4595  	googleapi.ServerResponse `json:"-"`
  4596  	// ForceSendFields is a list of field names (e.g. "Location") to
  4597  	// unconditionally include in API requests. By default, fields with empty or
  4598  	// default values are omitted from API requests. See
  4599  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4600  	// details.
  4601  	ForceSendFields []string `json:"-"`
  4602  	// NullFields is a list of field names (e.g. "Location") to include in API
  4603  	// requests with the JSON null value. By default, fields with empty values are
  4604  	// omitted from API requests. See
  4605  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4606  	NullFields []string `json:"-"`
  4607  }
  4608  
  4609  func (s *DeveloperMetadata) MarshalJSON() ([]byte, error) {
  4610  	type NoMethod DeveloperMetadata
  4611  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4612  }
  4613  
  4614  // DeveloperMetadataLocation: A location where metadata may be associated in a
  4615  // spreadsheet.
  4616  type DeveloperMetadataLocation struct {
  4617  	// DimensionRange: Represents the row or column when metadata is associated
  4618  	// with a dimension. The specified DimensionRange must represent a single row
  4619  	// or column; it cannot be unbounded or span multiple rows or columns.
  4620  	DimensionRange *DimensionRange `json:"dimensionRange,omitempty"`
  4621  	// LocationType: The type of location this object represents. This field is
  4622  	// read-only.
  4623  	//
  4624  	// Possible values:
  4625  	//   "DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED" - Default value.
  4626  	//   "ROW" - Developer metadata associated on an entire row dimension.
  4627  	//   "COLUMN" - Developer metadata associated on an entire column dimension.
  4628  	//   "SHEET" - Developer metadata associated on an entire sheet.
  4629  	//   "SPREADSHEET" - Developer metadata associated on the entire spreadsheet.
  4630  	LocationType string `json:"locationType,omitempty"`
  4631  	// SheetId: The ID of the sheet when metadata is associated with an entire
  4632  	// sheet.
  4633  	SheetId int64 `json:"sheetId,omitempty"`
  4634  	// Spreadsheet: True when metadata is associated with an entire spreadsheet.
  4635  	Spreadsheet bool `json:"spreadsheet,omitempty"`
  4636  	// ForceSendFields is a list of field names (e.g. "DimensionRange") to
  4637  	// unconditionally include in API requests. By default, fields with empty or
  4638  	// default values are omitted from API requests. See
  4639  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4640  	// details.
  4641  	ForceSendFields []string `json:"-"`
  4642  	// NullFields is a list of field names (e.g. "DimensionRange") to include in
  4643  	// API requests with the JSON null value. By default, fields with empty values
  4644  	// are omitted from API requests. See
  4645  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4646  	NullFields []string `json:"-"`
  4647  }
  4648  
  4649  func (s *DeveloperMetadataLocation) MarshalJSON() ([]byte, error) {
  4650  	type NoMethod DeveloperMetadataLocation
  4651  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4652  }
  4653  
  4654  // DeveloperMetadataLookup: Selects DeveloperMetadata that matches all of the
  4655  // specified fields. For example, if only a metadata ID is specified this
  4656  // considers the DeveloperMetadata with that particular unique ID. If a
  4657  // metadata key is specified, this considers all developer metadata with that
  4658  // key. If a key, visibility, and location type are all specified, this
  4659  // considers all developer metadata with that key and visibility that are
  4660  // associated with a location of that type. In general, this selects all
  4661  // DeveloperMetadata that matches the intersection of all the specified fields;
  4662  // any field or combination of fields may be specified.
  4663  type DeveloperMetadataLookup struct {
  4664  	// LocationMatchingStrategy: Determines how this lookup matches the location.
  4665  	// If this field is specified as EXACT, only developer metadata associated on
  4666  	// the exact location specified is matched. If this field is specified to
  4667  	// INTERSECTING, developer metadata associated on intersecting locations is
  4668  	// also matched. If left unspecified, this field assumes a default value of
  4669  	// INTERSECTING. If this field is specified, a metadataLocation must also be
  4670  	// specified.
  4671  	//
  4672  	// Possible values:
  4673  	//   "DEVELOPER_METADATA_LOCATION_MATCHING_STRATEGY_UNSPECIFIED" - Default
  4674  	// value. This value must not be used.
  4675  	//   "EXACT_LOCATION" - Indicates that a specified location should be matched
  4676  	// exactly. For example, if row three were specified as a location this
  4677  	// matching strategy would only match developer metadata also associated on row
  4678  	// three. Metadata associated on other locations would not be considered.
  4679  	//   "INTERSECTING_LOCATION" - Indicates that a specified location should match
  4680  	// that exact location as well as any intersecting locations. For example, if
  4681  	// row three were specified as a location this matching strategy would match
  4682  	// developer metadata associated on row three as well as metadata associated on
  4683  	// locations that intersect row three. If, for instance, there was developer
  4684  	// metadata associated on column B, this matching strategy would also match
  4685  	// that location because column B intersects row three.
  4686  	LocationMatchingStrategy string `json:"locationMatchingStrategy,omitempty"`
  4687  	// LocationType: Limits the selected developer metadata to those entries which
  4688  	// are associated with locations of the specified type. For example, when this
  4689  	// field is specified as ROW this lookup only considers developer metadata
  4690  	// associated on rows. If the field is left unspecified, all location types are
  4691  	// considered. This field cannot be specified as SPREADSHEET when the
  4692  	// locationMatchingStrategy is specified as INTERSECTING or when the
  4693  	// metadataLocation is specified as a non-spreadsheet location: spreadsheet
  4694  	// metadata cannot intersect any other developer metadata location. This field
  4695  	// also must be left unspecified when the locationMatchingStrategy is specified
  4696  	// as EXACT.
  4697  	//
  4698  	// Possible values:
  4699  	//   "DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED" - Default value.
  4700  	//   "ROW" - Developer metadata associated on an entire row dimension.
  4701  	//   "COLUMN" - Developer metadata associated on an entire column dimension.
  4702  	//   "SHEET" - Developer metadata associated on an entire sheet.
  4703  	//   "SPREADSHEET" - Developer metadata associated on the entire spreadsheet.
  4704  	LocationType string `json:"locationType,omitempty"`
  4705  	// MetadataId: Limits the selected developer metadata to that which has a
  4706  	// matching DeveloperMetadata.metadata_id.
  4707  	MetadataId int64 `json:"metadataId,omitempty"`
  4708  	// MetadataKey: Limits the selected developer metadata to that which has a
  4709  	// matching DeveloperMetadata.metadata_key.
  4710  	MetadataKey string `json:"metadataKey,omitempty"`
  4711  	// MetadataLocation: Limits the selected developer metadata to those entries
  4712  	// associated with the specified location. This field either matches exact
  4713  	// locations or all intersecting locations according the specified
  4714  	// locationMatchingStrategy.
  4715  	MetadataLocation *DeveloperMetadataLocation `json:"metadataLocation,omitempty"`
  4716  	// MetadataValue: Limits the selected developer metadata to that which has a
  4717  	// matching DeveloperMetadata.metadata_value.
  4718  	MetadataValue string `json:"metadataValue,omitempty"`
  4719  	// Visibility: Limits the selected developer metadata to that which has a
  4720  	// matching DeveloperMetadata.visibility. If left unspecified, all developer
  4721  	// metadata visibile to the requesting project is considered.
  4722  	//
  4723  	// Possible values:
  4724  	//   "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED" - Default value.
  4725  	//   "DOCUMENT" - Document-visible metadata is accessible from any developer
  4726  	// project with access to the document.
  4727  	//   "PROJECT" - Project-visible metadata is only visible to and accessible by
  4728  	// the developer project that created the metadata.
  4729  	Visibility string `json:"visibility,omitempty"`
  4730  	// ForceSendFields is a list of field names (e.g. "LocationMatchingStrategy")
  4731  	// to unconditionally include in API requests. By default, fields with empty or
  4732  	// default values are omitted from API requests. See
  4733  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4734  	// details.
  4735  	ForceSendFields []string `json:"-"`
  4736  	// NullFields is a list of field names (e.g. "LocationMatchingStrategy") to
  4737  	// include in API requests with the JSON null value. By default, fields with
  4738  	// empty values are omitted from API requests. See
  4739  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4740  	NullFields []string `json:"-"`
  4741  }
  4742  
  4743  func (s *DeveloperMetadataLookup) MarshalJSON() ([]byte, error) {
  4744  	type NoMethod DeveloperMetadataLookup
  4745  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4746  }
  4747  
  4748  // DimensionGroup: A group over an interval of rows or columns on a sheet,
  4749  // which can contain or be contained within other groups. A group can be
  4750  // collapsed or expanded as a unit on the sheet.
  4751  type DimensionGroup struct {
  4752  	// Collapsed: This field is true if this group is collapsed. A collapsed group
  4753  	// remains collapsed if an overlapping group at a shallower depth is expanded.
  4754  	// A true value does not imply that all dimensions within the group are hidden,
  4755  	// since a dimension's visibility can change independently from this group
  4756  	// property. However, when this property is updated, all dimensions within it
  4757  	// are set to hidden if this field is true, or set to visible if this field is
  4758  	// false.
  4759  	Collapsed bool `json:"collapsed,omitempty"`
  4760  	// Depth: The depth of the group, representing how many groups have a range
  4761  	// that wholly contains the range of this group.
  4762  	Depth int64 `json:"depth,omitempty"`
  4763  	// Range: The range over which this group exists.
  4764  	Range *DimensionRange `json:"range,omitempty"`
  4765  	// ForceSendFields is a list of field names (e.g. "Collapsed") to
  4766  	// unconditionally include in API requests. By default, fields with empty or
  4767  	// default values are omitted from API requests. See
  4768  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4769  	// details.
  4770  	ForceSendFields []string `json:"-"`
  4771  	// NullFields is a list of field names (e.g. "Collapsed") to include in API
  4772  	// requests with the JSON null value. By default, fields with empty values are
  4773  	// omitted from API requests. See
  4774  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4775  	NullFields []string `json:"-"`
  4776  }
  4777  
  4778  func (s *DimensionGroup) MarshalJSON() ([]byte, error) {
  4779  	type NoMethod DimensionGroup
  4780  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4781  }
  4782  
  4783  // DimensionProperties: Properties about a dimension.
  4784  type DimensionProperties struct {
  4785  	// DataSourceColumnReference: Output only. If set, this is a column in a data
  4786  	// source sheet.
  4787  	DataSourceColumnReference *DataSourceColumnReference `json:"dataSourceColumnReference,omitempty"`
  4788  	// DeveloperMetadata: The developer metadata associated with a single row or
  4789  	// column.
  4790  	DeveloperMetadata []*DeveloperMetadata `json:"developerMetadata,omitempty"`
  4791  	// HiddenByFilter: True if this dimension is being filtered. This field is
  4792  	// read-only.
  4793  	HiddenByFilter bool `json:"hiddenByFilter,omitempty"`
  4794  	// HiddenByUser: True if this dimension is explicitly hidden.
  4795  	HiddenByUser bool `json:"hiddenByUser,omitempty"`
  4796  	// PixelSize: The height (if a row) or width (if a column) of the dimension in
  4797  	// pixels.
  4798  	PixelSize int64 `json:"pixelSize,omitempty"`
  4799  	// ForceSendFields is a list of field names (e.g. "DataSourceColumnReference")
  4800  	// to unconditionally include in API requests. By default, fields with empty or
  4801  	// default values are omitted from API requests. See
  4802  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4803  	// details.
  4804  	ForceSendFields []string `json:"-"`
  4805  	// NullFields is a list of field names (e.g. "DataSourceColumnReference") to
  4806  	// include in API requests with the JSON null value. By default, fields with
  4807  	// empty values are omitted from API requests. See
  4808  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4809  	NullFields []string `json:"-"`
  4810  }
  4811  
  4812  func (s *DimensionProperties) MarshalJSON() ([]byte, error) {
  4813  	type NoMethod DimensionProperties
  4814  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4815  }
  4816  
  4817  // DimensionRange: A range along a single dimension on a sheet. All indexes are
  4818  // zero-based. Indexes are half open: the start index is inclusive and the end
  4819  // index is exclusive. Missing indexes indicate the range is unbounded on that
  4820  // side.
  4821  type DimensionRange struct {
  4822  	// Dimension: The dimension of the span.
  4823  	//
  4824  	// Possible values:
  4825  	//   "DIMENSION_UNSPECIFIED" - The default value, do not use.
  4826  	//   "ROWS" - Operates on the rows of a sheet.
  4827  	//   "COLUMNS" - Operates on the columns of a sheet.
  4828  	Dimension string `json:"dimension,omitempty"`
  4829  	// EndIndex: The end (exclusive) of the span, or not set if unbounded.
  4830  	EndIndex int64 `json:"endIndex,omitempty"`
  4831  	// SheetId: The sheet this span is on.
  4832  	SheetId int64 `json:"sheetId,omitempty"`
  4833  	// StartIndex: The start (inclusive) of the span, or not set if unbounded.
  4834  	StartIndex int64 `json:"startIndex,omitempty"`
  4835  	// ForceSendFields is a list of field names (e.g. "Dimension") to
  4836  	// unconditionally include in API requests. By default, fields with empty or
  4837  	// default values are omitted from API requests. See
  4838  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4839  	// details.
  4840  	ForceSendFields []string `json:"-"`
  4841  	// NullFields is a list of field names (e.g. "Dimension") to include in API
  4842  	// requests with the JSON null value. By default, fields with empty values are
  4843  	// omitted from API requests. See
  4844  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4845  	NullFields []string `json:"-"`
  4846  }
  4847  
  4848  func (s *DimensionRange) MarshalJSON() ([]byte, error) {
  4849  	type NoMethod DimensionRange
  4850  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4851  }
  4852  
  4853  // DuplicateFilterViewRequest: Duplicates a particular filter view.
  4854  type DuplicateFilterViewRequest struct {
  4855  	// FilterId: The ID of the filter being duplicated.
  4856  	FilterId int64 `json:"filterId,omitempty"`
  4857  	// ForceSendFields is a list of field names (e.g. "FilterId") to
  4858  	// unconditionally include in API requests. By default, fields with empty or
  4859  	// default values are omitted from API requests. See
  4860  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4861  	// details.
  4862  	ForceSendFields []string `json:"-"`
  4863  	// NullFields is a list of field names (e.g. "FilterId") to include in API
  4864  	// requests with the JSON null value. By default, fields with empty values are
  4865  	// omitted from API requests. See
  4866  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4867  	NullFields []string `json:"-"`
  4868  }
  4869  
  4870  func (s *DuplicateFilterViewRequest) MarshalJSON() ([]byte, error) {
  4871  	type NoMethod DuplicateFilterViewRequest
  4872  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4873  }
  4874  
  4875  // DuplicateFilterViewResponse: The result of a filter view being duplicated.
  4876  type DuplicateFilterViewResponse struct {
  4877  	// Filter: The newly created filter.
  4878  	Filter *FilterView `json:"filter,omitempty"`
  4879  	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
  4880  	// include in API requests. By default, fields with empty or default values are
  4881  	// omitted from API requests. See
  4882  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4883  	// details.
  4884  	ForceSendFields []string `json:"-"`
  4885  	// NullFields is a list of field names (e.g. "Filter") to include in API
  4886  	// requests with the JSON null value. By default, fields with empty values are
  4887  	// omitted from API requests. See
  4888  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4889  	NullFields []string `json:"-"`
  4890  }
  4891  
  4892  func (s *DuplicateFilterViewResponse) MarshalJSON() ([]byte, error) {
  4893  	type NoMethod DuplicateFilterViewResponse
  4894  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4895  }
  4896  
  4897  // DuplicateSheetRequest: Duplicates the contents of a sheet.
  4898  type DuplicateSheetRequest struct {
  4899  	// InsertSheetIndex: The zero-based index where the new sheet should be
  4900  	// inserted. The index of all sheets after this are incremented.
  4901  	InsertSheetIndex int64 `json:"insertSheetIndex,omitempty"`
  4902  	// NewSheetId: If set, the ID of the new sheet. If not set, an ID is chosen. If
  4903  	// set, the ID must not conflict with any existing sheet ID. If set, it must be
  4904  	// non-negative.
  4905  	NewSheetId int64 `json:"newSheetId,omitempty"`
  4906  	// NewSheetName: The name of the new sheet. If empty, a new name is chosen for
  4907  	// you.
  4908  	NewSheetName string `json:"newSheetName,omitempty"`
  4909  	// SourceSheetId: The sheet to duplicate. If the source sheet is of DATA_SOURCE
  4910  	// type, its backing DataSource is also duplicated and associated with the new
  4911  	// copy of the sheet. No data execution is triggered, the grid data of this
  4912  	// sheet is also copied over but only available after the batch request
  4913  	// completes.
  4914  	SourceSheetId int64 `json:"sourceSheetId,omitempty"`
  4915  	// ForceSendFields is a list of field names (e.g. "InsertSheetIndex") to
  4916  	// unconditionally include in API requests. By default, fields with empty or
  4917  	// default values are omitted from API requests. See
  4918  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4919  	// details.
  4920  	ForceSendFields []string `json:"-"`
  4921  	// NullFields is a list of field names (e.g. "InsertSheetIndex") to include in
  4922  	// API requests with the JSON null value. By default, fields with empty values
  4923  	// are omitted from API requests. See
  4924  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4925  	NullFields []string `json:"-"`
  4926  }
  4927  
  4928  func (s *DuplicateSheetRequest) MarshalJSON() ([]byte, error) {
  4929  	type NoMethod DuplicateSheetRequest
  4930  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4931  }
  4932  
  4933  // DuplicateSheetResponse: The result of duplicating a sheet.
  4934  type DuplicateSheetResponse struct {
  4935  	// Properties: The properties of the duplicate sheet.
  4936  	Properties *SheetProperties `json:"properties,omitempty"`
  4937  	// ForceSendFields is a list of field names (e.g. "Properties") to
  4938  	// unconditionally include in API requests. By default, fields with empty or
  4939  	// default values are omitted from API requests. See
  4940  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4941  	// details.
  4942  	ForceSendFields []string `json:"-"`
  4943  	// NullFields is a list of field names (e.g. "Properties") to include in API
  4944  	// requests with the JSON null value. By default, fields with empty values are
  4945  	// omitted from API requests. See
  4946  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4947  	NullFields []string `json:"-"`
  4948  }
  4949  
  4950  func (s *DuplicateSheetResponse) MarshalJSON() ([]byte, error) {
  4951  	type NoMethod DuplicateSheetResponse
  4952  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4953  }
  4954  
  4955  // Editors: The editors of a protected range.
  4956  type Editors struct {
  4957  	// DomainUsersCanEdit: True if anyone in the document's domain has edit access
  4958  	// to the protected range. Domain protection is only supported on documents
  4959  	// within a domain.
  4960  	DomainUsersCanEdit bool `json:"domainUsersCanEdit,omitempty"`
  4961  	// Groups: The email addresses of groups with edit access to the protected
  4962  	// range.
  4963  	Groups []string `json:"groups,omitempty"`
  4964  	// Users: The email addresses of users with edit access to the protected range.
  4965  	Users []string `json:"users,omitempty"`
  4966  	// ForceSendFields is a list of field names (e.g. "DomainUsersCanEdit") to
  4967  	// unconditionally include in API requests. By default, fields with empty or
  4968  	// default values are omitted from API requests. See
  4969  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4970  	// details.
  4971  	ForceSendFields []string `json:"-"`
  4972  	// NullFields is a list of field names (e.g. "DomainUsersCanEdit") to include
  4973  	// in API requests with the JSON null value. By default, fields with empty
  4974  	// values are omitted from API requests. See
  4975  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4976  	NullFields []string `json:"-"`
  4977  }
  4978  
  4979  func (s *Editors) MarshalJSON() ([]byte, error) {
  4980  	type NoMethod Editors
  4981  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4982  }
  4983  
  4984  // EmbeddedChart: A chart embedded in a sheet.
  4985  type EmbeddedChart struct {
  4986  	// Border: The border of the chart.
  4987  	Border *EmbeddedObjectBorder `json:"border,omitempty"`
  4988  	// ChartId: The ID of the chart.
  4989  	ChartId int64 `json:"chartId,omitempty"`
  4990  	// Position: The position of the chart.
  4991  	Position *EmbeddedObjectPosition `json:"position,omitempty"`
  4992  	// Spec: The specification of the chart.
  4993  	Spec *ChartSpec `json:"spec,omitempty"`
  4994  	// ForceSendFields is a list of field names (e.g. "Border") to unconditionally
  4995  	// include in API requests. By default, fields with empty or default values are
  4996  	// omitted from API requests. See
  4997  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4998  	// details.
  4999  	ForceSendFields []string `json:"-"`
  5000  	// NullFields is a list of field names (e.g. "Border") to include in API
  5001  	// requests with the JSON null value. By default, fields with empty values are
  5002  	// omitted from API requests. See
  5003  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5004  	NullFields []string `json:"-"`
  5005  }
  5006  
  5007  func (s *EmbeddedChart) MarshalJSON() ([]byte, error) {
  5008  	type NoMethod EmbeddedChart
  5009  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5010  }
  5011  
  5012  // EmbeddedObjectBorder: A border along an embedded object.
  5013  type EmbeddedObjectBorder struct {
  5014  	// Color: The color of the border. Deprecated: Use color_style.
  5015  	Color *Color `json:"color,omitempty"`
  5016  	// ColorStyle: The color of the border. If color is also set, this field takes
  5017  	// precedence.
  5018  	ColorStyle *ColorStyle `json:"colorStyle,omitempty"`
  5019  	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
  5020  	// include in API requests. By default, fields with empty or default values are
  5021  	// omitted from API requests. See
  5022  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5023  	// details.
  5024  	ForceSendFields []string `json:"-"`
  5025  	// NullFields is a list of field names (e.g. "Color") to include in API
  5026  	// requests with the JSON null value. By default, fields with empty values are
  5027  	// omitted from API requests. See
  5028  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5029  	NullFields []string `json:"-"`
  5030  }
  5031  
  5032  func (s *EmbeddedObjectBorder) MarshalJSON() ([]byte, error) {
  5033  	type NoMethod EmbeddedObjectBorder
  5034  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5035  }
  5036  
  5037  // EmbeddedObjectPosition: The position of an embedded object such as a chart.
  5038  type EmbeddedObjectPosition struct {
  5039  	// NewSheet: If true, the embedded object is put on a new sheet whose ID is
  5040  	// chosen for you. Used only when writing.
  5041  	NewSheet bool `json:"newSheet,omitempty"`
  5042  	// OverlayPosition: The position at which the object is overlaid on top of a
  5043  	// grid.
  5044  	OverlayPosition *OverlayPosition `json:"overlayPosition,omitempty"`
  5045  	// SheetId: The sheet this is on. Set only if the embedded object is on its own
  5046  	// sheet. Must be non-negative.
  5047  	SheetId int64 `json:"sheetId,omitempty"`
  5048  	// ForceSendFields is a list of field names (e.g. "NewSheet") to
  5049  	// unconditionally include in API requests. By default, fields with empty or
  5050  	// default values are omitted from API requests. See
  5051  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5052  	// details.
  5053  	ForceSendFields []string `json:"-"`
  5054  	// NullFields is a list of field names (e.g. "NewSheet") to include in API
  5055  	// requests with the JSON null value. By default, fields with empty values are
  5056  	// omitted from API requests. See
  5057  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5058  	NullFields []string `json:"-"`
  5059  }
  5060  
  5061  func (s *EmbeddedObjectPosition) MarshalJSON() ([]byte, error) {
  5062  	type NoMethod EmbeddedObjectPosition
  5063  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5064  }
  5065  
  5066  // ErrorValue: An error in a cell.
  5067  type ErrorValue struct {
  5068  	// Message: A message with more information about the error (in the
  5069  	// spreadsheet's locale).
  5070  	Message string `json:"message,omitempty"`
  5071  	// Type: The type of error.
  5072  	//
  5073  	// Possible values:
  5074  	//   "ERROR_TYPE_UNSPECIFIED" - The default error type, do not use this.
  5075  	//   "ERROR" - Corresponds to the `#ERROR!` error.
  5076  	//   "NULL_VALUE" - Corresponds to the `#NULL!` error.
  5077  	//   "DIVIDE_BY_ZERO" - Corresponds to the `#DIV/0` error.
  5078  	//   "VALUE" - Corresponds to the `#VALUE!` error.
  5079  	//   "REF" - Corresponds to the `#REF!` error.
  5080  	//   "NAME" - Corresponds to the `#NAME?` error.
  5081  	//   "NUM" - Corresponds to the `#NUM!` error.
  5082  	//   "N_A" - Corresponds to the `#N/A` error.
  5083  	//   "LOADING" - Corresponds to the `Loading...` state.
  5084  	Type string `json:"type,omitempty"`
  5085  	// ForceSendFields is a list of field names (e.g. "Message") to unconditionally
  5086  	// include in API requests. By default, fields with empty or default values are
  5087  	// omitted from API requests. See
  5088  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5089  	// details.
  5090  	ForceSendFields []string `json:"-"`
  5091  	// NullFields is a list of field names (e.g. "Message") to include in API
  5092  	// requests with the JSON null value. By default, fields with empty values are
  5093  	// omitted from API requests. See
  5094  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5095  	NullFields []string `json:"-"`
  5096  }
  5097  
  5098  func (s *ErrorValue) MarshalJSON() ([]byte, error) {
  5099  	type NoMethod ErrorValue
  5100  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5101  }
  5102  
  5103  // ExtendedValue: The kinds of value that a cell in a spreadsheet can have.
  5104  type ExtendedValue struct {
  5105  	// BoolValue: Represents a boolean value.
  5106  	BoolValue *bool `json:"boolValue,omitempty"`
  5107  	// ErrorValue: Represents an error. This field is read-only.
  5108  	ErrorValue *ErrorValue `json:"errorValue,omitempty"`
  5109  	// FormulaValue: Represents a formula.
  5110  	FormulaValue *string `json:"formulaValue,omitempty"`
  5111  	// NumberValue: Represents a double value. Note: Dates, Times and DateTimes are
  5112  	// represented as doubles in SERIAL_NUMBER format.
  5113  	NumberValue *float64 `json:"numberValue,omitempty"`
  5114  	// StringValue: Represents a string value. Leading single quotes are not
  5115  	// included. For example, if the user typed `'123` into the UI, this would be
  5116  	// represented as a `stringValue` of "123".
  5117  	StringValue *string `json:"stringValue,omitempty"`
  5118  	// ForceSendFields is a list of field names (e.g. "BoolValue") to
  5119  	// unconditionally include in API requests. By default, fields with empty or
  5120  	// default values are omitted from API requests. See
  5121  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5122  	// details.
  5123  	ForceSendFields []string `json:"-"`
  5124  	// NullFields is a list of field names (e.g. "BoolValue") to include in API
  5125  	// requests with the JSON null value. By default, fields with empty values are
  5126  	// omitted from API requests. See
  5127  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5128  	NullFields []string `json:"-"`
  5129  }
  5130  
  5131  func (s *ExtendedValue) MarshalJSON() ([]byte, error) {
  5132  	type NoMethod ExtendedValue
  5133  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5134  }
  5135  
  5136  func (s *ExtendedValue) UnmarshalJSON(data []byte) error {
  5137  	type NoMethod ExtendedValue
  5138  	var s1 struct {
  5139  		NumberValue *gensupport.JSONFloat64 `json:"numberValue"`
  5140  		*NoMethod
  5141  	}
  5142  	s1.NoMethod = (*NoMethod)(s)
  5143  	if err := json.Unmarshal(data, &s1); err != nil {
  5144  		return err
  5145  	}
  5146  	if s1.NumberValue != nil {
  5147  		s.NumberValue = (*float64)(s1.NumberValue)
  5148  	}
  5149  	return nil
  5150  }
  5151  
  5152  // FilterCriteria: Criteria for showing/hiding rows in a filter or filter view.
  5153  type FilterCriteria struct {
  5154  	// Condition: A condition that must be true for values to be shown. (This does
  5155  	// not override hidden_values -- if a value is listed there, it will still be
  5156  	// hidden.)
  5157  	Condition *BooleanCondition `json:"condition,omitempty"`
  5158  	// HiddenValues: Values that should be hidden.
  5159  	HiddenValues []string `json:"hiddenValues,omitempty"`
  5160  	// VisibleBackgroundColor: The background fill color to filter by; only cells
  5161  	// with this fill color are shown. Mutually exclusive with
  5162  	// visible_foreground_color. Deprecated: Use visible_background_color_style.
  5163  	VisibleBackgroundColor *Color `json:"visibleBackgroundColor,omitempty"`
  5164  	// VisibleBackgroundColorStyle: The background fill color to filter by; only
  5165  	// cells with this fill color are shown. This field is mutually exclusive with
  5166  	// visible_foreground_color, and must be set to an RGB-type color. If
  5167  	// visible_background_color is also set, this field takes precedence.
  5168  	VisibleBackgroundColorStyle *ColorStyle `json:"visibleBackgroundColorStyle,omitempty"`
  5169  	// VisibleForegroundColor: The foreground color to filter by; only cells with
  5170  	// this foreground color are shown. Mutually exclusive with
  5171  	// visible_background_color. Deprecated: Use visible_foreground_color_style.
  5172  	VisibleForegroundColor *Color `json:"visibleForegroundColor,omitempty"`
  5173  	// VisibleForegroundColorStyle: The foreground color to filter by; only cells
  5174  	// with this foreground color are shown. This field is mutually exclusive with
  5175  	// visible_background_color, and must be set to an RGB-type color. If
  5176  	// visible_foreground_color is also set, this field takes precedence.
  5177  	VisibleForegroundColorStyle *ColorStyle `json:"visibleForegroundColorStyle,omitempty"`
  5178  	// ForceSendFields is a list of field names (e.g. "Condition") to
  5179  	// unconditionally include in API requests. By default, fields with empty or
  5180  	// default values are omitted from API requests. See
  5181  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5182  	// details.
  5183  	ForceSendFields []string `json:"-"`
  5184  	// NullFields is a list of field names (e.g. "Condition") to include in API
  5185  	// requests with the JSON null value. By default, fields with empty values are
  5186  	// omitted from API requests. See
  5187  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5188  	NullFields []string `json:"-"`
  5189  }
  5190  
  5191  func (s *FilterCriteria) MarshalJSON() ([]byte, error) {
  5192  	type NoMethod FilterCriteria
  5193  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5194  }
  5195  
  5196  // FilterSpec: The filter criteria associated with a specific column.
  5197  type FilterSpec struct {
  5198  	// ColumnIndex: The zero-based column index.
  5199  	ColumnIndex int64 `json:"columnIndex,omitempty"`
  5200  	// DataSourceColumnReference: Reference to a data source column.
  5201  	DataSourceColumnReference *DataSourceColumnReference `json:"dataSourceColumnReference,omitempty"`
  5202  	// FilterCriteria: The criteria for the column.
  5203  	FilterCriteria *FilterCriteria `json:"filterCriteria,omitempty"`
  5204  	// ForceSendFields is a list of field names (e.g. "ColumnIndex") to
  5205  	// unconditionally include in API requests. By default, fields with empty or
  5206  	// default values are omitted from API requests. See
  5207  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5208  	// details.
  5209  	ForceSendFields []string `json:"-"`
  5210  	// NullFields is a list of field names (e.g. "ColumnIndex") to include in API
  5211  	// requests with the JSON null value. By default, fields with empty values are
  5212  	// omitted from API requests. See
  5213  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5214  	NullFields []string `json:"-"`
  5215  }
  5216  
  5217  func (s *FilterSpec) MarshalJSON() ([]byte, error) {
  5218  	type NoMethod FilterSpec
  5219  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5220  }
  5221  
  5222  // FilterView: A filter view.
  5223  type FilterView struct {
  5224  	// Criteria: The criteria for showing/hiding values per column. The map's key
  5225  	// is the column index, and the value is the criteria for that column. This
  5226  	// field is deprecated in favor of filter_specs.
  5227  	Criteria map[string]FilterCriteria `json:"criteria,omitempty"`
  5228  	// FilterSpecs: The filter criteria for showing/hiding values per column. Both
  5229  	// criteria and filter_specs are populated in responses. If both fields are
  5230  	// specified in an update request, this field takes precedence.
  5231  	FilterSpecs []*FilterSpec `json:"filterSpecs,omitempty"`
  5232  	// FilterViewId: The ID of the filter view.
  5233  	FilterViewId int64 `json:"filterViewId,omitempty"`
  5234  	// NamedRangeId: The named range this filter view is backed by, if any. When
  5235  	// writing, only one of range or named_range_id may be set.
  5236  	NamedRangeId string `json:"namedRangeId,omitempty"`
  5237  	// Range: The range this filter view covers. When writing, only one of range or
  5238  	// named_range_id may be set.
  5239  	Range *GridRange `json:"range,omitempty"`
  5240  	// SortSpecs: The sort order per column. Later specifications are used when
  5241  	// values are equal in the earlier specifications.
  5242  	SortSpecs []*SortSpec `json:"sortSpecs,omitempty"`
  5243  	// Title: The name of the filter view.
  5244  	Title string `json:"title,omitempty"`
  5245  	// ForceSendFields is a list of field names (e.g. "Criteria") to
  5246  	// unconditionally include in API requests. By default, fields with empty or
  5247  	// default values are omitted from API requests. See
  5248  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5249  	// details.
  5250  	ForceSendFields []string `json:"-"`
  5251  	// NullFields is a list of field names (e.g. "Criteria") to include in API
  5252  	// requests with the JSON null value. By default, fields with empty values are
  5253  	// omitted from API requests. See
  5254  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5255  	NullFields []string `json:"-"`
  5256  }
  5257  
  5258  func (s *FilterView) MarshalJSON() ([]byte, error) {
  5259  	type NoMethod FilterView
  5260  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5261  }
  5262  
  5263  // FindReplaceRequest: Finds and replaces data in cells over a range, sheet, or
  5264  // all sheets.
  5265  type FindReplaceRequest struct {
  5266  	// AllSheets: True to find/replace over all sheets.
  5267  	AllSheets bool `json:"allSheets,omitempty"`
  5268  	// Find: The value to search.
  5269  	Find string `json:"find,omitempty"`
  5270  	// IncludeFormulas: True if the search should include cells with formulas.
  5271  	// False to skip cells with formulas.
  5272  	IncludeFormulas bool `json:"includeFormulas,omitempty"`
  5273  	// MatchCase: True if the search is case sensitive.
  5274  	MatchCase bool `json:"matchCase,omitempty"`
  5275  	// MatchEntireCell: True if the find value should match the entire cell.
  5276  	MatchEntireCell bool `json:"matchEntireCell,omitempty"`
  5277  	// Range: The range to find/replace over.
  5278  	Range *GridRange `json:"range,omitempty"`
  5279  	// Replacement: The value to use as the replacement.
  5280  	Replacement string `json:"replacement,omitempty"`
  5281  	// SearchByRegex: True if the find value is a regex. The regular expression and
  5282  	// replacement should follow Java regex rules at
  5283  	// https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html. The
  5284  	// replacement string is allowed to refer to capturing groups. For example, if
  5285  	// one cell has the contents "Google Sheets" and another has "Google Docs",
  5286  	// then searching for "o.* (.*)" with a replacement of "$1 Rocks" would
  5287  	// change the contents of the cells to "GSheets Rocks" and "GDocs Rocks"
  5288  	// respectively.
  5289  	SearchByRegex bool `json:"searchByRegex,omitempty"`
  5290  	// SheetId: The sheet to find/replace over.
  5291  	SheetId int64 `json:"sheetId,omitempty"`
  5292  	// ForceSendFields is a list of field names (e.g. "AllSheets") to
  5293  	// unconditionally include in API requests. By default, fields with empty or
  5294  	// default values are omitted from API requests. See
  5295  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5296  	// details.
  5297  	ForceSendFields []string `json:"-"`
  5298  	// NullFields is a list of field names (e.g. "AllSheets") to include in API
  5299  	// requests with the JSON null value. By default, fields with empty values are
  5300  	// omitted from API requests. See
  5301  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5302  	NullFields []string `json:"-"`
  5303  }
  5304  
  5305  func (s *FindReplaceRequest) MarshalJSON() ([]byte, error) {
  5306  	type NoMethod FindReplaceRequest
  5307  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5308  }
  5309  
  5310  // FindReplaceResponse: The result of the find/replace.
  5311  type FindReplaceResponse struct {
  5312  	// FormulasChanged: The number of formula cells changed.
  5313  	FormulasChanged int64 `json:"formulasChanged,omitempty"`
  5314  	// OccurrencesChanged: The number of occurrences (possibly multiple within a
  5315  	// cell) changed. For example, if replacing "e" with "o" in "Google
  5316  	// Sheets", this would be "3" because "Google Sheets" -> "Googlo
  5317  	// Shoots".
  5318  	OccurrencesChanged int64 `json:"occurrencesChanged,omitempty"`
  5319  	// RowsChanged: The number of rows changed.
  5320  	RowsChanged int64 `json:"rowsChanged,omitempty"`
  5321  	// SheetsChanged: The number of sheets changed.
  5322  	SheetsChanged int64 `json:"sheetsChanged,omitempty"`
  5323  	// ValuesChanged: The number of non-formula cells changed.
  5324  	ValuesChanged int64 `json:"valuesChanged,omitempty"`
  5325  	// ForceSendFields is a list of field names (e.g. "FormulasChanged") to
  5326  	// unconditionally include in API requests. By default, fields with empty or
  5327  	// default values are omitted from API requests. See
  5328  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5329  	// details.
  5330  	ForceSendFields []string `json:"-"`
  5331  	// NullFields is a list of field names (e.g. "FormulasChanged") to include in
  5332  	// API requests with the JSON null value. By default, fields with empty values
  5333  	// are omitted from API requests. See
  5334  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5335  	NullFields []string `json:"-"`
  5336  }
  5337  
  5338  func (s *FindReplaceResponse) MarshalJSON() ([]byte, error) {
  5339  	type NoMethod FindReplaceResponse
  5340  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5341  }
  5342  
  5343  // GetSpreadsheetByDataFilterRequest: The request for retrieving a Spreadsheet.
  5344  type GetSpreadsheetByDataFilterRequest struct {
  5345  	// DataFilters: The DataFilters used to select which ranges to retrieve from
  5346  	// the spreadsheet.
  5347  	DataFilters []*DataFilter `json:"dataFilters,omitempty"`
  5348  	// IncludeGridData: True if grid data should be returned. This parameter is
  5349  	// ignored if a field mask was set in the request.
  5350  	IncludeGridData bool `json:"includeGridData,omitempty"`
  5351  	// ForceSendFields is a list of field names (e.g. "DataFilters") to
  5352  	// unconditionally include in API requests. By default, fields with empty or
  5353  	// default values are omitted from API requests. See
  5354  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5355  	// details.
  5356  	ForceSendFields []string `json:"-"`
  5357  	// NullFields is a list of field names (e.g. "DataFilters") to include in API
  5358  	// requests with the JSON null value. By default, fields with empty values are
  5359  	// omitted from API requests. See
  5360  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5361  	NullFields []string `json:"-"`
  5362  }
  5363  
  5364  func (s *GetSpreadsheetByDataFilterRequest) MarshalJSON() ([]byte, error) {
  5365  	type NoMethod GetSpreadsheetByDataFilterRequest
  5366  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5367  }
  5368  
  5369  // GradientRule: A rule that applies a gradient color scale format, based on
  5370  // the interpolation points listed. The format of a cell will vary based on its
  5371  // contents as compared to the values of the interpolation points.
  5372  type GradientRule struct {
  5373  	// Maxpoint: The final interpolation point.
  5374  	Maxpoint *InterpolationPoint `json:"maxpoint,omitempty"`
  5375  	// Midpoint: An optional midway interpolation point.
  5376  	Midpoint *InterpolationPoint `json:"midpoint,omitempty"`
  5377  	// Minpoint: The starting interpolation point.
  5378  	Minpoint *InterpolationPoint `json:"minpoint,omitempty"`
  5379  	// ForceSendFields is a list of field names (e.g. "Maxpoint") to
  5380  	// unconditionally include in API requests. By default, fields with empty or
  5381  	// default values are omitted from API requests. See
  5382  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5383  	// details.
  5384  	ForceSendFields []string `json:"-"`
  5385  	// NullFields is a list of field names (e.g. "Maxpoint") to include in API
  5386  	// requests with the JSON null value. By default, fields with empty values are
  5387  	// omitted from API requests. See
  5388  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5389  	NullFields []string `json:"-"`
  5390  }
  5391  
  5392  func (s *GradientRule) MarshalJSON() ([]byte, error) {
  5393  	type NoMethod GradientRule
  5394  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5395  }
  5396  
  5397  // GridCoordinate: A coordinate in a sheet. All indexes are zero-based.
  5398  type GridCoordinate struct {
  5399  	// ColumnIndex: The column index of the coordinate.
  5400  	ColumnIndex int64 `json:"columnIndex,omitempty"`
  5401  	// RowIndex: The row index of the coordinate.
  5402  	RowIndex int64 `json:"rowIndex,omitempty"`
  5403  	// SheetId: The sheet this coordinate is on.
  5404  	SheetId int64 `json:"sheetId,omitempty"`
  5405  	// ForceSendFields is a list of field names (e.g. "ColumnIndex") to
  5406  	// unconditionally include in API requests. By default, fields with empty or
  5407  	// default values are omitted from API requests. See
  5408  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5409  	// details.
  5410  	ForceSendFields []string `json:"-"`
  5411  	// NullFields is a list of field names (e.g. "ColumnIndex") to include in API
  5412  	// requests with the JSON null value. By default, fields with empty values are
  5413  	// omitted from API requests. See
  5414  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5415  	NullFields []string `json:"-"`
  5416  }
  5417  
  5418  func (s *GridCoordinate) MarshalJSON() ([]byte, error) {
  5419  	type NoMethod GridCoordinate
  5420  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5421  }
  5422  
  5423  // GridData: Data in the grid, as well as metadata about the dimensions.
  5424  type GridData struct {
  5425  	// ColumnMetadata: Metadata about the requested columns in the grid, starting
  5426  	// with the column in start_column.
  5427  	ColumnMetadata []*DimensionProperties `json:"columnMetadata,omitempty"`
  5428  	// RowData: The data in the grid, one entry per row, starting with the row in
  5429  	// startRow. The values in RowData will correspond to columns starting at
  5430  	// start_column.
  5431  	RowData []*RowData `json:"rowData,omitempty"`
  5432  	// RowMetadata: Metadata about the requested rows in the grid, starting with
  5433  	// the row in start_row.
  5434  	RowMetadata []*DimensionProperties `json:"rowMetadata,omitempty"`
  5435  	// StartColumn: The first column this GridData refers to, zero-based.
  5436  	StartColumn int64 `json:"startColumn,omitempty"`
  5437  	// StartRow: The first row this GridData refers to, zero-based.
  5438  	StartRow int64 `json:"startRow,omitempty"`
  5439  	// ForceSendFields is a list of field names (e.g. "ColumnMetadata") to
  5440  	// unconditionally include in API requests. By default, fields with empty or
  5441  	// default values are omitted from API requests. See
  5442  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5443  	// details.
  5444  	ForceSendFields []string `json:"-"`
  5445  	// NullFields is a list of field names (e.g. "ColumnMetadata") to include in
  5446  	// API requests with the JSON null value. By default, fields with empty values
  5447  	// are omitted from API requests. See
  5448  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5449  	NullFields []string `json:"-"`
  5450  }
  5451  
  5452  func (s *GridData) MarshalJSON() ([]byte, error) {
  5453  	type NoMethod GridData
  5454  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5455  }
  5456  
  5457  // GridProperties: Properties of a grid.
  5458  type GridProperties struct {
  5459  	// ColumnCount: The number of columns in the grid.
  5460  	ColumnCount int64 `json:"columnCount,omitempty"`
  5461  	// ColumnGroupControlAfter: True if the column grouping control toggle is shown
  5462  	// after the group.
  5463  	ColumnGroupControlAfter bool `json:"columnGroupControlAfter,omitempty"`
  5464  	// FrozenColumnCount: The number of columns that are frozen in the grid.
  5465  	FrozenColumnCount int64 `json:"frozenColumnCount,omitempty"`
  5466  	// FrozenRowCount: The number of rows that are frozen in the grid.
  5467  	FrozenRowCount int64 `json:"frozenRowCount,omitempty"`
  5468  	// HideGridlines: True if the grid isn't showing gridlines in the UI.
  5469  	HideGridlines bool `json:"hideGridlines,omitempty"`
  5470  	// RowCount: The number of rows in the grid.
  5471  	RowCount int64 `json:"rowCount,omitempty"`
  5472  	// RowGroupControlAfter: True if the row grouping control toggle is shown after
  5473  	// the group.
  5474  	RowGroupControlAfter bool `json:"rowGroupControlAfter,omitempty"`
  5475  	// ForceSendFields is a list of field names (e.g. "ColumnCount") to
  5476  	// unconditionally include in API requests. By default, fields with empty or
  5477  	// default values are omitted from API requests. See
  5478  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5479  	// details.
  5480  	ForceSendFields []string `json:"-"`
  5481  	// NullFields is a list of field names (e.g. "ColumnCount") to include in API
  5482  	// requests with the JSON null value. By default, fields with empty values are
  5483  	// omitted from API requests. See
  5484  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5485  	NullFields []string `json:"-"`
  5486  }
  5487  
  5488  func (s *GridProperties) MarshalJSON() ([]byte, error) {
  5489  	type NoMethod GridProperties
  5490  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5491  }
  5492  
  5493  // GridRange: A range on a sheet. All indexes are zero-based. Indexes are half
  5494  // open, i.e. the start index is inclusive and the end index is exclusive --
  5495  // [start_index, end_index). Missing indexes indicate the range is unbounded on
  5496  // that side. For example, if "Sheet1" is sheet ID 123456, then:
  5497  // `Sheet1!A1:A1 == sheet_id: 123456, start_row_index: 0, end_row_index: 1,
  5498  // start_column_index: 0, end_column_index: 1` `Sheet1!A3:B4 == sheet_id:
  5499  // 123456, start_row_index: 2, end_row_index: 4, start_column_index: 0,
  5500  // end_column_index: 2` `Sheet1!A:B == sheet_id: 123456, start_column_index: 0,
  5501  // end_column_index: 2` `Sheet1!A5:B == sheet_id: 123456, start_row_index: 4,
  5502  // start_column_index: 0, end_column_index: 2` `Sheet1 == sheet_id: 123456` The
  5503  // start index must always be less than or equal to the end index. If the start
  5504  // index equals the end index, then the range is empty. Empty ranges are
  5505  // typically not meaningful and are usually rendered in the UI as `#REF!`.
  5506  type GridRange struct {
  5507  	// EndColumnIndex: The end column (exclusive) of the range, or not set if
  5508  	// unbounded.
  5509  	EndColumnIndex int64 `json:"endColumnIndex,omitempty"`
  5510  	// EndRowIndex: The end row (exclusive) of the range, or not set if unbounded.
  5511  	EndRowIndex int64 `json:"endRowIndex,omitempty"`
  5512  	// SheetId: The sheet this range is on.
  5513  	SheetId int64 `json:"sheetId,omitempty"`
  5514  	// StartColumnIndex: The start column (inclusive) of the range, or not set if
  5515  	// unbounded.
  5516  	StartColumnIndex int64 `json:"startColumnIndex,omitempty"`
  5517  	// StartRowIndex: The start row (inclusive) of the range, or not set if
  5518  	// unbounded.
  5519  	StartRowIndex int64 `json:"startRowIndex,omitempty"`
  5520  	// ForceSendFields is a list of field names (e.g. "EndColumnIndex") to
  5521  	// unconditionally include in API requests. By default, fields with empty or
  5522  	// default values are omitted from API requests. See
  5523  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5524  	// details.
  5525  	ForceSendFields []string `json:"-"`
  5526  	// NullFields is a list of field names (e.g. "EndColumnIndex") to include in
  5527  	// API requests with the JSON null value. By default, fields with empty values
  5528  	// are omitted from API requests. See
  5529  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5530  	NullFields []string `json:"-"`
  5531  }
  5532  
  5533  func (s *GridRange) MarshalJSON() ([]byte, error) {
  5534  	type NoMethod GridRange
  5535  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5536  }
  5537  
  5538  // HistogramChartSpec: A histogram chart. A histogram chart groups data items
  5539  // into bins, displaying each bin as a column of stacked items. Histograms are
  5540  // used to display the distribution of a dataset. Each column of items
  5541  // represents a range into which those items fall. The number of bins can be
  5542  // chosen automatically or specified explicitly.
  5543  type HistogramChartSpec struct {
  5544  	// BucketSize: By default the bucket size (the range of values stacked in a
  5545  	// single column) is chosen automatically, but it may be overridden here. E.g.,
  5546  	// A bucket size of 1.5 results in buckets from 0 - 1.5, 1.5 - 3.0, etc. Cannot
  5547  	// be negative. This field is optional.
  5548  	BucketSize float64 `json:"bucketSize,omitempty"`
  5549  	// LegendPosition: The position of the chart legend.
  5550  	//
  5551  	// Possible values:
  5552  	//   "HISTOGRAM_CHART_LEGEND_POSITION_UNSPECIFIED" - Default value, do not use.
  5553  	//   "BOTTOM_LEGEND" - The legend is rendered on the bottom of the chart.
  5554  	//   "LEFT_LEGEND" - The legend is rendered on the left of the chart.
  5555  	//   "RIGHT_LEGEND" - The legend is rendered on the right of the chart.
  5556  	//   "TOP_LEGEND" - The legend is rendered on the top of the chart.
  5557  	//   "NO_LEGEND" - No legend is rendered.
  5558  	//   "INSIDE_LEGEND" - The legend is rendered inside the chart area.
  5559  	LegendPosition string `json:"legendPosition,omitempty"`
  5560  	// OutlierPercentile: The outlier percentile is used to ensure that outliers do
  5561  	// not adversely affect the calculation of bucket sizes. For example, setting
  5562  	// an outlier percentile of 0.05 indicates that the top and bottom 5% of values
  5563  	// when calculating buckets. The values are still included in the chart, they
  5564  	// will be added to the first or last buckets instead of their own buckets.
  5565  	// Must be between 0.0 and 0.5.
  5566  	OutlierPercentile float64 `json:"outlierPercentile,omitempty"`
  5567  	// Series: The series for a histogram may be either a single series of values
  5568  	// to be bucketed or multiple series, each of the same length, containing the
  5569  	// name of the series followed by the values to be bucketed for that series.
  5570  	Series []*HistogramSeries `json:"series,omitempty"`
  5571  	// ShowItemDividers: Whether horizontal divider lines should be displayed
  5572  	// between items in each column.
  5573  	ShowItemDividers bool `json:"showItemDividers,omitempty"`
  5574  	// ForceSendFields is a list of field names (e.g. "BucketSize") to
  5575  	// unconditionally include in API requests. By default, fields with empty or
  5576  	// default values are omitted from API requests. See
  5577  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5578  	// details.
  5579  	ForceSendFields []string `json:"-"`
  5580  	// NullFields is a list of field names (e.g. "BucketSize") to include in API
  5581  	// requests with the JSON null value. By default, fields with empty values are
  5582  	// omitted from API requests. See
  5583  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5584  	NullFields []string `json:"-"`
  5585  }
  5586  
  5587  func (s *HistogramChartSpec) MarshalJSON() ([]byte, error) {
  5588  	type NoMethod HistogramChartSpec
  5589  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5590  }
  5591  
  5592  func (s *HistogramChartSpec) UnmarshalJSON(data []byte) error {
  5593  	type NoMethod HistogramChartSpec
  5594  	var s1 struct {
  5595  		BucketSize        gensupport.JSONFloat64 `json:"bucketSize"`
  5596  		OutlierPercentile gensupport.JSONFloat64 `json:"outlierPercentile"`
  5597  		*NoMethod
  5598  	}
  5599  	s1.NoMethod = (*NoMethod)(s)
  5600  	if err := json.Unmarshal(data, &s1); err != nil {
  5601  		return err
  5602  	}
  5603  	s.BucketSize = float64(s1.BucketSize)
  5604  	s.OutlierPercentile = float64(s1.OutlierPercentile)
  5605  	return nil
  5606  }
  5607  
  5608  // HistogramRule: Allows you to organize the numeric values in a source data
  5609  // column into buckets of a constant size. All values from HistogramRule.start
  5610  // to HistogramRule.end are placed into groups of size HistogramRule.interval.
  5611  // In addition, all values below HistogramRule.start are placed in one group,
  5612  // and all values above HistogramRule.end are placed in another. Only
  5613  // HistogramRule.interval is required, though if HistogramRule.start and
  5614  // HistogramRule.end are both provided, HistogramRule.start must be less than
  5615  // HistogramRule.end. For example, a pivot table showing average purchase
  5616  // amount by age that has 50+ rows: +-----+-------------------+ | Age | AVERAGE
  5617  // of Amount | +-----+-------------------+ | 16 | $27.13 | | 17 | $5.24 | | 18
  5618  // | $20.15 | ... +-----+-------------------+ could be turned into a pivot
  5619  // table that looks like the one below by applying a histogram group rule with
  5620  // a HistogramRule.start of 25, an HistogramRule.interval of 20, and an
  5621  // HistogramRule.end of 65. +-------------+-------------------+ | Grouped Age |
  5622  // AVERAGE of Amount | +-------------+-------------------+ | < 25 | $19.34 | |
  5623  // 25-45 | $31.43 | | 45-65 | $35.87 | | > 65 | $27.55 |
  5624  // +-------------+-------------------+ | Grand Total | $29.12 |
  5625  // +-------------+-------------------+
  5626  type HistogramRule struct {
  5627  	// End: The maximum value at which items are placed into buckets of constant
  5628  	// size. Values above end are lumped into a single bucket. This field is
  5629  	// optional.
  5630  	End float64 `json:"end,omitempty"`
  5631  	// Interval: The size of the buckets that are created. Must be positive.
  5632  	Interval float64 `json:"interval,omitempty"`
  5633  	// Start: The minimum value at which items are placed into buckets of constant
  5634  	// size. Values below start are lumped into a single bucket. This field is
  5635  	// optional.
  5636  	Start float64 `json:"start,omitempty"`
  5637  	// ForceSendFields is a list of field names (e.g. "End") to unconditionally
  5638  	// include in API requests. By default, fields with empty or default values are
  5639  	// omitted from API requests. See
  5640  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5641  	// details.
  5642  	ForceSendFields []string `json:"-"`
  5643  	// NullFields is a list of field names (e.g. "End") to include in API requests
  5644  	// with the JSON null value. By default, fields with empty values are omitted
  5645  	// from API requests. See
  5646  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5647  	NullFields []string `json:"-"`
  5648  }
  5649  
  5650  func (s *HistogramRule) MarshalJSON() ([]byte, error) {
  5651  	type NoMethod HistogramRule
  5652  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5653  }
  5654  
  5655  func (s *HistogramRule) UnmarshalJSON(data []byte) error {
  5656  	type NoMethod HistogramRule
  5657  	var s1 struct {
  5658  		End      gensupport.JSONFloat64 `json:"end"`
  5659  		Interval gensupport.JSONFloat64 `json:"interval"`
  5660  		Start    gensupport.JSONFloat64 `json:"start"`
  5661  		*NoMethod
  5662  	}
  5663  	s1.NoMethod = (*NoMethod)(s)
  5664  	if err := json.Unmarshal(data, &s1); err != nil {
  5665  		return err
  5666  	}
  5667  	s.End = float64(s1.End)
  5668  	s.Interval = float64(s1.Interval)
  5669  	s.Start = float64(s1.Start)
  5670  	return nil
  5671  }
  5672  
  5673  // HistogramSeries: A histogram series containing the series color and data.
  5674  type HistogramSeries struct {
  5675  	// BarColor: The color of the column representing this series in each bucket.
  5676  	// This field is optional. Deprecated: Use bar_color_style.
  5677  	BarColor *Color `json:"barColor,omitempty"`
  5678  	// BarColorStyle: The color of the column representing this series in each
  5679  	// bucket. This field is optional. If bar_color is also set, this field takes
  5680  	// precedence.
  5681  	BarColorStyle *ColorStyle `json:"barColorStyle,omitempty"`
  5682  	// Data: The data for this histogram series.
  5683  	Data *ChartData `json:"data,omitempty"`
  5684  	// ForceSendFields is a list of field names (e.g. "BarColor") to
  5685  	// unconditionally include in API requests. By default, fields with empty or
  5686  	// default values are omitted from API requests. See
  5687  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5688  	// details.
  5689  	ForceSendFields []string `json:"-"`
  5690  	// NullFields is a list of field names (e.g. "BarColor") to include in API
  5691  	// requests with the JSON null value. By default, fields with empty values are
  5692  	// omitted from API requests. See
  5693  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5694  	NullFields []string `json:"-"`
  5695  }
  5696  
  5697  func (s *HistogramSeries) MarshalJSON() ([]byte, error) {
  5698  	type NoMethod HistogramSeries
  5699  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5700  }
  5701  
  5702  // InsertDimensionRequest: Inserts rows or columns in a sheet at a particular
  5703  // index.
  5704  type InsertDimensionRequest struct {
  5705  	// InheritFromBefore: Whether dimension properties should be extended from the
  5706  	// dimensions before or after the newly inserted dimensions. True to inherit
  5707  	// from the dimensions before (in which case the start index must be greater
  5708  	// than 0), and false to inherit from the dimensions after. For example, if row
  5709  	// index 0 has red background and row index 1 has a green background, then
  5710  	// inserting 2 rows at index 1 can inherit either the green or red background.
  5711  	// If `inheritFromBefore` is true, the two new rows will be red (because the
  5712  	// row before the insertion point was red), whereas if `inheritFromBefore` is
  5713  	// false, the two new rows will be green (because the row after the insertion
  5714  	// point was green).
  5715  	InheritFromBefore bool `json:"inheritFromBefore,omitempty"`
  5716  	// Range: The dimensions to insert. Both the start and end indexes must be
  5717  	// bounded.
  5718  	Range *DimensionRange `json:"range,omitempty"`
  5719  	// ForceSendFields is a list of field names (e.g. "InheritFromBefore") to
  5720  	// unconditionally include in API requests. By default, fields with empty or
  5721  	// default values are omitted from API requests. See
  5722  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5723  	// details.
  5724  	ForceSendFields []string `json:"-"`
  5725  	// NullFields is a list of field names (e.g. "InheritFromBefore") to include in
  5726  	// API requests with the JSON null value. By default, fields with empty values
  5727  	// are omitted from API requests. See
  5728  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5729  	NullFields []string `json:"-"`
  5730  }
  5731  
  5732  func (s *InsertDimensionRequest) MarshalJSON() ([]byte, error) {
  5733  	type NoMethod InsertDimensionRequest
  5734  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5735  }
  5736  
  5737  // InsertRangeRequest: Inserts cells into a range, shifting the existing cells
  5738  // over or down.
  5739  type InsertRangeRequest struct {
  5740  	// Range: The range to insert new cells into.
  5741  	Range *GridRange `json:"range,omitempty"`
  5742  	// ShiftDimension: The dimension which will be shifted when inserting cells. If
  5743  	// ROWS, existing cells will be shifted down. If COLUMNS, existing cells will
  5744  	// be shifted right.
  5745  	//
  5746  	// Possible values:
  5747  	//   "DIMENSION_UNSPECIFIED" - The default value, do not use.
  5748  	//   "ROWS" - Operates on the rows of a sheet.
  5749  	//   "COLUMNS" - Operates on the columns of a sheet.
  5750  	ShiftDimension string `json:"shiftDimension,omitempty"`
  5751  	// ForceSendFields is a list of field names (e.g. "Range") to unconditionally
  5752  	// include in API requests. By default, fields with empty or default values are
  5753  	// omitted from API requests. See
  5754  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5755  	// details.
  5756  	ForceSendFields []string `json:"-"`
  5757  	// NullFields is a list of field names (e.g. "Range") to include in API
  5758  	// requests with the JSON null value. By default, fields with empty values are
  5759  	// omitted from API requests. See
  5760  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5761  	NullFields []string `json:"-"`
  5762  }
  5763  
  5764  func (s *InsertRangeRequest) MarshalJSON() ([]byte, error) {
  5765  	type NoMethod InsertRangeRequest
  5766  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5767  }
  5768  
  5769  // InterpolationPoint: A single interpolation point on a gradient conditional
  5770  // format. These pin the gradient color scale according to the color, type and
  5771  // value chosen.
  5772  type InterpolationPoint struct {
  5773  	// Color: The color this interpolation point should use. Deprecated: Use
  5774  	// color_style.
  5775  	Color *Color `json:"color,omitempty"`
  5776  	// ColorStyle: The color this interpolation point should use. If color is also
  5777  	// set, this field takes precedence.
  5778  	ColorStyle *ColorStyle `json:"colorStyle,omitempty"`
  5779  	// Type: How the value should be interpreted.
  5780  	//
  5781  	// Possible values:
  5782  	//   "INTERPOLATION_POINT_TYPE_UNSPECIFIED" - The default value, do not use.
  5783  	//   "MIN" - The interpolation point uses the minimum value in the cells over
  5784  	// the range of the conditional format.
  5785  	//   "MAX" - The interpolation point uses the maximum value in the cells over
  5786  	// the range of the conditional format.
  5787  	//   "NUMBER" - The interpolation point uses exactly the value in
  5788  	// InterpolationPoint.value.
  5789  	//   "PERCENT" - The interpolation point is the given percentage over all the
  5790  	// cells in the range of the conditional format. This is equivalent to `NUMBER`
  5791  	// if the value was: `=(MAX(FLATTEN(range)) * (value / 100)) +
  5792  	// (MIN(FLATTEN(range)) * (1 - (value / 100)))` (where errors in the range are
  5793  	// ignored when flattening).
  5794  	//   "PERCENTILE" - The interpolation point is the given percentile over all
  5795  	// the cells in the range of the conditional format. This is equivalent to
  5796  	// `NUMBER` if the value was: `=PERCENTILE(FLATTEN(range), value / 100)` (where
  5797  	// errors in the range are ignored when flattening).
  5798  	Type string `json:"type,omitempty"`
  5799  	// Value: The value this interpolation point uses. May be a formula. Unused if
  5800  	// type is MIN or MAX.
  5801  	Value string `json:"value,omitempty"`
  5802  	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
  5803  	// include in API requests. By default, fields with empty or default values are
  5804  	// omitted from API requests. See
  5805  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5806  	// details.
  5807  	ForceSendFields []string `json:"-"`
  5808  	// NullFields is a list of field names (e.g. "Color") to include in API
  5809  	// requests with the JSON null value. By default, fields with empty values are
  5810  	// omitted from API requests. See
  5811  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5812  	NullFields []string `json:"-"`
  5813  }
  5814  
  5815  func (s *InterpolationPoint) MarshalJSON() ([]byte, error) {
  5816  	type NoMethod InterpolationPoint
  5817  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5818  }
  5819  
  5820  // Interval: Represents a time interval, encoded as a Timestamp start
  5821  // (inclusive) and a Timestamp end (exclusive). The start must be less than or
  5822  // equal to the end. When the start equals the end, the interval is empty
  5823  // (matches no time). When both start and end are unspecified, the interval
  5824  // matches any time.
  5825  type Interval struct {
  5826  	// EndTime: Optional. Exclusive end of the interval. If specified, a Timestamp
  5827  	// matching this interval will have to be before the end.
  5828  	EndTime string `json:"endTime,omitempty"`
  5829  	// StartTime: Optional. Inclusive start of the interval. If specified, a
  5830  	// Timestamp matching this interval will have to be the same or after the
  5831  	// start.
  5832  	StartTime string `json:"startTime,omitempty"`
  5833  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
  5834  	// include in API requests. By default, fields with empty or default values are
  5835  	// omitted from API requests. See
  5836  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5837  	// details.
  5838  	ForceSendFields []string `json:"-"`
  5839  	// NullFields is a list of field names (e.g. "EndTime") to include in API
  5840  	// requests with the JSON null value. By default, fields with empty values are
  5841  	// omitted from API requests. See
  5842  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5843  	NullFields []string `json:"-"`
  5844  }
  5845  
  5846  func (s *Interval) MarshalJSON() ([]byte, error) {
  5847  	type NoMethod Interval
  5848  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5849  }
  5850  
  5851  // IterativeCalculationSettings: Settings to control how circular dependencies
  5852  // are resolved with iterative calculation.
  5853  type IterativeCalculationSettings struct {
  5854  	// ConvergenceThreshold: When iterative calculation is enabled and successive
  5855  	// results differ by less than this threshold value, the calculation rounds
  5856  	// stop.
  5857  	ConvergenceThreshold float64 `json:"convergenceThreshold,omitempty"`
  5858  	// MaxIterations: When iterative calculation is enabled, the maximum number of
  5859  	// calculation rounds to perform.
  5860  	MaxIterations int64 `json:"maxIterations,omitempty"`
  5861  	// ForceSendFields is a list of field names (e.g. "ConvergenceThreshold") to
  5862  	// unconditionally include in API requests. By default, fields with empty or
  5863  	// default values are omitted from API requests. See
  5864  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5865  	// details.
  5866  	ForceSendFields []string `json:"-"`
  5867  	// NullFields is a list of field names (e.g. "ConvergenceThreshold") to include
  5868  	// in API requests with the JSON null value. By default, fields with empty
  5869  	// values are omitted from API requests. See
  5870  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5871  	NullFields []string `json:"-"`
  5872  }
  5873  
  5874  func (s *IterativeCalculationSettings) MarshalJSON() ([]byte, error) {
  5875  	type NoMethod IterativeCalculationSettings
  5876  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5877  }
  5878  
  5879  func (s *IterativeCalculationSettings) UnmarshalJSON(data []byte) error {
  5880  	type NoMethod IterativeCalculationSettings
  5881  	var s1 struct {
  5882  		ConvergenceThreshold gensupport.JSONFloat64 `json:"convergenceThreshold"`
  5883  		*NoMethod
  5884  	}
  5885  	s1.NoMethod = (*NoMethod)(s)
  5886  	if err := json.Unmarshal(data, &s1); err != nil {
  5887  		return err
  5888  	}
  5889  	s.ConvergenceThreshold = float64(s1.ConvergenceThreshold)
  5890  	return nil
  5891  }
  5892  
  5893  // KeyValueFormat: Formatting options for key value.
  5894  type KeyValueFormat struct {
  5895  	// Position: Specifies the horizontal text positioning of key value. This field
  5896  	// is optional. If not specified, default positioning is used.
  5897  	Position *TextPosition `json:"position,omitempty"`
  5898  	// TextFormat: Text formatting options for key value. The link field is not
  5899  	// supported.
  5900  	TextFormat *TextFormat `json:"textFormat,omitempty"`
  5901  	// ForceSendFields is a list of field names (e.g. "Position") to
  5902  	// unconditionally include in API requests. By default, fields with empty or
  5903  	// default values are omitted from API requests. See
  5904  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5905  	// details.
  5906  	ForceSendFields []string `json:"-"`
  5907  	// NullFields is a list of field names (e.g. "Position") to include in API
  5908  	// requests with the JSON null value. By default, fields with empty values are
  5909  	// omitted from API requests. See
  5910  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5911  	NullFields []string `json:"-"`
  5912  }
  5913  
  5914  func (s *KeyValueFormat) MarshalJSON() ([]byte, error) {
  5915  	type NoMethod KeyValueFormat
  5916  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5917  }
  5918  
  5919  // LineStyle: Properties that describe the style of a line.
  5920  type LineStyle struct {
  5921  	// Type: The dash type of the line.
  5922  	//
  5923  	// Possible values:
  5924  	//   "LINE_DASH_TYPE_UNSPECIFIED" - Default value, do not use.
  5925  	//   "INVISIBLE" - No dash type, which is equivalent to a non-visible line.
  5926  	//   "CUSTOM" - A custom dash for a line. Modifying the exact custom dash style
  5927  	// is currently unsupported.
  5928  	//   "SOLID" - A solid line.
  5929  	//   "DOTTED" - A dotted line.
  5930  	//   "MEDIUM_DASHED" - A dashed line where the dashes have "medium" length.
  5931  	//   "MEDIUM_DASHED_DOTTED" - A line that alternates between a "medium" dash
  5932  	// and a dot.
  5933  	//   "LONG_DASHED" - A dashed line where the dashes have "long" length.
  5934  	//   "LONG_DASHED_DOTTED" - A line that alternates between a "long" dash and a
  5935  	// dot.
  5936  	Type string `json:"type,omitempty"`
  5937  	// Width: The thickness of the line, in px.
  5938  	Width int64 `json:"width,omitempty"`
  5939  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  5940  	// include in API requests. By default, fields with empty or default values are
  5941  	// omitted from API requests. See
  5942  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5943  	// details.
  5944  	ForceSendFields []string `json:"-"`
  5945  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  5946  	// with the JSON null value. By default, fields with empty values are omitted
  5947  	// from API requests. See
  5948  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5949  	NullFields []string `json:"-"`
  5950  }
  5951  
  5952  func (s *LineStyle) MarshalJSON() ([]byte, error) {
  5953  	type NoMethod LineStyle
  5954  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5955  }
  5956  
  5957  // Link: An external or local reference.
  5958  type Link struct {
  5959  	// Uri: The link identifier.
  5960  	Uri string `json:"uri,omitempty"`
  5961  	// ForceSendFields is a list of field names (e.g. "Uri") to unconditionally
  5962  	// include in API requests. By default, fields with empty or default values are
  5963  	// omitted from API requests. See
  5964  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5965  	// details.
  5966  	ForceSendFields []string `json:"-"`
  5967  	// NullFields is a list of field names (e.g. "Uri") to include in API requests
  5968  	// with the JSON null value. By default, fields with empty values are omitted
  5969  	// from API requests. See
  5970  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5971  	NullFields []string `json:"-"`
  5972  }
  5973  
  5974  func (s *Link) MarshalJSON() ([]byte, error) {
  5975  	type NoMethod Link
  5976  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5977  }
  5978  
  5979  // ManualRule: Allows you to manually organize the values in a source data
  5980  // column into buckets with names of your choosing. For example, a pivot table
  5981  // that aggregates population by state: +-------+-------------------+ | State |
  5982  // SUM of Population | +-------+-------------------+ | AK | 0.7 | | AL | 4.8 |
  5983  // | AR | 2.9 | ... +-------+-------------------+ could be turned into a pivot
  5984  // table that aggregates population by time zone by providing a list of groups
  5985  // (for example, groupName = 'Central', items = ['AL', 'AR', 'IA', ...]) to a
  5986  // manual group rule. Note that a similar effect could be achieved by adding a
  5987  // time zone column to the source data and adjusting the pivot table.
  5988  // +-----------+-------------------+ | Time Zone | SUM of Population |
  5989  // +-----------+-------------------+ | Central | 106.3 | | Eastern | 151.9 | |
  5990  // Mountain | 17.4 | ... +-----------+-------------------+
  5991  type ManualRule struct {
  5992  	// Groups: The list of group names and the corresponding items from the source
  5993  	// data that map to each group name.
  5994  	Groups []*ManualRuleGroup `json:"groups,omitempty"`
  5995  	// ForceSendFields is a list of field names (e.g. "Groups") to unconditionally
  5996  	// include in API requests. By default, fields with empty or default values are
  5997  	// omitted from API requests. See
  5998  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5999  	// details.
  6000  	ForceSendFields []string `json:"-"`
  6001  	// NullFields is a list of field names (e.g. "Groups") to include in API
  6002  	// requests with the JSON null value. By default, fields with empty values are
  6003  	// omitted from API requests. See
  6004  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6005  	NullFields []string `json:"-"`
  6006  }
  6007  
  6008  func (s *ManualRule) MarshalJSON() ([]byte, error) {
  6009  	type NoMethod ManualRule
  6010  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6011  }
  6012  
  6013  // ManualRuleGroup: A group name and a list of items from the source data that
  6014  // should be placed in the group with this name.
  6015  type ManualRuleGroup struct {
  6016  	// GroupName: The group name, which must be a string. Each group in a given
  6017  	// ManualRule must have a unique group name.
  6018  	GroupName *ExtendedValue `json:"groupName,omitempty"`
  6019  	// Items: The items in the source data that should be placed into this group.
  6020  	// Each item may be a string, number, or boolean. Items may appear in at most
  6021  	// one group within a given ManualRule. Items that do not appear in any group
  6022  	// will appear on their own.
  6023  	Items []*ExtendedValue `json:"items,omitempty"`
  6024  	// ForceSendFields is a list of field names (e.g. "GroupName") to
  6025  	// unconditionally include in API requests. By default, fields with empty or
  6026  	// default values are omitted from API requests. See
  6027  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6028  	// details.
  6029  	ForceSendFields []string `json:"-"`
  6030  	// NullFields is a list of field names (e.g. "GroupName") to include in API
  6031  	// requests with the JSON null value. By default, fields with empty values are
  6032  	// omitted from API requests. See
  6033  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6034  	NullFields []string `json:"-"`
  6035  }
  6036  
  6037  func (s *ManualRuleGroup) MarshalJSON() ([]byte, error) {
  6038  	type NoMethod ManualRuleGroup
  6039  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6040  }
  6041  
  6042  // MatchedDeveloperMetadata: A developer metadata entry and the data filters
  6043  // specified in the original request that matched it.
  6044  type MatchedDeveloperMetadata struct {
  6045  	// DataFilters: All filters matching the returned developer metadata.
  6046  	DataFilters []*DataFilter `json:"dataFilters,omitempty"`
  6047  	// DeveloperMetadata: The developer metadata matching the specified filters.
  6048  	DeveloperMetadata *DeveloperMetadata `json:"developerMetadata,omitempty"`
  6049  	// ForceSendFields is a list of field names (e.g. "DataFilters") to
  6050  	// unconditionally include in API requests. By default, fields with empty or
  6051  	// default values are omitted from API requests. See
  6052  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6053  	// details.
  6054  	ForceSendFields []string `json:"-"`
  6055  	// NullFields is a list of field names (e.g. "DataFilters") to include in API
  6056  	// requests with the JSON null value. By default, fields with empty values are
  6057  	// omitted from API requests. See
  6058  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6059  	NullFields []string `json:"-"`
  6060  }
  6061  
  6062  func (s *MatchedDeveloperMetadata) MarshalJSON() ([]byte, error) {
  6063  	type NoMethod MatchedDeveloperMetadata
  6064  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6065  }
  6066  
  6067  // MatchedValueRange: A value range that was matched by one or more data
  6068  // filers.
  6069  type MatchedValueRange struct {
  6070  	// DataFilters: The DataFilters from the request that matched the range of
  6071  	// values.
  6072  	DataFilters []*DataFilter `json:"dataFilters,omitempty"`
  6073  	// ValueRange: The values matched by the DataFilter.
  6074  	ValueRange *ValueRange `json:"valueRange,omitempty"`
  6075  	// ForceSendFields is a list of field names (e.g. "DataFilters") to
  6076  	// unconditionally include in API requests. By default, fields with empty or
  6077  	// default values are omitted from API requests. See
  6078  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6079  	// details.
  6080  	ForceSendFields []string `json:"-"`
  6081  	// NullFields is a list of field names (e.g. "DataFilters") to include in API
  6082  	// requests with the JSON null value. By default, fields with empty values are
  6083  	// omitted from API requests. See
  6084  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6085  	NullFields []string `json:"-"`
  6086  }
  6087  
  6088  func (s *MatchedValueRange) MarshalJSON() ([]byte, error) {
  6089  	type NoMethod MatchedValueRange
  6090  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6091  }
  6092  
  6093  // MergeCellsRequest: Merges all cells in the range.
  6094  type MergeCellsRequest struct {
  6095  	// MergeType: How the cells should be merged.
  6096  	//
  6097  	// Possible values:
  6098  	//   "MERGE_ALL" - Create a single merge from the range
  6099  	//   "MERGE_COLUMNS" - Create a merge for each column in the range
  6100  	//   "MERGE_ROWS" - Create a merge for each row in the range
  6101  	MergeType string `json:"mergeType,omitempty"`
  6102  	// Range: The range of cells to merge.
  6103  	Range *GridRange `json:"range,omitempty"`
  6104  	// ForceSendFields is a list of field names (e.g. "MergeType") to
  6105  	// unconditionally include in API requests. By default, fields with empty or
  6106  	// default values are omitted from API requests. See
  6107  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6108  	// details.
  6109  	ForceSendFields []string `json:"-"`
  6110  	// NullFields is a list of field names (e.g. "MergeType") to include in API
  6111  	// requests with the JSON null value. By default, fields with empty values are
  6112  	// omitted from API requests. See
  6113  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6114  	NullFields []string `json:"-"`
  6115  }
  6116  
  6117  func (s *MergeCellsRequest) MarshalJSON() ([]byte, error) {
  6118  	type NoMethod MergeCellsRequest
  6119  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6120  }
  6121  
  6122  // MoveDimensionRequest: Moves one or more rows or columns.
  6123  type MoveDimensionRequest struct {
  6124  	// DestinationIndex: The zero-based start index of where to move the source
  6125  	// data to, based on the coordinates *before* the source data is removed from
  6126  	// the grid. Existing data will be shifted down or right (depending on the
  6127  	// dimension) to make room for the moved dimensions. The source dimensions are
  6128  	// removed from the grid, so the the data may end up in a different index than
  6129  	// specified. For example, given `A1..A5` of `0, 1, 2, 3, 4` and wanting to
  6130  	// move "1" and "2" to between "3" and "4", the source would be `ROWS
  6131  	// [1..3)`,and the destination index would be "4" (the zero-based index of
  6132  	// row 5). The end result would be `A1..A5` of `0, 3, 1, 2, 4`.
  6133  	DestinationIndex int64 `json:"destinationIndex,omitempty"`
  6134  	// Source: The source dimensions to move.
  6135  	Source *DimensionRange `json:"source,omitempty"`
  6136  	// ForceSendFields is a list of field names (e.g. "DestinationIndex") to
  6137  	// unconditionally include in API requests. By default, fields with empty or
  6138  	// default values are omitted from API requests. See
  6139  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6140  	// details.
  6141  	ForceSendFields []string `json:"-"`
  6142  	// NullFields is a list of field names (e.g. "DestinationIndex") to include in
  6143  	// API requests with the JSON null value. By default, fields with empty values
  6144  	// are omitted from API requests. See
  6145  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6146  	NullFields []string `json:"-"`
  6147  }
  6148  
  6149  func (s *MoveDimensionRequest) MarshalJSON() ([]byte, error) {
  6150  	type NoMethod MoveDimensionRequest
  6151  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6152  }
  6153  
  6154  // NamedRange: A named range.
  6155  type NamedRange struct {
  6156  	// Name: The name of the named range.
  6157  	Name string `json:"name,omitempty"`
  6158  	// NamedRangeId: The ID of the named range.
  6159  	NamedRangeId string `json:"namedRangeId,omitempty"`
  6160  	// Range: The range this represents.
  6161  	Range *GridRange `json:"range,omitempty"`
  6162  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  6163  	// include in API requests. By default, fields with empty or default values are
  6164  	// omitted from API requests. See
  6165  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6166  	// details.
  6167  	ForceSendFields []string `json:"-"`
  6168  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  6169  	// with the JSON null value. By default, fields with empty values are omitted
  6170  	// from API requests. See
  6171  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6172  	NullFields []string `json:"-"`
  6173  }
  6174  
  6175  func (s *NamedRange) MarshalJSON() ([]byte, error) {
  6176  	type NoMethod NamedRange
  6177  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6178  }
  6179  
  6180  // NumberFormat: The number format of a cell.
  6181  type NumberFormat struct {
  6182  	// Pattern: Pattern string used for formatting. If not set, a default pattern
  6183  	// based on the user's locale will be used if necessary for the given type. See
  6184  	// the Date and Number Formats guide (/sheets/api/guides/formats) for more
  6185  	// information about the supported patterns.
  6186  	Pattern string `json:"pattern,omitempty"`
  6187  	// Type: The type of the number format. When writing, this field must be set.
  6188  	//
  6189  	// Possible values:
  6190  	//   "NUMBER_FORMAT_TYPE_UNSPECIFIED" - The number format is not specified and
  6191  	// is based on the contents of the cell. Do not explicitly use this.
  6192  	//   "TEXT" - Text formatting, e.g `1000.12`
  6193  	//   "NUMBER" - Number formatting, e.g, `1,000.12`
  6194  	//   "PERCENT" - Percent formatting, e.g `10.12%`
  6195  	//   "CURRENCY" - Currency formatting, e.g `$1,000.12`
  6196  	//   "DATE" - Date formatting, e.g `9/26/2008`
  6197  	//   "TIME" - Time formatting, e.g `3:59:00 PM`
  6198  	//   "DATE_TIME" - Date+Time formatting, e.g `9/26/08 15:59:00`
  6199  	//   "SCIENTIFIC" - Scientific number formatting, e.g `1.01E+03`
  6200  	Type string `json:"type,omitempty"`
  6201  	// ForceSendFields is a list of field names (e.g. "Pattern") to unconditionally
  6202  	// include in API requests. By default, fields with empty or default values are
  6203  	// omitted from API requests. See
  6204  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6205  	// details.
  6206  	ForceSendFields []string `json:"-"`
  6207  	// NullFields is a list of field names (e.g. "Pattern") to include in API
  6208  	// requests with the JSON null value. By default, fields with empty values are
  6209  	// omitted from API requests. See
  6210  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6211  	NullFields []string `json:"-"`
  6212  }
  6213  
  6214  func (s *NumberFormat) MarshalJSON() ([]byte, error) {
  6215  	type NoMethod NumberFormat
  6216  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6217  }
  6218  
  6219  // OrgChartSpec: An org chart. Org charts require a unique set of labels in
  6220  // labels and may optionally include parent_labels and tooltips. parent_labels
  6221  // contain, for each node, the label identifying the parent node. tooltips
  6222  // contain, for each node, an optional tooltip. For example, to describe an
  6223  // OrgChart with Alice as the CEO, Bob as the President (reporting to Alice)
  6224  // and Cathy as VP of Sales (also reporting to Alice), have labels contain
  6225  // "Alice", "Bob", "Cathy", parent_labels contain "", "Alice", "Alice" and
  6226  // tooltips contain "CEO", "President", "VP Sales".
  6227  type OrgChartSpec struct {
  6228  	// Labels: The data containing the labels for all the nodes in the chart.
  6229  	// Labels must be unique.
  6230  	Labels *ChartData `json:"labels,omitempty"`
  6231  	// NodeColor: The color of the org chart nodes. Deprecated: Use
  6232  	// node_color_style.
  6233  	NodeColor *Color `json:"nodeColor,omitempty"`
  6234  	// NodeColorStyle: The color of the org chart nodes. If node_color is also set,
  6235  	// this field takes precedence.
  6236  	NodeColorStyle *ColorStyle `json:"nodeColorStyle,omitempty"`
  6237  	// NodeSize: The size of the org chart nodes.
  6238  	//
  6239  	// Possible values:
  6240  	//   "ORG_CHART_LABEL_SIZE_UNSPECIFIED" - Default value, do not use.
  6241  	//   "SMALL" - The small org chart node size.
  6242  	//   "MEDIUM" - The medium org chart node size.
  6243  	//   "LARGE" - The large org chart node size.
  6244  	NodeSize string `json:"nodeSize,omitempty"`
  6245  	// ParentLabels: The data containing the label of the parent for the
  6246  	// corresponding node. A blank value indicates that the node has no parent and
  6247  	// is a top-level node. This field is optional.
  6248  	ParentLabels *ChartData `json:"parentLabels,omitempty"`
  6249  	// SelectedNodeColor: The color of the selected org chart nodes. Deprecated:
  6250  	// Use selected_node_color_style.
  6251  	SelectedNodeColor *Color `json:"selectedNodeColor,omitempty"`
  6252  	// SelectedNodeColorStyle: The color of the selected org chart nodes. If
  6253  	// selected_node_color is also set, this field takes precedence.
  6254  	SelectedNodeColorStyle *ColorStyle `json:"selectedNodeColorStyle,omitempty"`
  6255  	// Tooltips: The data containing the tooltip for the corresponding node. A
  6256  	// blank value results in no tooltip being displayed for the node. This field
  6257  	// is optional.
  6258  	Tooltips *ChartData `json:"tooltips,omitempty"`
  6259  	// ForceSendFields is a list of field names (e.g. "Labels") to unconditionally
  6260  	// include in API requests. By default, fields with empty or default values are
  6261  	// omitted from API requests. See
  6262  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6263  	// details.
  6264  	ForceSendFields []string `json:"-"`
  6265  	// NullFields is a list of field names (e.g. "Labels") to include in API
  6266  	// requests with the JSON null value. By default, fields with empty values are
  6267  	// omitted from API requests. See
  6268  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6269  	NullFields []string `json:"-"`
  6270  }
  6271  
  6272  func (s *OrgChartSpec) MarshalJSON() ([]byte, error) {
  6273  	type NoMethod OrgChartSpec
  6274  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6275  }
  6276  
  6277  // OverlayPosition: The location an object is overlaid on top of a grid.
  6278  type OverlayPosition struct {
  6279  	// AnchorCell: The cell the object is anchored to.
  6280  	AnchorCell *GridCoordinate `json:"anchorCell,omitempty"`
  6281  	// HeightPixels: The height of the object, in pixels. Defaults to 371.
  6282  	HeightPixels int64 `json:"heightPixels,omitempty"`
  6283  	// OffsetXPixels: The horizontal offset, in pixels, that the object is offset
  6284  	// from the anchor cell.
  6285  	OffsetXPixels int64 `json:"offsetXPixels,omitempty"`
  6286  	// OffsetYPixels: The vertical offset, in pixels, that the object is offset
  6287  	// from the anchor cell.
  6288  	OffsetYPixels int64 `json:"offsetYPixels,omitempty"`
  6289  	// WidthPixels: The width of the object, in pixels. Defaults to 600.
  6290  	WidthPixels int64 `json:"widthPixels,omitempty"`
  6291  	// ForceSendFields is a list of field names (e.g. "AnchorCell") to
  6292  	// unconditionally include in API requests. By default, fields with empty or
  6293  	// default values are omitted from API requests. See
  6294  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6295  	// details.
  6296  	ForceSendFields []string `json:"-"`
  6297  	// NullFields is a list of field names (e.g. "AnchorCell") to include in API
  6298  	// requests with the JSON null value. By default, fields with empty values are
  6299  	// omitted from API requests. See
  6300  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6301  	NullFields []string `json:"-"`
  6302  }
  6303  
  6304  func (s *OverlayPosition) MarshalJSON() ([]byte, error) {
  6305  	type NoMethod OverlayPosition
  6306  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6307  }
  6308  
  6309  // Padding: The amount of padding around the cell, in pixels. When updating
  6310  // padding, every field must be specified.
  6311  type Padding struct {
  6312  	// Bottom: The bottom padding of the cell.
  6313  	Bottom int64 `json:"bottom,omitempty"`
  6314  	// Left: The left padding of the cell.
  6315  	Left int64 `json:"left,omitempty"`
  6316  	// Right: The right padding of the cell.
  6317  	Right int64 `json:"right,omitempty"`
  6318  	// Top: The top padding of the cell.
  6319  	Top int64 `json:"top,omitempty"`
  6320  	// ForceSendFields is a list of field names (e.g. "Bottom") to unconditionally
  6321  	// include in API requests. By default, fields with empty or default values are
  6322  	// omitted from API requests. See
  6323  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6324  	// details.
  6325  	ForceSendFields []string `json:"-"`
  6326  	// NullFields is a list of field names (e.g. "Bottom") to include in API
  6327  	// requests with the JSON null value. By default, fields with empty values are
  6328  	// omitted from API requests. See
  6329  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6330  	NullFields []string `json:"-"`
  6331  }
  6332  
  6333  func (s *Padding) MarshalJSON() ([]byte, error) {
  6334  	type NoMethod Padding
  6335  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6336  }
  6337  
  6338  // PasteDataRequest: Inserts data into the spreadsheet starting at the
  6339  // specified coordinate.
  6340  type PasteDataRequest struct {
  6341  	// Coordinate: The coordinate at which the data should start being inserted.
  6342  	Coordinate *GridCoordinate `json:"coordinate,omitempty"`
  6343  	// Data: The data to insert.
  6344  	Data string `json:"data,omitempty"`
  6345  	// Delimiter: The delimiter in the data.
  6346  	Delimiter string `json:"delimiter,omitempty"`
  6347  	// Html: True if the data is HTML.
  6348  	Html bool `json:"html,omitempty"`
  6349  	// Type: How the data should be pasted.
  6350  	//
  6351  	// Possible values:
  6352  	//   "PASTE_NORMAL" - Paste values, formulas, formats, and merges.
  6353  	//   "PASTE_VALUES" - Paste the values ONLY without formats, formulas, or
  6354  	// merges.
  6355  	//   "PASTE_FORMAT" - Paste the format and data validation only.
  6356  	//   "PASTE_NO_BORDERS" - Like `PASTE_NORMAL` but without borders.
  6357  	//   "PASTE_FORMULA" - Paste the formulas only.
  6358  	//   "PASTE_DATA_VALIDATION" - Paste the data validation only.
  6359  	//   "PASTE_CONDITIONAL_FORMATTING" - Paste the conditional formatting rules
  6360  	// only.
  6361  	Type string `json:"type,omitempty"`
  6362  	// ForceSendFields is a list of field names (e.g. "Coordinate") to
  6363  	// unconditionally include in API requests. By default, fields with empty or
  6364  	// default values are omitted from API requests. See
  6365  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6366  	// details.
  6367  	ForceSendFields []string `json:"-"`
  6368  	// NullFields is a list of field names (e.g. "Coordinate") to include in API
  6369  	// requests with the JSON null value. By default, fields with empty values are
  6370  	// omitted from API requests. See
  6371  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6372  	NullFields []string `json:"-"`
  6373  }
  6374  
  6375  func (s *PasteDataRequest) MarshalJSON() ([]byte, error) {
  6376  	type NoMethod PasteDataRequest
  6377  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6378  }
  6379  
  6380  // PieChartSpec: A pie chart.
  6381  type PieChartSpec struct {
  6382  	// Domain: The data that covers the domain of the pie chart.
  6383  	Domain *ChartData `json:"domain,omitempty"`
  6384  	// LegendPosition: Where the legend of the pie chart should be drawn.
  6385  	//
  6386  	// Possible values:
  6387  	//   "PIE_CHART_LEGEND_POSITION_UNSPECIFIED" - Default value, do not use.
  6388  	//   "BOTTOM_LEGEND" - The legend is rendered on the bottom of the chart.
  6389  	//   "LEFT_LEGEND" - The legend is rendered on the left of the chart.
  6390  	//   "RIGHT_LEGEND" - The legend is rendered on the right of the chart.
  6391  	//   "TOP_LEGEND" - The legend is rendered on the top of the chart.
  6392  	//   "NO_LEGEND" - No legend is rendered.
  6393  	//   "LABELED_LEGEND" - Each pie slice has a label attached to it.
  6394  	LegendPosition string `json:"legendPosition,omitempty"`
  6395  	// PieHole: The size of the hole in the pie chart.
  6396  	PieHole float64 `json:"pieHole,omitempty"`
  6397  	// Series: The data that covers the one and only series of the pie chart.
  6398  	Series *ChartData `json:"series,omitempty"`
  6399  	// ThreeDimensional: True if the pie is three dimensional.
  6400  	ThreeDimensional bool `json:"threeDimensional,omitempty"`
  6401  	// ForceSendFields is a list of field names (e.g. "Domain") to unconditionally
  6402  	// include in API requests. By default, fields with empty or default values are
  6403  	// omitted from API requests. See
  6404  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6405  	// details.
  6406  	ForceSendFields []string `json:"-"`
  6407  	// NullFields is a list of field names (e.g. "Domain") to include in API
  6408  	// requests with the JSON null value. By default, fields with empty values are
  6409  	// omitted from API requests. See
  6410  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6411  	NullFields []string `json:"-"`
  6412  }
  6413  
  6414  func (s *PieChartSpec) MarshalJSON() ([]byte, error) {
  6415  	type NoMethod PieChartSpec
  6416  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6417  }
  6418  
  6419  func (s *PieChartSpec) UnmarshalJSON(data []byte) error {
  6420  	type NoMethod PieChartSpec
  6421  	var s1 struct {
  6422  		PieHole gensupport.JSONFloat64 `json:"pieHole"`
  6423  		*NoMethod
  6424  	}
  6425  	s1.NoMethod = (*NoMethod)(s)
  6426  	if err := json.Unmarshal(data, &s1); err != nil {
  6427  		return err
  6428  	}
  6429  	s.PieHole = float64(s1.PieHole)
  6430  	return nil
  6431  }
  6432  
  6433  // PivotFilterCriteria: Criteria for showing/hiding rows in a pivot table.
  6434  type PivotFilterCriteria struct {
  6435  	// Condition: A condition that must be true for values to be shown.
  6436  	// (`visibleValues` does not override this -- even if a value is listed there,
  6437  	// it is still hidden if it does not meet the condition.) Condition values that
  6438  	// refer to ranges in A1-notation are evaluated relative to the pivot table
  6439  	// sheet. References are treated absolutely, so are not filled down the pivot
  6440  	// table. For example, a condition value of `=A1` on "Pivot Table 1" is treated
  6441  	// as `'Pivot Table 1'!$A$1`. The source data of the pivot table can be
  6442  	// referenced by column header name. For example, if the source data has
  6443  	// columns named "Revenue" and "Cost" and a condition is applied to the
  6444  	// "Revenue" column with type `NUMBER_GREATER` and value `=Cost`, then only
  6445  	// columns where "Revenue" > "Cost" are included.
  6446  	Condition *BooleanCondition `json:"condition,omitempty"`
  6447  	// VisibleByDefault: Whether values are visible by default. If true, the
  6448  	// visible_values are ignored, all values that meet condition (if specified)
  6449  	// are shown. If false, values that are both in visible_values and meet
  6450  	// condition are shown.
  6451  	VisibleByDefault bool `json:"visibleByDefault,omitempty"`
  6452  	// VisibleValues: Values that should be included. Values not listed here are
  6453  	// excluded.
  6454  	VisibleValues []string `json:"visibleValues,omitempty"`
  6455  	// ForceSendFields is a list of field names (e.g. "Condition") to
  6456  	// unconditionally include in API requests. By default, fields with empty or
  6457  	// default values are omitted from API requests. See
  6458  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6459  	// details.
  6460  	ForceSendFields []string `json:"-"`
  6461  	// NullFields is a list of field names (e.g. "Condition") to include in API
  6462  	// requests with the JSON null value. By default, fields with empty values are
  6463  	// omitted from API requests. See
  6464  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6465  	NullFields []string `json:"-"`
  6466  }
  6467  
  6468  func (s *PivotFilterCriteria) MarshalJSON() ([]byte, error) {
  6469  	type NoMethod PivotFilterCriteria
  6470  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6471  }
  6472  
  6473  // PivotFilterSpec: The pivot table filter criteria associated with a specific
  6474  // source column offset.
  6475  type PivotFilterSpec struct {
  6476  	// ColumnOffsetIndex: The zero-based column offset of the source range.
  6477  	ColumnOffsetIndex int64 `json:"columnOffsetIndex,omitempty"`
  6478  	// DataSourceColumnReference: The reference to the data source column.
  6479  	DataSourceColumnReference *DataSourceColumnReference `json:"dataSourceColumnReference,omitempty"`
  6480  	// FilterCriteria: The criteria for the column.
  6481  	FilterCriteria *PivotFilterCriteria `json:"filterCriteria,omitempty"`
  6482  	// ForceSendFields is a list of field names (e.g. "ColumnOffsetIndex") to
  6483  	// unconditionally include in API requests. By default, fields with empty or
  6484  	// default values are omitted from API requests. See
  6485  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6486  	// details.
  6487  	ForceSendFields []string `json:"-"`
  6488  	// NullFields is a list of field names (e.g. "ColumnOffsetIndex") to include in
  6489  	// API requests with the JSON null value. By default, fields with empty values
  6490  	// are omitted from API requests. See
  6491  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6492  	NullFields []string `json:"-"`
  6493  }
  6494  
  6495  func (s *PivotFilterSpec) MarshalJSON() ([]byte, error) {
  6496  	type NoMethod PivotFilterSpec
  6497  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6498  }
  6499  
  6500  // PivotGroup: A single grouping (either row or column) in a pivot table.
  6501  type PivotGroup struct {
  6502  	// DataSourceColumnReference: The reference to the data source column this
  6503  	// grouping is based on.
  6504  	DataSourceColumnReference *DataSourceColumnReference `json:"dataSourceColumnReference,omitempty"`
  6505  	// GroupLimit: The count limit on rows or columns to apply to this pivot group.
  6506  	GroupLimit *PivotGroupLimit `json:"groupLimit,omitempty"`
  6507  	// GroupRule: The group rule to apply to this row/column group.
  6508  	GroupRule *PivotGroupRule `json:"groupRule,omitempty"`
  6509  	// Label: The labels to use for the row/column groups which can be customized.
  6510  	// For example, in the following pivot table, the row label is `Region` (which
  6511  	// could be renamed to `State`) and the column label is `Product` (which could
  6512  	// be renamed `Item`). Pivot tables created before December 2017 do not have
  6513  	// header labels. If you'd like to add header labels to an existing pivot
  6514  	// table, please delete the existing pivot table and then create a new pivot
  6515  	// table with same parameters. +--------------+---------+-------+ | SUM of
  6516  	// Units | Product | | | Region | Pen | Paper |
  6517  	// +--------------+---------+-------+ | New York | 345 | 98 | | Oregon | 234 |
  6518  	// 123 | | Tennessee | 531 | 415 | +--------------+---------+-------+ | Grand
  6519  	// Total | 1110 | 636 | +--------------+---------+-------+
  6520  	Label string `json:"label,omitempty"`
  6521  	// RepeatHeadings: True if the headings in this pivot group should be repeated.
  6522  	// This is only valid for row groupings and is ignored by columns. By default,
  6523  	// we minimize repetition of headings by not showing higher level headings
  6524  	// where they are the same. For example, even though the third row below
  6525  	// corresponds to "Q1 Mar", "Q1" is not shown because it is redundant with
  6526  	// previous rows. Setting repeat_headings to true would cause "Q1" to be
  6527  	// repeated for "Feb" and "Mar". +--------------+ | Q1 | Jan | | | Feb | | |
  6528  	// Mar | +--------+-----+ | Q1 Total | +--------------+
  6529  	RepeatHeadings bool `json:"repeatHeadings,omitempty"`
  6530  	// ShowTotals: True if the pivot table should include the totals for this
  6531  	// grouping.
  6532  	ShowTotals bool `json:"showTotals,omitempty"`
  6533  	// SortOrder: The order the values in this group should be sorted.
  6534  	//
  6535  	// Possible values:
  6536  	//   "SORT_ORDER_UNSPECIFIED" - Default value, do not use this.
  6537  	//   "ASCENDING" - Sort ascending.
  6538  	//   "DESCENDING" - Sort descending.
  6539  	SortOrder string `json:"sortOrder,omitempty"`
  6540  	// SourceColumnOffset: The column offset of the source range that this grouping
  6541  	// is based on. For example, if the source was `C10:E15`, a
  6542  	// `sourceColumnOffset` of `0` means this group refers to column `C`, whereas
  6543  	// the offset `1` would refer to column `D`.
  6544  	SourceColumnOffset int64 `json:"sourceColumnOffset,omitempty"`
  6545  	// ValueBucket: The bucket of the opposite pivot group to sort by. If not
  6546  	// specified, sorting is alphabetical by this group's values.
  6547  	ValueBucket *PivotGroupSortValueBucket `json:"valueBucket,omitempty"`
  6548  	// ValueMetadata: Metadata about values in the grouping.
  6549  	ValueMetadata []*PivotGroupValueMetadata `json:"valueMetadata,omitempty"`
  6550  	// ForceSendFields is a list of field names (e.g. "DataSourceColumnReference")
  6551  	// to unconditionally include in API requests. By default, fields with empty or
  6552  	// default values are omitted from API requests. See
  6553  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6554  	// details.
  6555  	ForceSendFields []string `json:"-"`
  6556  	// NullFields is a list of field names (e.g. "DataSourceColumnReference") to
  6557  	// include in API requests with the JSON null value. By default, fields with
  6558  	// empty values are omitted from API requests. See
  6559  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6560  	NullFields []string `json:"-"`
  6561  }
  6562  
  6563  func (s *PivotGroup) MarshalJSON() ([]byte, error) {
  6564  	type NoMethod PivotGroup
  6565  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6566  }
  6567  
  6568  // PivotGroupLimit: The count limit on rows or columns in the pivot group.
  6569  type PivotGroupLimit struct {
  6570  	// ApplyOrder: The order in which the group limit is applied to the pivot
  6571  	// table. Pivot group limits are applied from lower to higher order number.
  6572  	// Order numbers are normalized to consecutive integers from 0. For write
  6573  	// request, to fully customize the applying orders, all pivot group limits
  6574  	// should have this field set with an unique number. Otherwise, the order is
  6575  	// determined by the index in the PivotTable.rows list and then the
  6576  	// PivotTable.columns list.
  6577  	ApplyOrder int64 `json:"applyOrder,omitempty"`
  6578  	// CountLimit: The count limit.
  6579  	CountLimit int64 `json:"countLimit,omitempty"`
  6580  	// ForceSendFields is a list of field names (e.g. "ApplyOrder") to
  6581  	// unconditionally include in API requests. By default, fields with empty or
  6582  	// default values are omitted from API requests. See
  6583  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6584  	// details.
  6585  	ForceSendFields []string `json:"-"`
  6586  	// NullFields is a list of field names (e.g. "ApplyOrder") to include in API
  6587  	// requests with the JSON null value. By default, fields with empty values are
  6588  	// omitted from API requests. See
  6589  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6590  	NullFields []string `json:"-"`
  6591  }
  6592  
  6593  func (s *PivotGroupLimit) MarshalJSON() ([]byte, error) {
  6594  	type NoMethod PivotGroupLimit
  6595  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6596  }
  6597  
  6598  // PivotGroupRule: An optional setting on a PivotGroup that defines buckets for
  6599  // the values in the source data column rather than breaking out each
  6600  // individual value. Only one PivotGroup with a group rule may be added for
  6601  // each column in the source data, though on any given column you may add both
  6602  // a PivotGroup that has a rule and a PivotGroup that does not.
  6603  type PivotGroupRule struct {
  6604  	// DateTimeRule: A DateTimeRule.
  6605  	DateTimeRule *DateTimeRule `json:"dateTimeRule,omitempty"`
  6606  	// HistogramRule: A HistogramRule.
  6607  	HistogramRule *HistogramRule `json:"histogramRule,omitempty"`
  6608  	// ManualRule: A ManualRule.
  6609  	ManualRule *ManualRule `json:"manualRule,omitempty"`
  6610  	// ForceSendFields is a list of field names (e.g. "DateTimeRule") to
  6611  	// unconditionally include in API requests. By default, fields with empty or
  6612  	// default values are omitted from API requests. See
  6613  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6614  	// details.
  6615  	ForceSendFields []string `json:"-"`
  6616  	// NullFields is a list of field names (e.g. "DateTimeRule") to include in API
  6617  	// requests with the JSON null value. By default, fields with empty values are
  6618  	// omitted from API requests. See
  6619  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6620  	NullFields []string `json:"-"`
  6621  }
  6622  
  6623  func (s *PivotGroupRule) MarshalJSON() ([]byte, error) {
  6624  	type NoMethod PivotGroupRule
  6625  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6626  }
  6627  
  6628  // PivotGroupSortValueBucket: Information about which values in a pivot group
  6629  // should be used for sorting.
  6630  type PivotGroupSortValueBucket struct {
  6631  	// Buckets: Determines the bucket from which values are chosen to sort. For
  6632  	// example, in a pivot table with one row group & two column groups, the row
  6633  	// group can list up to two values. The first value corresponds to a value
  6634  	// within the first column group, and the second value corresponds to a value
  6635  	// in the second column group. If no values are listed, this would indicate
  6636  	// that the row should be sorted according to the "Grand Total" over the column
  6637  	// groups. If a single value is listed, this would correspond to using the
  6638  	// "Total" of that bucket.
  6639  	Buckets []*ExtendedValue `json:"buckets,omitempty"`
  6640  	// ValuesIndex: The offset in the PivotTable.values list which the values in
  6641  	// this grouping should be sorted by.
  6642  	ValuesIndex int64 `json:"valuesIndex,omitempty"`
  6643  	// ForceSendFields is a list of field names (e.g. "Buckets") to unconditionally
  6644  	// include in API requests. By default, fields with empty or default values are
  6645  	// omitted from API requests. See
  6646  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6647  	// details.
  6648  	ForceSendFields []string `json:"-"`
  6649  	// NullFields is a list of field names (e.g. "Buckets") to include in API
  6650  	// requests with the JSON null value. By default, fields with empty values are
  6651  	// omitted from API requests. See
  6652  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6653  	NullFields []string `json:"-"`
  6654  }
  6655  
  6656  func (s *PivotGroupSortValueBucket) MarshalJSON() ([]byte, error) {
  6657  	type NoMethod PivotGroupSortValueBucket
  6658  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6659  }
  6660  
  6661  // PivotGroupValueMetadata: Metadata about a value in a pivot grouping.
  6662  type PivotGroupValueMetadata struct {
  6663  	// Collapsed: True if the data corresponding to the value is collapsed.
  6664  	Collapsed bool `json:"collapsed,omitempty"`
  6665  	// Value: The calculated value the metadata corresponds to. (Note that
  6666  	// formulaValue is not valid, because the values will be calculated.)
  6667  	Value *ExtendedValue `json:"value,omitempty"`
  6668  	// ForceSendFields is a list of field names (e.g. "Collapsed") to
  6669  	// unconditionally include in API requests. By default, fields with empty or
  6670  	// default values are omitted from API requests. See
  6671  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6672  	// details.
  6673  	ForceSendFields []string `json:"-"`
  6674  	// NullFields is a list of field names (e.g. "Collapsed") to include in API
  6675  	// requests with the JSON null value. By default, fields with empty values are
  6676  	// omitted from API requests. See
  6677  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6678  	NullFields []string `json:"-"`
  6679  }
  6680  
  6681  func (s *PivotGroupValueMetadata) MarshalJSON() ([]byte, error) {
  6682  	type NoMethod PivotGroupValueMetadata
  6683  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6684  }
  6685  
  6686  // PivotTable: A pivot table.
  6687  type PivotTable struct {
  6688  	// Columns: Each column grouping in the pivot table.
  6689  	Columns []*PivotGroup `json:"columns,omitempty"`
  6690  	// Criteria: An optional mapping of filters per source column offset. The
  6691  	// filters are applied before aggregating data into the pivot table. The map's
  6692  	// key is the column offset of the source range that you want to filter, and
  6693  	// the value is the criteria for that column. For example, if the source was
  6694  	// `C10:E15`, a key of `0` will have the filter for column `C`, whereas the key
  6695  	// `1` is for column `D`. This field is deprecated in favor of filter_specs.
  6696  	Criteria map[string]PivotFilterCriteria `json:"criteria,omitempty"`
  6697  	// DataExecutionStatus: Output only. The data execution status for data source
  6698  	// pivot tables.
  6699  	DataExecutionStatus *DataExecutionStatus `json:"dataExecutionStatus,omitempty"`
  6700  	// DataSourceId: The ID of the data source the pivot table is reading data
  6701  	// from.
  6702  	DataSourceId string `json:"dataSourceId,omitempty"`
  6703  	// FilterSpecs: The filters applied to the source columns before aggregating
  6704  	// data for the pivot table. Both criteria and filter_specs are populated in
  6705  	// responses. If both fields are specified in an update request, this field
  6706  	// takes precedence.
  6707  	FilterSpecs []*PivotFilterSpec `json:"filterSpecs,omitempty"`
  6708  	// Rows: Each row grouping in the pivot table.
  6709  	Rows []*PivotGroup `json:"rows,omitempty"`
  6710  	// Source: The range the pivot table is reading data from.
  6711  	Source *GridRange `json:"source,omitempty"`
  6712  	// ValueLayout: Whether values should be listed horizontally (as columns) or
  6713  	// vertically (as rows).
  6714  	//
  6715  	// Possible values:
  6716  	//   "HORIZONTAL" - Values are laid out horizontally (as columns).
  6717  	//   "VERTICAL" - Values are laid out vertically (as rows).
  6718  	ValueLayout string `json:"valueLayout,omitempty"`
  6719  	// Values: A list of values to include in the pivot table.
  6720  	Values []*PivotValue `json:"values,omitempty"`
  6721  	// ForceSendFields is a list of field names (e.g. "Columns") to unconditionally
  6722  	// include in API requests. By default, fields with empty or default values are
  6723  	// omitted from API requests. See
  6724  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6725  	// details.
  6726  	ForceSendFields []string `json:"-"`
  6727  	// NullFields is a list of field names (e.g. "Columns") to include in API
  6728  	// requests with the JSON null value. By default, fields with empty values are
  6729  	// omitted from API requests. See
  6730  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6731  	NullFields []string `json:"-"`
  6732  }
  6733  
  6734  func (s *PivotTable) MarshalJSON() ([]byte, error) {
  6735  	type NoMethod PivotTable
  6736  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6737  }
  6738  
  6739  // PivotValue: The definition of how a value in a pivot table should be
  6740  // calculated.
  6741  type PivotValue struct {
  6742  	// CalculatedDisplayType: If specified, indicates that pivot values should be
  6743  	// displayed as the result of a calculation with another pivot value. For
  6744  	// example, if calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL,
  6745  	// all the pivot values are displayed as the percentage of the grand total. In
  6746  	// the Sheets editor, this is referred to as "Show As" in the value section of
  6747  	// a pivot table.
  6748  	//
  6749  	// Possible values:
  6750  	//   "PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED" - Default value, do not
  6751  	// use.
  6752  	//   "PERCENT_OF_ROW_TOTAL" - Shows the pivot values as percentage of the row
  6753  	// total values.
  6754  	//   "PERCENT_OF_COLUMN_TOTAL" - Shows the pivot values as percentage of the
  6755  	// column total values.
  6756  	//   "PERCENT_OF_GRAND_TOTAL" - Shows the pivot values as percentage of the
  6757  	// grand total values.
  6758  	CalculatedDisplayType string `json:"calculatedDisplayType,omitempty"`
  6759  	// DataSourceColumnReference: The reference to the data source column that this
  6760  	// value reads from.
  6761  	DataSourceColumnReference *DataSourceColumnReference `json:"dataSourceColumnReference,omitempty"`
  6762  	// Formula: A custom formula to calculate the value. The formula must start
  6763  	// with an `=` character.
  6764  	Formula string `json:"formula,omitempty"`
  6765  	// Name: A name to use for the value.
  6766  	Name string `json:"name,omitempty"`
  6767  	// SourceColumnOffset: The column offset of the source range that this value
  6768  	// reads from. For example, if the source was `C10:E15`, a `sourceColumnOffset`
  6769  	// of `0` means this value refers to column `C`, whereas the offset `1` would
  6770  	// refer to column `D`.
  6771  	SourceColumnOffset int64 `json:"sourceColumnOffset,omitempty"`
  6772  	// SummarizeFunction: A function to summarize the value. If formula is set, the
  6773  	// only supported values are SUM and CUSTOM. If sourceColumnOffset is set, then
  6774  	// `CUSTOM` is not supported.
  6775  	//
  6776  	// Possible values:
  6777  	//   "PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED" - The default, do not use.
  6778  	//   "SUM" - Corresponds to the `SUM` function.
  6779  	//   "COUNTA" - Corresponds to the `COUNTA` function.
  6780  	//   "COUNT" - Corresponds to the `COUNT` function.
  6781  	//   "COUNTUNIQUE" - Corresponds to the `COUNTUNIQUE` function.
  6782  	//   "AVERAGE" - Corresponds to the `AVERAGE` function.
  6783  	//   "MAX" - Corresponds to the `MAX` function.
  6784  	//   "MIN" - Corresponds to the `MIN` function.
  6785  	//   "MEDIAN" - Corresponds to the `MEDIAN` function.
  6786  	//   "PRODUCT" - Corresponds to the `PRODUCT` function.
  6787  	//   "STDEV" - Corresponds to the `STDEV` function.
  6788  	//   "STDEVP" - Corresponds to the `STDEVP` function.
  6789  	//   "VAR" - Corresponds to the `VAR` function.
  6790  	//   "VARP" - Corresponds to the `VARP` function.
  6791  	//   "CUSTOM" - Indicates the formula should be used as-is. Only valid if
  6792  	// PivotValue.formula was set.
  6793  	//   "NONE" - Indicates that the value is already summarized, and the
  6794  	// summarization function is not explicitly specified. Used for Looker data
  6795  	// source pivot tables where the value is already summarized.
  6796  	SummarizeFunction string `json:"summarizeFunction,omitempty"`
  6797  	// ForceSendFields is a list of field names (e.g. "CalculatedDisplayType") to
  6798  	// unconditionally include in API requests. By default, fields with empty or
  6799  	// default values are omitted from API requests. See
  6800  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6801  	// details.
  6802  	ForceSendFields []string `json:"-"`
  6803  	// NullFields is a list of field names (e.g. "CalculatedDisplayType") to
  6804  	// include in API requests with the JSON null value. By default, fields with
  6805  	// empty values are omitted from API requests. See
  6806  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6807  	NullFields []string `json:"-"`
  6808  }
  6809  
  6810  func (s *PivotValue) MarshalJSON() ([]byte, error) {
  6811  	type NoMethod PivotValue
  6812  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6813  }
  6814  
  6815  // PointStyle: The style of a point on the chart.
  6816  type PointStyle struct {
  6817  	// Shape: The point shape. If empty or unspecified, a default shape is used.
  6818  	//
  6819  	// Possible values:
  6820  	//   "POINT_SHAPE_UNSPECIFIED" - Default value.
  6821  	//   "CIRCLE" - A circle shape.
  6822  	//   "DIAMOND" - A diamond shape.
  6823  	//   "HEXAGON" - A hexagon shape.
  6824  	//   "PENTAGON" - A pentagon shape.
  6825  	//   "SQUARE" - A square shape.
  6826  	//   "STAR" - A star shape.
  6827  	//   "TRIANGLE" - A triangle shape.
  6828  	//   "X_MARK" - An x-mark shape.
  6829  	Shape string `json:"shape,omitempty"`
  6830  	// Size: The point size. If empty, a default size is used.
  6831  	Size float64 `json:"size,omitempty"`
  6832  	// ForceSendFields is a list of field names (e.g. "Shape") to unconditionally
  6833  	// include in API requests. By default, fields with empty or default values are
  6834  	// omitted from API requests. See
  6835  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6836  	// details.
  6837  	ForceSendFields []string `json:"-"`
  6838  	// NullFields is a list of field names (e.g. "Shape") to include in API
  6839  	// requests with the JSON null value. By default, fields with empty values are
  6840  	// omitted from API requests. See
  6841  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6842  	NullFields []string `json:"-"`
  6843  }
  6844  
  6845  func (s *PointStyle) MarshalJSON() ([]byte, error) {
  6846  	type NoMethod PointStyle
  6847  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6848  }
  6849  
  6850  func (s *PointStyle) UnmarshalJSON(data []byte) error {
  6851  	type NoMethod PointStyle
  6852  	var s1 struct {
  6853  		Size gensupport.JSONFloat64 `json:"size"`
  6854  		*NoMethod
  6855  	}
  6856  	s1.NoMethod = (*NoMethod)(s)
  6857  	if err := json.Unmarshal(data, &s1); err != nil {
  6858  		return err
  6859  	}
  6860  	s.Size = float64(s1.Size)
  6861  	return nil
  6862  }
  6863  
  6864  // ProtectedRange: A protected range.
  6865  type ProtectedRange struct {
  6866  	// Description: The description of this protected range.
  6867  	Description string `json:"description,omitempty"`
  6868  	// Editors: The users and groups with edit access to the protected range. This
  6869  	// field is only visible to users with edit access to the protected range and
  6870  	// the document. Editors are not supported with warning_only protection.
  6871  	Editors *Editors `json:"editors,omitempty"`
  6872  	// NamedRangeId: The named range this protected range is backed by, if any.
  6873  	// When writing, only one of range or named_range_id may be set.
  6874  	NamedRangeId string `json:"namedRangeId,omitempty"`
  6875  	// ProtectedRangeId: The ID of the protected range. This field is read-only.
  6876  	ProtectedRangeId int64 `json:"protectedRangeId,omitempty"`
  6877  	// Range: The range that is being protected. The range may be fully unbounded,
  6878  	// in which case this is considered a protected sheet. When writing, only one
  6879  	// of range or named_range_id may be set.
  6880  	Range *GridRange `json:"range,omitempty"`
  6881  	// RequestingUserCanEdit: True if the user who requested this protected range
  6882  	// can edit the protected area. This field is read-only.
  6883  	RequestingUserCanEdit bool `json:"requestingUserCanEdit,omitempty"`
  6884  	// UnprotectedRanges: The list of unprotected ranges within a protected sheet.
  6885  	// Unprotected ranges are only supported on protected sheets.
  6886  	UnprotectedRanges []*GridRange `json:"unprotectedRanges,omitempty"`
  6887  	// WarningOnly: True if this protected range will show a warning when editing.
  6888  	// Warning-based protection means that every user can edit data in the
  6889  	// protected range, except editing will prompt a warning asking the user to
  6890  	// confirm the edit. When writing: if this field is true, then editors are
  6891  	// ignored. Additionally, if this field is changed from true to false and the
  6892  	// `editors` field is not set (nor included in the field mask), then the
  6893  	// editors will be set to all the editors in the document.
  6894  	WarningOnly bool `json:"warningOnly,omitempty"`
  6895  	// ForceSendFields is a list of field names (e.g. "Description") to
  6896  	// unconditionally include in API requests. By default, fields with empty or
  6897  	// default values are omitted from API requests. See
  6898  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6899  	// details.
  6900  	ForceSendFields []string `json:"-"`
  6901  	// NullFields is a list of field names (e.g. "Description") to include in API
  6902  	// requests with the JSON null value. By default, fields with empty values are
  6903  	// omitted from API requests. See
  6904  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6905  	NullFields []string `json:"-"`
  6906  }
  6907  
  6908  func (s *ProtectedRange) MarshalJSON() ([]byte, error) {
  6909  	type NoMethod ProtectedRange
  6910  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6911  }
  6912  
  6913  // RandomizeRangeRequest: Randomizes the order of the rows in a range.
  6914  type RandomizeRangeRequest struct {
  6915  	// Range: The range to randomize.
  6916  	Range *GridRange `json:"range,omitempty"`
  6917  	// ForceSendFields is a list of field names (e.g. "Range") to unconditionally
  6918  	// include in API requests. By default, fields with empty or default values are
  6919  	// omitted from API requests. See
  6920  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6921  	// details.
  6922  	ForceSendFields []string `json:"-"`
  6923  	// NullFields is a list of field names (e.g. "Range") to include in API
  6924  	// requests with the JSON null value. By default, fields with empty values are
  6925  	// omitted from API requests. See
  6926  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6927  	NullFields []string `json:"-"`
  6928  }
  6929  
  6930  func (s *RandomizeRangeRequest) MarshalJSON() ([]byte, error) {
  6931  	type NoMethod RandomizeRangeRequest
  6932  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6933  }
  6934  
  6935  // RefreshCancellationStatus: The status of a refresh cancellation. You can
  6936  // send cancel request to explicitly cancel one or multiple data source object
  6937  // refreshes.
  6938  type RefreshCancellationStatus struct {
  6939  	// ErrorCode: The error code.
  6940  	//
  6941  	// Possible values:
  6942  	//   "REFRESH_CANCELLATION_ERROR_CODE_UNSPECIFIED" - Default value, do not use.
  6943  	//   "EXECUTION_NOT_FOUND" - Execution to be cancelled not found in the query
  6944  	// engine or in Sheets.
  6945  	//   "CANCEL_PERMISSION_DENIED" - The user does not have permission to cancel
  6946  	// the query.
  6947  	//   "QUERY_EXECUTION_COMPLETED" - The query execution has already completed
  6948  	// and thus could not be cancelled.
  6949  	//   "CONCURRENT_CANCELLATION" - There is already another cancellation in
  6950  	// process.
  6951  	//   "CANCEL_OTHER_ERROR" - All other errors.
  6952  	ErrorCode string `json:"errorCode,omitempty"`
  6953  	// State: The state of a call to cancel a refresh in Sheets.
  6954  	//
  6955  	// Possible values:
  6956  	//   "REFRESH_CANCELLATION_STATE_UNSPECIFIED" - Default value, do not use.
  6957  	//   "CANCEL_SUCCEEDED" - The API call to Sheets to cancel a refresh has
  6958  	// succeeded. This does not mean that the cancel happened successfully, but
  6959  	// that the call has been made successfully.
  6960  	//   "CANCEL_FAILED" - The API call to Sheets to cancel a refresh has failed.
  6961  	State string `json:"state,omitempty"`
  6962  	// ForceSendFields is a list of field names (e.g. "ErrorCode") to
  6963  	// unconditionally include in API requests. By default, fields with empty or
  6964  	// default values are omitted from API requests. See
  6965  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6966  	// details.
  6967  	ForceSendFields []string `json:"-"`
  6968  	// NullFields is a list of field names (e.g. "ErrorCode") to include in API
  6969  	// requests with the JSON null value. By default, fields with empty values are
  6970  	// omitted from API requests. See
  6971  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6972  	NullFields []string `json:"-"`
  6973  }
  6974  
  6975  func (s *RefreshCancellationStatus) MarshalJSON() ([]byte, error) {
  6976  	type NoMethod RefreshCancellationStatus
  6977  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6978  }
  6979  
  6980  // RefreshDataSourceObjectExecutionStatus: The execution status of refreshing
  6981  // one data source object.
  6982  type RefreshDataSourceObjectExecutionStatus struct {
  6983  	// DataExecutionStatus: The data execution status.
  6984  	DataExecutionStatus *DataExecutionStatus `json:"dataExecutionStatus,omitempty"`
  6985  	// Reference: Reference to a data source object being refreshed.
  6986  	Reference *DataSourceObjectReference `json:"reference,omitempty"`
  6987  	// ForceSendFields is a list of field names (e.g. "DataExecutionStatus") to
  6988  	// unconditionally include in API requests. By default, fields with empty or
  6989  	// default values are omitted from API requests. See
  6990  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6991  	// details.
  6992  	ForceSendFields []string `json:"-"`
  6993  	// NullFields is a list of field names (e.g. "DataExecutionStatus") to include
  6994  	// in API requests with the JSON null value. By default, fields with empty
  6995  	// values are omitted from API requests. See
  6996  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6997  	NullFields []string `json:"-"`
  6998  }
  6999  
  7000  func (s *RefreshDataSourceObjectExecutionStatus) MarshalJSON() ([]byte, error) {
  7001  	type NoMethod RefreshDataSourceObjectExecutionStatus
  7002  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7003  }
  7004  
  7005  // RefreshDataSourceRequest: Refreshes one or multiple data source objects in
  7006  // the spreadsheet by the specified references. The request requires an
  7007  // additional `bigquery.readonly` OAuth scope. If there are multiple refresh
  7008  // requests referencing the same data source objects in one batch, only the
  7009  // last refresh request is processed, and all those requests will have the same
  7010  // response accordingly.
  7011  type RefreshDataSourceRequest struct {
  7012  	// DataSourceId: Reference to a DataSource. If specified, refreshes all
  7013  	// associated data source objects for the data source.
  7014  	DataSourceId string `json:"dataSourceId,omitempty"`
  7015  	// Force: Refreshes the data source objects regardless of the current state. If
  7016  	// not set and a referenced data source object was in error state, the refresh
  7017  	// will fail immediately.
  7018  	Force bool `json:"force,omitempty"`
  7019  	// IsAll: Refreshes all existing data source objects in the spreadsheet.
  7020  	IsAll bool `json:"isAll,omitempty"`
  7021  	// References: References to data source objects to refresh.
  7022  	References *DataSourceObjectReferences `json:"references,omitempty"`
  7023  	// ForceSendFields is a list of field names (e.g. "DataSourceId") to
  7024  	// unconditionally include in API requests. By default, fields with empty or
  7025  	// default values are omitted from API requests. See
  7026  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7027  	// details.
  7028  	ForceSendFields []string `json:"-"`
  7029  	// NullFields is a list of field names (e.g. "DataSourceId") to include in API
  7030  	// requests with the JSON null value. By default, fields with empty values are
  7031  	// omitted from API requests. See
  7032  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7033  	NullFields []string `json:"-"`
  7034  }
  7035  
  7036  func (s *RefreshDataSourceRequest) MarshalJSON() ([]byte, error) {
  7037  	type NoMethod RefreshDataSourceRequest
  7038  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7039  }
  7040  
  7041  // RefreshDataSourceResponse: The response from refreshing one or multiple data
  7042  // source objects.
  7043  type RefreshDataSourceResponse struct {
  7044  	// Statuses: All the refresh status for the data source object references
  7045  	// specified in the request. If is_all is specified, the field contains only
  7046  	// those in failure status.
  7047  	Statuses []*RefreshDataSourceObjectExecutionStatus `json:"statuses,omitempty"`
  7048  	// ForceSendFields is a list of field names (e.g. "Statuses") to
  7049  	// unconditionally include in API requests. By default, fields with empty or
  7050  	// default values are omitted from API requests. See
  7051  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7052  	// details.
  7053  	ForceSendFields []string `json:"-"`
  7054  	// NullFields is a list of field names (e.g. "Statuses") to include in API
  7055  	// requests with the JSON null value. By default, fields with empty values are
  7056  	// omitted from API requests. See
  7057  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7058  	NullFields []string `json:"-"`
  7059  }
  7060  
  7061  func (s *RefreshDataSourceResponse) MarshalJSON() ([]byte, error) {
  7062  	type NoMethod RefreshDataSourceResponse
  7063  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7064  }
  7065  
  7066  // RepeatCellRequest: Updates all cells in the range to the values in the given
  7067  // Cell object. Only the fields listed in the fields field are updated; others
  7068  // are unchanged. If writing a cell with a formula, the formula's ranges will
  7069  // automatically increment for each field in the range. For example, if writing
  7070  // a cell with formula `=A1` into range B2:C4, B2 would be `=A1`, B3 would be
  7071  // `=A2`, B4 would be `=A3`, C2 would be `=B1`, C3 would be `=B2`, C4 would be
  7072  // `=B3`. To keep the formula's ranges static, use the `$` indicator. For
  7073  // example, use the formula `=$A$1` to prevent both the row and the column from
  7074  // incrementing.
  7075  type RepeatCellRequest struct {
  7076  	// Cell: The data to write.
  7077  	Cell *CellData `json:"cell,omitempty"`
  7078  	// Fields: The fields that should be updated. At least one field must be
  7079  	// specified. The root `cell` is implied and should not be specified. A single
  7080  	// "*" can be used as short-hand for listing every field.
  7081  	Fields string `json:"fields,omitempty"`
  7082  	// Range: The range to repeat the cell in.
  7083  	Range *GridRange `json:"range,omitempty"`
  7084  	// ForceSendFields is a list of field names (e.g. "Cell") to unconditionally
  7085  	// include in API requests. By default, fields with empty or default values are
  7086  	// omitted from API requests. See
  7087  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7088  	// details.
  7089  	ForceSendFields []string `json:"-"`
  7090  	// NullFields is a list of field names (e.g. "Cell") to include in API requests
  7091  	// with the JSON null value. By default, fields with empty values are omitted
  7092  	// from API requests. See
  7093  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7094  	NullFields []string `json:"-"`
  7095  }
  7096  
  7097  func (s *RepeatCellRequest) MarshalJSON() ([]byte, error) {
  7098  	type NoMethod RepeatCellRequest
  7099  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7100  }
  7101  
  7102  // Request: A single kind of update to apply to a spreadsheet.
  7103  type Request struct {
  7104  	// AddBanding: Adds a new banded range
  7105  	AddBanding *AddBandingRequest `json:"addBanding,omitempty"`
  7106  	// AddChart: Adds a chart.
  7107  	AddChart *AddChartRequest `json:"addChart,omitempty"`
  7108  	// AddConditionalFormatRule: Adds a new conditional format rule.
  7109  	AddConditionalFormatRule *AddConditionalFormatRuleRequest `json:"addConditionalFormatRule,omitempty"`
  7110  	// AddDataSource: Adds a data source.
  7111  	AddDataSource *AddDataSourceRequest `json:"addDataSource,omitempty"`
  7112  	// AddDimensionGroup: Creates a group over the specified range.
  7113  	AddDimensionGroup *AddDimensionGroupRequest `json:"addDimensionGroup,omitempty"`
  7114  	// AddFilterView: Adds a filter view.
  7115  	AddFilterView *AddFilterViewRequest `json:"addFilterView,omitempty"`
  7116  	// AddNamedRange: Adds a named range.
  7117  	AddNamedRange *AddNamedRangeRequest `json:"addNamedRange,omitempty"`
  7118  	// AddProtectedRange: Adds a protected range.
  7119  	AddProtectedRange *AddProtectedRangeRequest `json:"addProtectedRange,omitempty"`
  7120  	// AddSheet: Adds a sheet.
  7121  	AddSheet *AddSheetRequest `json:"addSheet,omitempty"`
  7122  	// AddSlicer: Adds a slicer.
  7123  	AddSlicer *AddSlicerRequest `json:"addSlicer,omitempty"`
  7124  	// AppendCells: Appends cells after the last row with data in a sheet.
  7125  	AppendCells *AppendCellsRequest `json:"appendCells,omitempty"`
  7126  	// AppendDimension: Appends dimensions to the end of a sheet.
  7127  	AppendDimension *AppendDimensionRequest `json:"appendDimension,omitempty"`
  7128  	// AutoFill: Automatically fills in more data based on existing data.
  7129  	AutoFill *AutoFillRequest `json:"autoFill,omitempty"`
  7130  	// AutoResizeDimensions: Automatically resizes one or more dimensions based on
  7131  	// the contents of the cells in that dimension.
  7132  	AutoResizeDimensions *AutoResizeDimensionsRequest `json:"autoResizeDimensions,omitempty"`
  7133  	// CancelDataSourceRefresh: Cancels refreshes of one or multiple data sources
  7134  	// and associated dbobjects.
  7135  	CancelDataSourceRefresh *CancelDataSourceRefreshRequest `json:"cancelDataSourceRefresh,omitempty"`
  7136  	// ClearBasicFilter: Clears the basic filter on a sheet.
  7137  	ClearBasicFilter *ClearBasicFilterRequest `json:"clearBasicFilter,omitempty"`
  7138  	// CopyPaste: Copies data from one area and pastes it to another.
  7139  	CopyPaste *CopyPasteRequest `json:"copyPaste,omitempty"`
  7140  	// CreateDeveloperMetadata: Creates new developer metadata
  7141  	CreateDeveloperMetadata *CreateDeveloperMetadataRequest `json:"createDeveloperMetadata,omitempty"`
  7142  	// CutPaste: Cuts data from one area and pastes it to another.
  7143  	CutPaste *CutPasteRequest `json:"cutPaste,omitempty"`
  7144  	// DeleteBanding: Removes a banded range
  7145  	DeleteBanding *DeleteBandingRequest `json:"deleteBanding,omitempty"`
  7146  	// DeleteConditionalFormatRule: Deletes an existing conditional format rule.
  7147  	DeleteConditionalFormatRule *DeleteConditionalFormatRuleRequest `json:"deleteConditionalFormatRule,omitempty"`
  7148  	// DeleteDataSource: Deletes a data source.
  7149  	DeleteDataSource *DeleteDataSourceRequest `json:"deleteDataSource,omitempty"`
  7150  	// DeleteDeveloperMetadata: Deletes developer metadata
  7151  	DeleteDeveloperMetadata *DeleteDeveloperMetadataRequest `json:"deleteDeveloperMetadata,omitempty"`
  7152  	// DeleteDimension: Deletes rows or columns in a sheet.
  7153  	DeleteDimension *DeleteDimensionRequest `json:"deleteDimension,omitempty"`
  7154  	// DeleteDimensionGroup: Deletes a group over the specified range.
  7155  	DeleteDimensionGroup *DeleteDimensionGroupRequest `json:"deleteDimensionGroup,omitempty"`
  7156  	// DeleteDuplicates: Removes rows containing duplicate values in specified
  7157  	// columns of a cell range.
  7158  	DeleteDuplicates *DeleteDuplicatesRequest `json:"deleteDuplicates,omitempty"`
  7159  	// DeleteEmbeddedObject: Deletes an embedded object (e.g, chart, image) in a
  7160  	// sheet.
  7161  	DeleteEmbeddedObject *DeleteEmbeddedObjectRequest `json:"deleteEmbeddedObject,omitempty"`
  7162  	// DeleteFilterView: Deletes a filter view from a sheet.
  7163  	DeleteFilterView *DeleteFilterViewRequest `json:"deleteFilterView,omitempty"`
  7164  	// DeleteNamedRange: Deletes a named range.
  7165  	DeleteNamedRange *DeleteNamedRangeRequest `json:"deleteNamedRange,omitempty"`
  7166  	// DeleteProtectedRange: Deletes a protected range.
  7167  	DeleteProtectedRange *DeleteProtectedRangeRequest `json:"deleteProtectedRange,omitempty"`
  7168  	// DeleteRange: Deletes a range of cells from a sheet, shifting the remaining
  7169  	// cells.
  7170  	DeleteRange *DeleteRangeRequest `json:"deleteRange,omitempty"`
  7171  	// DeleteSheet: Deletes a sheet.
  7172  	DeleteSheet *DeleteSheetRequest `json:"deleteSheet,omitempty"`
  7173  	// DuplicateFilterView: Duplicates a filter view.
  7174  	DuplicateFilterView *DuplicateFilterViewRequest `json:"duplicateFilterView,omitempty"`
  7175  	// DuplicateSheet: Duplicates a sheet.
  7176  	DuplicateSheet *DuplicateSheetRequest `json:"duplicateSheet,omitempty"`
  7177  	// FindReplace: Finds and replaces occurrences of some text with other text.
  7178  	FindReplace *FindReplaceRequest `json:"findReplace,omitempty"`
  7179  	// InsertDimension: Inserts new rows or columns in a sheet.
  7180  	InsertDimension *InsertDimensionRequest `json:"insertDimension,omitempty"`
  7181  	// InsertRange: Inserts new cells in a sheet, shifting the existing cells.
  7182  	InsertRange *InsertRangeRequest `json:"insertRange,omitempty"`
  7183  	// MergeCells: Merges cells together.
  7184  	MergeCells *MergeCellsRequest `json:"mergeCells,omitempty"`
  7185  	// MoveDimension: Moves rows or columns to another location in a sheet.
  7186  	MoveDimension *MoveDimensionRequest `json:"moveDimension,omitempty"`
  7187  	// PasteData: Pastes data (HTML or delimited) into a sheet.
  7188  	PasteData *PasteDataRequest `json:"pasteData,omitempty"`
  7189  	// RandomizeRange: Randomizes the order of the rows in a range.
  7190  	RandomizeRange *RandomizeRangeRequest `json:"randomizeRange,omitempty"`
  7191  	// RefreshDataSource: Refreshes one or multiple data sources and associated
  7192  	// dbobjects.
  7193  	RefreshDataSource *RefreshDataSourceRequest `json:"refreshDataSource,omitempty"`
  7194  	// RepeatCell: Repeats a single cell across a range.
  7195  	RepeatCell *RepeatCellRequest `json:"repeatCell,omitempty"`
  7196  	// SetBasicFilter: Sets the basic filter on a sheet.
  7197  	SetBasicFilter *SetBasicFilterRequest `json:"setBasicFilter,omitempty"`
  7198  	// SetDataValidation: Sets data validation for one or more cells.
  7199  	SetDataValidation *SetDataValidationRequest `json:"setDataValidation,omitempty"`
  7200  	// SortRange: Sorts data in a range.
  7201  	SortRange *SortRangeRequest `json:"sortRange,omitempty"`
  7202  	// TextToColumns: Converts a column of text into many columns of text.
  7203  	TextToColumns *TextToColumnsRequest `json:"textToColumns,omitempty"`
  7204  	// TrimWhitespace: Trims cells of whitespace (such as spaces, tabs, or new
  7205  	// lines).
  7206  	TrimWhitespace *TrimWhitespaceRequest `json:"trimWhitespace,omitempty"`
  7207  	// UnmergeCells: Unmerges merged cells.
  7208  	UnmergeCells *UnmergeCellsRequest `json:"unmergeCells,omitempty"`
  7209  	// UpdateBanding: Updates a banded range
  7210  	UpdateBanding *UpdateBandingRequest `json:"updateBanding,omitempty"`
  7211  	// UpdateBorders: Updates the borders in a range of cells.
  7212  	UpdateBorders *UpdateBordersRequest `json:"updateBorders,omitempty"`
  7213  	// UpdateCells: Updates many cells at once.
  7214  	UpdateCells *UpdateCellsRequest `json:"updateCells,omitempty"`
  7215  	// UpdateChartSpec: Updates a chart's specifications.
  7216  	UpdateChartSpec *UpdateChartSpecRequest `json:"updateChartSpec,omitempty"`
  7217  	// UpdateConditionalFormatRule: Updates an existing conditional format rule.
  7218  	UpdateConditionalFormatRule *UpdateConditionalFormatRuleRequest `json:"updateConditionalFormatRule,omitempty"`
  7219  	// UpdateDataSource: Updates a data source.
  7220  	UpdateDataSource *UpdateDataSourceRequest `json:"updateDataSource,omitempty"`
  7221  	// UpdateDeveloperMetadata: Updates an existing developer metadata entry
  7222  	UpdateDeveloperMetadata *UpdateDeveloperMetadataRequest `json:"updateDeveloperMetadata,omitempty"`
  7223  	// UpdateDimensionGroup: Updates the state of the specified group.
  7224  	UpdateDimensionGroup *UpdateDimensionGroupRequest `json:"updateDimensionGroup,omitempty"`
  7225  	// UpdateDimensionProperties: Updates dimensions' properties.
  7226  	UpdateDimensionProperties *UpdateDimensionPropertiesRequest `json:"updateDimensionProperties,omitempty"`
  7227  	// UpdateEmbeddedObjectBorder: Updates an embedded object's border.
  7228  	UpdateEmbeddedObjectBorder *UpdateEmbeddedObjectBorderRequest `json:"updateEmbeddedObjectBorder,omitempty"`
  7229  	// UpdateEmbeddedObjectPosition: Updates an embedded object's (e.g. chart,
  7230  	// image) position.
  7231  	UpdateEmbeddedObjectPosition *UpdateEmbeddedObjectPositionRequest `json:"updateEmbeddedObjectPosition,omitempty"`
  7232  	// UpdateFilterView: Updates the properties of a filter view.
  7233  	UpdateFilterView *UpdateFilterViewRequest `json:"updateFilterView,omitempty"`
  7234  	// UpdateNamedRange: Updates a named range.
  7235  	UpdateNamedRange *UpdateNamedRangeRequest `json:"updateNamedRange,omitempty"`
  7236  	// UpdateProtectedRange: Updates a protected range.
  7237  	UpdateProtectedRange *UpdateProtectedRangeRequest `json:"updateProtectedRange,omitempty"`
  7238  	// UpdateSheetProperties: Updates a sheet's properties.
  7239  	UpdateSheetProperties *UpdateSheetPropertiesRequest `json:"updateSheetProperties,omitempty"`
  7240  	// UpdateSlicerSpec: Updates a slicer's specifications.
  7241  	UpdateSlicerSpec *UpdateSlicerSpecRequest `json:"updateSlicerSpec,omitempty"`
  7242  	// UpdateSpreadsheetProperties: Updates the spreadsheet's properties.
  7243  	UpdateSpreadsheetProperties *UpdateSpreadsheetPropertiesRequest `json:"updateSpreadsheetProperties,omitempty"`
  7244  	// ForceSendFields is a list of field names (e.g. "AddBanding") to
  7245  	// unconditionally include in API requests. By default, fields with empty or
  7246  	// default values are omitted from API requests. See
  7247  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7248  	// details.
  7249  	ForceSendFields []string `json:"-"`
  7250  	// NullFields is a list of field names (e.g. "AddBanding") to include in API
  7251  	// requests with the JSON null value. By default, fields with empty values are
  7252  	// omitted from API requests. See
  7253  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7254  	NullFields []string `json:"-"`
  7255  }
  7256  
  7257  func (s *Request) MarshalJSON() ([]byte, error) {
  7258  	type NoMethod Request
  7259  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7260  }
  7261  
  7262  // Response: A single response from an update.
  7263  type Response struct {
  7264  	// AddBanding: A reply from adding a banded range.
  7265  	AddBanding *AddBandingResponse `json:"addBanding,omitempty"`
  7266  	// AddChart: A reply from adding a chart.
  7267  	AddChart *AddChartResponse `json:"addChart,omitempty"`
  7268  	// AddDataSource: A reply from adding a data source.
  7269  	AddDataSource *AddDataSourceResponse `json:"addDataSource,omitempty"`
  7270  	// AddDimensionGroup: A reply from adding a dimension group.
  7271  	AddDimensionGroup *AddDimensionGroupResponse `json:"addDimensionGroup,omitempty"`
  7272  	// AddFilterView: A reply from adding a filter view.
  7273  	AddFilterView *AddFilterViewResponse `json:"addFilterView,omitempty"`
  7274  	// AddNamedRange: A reply from adding a named range.
  7275  	AddNamedRange *AddNamedRangeResponse `json:"addNamedRange,omitempty"`
  7276  	// AddProtectedRange: A reply from adding a protected range.
  7277  	AddProtectedRange *AddProtectedRangeResponse `json:"addProtectedRange,omitempty"`
  7278  	// AddSheet: A reply from adding a sheet.
  7279  	AddSheet *AddSheetResponse `json:"addSheet,omitempty"`
  7280  	// AddSlicer: A reply from adding a slicer.
  7281  	AddSlicer *AddSlicerResponse `json:"addSlicer,omitempty"`
  7282  	// CancelDataSourceRefresh: A reply from cancelling data source object
  7283  	// refreshes.
  7284  	CancelDataSourceRefresh *CancelDataSourceRefreshResponse `json:"cancelDataSourceRefresh,omitempty"`
  7285  	// CreateDeveloperMetadata: A reply from creating a developer metadata entry.
  7286  	CreateDeveloperMetadata *CreateDeveloperMetadataResponse `json:"createDeveloperMetadata,omitempty"`
  7287  	// DeleteConditionalFormatRule: A reply from deleting a conditional format
  7288  	// rule.
  7289  	DeleteConditionalFormatRule *DeleteConditionalFormatRuleResponse `json:"deleteConditionalFormatRule,omitempty"`
  7290  	// DeleteDeveloperMetadata: A reply from deleting a developer metadata entry.
  7291  	DeleteDeveloperMetadata *DeleteDeveloperMetadataResponse `json:"deleteDeveloperMetadata,omitempty"`
  7292  	// DeleteDimensionGroup: A reply from deleting a dimension group.
  7293  	DeleteDimensionGroup *DeleteDimensionGroupResponse `json:"deleteDimensionGroup,omitempty"`
  7294  	// DeleteDuplicates: A reply from removing rows containing duplicate values.
  7295  	DeleteDuplicates *DeleteDuplicatesResponse `json:"deleteDuplicates,omitempty"`
  7296  	// DuplicateFilterView: A reply from duplicating a filter view.
  7297  	DuplicateFilterView *DuplicateFilterViewResponse `json:"duplicateFilterView,omitempty"`
  7298  	// DuplicateSheet: A reply from duplicating a sheet.
  7299  	DuplicateSheet *DuplicateSheetResponse `json:"duplicateSheet,omitempty"`
  7300  	// FindReplace: A reply from doing a find/replace.
  7301  	FindReplace *FindReplaceResponse `json:"findReplace,omitempty"`
  7302  	// RefreshDataSource: A reply from refreshing data source objects.
  7303  	RefreshDataSource *RefreshDataSourceResponse `json:"refreshDataSource,omitempty"`
  7304  	// TrimWhitespace: A reply from trimming whitespace.
  7305  	TrimWhitespace *TrimWhitespaceResponse `json:"trimWhitespace,omitempty"`
  7306  	// UpdateConditionalFormatRule: A reply from updating a conditional format
  7307  	// rule.
  7308  	UpdateConditionalFormatRule *UpdateConditionalFormatRuleResponse `json:"updateConditionalFormatRule,omitempty"`
  7309  	// UpdateDataSource: A reply from updating a data source.
  7310  	UpdateDataSource *UpdateDataSourceResponse `json:"updateDataSource,omitempty"`
  7311  	// UpdateDeveloperMetadata: A reply from updating a developer metadata entry.
  7312  	UpdateDeveloperMetadata *UpdateDeveloperMetadataResponse `json:"updateDeveloperMetadata,omitempty"`
  7313  	// UpdateEmbeddedObjectPosition: A reply from updating an embedded object's
  7314  	// position.
  7315  	UpdateEmbeddedObjectPosition *UpdateEmbeddedObjectPositionResponse `json:"updateEmbeddedObjectPosition,omitempty"`
  7316  	// ForceSendFields is a list of field names (e.g. "AddBanding") to
  7317  	// unconditionally include in API requests. By default, fields with empty or
  7318  	// default values are omitted from API requests. See
  7319  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7320  	// details.
  7321  	ForceSendFields []string `json:"-"`
  7322  	// NullFields is a list of field names (e.g. "AddBanding") to include in API
  7323  	// requests with the JSON null value. By default, fields with empty values are
  7324  	// omitted from API requests. See
  7325  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7326  	NullFields []string `json:"-"`
  7327  }
  7328  
  7329  func (s *Response) MarshalJSON() ([]byte, error) {
  7330  	type NoMethod Response
  7331  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7332  }
  7333  
  7334  // RowData: Data about each cell in a row.
  7335  type RowData struct {
  7336  	// Values: The values in the row, one per column.
  7337  	Values []*CellData `json:"values,omitempty"`
  7338  	// ForceSendFields is a list of field names (e.g. "Values") to unconditionally
  7339  	// include in API requests. By default, fields with empty or default values are
  7340  	// omitted from API requests. See
  7341  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7342  	// details.
  7343  	ForceSendFields []string `json:"-"`
  7344  	// NullFields is a list of field names (e.g. "Values") to include in API
  7345  	// requests with the JSON null value. By default, fields with empty values are
  7346  	// omitted from API requests. See
  7347  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7348  	NullFields []string `json:"-"`
  7349  }
  7350  
  7351  func (s *RowData) MarshalJSON() ([]byte, error) {
  7352  	type NoMethod RowData
  7353  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7354  }
  7355  
  7356  // ScorecardChartSpec: A scorecard chart. Scorecard charts are used to
  7357  // highlight key performance indicators, known as KPIs, on the spreadsheet. A
  7358  // scorecard chart can represent things like total sales, average cost, or a
  7359  // top selling item. You can specify a single data value, or aggregate over a
  7360  // range of data. Percentage or absolute difference from a baseline value can
  7361  // be highlighted, like changes over time.
  7362  type ScorecardChartSpec struct {
  7363  	// AggregateType: The aggregation type for key and baseline chart data in
  7364  	// scorecard chart. This field is not supported for data source charts. Use the
  7365  	// ChartData.aggregateType field of the key_value_data or baseline_value_data
  7366  	// instead for data source charts. This field is optional.
  7367  	//
  7368  	// Possible values:
  7369  	//   "CHART_AGGREGATE_TYPE_UNSPECIFIED" - Default value, do not use.
  7370  	//   "AVERAGE" - Average aggregate function.
  7371  	//   "COUNT" - Count aggregate function.
  7372  	//   "MAX" - Maximum aggregate function.
  7373  	//   "MEDIAN" - Median aggregate function.
  7374  	//   "MIN" - Minimum aggregate function.
  7375  	//   "SUM" - Sum aggregate function.
  7376  	AggregateType string `json:"aggregateType,omitempty"`
  7377  	// BaselineValueData: The data for scorecard baseline value. This field is
  7378  	// optional.
  7379  	BaselineValueData *ChartData `json:"baselineValueData,omitempty"`
  7380  	// BaselineValueFormat: Formatting options for baseline value. This field is
  7381  	// needed only if baseline_value_data is specified.
  7382  	BaselineValueFormat *BaselineValueFormat `json:"baselineValueFormat,omitempty"`
  7383  	// CustomFormatOptions: Custom formatting options for numeric key/baseline
  7384  	// values in scorecard chart. This field is used only when number_format_source
  7385  	// is set to CUSTOM. This field is optional.
  7386  	CustomFormatOptions *ChartCustomNumberFormatOptions `json:"customFormatOptions,omitempty"`
  7387  	// KeyValueData: The data for scorecard key value.
  7388  	KeyValueData *ChartData `json:"keyValueData,omitempty"`
  7389  	// KeyValueFormat: Formatting options for key value.
  7390  	KeyValueFormat *KeyValueFormat `json:"keyValueFormat,omitempty"`
  7391  	// NumberFormatSource: The number format source used in the scorecard chart.
  7392  	// This field is optional.
  7393  	//
  7394  	// Possible values:
  7395  	//   "CHART_NUMBER_FORMAT_SOURCE_UNDEFINED" - Default value, do not use.
  7396  	//   "FROM_DATA" - Inherit number formatting from data.
  7397  	//   "CUSTOM" - Apply custom formatting as specified by
  7398  	// ChartCustomNumberFormatOptions.
  7399  	NumberFormatSource string `json:"numberFormatSource,omitempty"`
  7400  	// ScaleFactor: Value to scale scorecard key and baseline value. For example, a
  7401  	// factor of 10 can be used to divide all values in the chart by 10. This field
  7402  	// is optional.
  7403  	ScaleFactor float64 `json:"scaleFactor,omitempty"`
  7404  	// ForceSendFields is a list of field names (e.g. "AggregateType") to
  7405  	// unconditionally include in API requests. By default, fields with empty or
  7406  	// default values are omitted from API requests. See
  7407  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7408  	// details.
  7409  	ForceSendFields []string `json:"-"`
  7410  	// NullFields is a list of field names (e.g. "AggregateType") to include in API
  7411  	// requests with the JSON null value. By default, fields with empty values are
  7412  	// omitted from API requests. See
  7413  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7414  	NullFields []string `json:"-"`
  7415  }
  7416  
  7417  func (s *ScorecardChartSpec) MarshalJSON() ([]byte, error) {
  7418  	type NoMethod ScorecardChartSpec
  7419  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7420  }
  7421  
  7422  func (s *ScorecardChartSpec) UnmarshalJSON(data []byte) error {
  7423  	type NoMethod ScorecardChartSpec
  7424  	var s1 struct {
  7425  		ScaleFactor gensupport.JSONFloat64 `json:"scaleFactor"`
  7426  		*NoMethod
  7427  	}
  7428  	s1.NoMethod = (*NoMethod)(s)
  7429  	if err := json.Unmarshal(data, &s1); err != nil {
  7430  		return err
  7431  	}
  7432  	s.ScaleFactor = float64(s1.ScaleFactor)
  7433  	return nil
  7434  }
  7435  
  7436  // SearchDeveloperMetadataRequest: A request to retrieve all developer metadata
  7437  // matching the set of specified criteria.
  7438  type SearchDeveloperMetadataRequest struct {
  7439  	// DataFilters: The data filters describing the criteria used to determine
  7440  	// which DeveloperMetadata entries to return. DeveloperMetadata matching any of
  7441  	// the specified filters are included in the response.
  7442  	DataFilters []*DataFilter `json:"dataFilters,omitempty"`
  7443  	// ForceSendFields is a list of field names (e.g. "DataFilters") to
  7444  	// unconditionally include in API requests. By default, fields with empty or
  7445  	// default values are omitted from API requests. See
  7446  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7447  	// details.
  7448  	ForceSendFields []string `json:"-"`
  7449  	// NullFields is a list of field names (e.g. "DataFilters") to include in API
  7450  	// requests with the JSON null value. By default, fields with empty values are
  7451  	// omitted from API requests. See
  7452  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7453  	NullFields []string `json:"-"`
  7454  }
  7455  
  7456  func (s *SearchDeveloperMetadataRequest) MarshalJSON() ([]byte, error) {
  7457  	type NoMethod SearchDeveloperMetadataRequest
  7458  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7459  }
  7460  
  7461  // SearchDeveloperMetadataResponse: A reply to a developer metadata search
  7462  // request.
  7463  type SearchDeveloperMetadataResponse struct {
  7464  	// MatchedDeveloperMetadata: The metadata matching the criteria of the search
  7465  	// request.
  7466  	MatchedDeveloperMetadata []*MatchedDeveloperMetadata `json:"matchedDeveloperMetadata,omitempty"`
  7467  
  7468  	// ServerResponse contains the HTTP response code and headers from the server.
  7469  	googleapi.ServerResponse `json:"-"`
  7470  	// ForceSendFields is a list of field names (e.g. "MatchedDeveloperMetadata")
  7471  	// to unconditionally include in API requests. By default, fields with empty or
  7472  	// default values are omitted from API requests. See
  7473  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7474  	// details.
  7475  	ForceSendFields []string `json:"-"`
  7476  	// NullFields is a list of field names (e.g. "MatchedDeveloperMetadata") to
  7477  	// include in API requests with the JSON null value. By default, fields with
  7478  	// empty values are omitted from API requests. See
  7479  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7480  	NullFields []string `json:"-"`
  7481  }
  7482  
  7483  func (s *SearchDeveloperMetadataResponse) MarshalJSON() ([]byte, error) {
  7484  	type NoMethod SearchDeveloperMetadataResponse
  7485  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7486  }
  7487  
  7488  // SetBasicFilterRequest: Sets the basic filter associated with a sheet.
  7489  type SetBasicFilterRequest struct {
  7490  	// Filter: The filter to set.
  7491  	Filter *BasicFilter `json:"filter,omitempty"`
  7492  	// ForceSendFields is a list of field names (e.g. "Filter") to unconditionally
  7493  	// include in API requests. By default, fields with empty or default values are
  7494  	// omitted from API requests. See
  7495  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7496  	// details.
  7497  	ForceSendFields []string `json:"-"`
  7498  	// NullFields is a list of field names (e.g. "Filter") to include in API
  7499  	// requests with the JSON null value. By default, fields with empty values are
  7500  	// omitted from API requests. See
  7501  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7502  	NullFields []string `json:"-"`
  7503  }
  7504  
  7505  func (s *SetBasicFilterRequest) MarshalJSON() ([]byte, error) {
  7506  	type NoMethod SetBasicFilterRequest
  7507  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7508  }
  7509  
  7510  // SetDataValidationRequest: Sets a data validation rule to every cell in the
  7511  // range. To clear validation in a range, call this with no rule specified.
  7512  type SetDataValidationRequest struct {
  7513  	// Range: The range the data validation rule should apply to.
  7514  	Range *GridRange `json:"range,omitempty"`
  7515  	// Rule: The data validation rule to set on each cell in the range, or empty to
  7516  	// clear the data validation in the range.
  7517  	Rule *DataValidationRule `json:"rule,omitempty"`
  7518  	// ForceSendFields is a list of field names (e.g. "Range") to unconditionally
  7519  	// include in API requests. By default, fields with empty or default values are
  7520  	// omitted from API requests. See
  7521  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7522  	// details.
  7523  	ForceSendFields []string `json:"-"`
  7524  	// NullFields is a list of field names (e.g. "Range") to include in API
  7525  	// requests with the JSON null value. By default, fields with empty values are
  7526  	// omitted from API requests. See
  7527  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7528  	NullFields []string `json:"-"`
  7529  }
  7530  
  7531  func (s *SetDataValidationRequest) MarshalJSON() ([]byte, error) {
  7532  	type NoMethod SetDataValidationRequest
  7533  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7534  }
  7535  
  7536  // Sheet: A sheet in a spreadsheet.
  7537  type Sheet struct {
  7538  	// BandedRanges: The banded (alternating colors) ranges on this sheet.
  7539  	BandedRanges []*BandedRange `json:"bandedRanges,omitempty"`
  7540  	// BasicFilter: The filter on this sheet, if any.
  7541  	BasicFilter *BasicFilter `json:"basicFilter,omitempty"`
  7542  	// Charts: The specifications of every chart on this sheet.
  7543  	Charts []*EmbeddedChart `json:"charts,omitempty"`
  7544  	// ColumnGroups: All column groups on this sheet, ordered by increasing range
  7545  	// start index, then by group depth.
  7546  	ColumnGroups []*DimensionGroup `json:"columnGroups,omitempty"`
  7547  	// ConditionalFormats: The conditional format rules in this sheet.
  7548  	ConditionalFormats []*ConditionalFormatRule `json:"conditionalFormats,omitempty"`
  7549  	// Data: Data in the grid, if this is a grid sheet. The number of GridData
  7550  	// objects returned is dependent on the number of ranges requested on this
  7551  	// sheet. For example, if this is representing `Sheet1`, and the spreadsheet
  7552  	// was requested with ranges `Sheet1!A1:C10` and `Sheet1!D15:E20`, then the
  7553  	// first GridData will have a startRow/startColumn of `0`, while the second one
  7554  	// will have `startRow 14` (zero-based row 15), and `startColumn 3` (zero-based
  7555  	// column D). For a DATA_SOURCE sheet, you can not request a specific range,
  7556  	// the GridData contains all the values.
  7557  	Data []*GridData `json:"data,omitempty"`
  7558  	// DeveloperMetadata: The developer metadata associated with a sheet.
  7559  	DeveloperMetadata []*DeveloperMetadata `json:"developerMetadata,omitempty"`
  7560  	// FilterViews: The filter views in this sheet.
  7561  	FilterViews []*FilterView `json:"filterViews,omitempty"`
  7562  	// Merges: The ranges that are merged together.
  7563  	Merges []*GridRange `json:"merges,omitempty"`
  7564  	// Properties: The properties of the sheet.
  7565  	Properties *SheetProperties `json:"properties,omitempty"`
  7566  	// ProtectedRanges: The protected ranges in this sheet.
  7567  	ProtectedRanges []*ProtectedRange `json:"protectedRanges,omitempty"`
  7568  	// RowGroups: All row groups on this sheet, ordered by increasing range start
  7569  	// index, then by group depth.
  7570  	RowGroups []*DimensionGroup `json:"rowGroups,omitempty"`
  7571  	// Slicers: The slicers on this sheet.
  7572  	Slicers []*Slicer `json:"slicers,omitempty"`
  7573  	// ForceSendFields is a list of field names (e.g. "BandedRanges") to
  7574  	// unconditionally include in API requests. By default, fields with empty or
  7575  	// default values are omitted from API requests. See
  7576  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7577  	// details.
  7578  	ForceSendFields []string `json:"-"`
  7579  	// NullFields is a list of field names (e.g. "BandedRanges") to include in API
  7580  	// requests with the JSON null value. By default, fields with empty values are
  7581  	// omitted from API requests. See
  7582  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7583  	NullFields []string `json:"-"`
  7584  }
  7585  
  7586  func (s *Sheet) MarshalJSON() ([]byte, error) {
  7587  	type NoMethod Sheet
  7588  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7589  }
  7590  
  7591  // SheetProperties: Properties of a sheet.
  7592  type SheetProperties struct {
  7593  	// DataSourceSheetProperties: Output only. If present, the field contains
  7594  	// DATA_SOURCE sheet specific properties.
  7595  	DataSourceSheetProperties *DataSourceSheetProperties `json:"dataSourceSheetProperties,omitempty"`
  7596  	// GridProperties: Additional properties of the sheet if this sheet is a grid.
  7597  	// (If the sheet is an object sheet, containing a chart or image, then this
  7598  	// field will be absent.) When writing it is an error to set any grid
  7599  	// properties on non-grid sheets. If this sheet is a DATA_SOURCE sheet, this
  7600  	// field is output only but contains the properties that reflect how a data
  7601  	// source sheet is rendered in the UI, e.g. row_count.
  7602  	GridProperties *GridProperties `json:"gridProperties,omitempty"`
  7603  	// Hidden: True if the sheet is hidden in the UI, false if it's visible.
  7604  	Hidden bool `json:"hidden,omitempty"`
  7605  	// Index: The index of the sheet within the spreadsheet. When adding or
  7606  	// updating sheet properties, if this field is excluded then the sheet is added
  7607  	// or moved to the end of the sheet list. When updating sheet indices or
  7608  	// inserting sheets, movement is considered in "before the move" indexes. For
  7609  	// example, if there were three sheets (S1, S2, S3) in order to move S1 ahead
  7610  	// of S2 the index would have to be set to 2. A sheet index update request is
  7611  	// ignored if the requested index is identical to the sheets current index or
  7612  	// if the requested new index is equal to the current sheet index + 1.
  7613  	Index int64 `json:"index,omitempty"`
  7614  	// RightToLeft: True if the sheet is an RTL sheet instead of an LTR sheet.
  7615  	RightToLeft bool `json:"rightToLeft,omitempty"`
  7616  	// SheetId: The ID of the sheet. Must be non-negative. This field cannot be
  7617  	// changed once set.
  7618  	SheetId int64 `json:"sheetId,omitempty"`
  7619  	// SheetType: The type of sheet. Defaults to GRID. This field cannot be changed
  7620  	// once set.
  7621  	//
  7622  	// Possible values:
  7623  	//   "SHEET_TYPE_UNSPECIFIED" - Default value, do not use.
  7624  	//   "GRID" - The sheet is a grid.
  7625  	//   "OBJECT" - The sheet has no grid and instead has an object like a chart or
  7626  	// image.
  7627  	//   "DATA_SOURCE" - The sheet connects with an external DataSource and shows
  7628  	// the preview of data.
  7629  	SheetType string `json:"sheetType,omitempty"`
  7630  	// TabColor: The color of the tab in the UI. Deprecated: Use tab_color_style.
  7631  	TabColor *Color `json:"tabColor,omitempty"`
  7632  	// TabColorStyle: The color of the tab in the UI. If tab_color is also set,
  7633  	// this field takes precedence.
  7634  	TabColorStyle *ColorStyle `json:"tabColorStyle,omitempty"`
  7635  	// Title: The name of the sheet.
  7636  	Title string `json:"title,omitempty"`
  7637  
  7638  	// ServerResponse contains the HTTP response code and headers from the server.
  7639  	googleapi.ServerResponse `json:"-"`
  7640  	// ForceSendFields is a list of field names (e.g. "DataSourceSheetProperties")
  7641  	// to unconditionally include in API requests. By default, fields with empty or
  7642  	// default values are omitted from API requests. See
  7643  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7644  	// details.
  7645  	ForceSendFields []string `json:"-"`
  7646  	// NullFields is a list of field names (e.g. "DataSourceSheetProperties") to
  7647  	// include in API requests with the JSON null value. By default, fields with
  7648  	// empty values are omitted from API requests. See
  7649  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7650  	NullFields []string `json:"-"`
  7651  }
  7652  
  7653  func (s *SheetProperties) MarshalJSON() ([]byte, error) {
  7654  	type NoMethod SheetProperties
  7655  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7656  }
  7657  
  7658  // Slicer: A slicer in a sheet.
  7659  type Slicer struct {
  7660  	// Position: The position of the slicer. Note that slicer can be positioned
  7661  	// only on existing sheet. Also, width and height of slicer can be
  7662  	// automatically adjusted to keep it within permitted limits.
  7663  	Position *EmbeddedObjectPosition `json:"position,omitempty"`
  7664  	// SlicerId: The ID of the slicer.
  7665  	SlicerId int64 `json:"slicerId,omitempty"`
  7666  	// Spec: The specification of the slicer.
  7667  	Spec *SlicerSpec `json:"spec,omitempty"`
  7668  	// ForceSendFields is a list of field names (e.g. "Position") to
  7669  	// unconditionally include in API requests. By default, fields with empty or
  7670  	// default values are omitted from API requests. See
  7671  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7672  	// details.
  7673  	ForceSendFields []string `json:"-"`
  7674  	// NullFields is a list of field names (e.g. "Position") to include in API
  7675  	// requests with the JSON null value. By default, fields with empty values are
  7676  	// omitted from API requests. See
  7677  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7678  	NullFields []string `json:"-"`
  7679  }
  7680  
  7681  func (s *Slicer) MarshalJSON() ([]byte, error) {
  7682  	type NoMethod Slicer
  7683  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7684  }
  7685  
  7686  // SlicerSpec: The specifications of a slicer.
  7687  type SlicerSpec struct {
  7688  	// ApplyToPivotTables: True if the filter should apply to pivot tables. If not
  7689  	// set, default to `True`.
  7690  	ApplyToPivotTables bool `json:"applyToPivotTables,omitempty"`
  7691  	// BackgroundColor: The background color of the slicer. Deprecated: Use
  7692  	// background_color_style.
  7693  	BackgroundColor *Color `json:"backgroundColor,omitempty"`
  7694  	// BackgroundColorStyle: The background color of the slicer. If
  7695  	// background_color is also set, this field takes precedence.
  7696  	BackgroundColorStyle *ColorStyle `json:"backgroundColorStyle,omitempty"`
  7697  	// ColumnIndex: The zero-based column index in the data table on which the
  7698  	// filter is applied to.
  7699  	ColumnIndex int64 `json:"columnIndex,omitempty"`
  7700  	// DataRange: The data range of the slicer.
  7701  	DataRange *GridRange `json:"dataRange,omitempty"`
  7702  	// FilterCriteria: The filtering criteria of the slicer.
  7703  	FilterCriteria *FilterCriteria `json:"filterCriteria,omitempty"`
  7704  	// HorizontalAlignment: The horizontal alignment of title in the slicer. If
  7705  	// unspecified, defaults to `LEFT`
  7706  	//
  7707  	// Possible values:
  7708  	//   "HORIZONTAL_ALIGN_UNSPECIFIED" - The horizontal alignment is not
  7709  	// specified. Do not use this.
  7710  	//   "LEFT" - The text is explicitly aligned to the left of the cell.
  7711  	//   "CENTER" - The text is explicitly aligned to the center of the cell.
  7712  	//   "RIGHT" - The text is explicitly aligned to the right of the cell.
  7713  	HorizontalAlignment string `json:"horizontalAlignment,omitempty"`
  7714  	// TextFormat: The text format of title in the slicer. The link field is not
  7715  	// supported.
  7716  	TextFormat *TextFormat `json:"textFormat,omitempty"`
  7717  	// Title: The title of the slicer.
  7718  	Title string `json:"title,omitempty"`
  7719  	// ForceSendFields is a list of field names (e.g. "ApplyToPivotTables") to
  7720  	// unconditionally include in API requests. By default, fields with empty or
  7721  	// default values are omitted from API requests. See
  7722  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7723  	// details.
  7724  	ForceSendFields []string `json:"-"`
  7725  	// NullFields is a list of field names (e.g. "ApplyToPivotTables") to include
  7726  	// in API requests with the JSON null value. By default, fields with empty
  7727  	// values are omitted from API requests. See
  7728  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7729  	NullFields []string `json:"-"`
  7730  }
  7731  
  7732  func (s *SlicerSpec) MarshalJSON() ([]byte, error) {
  7733  	type NoMethod SlicerSpec
  7734  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7735  }
  7736  
  7737  // SortRangeRequest: Sorts data in rows based on a sort order per column.
  7738  type SortRangeRequest struct {
  7739  	// Range: The range to sort.
  7740  	Range *GridRange `json:"range,omitempty"`
  7741  	// SortSpecs: The sort order per column. Later specifications are used when
  7742  	// values are equal in the earlier specifications.
  7743  	SortSpecs []*SortSpec `json:"sortSpecs,omitempty"`
  7744  	// ForceSendFields is a list of field names (e.g. "Range") to unconditionally
  7745  	// include in API requests. By default, fields with empty or default values are
  7746  	// omitted from API requests. See
  7747  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7748  	// details.
  7749  	ForceSendFields []string `json:"-"`
  7750  	// NullFields is a list of field names (e.g. "Range") to include in API
  7751  	// requests with the JSON null value. By default, fields with empty values are
  7752  	// omitted from API requests. See
  7753  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7754  	NullFields []string `json:"-"`
  7755  }
  7756  
  7757  func (s *SortRangeRequest) MarshalJSON() ([]byte, error) {
  7758  	type NoMethod SortRangeRequest
  7759  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7760  }
  7761  
  7762  // SortSpec: A sort order associated with a specific column or row.
  7763  type SortSpec struct {
  7764  	// BackgroundColor: The background fill color to sort by; cells with this fill
  7765  	// color are sorted to the top. Mutually exclusive with foreground_color.
  7766  	// Deprecated: Use background_color_style.
  7767  	BackgroundColor *Color `json:"backgroundColor,omitempty"`
  7768  	// BackgroundColorStyle: The background fill color to sort by; cells with this
  7769  	// fill color are sorted to the top. Mutually exclusive with foreground_color,
  7770  	// and must be an RGB-type color. If background_color is also set, this field
  7771  	// takes precedence.
  7772  	BackgroundColorStyle *ColorStyle `json:"backgroundColorStyle,omitempty"`
  7773  	// DataSourceColumnReference: Reference to a data source column.
  7774  	DataSourceColumnReference *DataSourceColumnReference `json:"dataSourceColumnReference,omitempty"`
  7775  	// DimensionIndex: The dimension the sort should be applied to.
  7776  	DimensionIndex int64 `json:"dimensionIndex,omitempty"`
  7777  	// ForegroundColor: The foreground color to sort by; cells with this foreground
  7778  	// color are sorted to the top. Mutually exclusive with background_color.
  7779  	// Deprecated: Use foreground_color_style.
  7780  	ForegroundColor *Color `json:"foregroundColor,omitempty"`
  7781  	// ForegroundColorStyle: The foreground color to sort by; cells with this
  7782  	// foreground color are sorted to the top. Mutually exclusive with
  7783  	// background_color, and must be an RGB-type color. If foreground_color is also
  7784  	// set, this field takes precedence.
  7785  	ForegroundColorStyle *ColorStyle `json:"foregroundColorStyle,omitempty"`
  7786  	// SortOrder: The order data should be sorted.
  7787  	//
  7788  	// Possible values:
  7789  	//   "SORT_ORDER_UNSPECIFIED" - Default value, do not use this.
  7790  	//   "ASCENDING" - Sort ascending.
  7791  	//   "DESCENDING" - Sort descending.
  7792  	SortOrder string `json:"sortOrder,omitempty"`
  7793  	// ForceSendFields is a list of field names (e.g. "BackgroundColor") to
  7794  	// unconditionally include in API requests. By default, fields with empty or
  7795  	// default values are omitted from API requests. See
  7796  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7797  	// details.
  7798  	ForceSendFields []string `json:"-"`
  7799  	// NullFields is a list of field names (e.g. "BackgroundColor") to include in
  7800  	// API requests with the JSON null value. By default, fields with empty values
  7801  	// are omitted from API requests. See
  7802  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7803  	NullFields []string `json:"-"`
  7804  }
  7805  
  7806  func (s *SortSpec) MarshalJSON() ([]byte, error) {
  7807  	type NoMethod SortSpec
  7808  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7809  }
  7810  
  7811  // SourceAndDestination: A combination of a source range and how to extend that
  7812  // source.
  7813  type SourceAndDestination struct {
  7814  	// Dimension: The dimension that data should be filled into.
  7815  	//
  7816  	// Possible values:
  7817  	//   "DIMENSION_UNSPECIFIED" - The default value, do not use.
  7818  	//   "ROWS" - Operates on the rows of a sheet.
  7819  	//   "COLUMNS" - Operates on the columns of a sheet.
  7820  	Dimension string `json:"dimension,omitempty"`
  7821  	// FillLength: The number of rows or columns that data should be filled into.
  7822  	// Positive numbers expand beyond the last row or last column of the source.
  7823  	// Negative numbers expand before the first row or first column of the source.
  7824  	FillLength int64 `json:"fillLength,omitempty"`
  7825  	// Source: The location of the data to use as the source of the autofill.
  7826  	Source *GridRange `json:"source,omitempty"`
  7827  	// ForceSendFields is a list of field names (e.g. "Dimension") to
  7828  	// unconditionally include in API requests. By default, fields with empty or
  7829  	// default values are omitted from API requests. See
  7830  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7831  	// details.
  7832  	ForceSendFields []string `json:"-"`
  7833  	// NullFields is a list of field names (e.g. "Dimension") to include in API
  7834  	// requests with the JSON null value. By default, fields with empty values are
  7835  	// omitted from API requests. See
  7836  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7837  	NullFields []string `json:"-"`
  7838  }
  7839  
  7840  func (s *SourceAndDestination) MarshalJSON() ([]byte, error) {
  7841  	type NoMethod SourceAndDestination
  7842  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7843  }
  7844  
  7845  // Spreadsheet: Resource that represents a spreadsheet.
  7846  type Spreadsheet struct {
  7847  	// DataSourceSchedules: Output only. A list of data source refresh schedules.
  7848  	DataSourceSchedules []*DataSourceRefreshSchedule `json:"dataSourceSchedules,omitempty"`
  7849  	// DataSources: A list of external data sources connected with the spreadsheet.
  7850  	DataSources []*DataSource `json:"dataSources,omitempty"`
  7851  	// DeveloperMetadata: The developer metadata associated with a spreadsheet.
  7852  	DeveloperMetadata []*DeveloperMetadata `json:"developerMetadata,omitempty"`
  7853  	// NamedRanges: The named ranges defined in a spreadsheet.
  7854  	NamedRanges []*NamedRange `json:"namedRanges,omitempty"`
  7855  	// Properties: Overall properties of a spreadsheet.
  7856  	Properties *SpreadsheetProperties `json:"properties,omitempty"`
  7857  	// Sheets: The sheets that are part of a spreadsheet.
  7858  	Sheets []*Sheet `json:"sheets,omitempty"`
  7859  	// SpreadsheetId: The ID of the spreadsheet. This field is read-only.
  7860  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
  7861  	// SpreadsheetUrl: The url of the spreadsheet. This field is read-only.
  7862  	SpreadsheetUrl string `json:"spreadsheetUrl,omitempty"`
  7863  
  7864  	// ServerResponse contains the HTTP response code and headers from the server.
  7865  	googleapi.ServerResponse `json:"-"`
  7866  	// ForceSendFields is a list of field names (e.g. "DataSourceSchedules") to
  7867  	// unconditionally include in API requests. By default, fields with empty or
  7868  	// default values are omitted from API requests. See
  7869  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7870  	// details.
  7871  	ForceSendFields []string `json:"-"`
  7872  	// NullFields is a list of field names (e.g. "DataSourceSchedules") to include
  7873  	// in API requests with the JSON null value. By default, fields with empty
  7874  	// values are omitted from API requests. See
  7875  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7876  	NullFields []string `json:"-"`
  7877  }
  7878  
  7879  func (s *Spreadsheet) MarshalJSON() ([]byte, error) {
  7880  	type NoMethod Spreadsheet
  7881  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7882  }
  7883  
  7884  // SpreadsheetProperties: Properties of a spreadsheet.
  7885  type SpreadsheetProperties struct {
  7886  	// AutoRecalc: The amount of time to wait before volatile functions are
  7887  	// recalculated.
  7888  	//
  7889  	// Possible values:
  7890  	//   "RECALCULATION_INTERVAL_UNSPECIFIED" - Default value. This value must not
  7891  	// be used.
  7892  	//   "ON_CHANGE" - Volatile functions are updated on every change.
  7893  	//   "MINUTE" - Volatile functions are updated on every change and every
  7894  	// minute.
  7895  	//   "HOUR" - Volatile functions are updated on every change and hourly.
  7896  	AutoRecalc string `json:"autoRecalc,omitempty"`
  7897  	// DefaultFormat: The default format of all cells in the spreadsheet.
  7898  	// CellData.effectiveFormat will not be set if the cell's format is equal to
  7899  	// this default format. This field is read-only.
  7900  	DefaultFormat *CellFormat `json:"defaultFormat,omitempty"`
  7901  	// ImportFunctionsExternalUrlAccessAllowed: Whether to allow external URL
  7902  	// access for image and import functions. Read only when true. When false, you
  7903  	// can set to true.
  7904  	ImportFunctionsExternalUrlAccessAllowed bool `json:"importFunctionsExternalUrlAccessAllowed,omitempty"`
  7905  	// IterativeCalculationSettings: Determines whether and how circular references
  7906  	// are resolved with iterative calculation. Absence of this field means that
  7907  	// circular references result in calculation errors.
  7908  	IterativeCalculationSettings *IterativeCalculationSettings `json:"iterativeCalculationSettings,omitempty"`
  7909  	// Locale: The locale of the spreadsheet in one of the following formats: * an
  7910  	// ISO 639-1 language code such as `en` * an ISO 639-2 language code such as
  7911  	// `fil`, if no 639-1 code exists * a combination of the ISO language code and
  7912  	// country code, such as `en_US` Note: when updating this field, not all
  7913  	// locales/languages are supported.
  7914  	Locale string `json:"locale,omitempty"`
  7915  	// SpreadsheetTheme: Theme applied to the spreadsheet.
  7916  	SpreadsheetTheme *SpreadsheetTheme `json:"spreadsheetTheme,omitempty"`
  7917  	// TimeZone: The time zone of the spreadsheet, in CLDR format such as
  7918  	// `America/New_York`. If the time zone isn't recognized, this may be a custom
  7919  	// time zone such as `GMT-07:00`.
  7920  	TimeZone string `json:"timeZone,omitempty"`
  7921  	// Title: The title of the spreadsheet.
  7922  	Title string `json:"title,omitempty"`
  7923  	// ForceSendFields is a list of field names (e.g. "AutoRecalc") to
  7924  	// unconditionally include in API requests. By default, fields with empty or
  7925  	// default values are omitted from API requests. See
  7926  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7927  	// details.
  7928  	ForceSendFields []string `json:"-"`
  7929  	// NullFields is a list of field names (e.g. "AutoRecalc") to include in API
  7930  	// requests with the JSON null value. By default, fields with empty values are
  7931  	// omitted from API requests. See
  7932  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7933  	NullFields []string `json:"-"`
  7934  }
  7935  
  7936  func (s *SpreadsheetProperties) MarshalJSON() ([]byte, error) {
  7937  	type NoMethod SpreadsheetProperties
  7938  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7939  }
  7940  
  7941  // SpreadsheetTheme: Represents spreadsheet theme
  7942  type SpreadsheetTheme struct {
  7943  	// PrimaryFontFamily: Name of the primary font family.
  7944  	PrimaryFontFamily string `json:"primaryFontFamily,omitempty"`
  7945  	// ThemeColors: The spreadsheet theme color pairs. To update you must provide
  7946  	// all theme color pairs.
  7947  	ThemeColors []*ThemeColorPair `json:"themeColors,omitempty"`
  7948  	// ForceSendFields is a list of field names (e.g. "PrimaryFontFamily") to
  7949  	// unconditionally include in API requests. By default, fields with empty or
  7950  	// default values are omitted from API requests. See
  7951  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7952  	// details.
  7953  	ForceSendFields []string `json:"-"`
  7954  	// NullFields is a list of field names (e.g. "PrimaryFontFamily") to include in
  7955  	// API requests with the JSON null value. By default, fields with empty values
  7956  	// are omitted from API requests. See
  7957  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7958  	NullFields []string `json:"-"`
  7959  }
  7960  
  7961  func (s *SpreadsheetTheme) MarshalJSON() ([]byte, error) {
  7962  	type NoMethod SpreadsheetTheme
  7963  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7964  }
  7965  
  7966  // TextFormat: The format of a run of text in a cell. Absent values indicate
  7967  // that the field isn't specified.
  7968  type TextFormat struct {
  7969  	// Bold: True if the text is bold.
  7970  	Bold bool `json:"bold,omitempty"`
  7971  	// FontFamily: The font family.
  7972  	FontFamily string `json:"fontFamily,omitempty"`
  7973  	// FontSize: The size of the font.
  7974  	FontSize int64 `json:"fontSize,omitempty"`
  7975  	// ForegroundColor: The foreground color of the text. Deprecated: Use
  7976  	// foreground_color_style.
  7977  	ForegroundColor *Color `json:"foregroundColor,omitempty"`
  7978  	// ForegroundColorStyle: The foreground color of the text. If foreground_color
  7979  	// is also set, this field takes precedence.
  7980  	ForegroundColorStyle *ColorStyle `json:"foregroundColorStyle,omitempty"`
  7981  	// Italic: True if the text is italicized.
  7982  	Italic bool `json:"italic,omitempty"`
  7983  	// Link: The link destination of the text, if any. Setting the link field in a
  7984  	// TextFormatRun will clear the cell's existing links or a cell-level link set
  7985  	// in the same request. When a link is set, the text foreground color will be
  7986  	// set to the default link color and the text will be underlined. If these
  7987  	// fields are modified in the same request, those values will be used instead
  7988  	// of the link defaults.
  7989  	Link *Link `json:"link,omitempty"`
  7990  	// Strikethrough: True if the text has a strikethrough.
  7991  	Strikethrough bool `json:"strikethrough,omitempty"`
  7992  	// Underline: True if the text is underlined.
  7993  	Underline bool `json:"underline,omitempty"`
  7994  	// ForceSendFields is a list of field names (e.g. "Bold") to unconditionally
  7995  	// include in API requests. By default, fields with empty or default values are
  7996  	// omitted from API requests. See
  7997  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7998  	// details.
  7999  	ForceSendFields []string `json:"-"`
  8000  	// NullFields is a list of field names (e.g. "Bold") to include in API requests
  8001  	// with the JSON null value. By default, fields with empty values are omitted
  8002  	// from API requests. See
  8003  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8004  	NullFields []string `json:"-"`
  8005  }
  8006  
  8007  func (s *TextFormat) MarshalJSON() ([]byte, error) {
  8008  	type NoMethod TextFormat
  8009  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8010  }
  8011  
  8012  // TextFormatRun: A run of a text format. The format of this run continues
  8013  // until the start index of the next run. When updating, all fields must be
  8014  // set.
  8015  type TextFormatRun struct {
  8016  	// Format: The format of this run. Absent values inherit the cell's format.
  8017  	Format *TextFormat `json:"format,omitempty"`
  8018  	// StartIndex: The zero-based character index where this run starts, in UTF-16
  8019  	// code units.
  8020  	StartIndex int64 `json:"startIndex,omitempty"`
  8021  	// ForceSendFields is a list of field names (e.g. "Format") to unconditionally
  8022  	// include in API requests. By default, fields with empty or default values are
  8023  	// omitted from API requests. See
  8024  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8025  	// details.
  8026  	ForceSendFields []string `json:"-"`
  8027  	// NullFields is a list of field names (e.g. "Format") to include in API
  8028  	// requests with the JSON null value. By default, fields with empty values are
  8029  	// omitted from API requests. See
  8030  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8031  	NullFields []string `json:"-"`
  8032  }
  8033  
  8034  func (s *TextFormatRun) MarshalJSON() ([]byte, error) {
  8035  	type NoMethod TextFormatRun
  8036  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8037  }
  8038  
  8039  // TextPosition: Position settings for text.
  8040  type TextPosition struct {
  8041  	// HorizontalAlignment: Horizontal alignment setting for the piece of text.
  8042  	//
  8043  	// Possible values:
  8044  	//   "HORIZONTAL_ALIGN_UNSPECIFIED" - The horizontal alignment is not
  8045  	// specified. Do not use this.
  8046  	//   "LEFT" - The text is explicitly aligned to the left of the cell.
  8047  	//   "CENTER" - The text is explicitly aligned to the center of the cell.
  8048  	//   "RIGHT" - The text is explicitly aligned to the right of the cell.
  8049  	HorizontalAlignment string `json:"horizontalAlignment,omitempty"`
  8050  	// ForceSendFields is a list of field names (e.g. "HorizontalAlignment") to
  8051  	// unconditionally include in API requests. By default, fields with empty or
  8052  	// default values are omitted from API requests. See
  8053  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8054  	// details.
  8055  	ForceSendFields []string `json:"-"`
  8056  	// NullFields is a list of field names (e.g. "HorizontalAlignment") to include
  8057  	// in API requests with the JSON null value. By default, fields with empty
  8058  	// values are omitted from API requests. See
  8059  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8060  	NullFields []string `json:"-"`
  8061  }
  8062  
  8063  func (s *TextPosition) MarshalJSON() ([]byte, error) {
  8064  	type NoMethod TextPosition
  8065  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8066  }
  8067  
  8068  // TextRotation: The rotation applied to text in a cell.
  8069  type TextRotation struct {
  8070  	// Angle: The angle between the standard orientation and the desired
  8071  	// orientation. Measured in degrees. Valid values are between -90 and 90.
  8072  	// Positive angles are angled upwards, negative are angled downwards. Note: For
  8073  	// LTR text direction positive angles are in the counterclockwise direction,
  8074  	// whereas for RTL they are in the clockwise direction
  8075  	Angle int64 `json:"angle,omitempty"`
  8076  	// Vertical: If true, text reads top to bottom, but the orientation of
  8077  	// individual characters is unchanged. For example: | V | | e | | r | | t | | i
  8078  	// | | c | | a | | l |
  8079  	Vertical bool `json:"vertical,omitempty"`
  8080  	// ForceSendFields is a list of field names (e.g. "Angle") to unconditionally
  8081  	// include in API requests. By default, fields with empty or default values are
  8082  	// omitted from API requests. See
  8083  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8084  	// details.
  8085  	ForceSendFields []string `json:"-"`
  8086  	// NullFields is a list of field names (e.g. "Angle") to include in API
  8087  	// requests with the JSON null value. By default, fields with empty values are
  8088  	// omitted from API requests. See
  8089  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8090  	NullFields []string `json:"-"`
  8091  }
  8092  
  8093  func (s *TextRotation) MarshalJSON() ([]byte, error) {
  8094  	type NoMethod TextRotation
  8095  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8096  }
  8097  
  8098  // TextToColumnsRequest: Splits a column of text into multiple columns, based
  8099  // on a delimiter in each cell.
  8100  type TextToColumnsRequest struct {
  8101  	// Delimiter: The delimiter to use. Used only if delimiterType is CUSTOM.
  8102  	Delimiter string `json:"delimiter,omitempty"`
  8103  	// DelimiterType: The delimiter type to use.
  8104  	//
  8105  	// Possible values:
  8106  	//   "DELIMITER_TYPE_UNSPECIFIED" - Default value. This value must not be used.
  8107  	//   "COMMA" - ","
  8108  	//   "SEMICOLON" - ";"
  8109  	//   "PERIOD" - "."
  8110  	//   "SPACE" - " "
  8111  	//   "CUSTOM" - A custom value as defined in delimiter.
  8112  	//   "AUTODETECT" - Automatically detect columns.
  8113  	DelimiterType string `json:"delimiterType,omitempty"`
  8114  	// Source: The source data range. This must span exactly one column.
  8115  	Source *GridRange `json:"source,omitempty"`
  8116  	// ForceSendFields is a list of field names (e.g. "Delimiter") to
  8117  	// unconditionally include in API requests. By default, fields with empty or
  8118  	// default values are omitted from API requests. See
  8119  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8120  	// details.
  8121  	ForceSendFields []string `json:"-"`
  8122  	// NullFields is a list of field names (e.g. "Delimiter") to include in API
  8123  	// requests with the JSON null value. By default, fields with empty values are
  8124  	// omitted from API requests. See
  8125  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8126  	NullFields []string `json:"-"`
  8127  }
  8128  
  8129  func (s *TextToColumnsRequest) MarshalJSON() ([]byte, error) {
  8130  	type NoMethod TextToColumnsRequest
  8131  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8132  }
  8133  
  8134  // ThemeColorPair: A pair mapping a spreadsheet theme color type to the
  8135  // concrete color it represents.
  8136  type ThemeColorPair struct {
  8137  	// Color: The concrete color corresponding to the theme color type.
  8138  	Color *ColorStyle `json:"color,omitempty"`
  8139  	// ColorType: The type of the spreadsheet theme color.
  8140  	//
  8141  	// Possible values:
  8142  	//   "THEME_COLOR_TYPE_UNSPECIFIED" - Unspecified theme color
  8143  	//   "TEXT" - Represents the primary text color
  8144  	//   "BACKGROUND" - Represents the primary background color
  8145  	//   "ACCENT1" - Represents the first accent color
  8146  	//   "ACCENT2" - Represents the second accent color
  8147  	//   "ACCENT3" - Represents the third accent color
  8148  	//   "ACCENT4" - Represents the fourth accent color
  8149  	//   "ACCENT5" - Represents the fifth accent color
  8150  	//   "ACCENT6" - Represents the sixth accent color
  8151  	//   "LINK" - Represents the color to use for hyperlinks
  8152  	ColorType string `json:"colorType,omitempty"`
  8153  	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
  8154  	// include in API requests. By default, fields with empty or default values are
  8155  	// omitted from API requests. See
  8156  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8157  	// details.
  8158  	ForceSendFields []string `json:"-"`
  8159  	// NullFields is a list of field names (e.g. "Color") to include in API
  8160  	// requests with the JSON null value. By default, fields with empty values are
  8161  	// omitted from API requests. See
  8162  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8163  	NullFields []string `json:"-"`
  8164  }
  8165  
  8166  func (s *ThemeColorPair) MarshalJSON() ([]byte, error) {
  8167  	type NoMethod ThemeColorPair
  8168  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8169  }
  8170  
  8171  // TimeOfDay: Represents a time of day. The date and time zone are either not
  8172  // significant or are specified elsewhere. An API may choose to allow leap
  8173  // seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.
  8174  type TimeOfDay struct {
  8175  	// Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API may
  8176  	// choose to allow the value "24:00:00" for scenarios like business closing
  8177  	// time.
  8178  	Hours int64 `json:"hours,omitempty"`
  8179  	// Minutes: Minutes of hour of day. Must be from 0 to 59.
  8180  	Minutes int64 `json:"minutes,omitempty"`
  8181  	// Nanos: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
  8182  	Nanos int64 `json:"nanos,omitempty"`
  8183  	// Seconds: Seconds of minutes of the time. Must normally be from 0 to 59. An
  8184  	// API may allow the value 60 if it allows leap-seconds.
  8185  	Seconds int64 `json:"seconds,omitempty"`
  8186  	// ForceSendFields is a list of field names (e.g. "Hours") to unconditionally
  8187  	// include in API requests. By default, fields with empty or default values are
  8188  	// omitted from API requests. See
  8189  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8190  	// details.
  8191  	ForceSendFields []string `json:"-"`
  8192  	// NullFields is a list of field names (e.g. "Hours") to include in API
  8193  	// requests with the JSON null value. By default, fields with empty values are
  8194  	// omitted from API requests. See
  8195  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8196  	NullFields []string `json:"-"`
  8197  }
  8198  
  8199  func (s *TimeOfDay) MarshalJSON() ([]byte, error) {
  8200  	type NoMethod TimeOfDay
  8201  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8202  }
  8203  
  8204  // TreemapChartColorScale: A color scale for a treemap chart.
  8205  type TreemapChartColorScale struct {
  8206  	// MaxValueColor: The background color for cells with a color value greater
  8207  	// than or equal to maxValue. Defaults to #109618 if not specified. Deprecated:
  8208  	// Use max_value_color_style.
  8209  	MaxValueColor *Color `json:"maxValueColor,omitempty"`
  8210  	// MaxValueColorStyle: The background color for cells with a color value
  8211  	// greater than or equal to maxValue. Defaults to #109618 if not specified. If
  8212  	// max_value_color is also set, this field takes precedence.
  8213  	MaxValueColorStyle *ColorStyle `json:"maxValueColorStyle,omitempty"`
  8214  	// MidValueColor: The background color for cells with a color value at the
  8215  	// midpoint between minValue and maxValue. Defaults to #efe6dc if not
  8216  	// specified. Deprecated: Use mid_value_color_style.
  8217  	MidValueColor *Color `json:"midValueColor,omitempty"`
  8218  	// MidValueColorStyle: The background color for cells with a color value at the
  8219  	// midpoint between minValue and maxValue. Defaults to #efe6dc if not
  8220  	// specified. If mid_value_color is also set, this field takes precedence.
  8221  	MidValueColorStyle *ColorStyle `json:"midValueColorStyle,omitempty"`
  8222  	// MinValueColor: The background color for cells with a color value less than
  8223  	// or equal to minValue. Defaults to #dc3912 if not specified. Deprecated: Use
  8224  	// min_value_color_style.
  8225  	MinValueColor *Color `json:"minValueColor,omitempty"`
  8226  	// MinValueColorStyle: The background color for cells with a color value less
  8227  	// than or equal to minValue. Defaults to #dc3912 if not specified. If
  8228  	// min_value_color is also set, this field takes precedence.
  8229  	MinValueColorStyle *ColorStyle `json:"minValueColorStyle,omitempty"`
  8230  	// NoDataColor: The background color for cells that have no color data
  8231  	// associated with them. Defaults to #000000 if not specified. Deprecated: Use
  8232  	// no_data_color_style.
  8233  	NoDataColor *Color `json:"noDataColor,omitempty"`
  8234  	// NoDataColorStyle: The background color for cells that have no color data
  8235  	// associated with them. Defaults to #000000 if not specified. If no_data_color
  8236  	// is also set, this field takes precedence.
  8237  	NoDataColorStyle *ColorStyle `json:"noDataColorStyle,omitempty"`
  8238  	// ForceSendFields is a list of field names (e.g. "MaxValueColor") to
  8239  	// unconditionally include in API requests. By default, fields with empty or
  8240  	// default values are omitted from API requests. See
  8241  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8242  	// details.
  8243  	ForceSendFields []string `json:"-"`
  8244  	// NullFields is a list of field names (e.g. "MaxValueColor") to include in API
  8245  	// requests with the JSON null value. By default, fields with empty values are
  8246  	// omitted from API requests. See
  8247  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8248  	NullFields []string `json:"-"`
  8249  }
  8250  
  8251  func (s *TreemapChartColorScale) MarshalJSON() ([]byte, error) {
  8252  	type NoMethod TreemapChartColorScale
  8253  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8254  }
  8255  
  8256  // TreemapChartSpec: A Treemap chart.
  8257  type TreemapChartSpec struct {
  8258  	// ColorData: The data that determines the background color of each treemap
  8259  	// data cell. This field is optional. If not specified, size_data is used to
  8260  	// determine background colors. If specified, the data is expected to be
  8261  	// numeric. color_scale will determine how the values in this data map to data
  8262  	// cell background colors.
  8263  	ColorData *ChartData `json:"colorData,omitempty"`
  8264  	// ColorScale: The color scale for data cells in the treemap chart. Data cells
  8265  	// are assigned colors based on their color values. These color values come
  8266  	// from color_data, or from size_data if color_data is not specified. Cells
  8267  	// with color values less than or equal to min_value will have minValueColor as
  8268  	// their background color. Cells with color values greater than or equal to
  8269  	// max_value will have maxValueColor as their background color. Cells with
  8270  	// color values between min_value and max_value will have background colors on
  8271  	// a gradient between minValueColor and maxValueColor, the midpoint of the
  8272  	// gradient being midValueColor. Cells with missing or non-numeric color values
  8273  	// will have noDataColor as their background color.
  8274  	ColorScale *TreemapChartColorScale `json:"colorScale,omitempty"`
  8275  	// HeaderColor: The background color for header cells. Deprecated: Use
  8276  	// header_color_style.
  8277  	HeaderColor *Color `json:"headerColor,omitempty"`
  8278  	// HeaderColorStyle: The background color for header cells. If header_color is
  8279  	// also set, this field takes precedence.
  8280  	HeaderColorStyle *ColorStyle `json:"headerColorStyle,omitempty"`
  8281  	// HideTooltips: True to hide tooltips.
  8282  	HideTooltips bool `json:"hideTooltips,omitempty"`
  8283  	// HintedLevels: The number of additional data levels beyond the labeled levels
  8284  	// to be shown on the treemap chart. These levels are not interactive and are
  8285  	// shown without their labels. Defaults to 0 if not specified.
  8286  	HintedLevels int64 `json:"hintedLevels,omitempty"`
  8287  	// Labels: The data that contains the treemap cell labels.
  8288  	Labels *ChartData `json:"labels,omitempty"`
  8289  	// Levels: The number of data levels to show on the treemap chart. These levels
  8290  	// are interactive and are shown with their labels. Defaults to 2 if not
  8291  	// specified.
  8292  	Levels int64 `json:"levels,omitempty"`
  8293  	// MaxValue: The maximum possible data value. Cells with values greater than
  8294  	// this will have the same color as cells with this value. If not specified,
  8295  	// defaults to the actual maximum value from color_data, or the maximum value
  8296  	// from size_data if color_data is not specified.
  8297  	MaxValue float64 `json:"maxValue,omitempty"`
  8298  	// MinValue: The minimum possible data value. Cells with values less than this
  8299  	// will have the same color as cells with this value. If not specified,
  8300  	// defaults to the actual minimum value from color_data, or the minimum value
  8301  	// from size_data if color_data is not specified.
  8302  	MinValue float64 `json:"minValue,omitempty"`
  8303  	// ParentLabels: The data the contains the treemap cells' parent labels.
  8304  	ParentLabels *ChartData `json:"parentLabels,omitempty"`
  8305  	// SizeData: The data that determines the size of each treemap data cell. This
  8306  	// data is expected to be numeric. The cells corresponding to non-numeric or
  8307  	// missing data will not be rendered. If color_data is not specified, this data
  8308  	// is used to determine data cell background colors as well.
  8309  	SizeData *ChartData `json:"sizeData,omitempty"`
  8310  	// TextFormat: The text format for all labels on the chart. The link field is
  8311  	// not supported.
  8312  	TextFormat *TextFormat `json:"textFormat,omitempty"`
  8313  	// ForceSendFields is a list of field names (e.g. "ColorData") to
  8314  	// unconditionally include in API requests. By default, fields with empty or
  8315  	// default values are omitted from API requests. See
  8316  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8317  	// details.
  8318  	ForceSendFields []string `json:"-"`
  8319  	// NullFields is a list of field names (e.g. "ColorData") to include in API
  8320  	// requests with the JSON null value. By default, fields with empty values are
  8321  	// omitted from API requests. See
  8322  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8323  	NullFields []string `json:"-"`
  8324  }
  8325  
  8326  func (s *TreemapChartSpec) MarshalJSON() ([]byte, error) {
  8327  	type NoMethod TreemapChartSpec
  8328  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8329  }
  8330  
  8331  func (s *TreemapChartSpec) UnmarshalJSON(data []byte) error {
  8332  	type NoMethod TreemapChartSpec
  8333  	var s1 struct {
  8334  		MaxValue gensupport.JSONFloat64 `json:"maxValue"`
  8335  		MinValue gensupport.JSONFloat64 `json:"minValue"`
  8336  		*NoMethod
  8337  	}
  8338  	s1.NoMethod = (*NoMethod)(s)
  8339  	if err := json.Unmarshal(data, &s1); err != nil {
  8340  		return err
  8341  	}
  8342  	s.MaxValue = float64(s1.MaxValue)
  8343  	s.MinValue = float64(s1.MinValue)
  8344  	return nil
  8345  }
  8346  
  8347  // TrimWhitespaceRequest: Trims the whitespace (such as spaces, tabs, or new
  8348  // lines) in every cell in the specified range. This request removes all
  8349  // whitespace from the start and end of each cell's text, and reduces any
  8350  // subsequence of remaining whitespace characters to a single space. If the
  8351  // resulting trimmed text starts with a '+' or '=' character, the text remains
  8352  // as a string value and isn't interpreted as a formula.
  8353  type TrimWhitespaceRequest struct {
  8354  	// Range: The range whose cells to trim.
  8355  	Range *GridRange `json:"range,omitempty"`
  8356  	// ForceSendFields is a list of field names (e.g. "Range") to unconditionally
  8357  	// include in API requests. By default, fields with empty or default values are
  8358  	// omitted from API requests. See
  8359  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8360  	// details.
  8361  	ForceSendFields []string `json:"-"`
  8362  	// NullFields is a list of field names (e.g. "Range") to include in API
  8363  	// requests with the JSON null value. By default, fields with empty values are
  8364  	// omitted from API requests. See
  8365  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8366  	NullFields []string `json:"-"`
  8367  }
  8368  
  8369  func (s *TrimWhitespaceRequest) MarshalJSON() ([]byte, error) {
  8370  	type NoMethod TrimWhitespaceRequest
  8371  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8372  }
  8373  
  8374  // TrimWhitespaceResponse: The result of trimming whitespace in cells.
  8375  type TrimWhitespaceResponse struct {
  8376  	// CellsChangedCount: The number of cells that were trimmed of whitespace.
  8377  	CellsChangedCount int64 `json:"cellsChangedCount,omitempty"`
  8378  	// ForceSendFields is a list of field names (e.g. "CellsChangedCount") to
  8379  	// unconditionally include in API requests. By default, fields with empty or
  8380  	// default values are omitted from API requests. See
  8381  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8382  	// details.
  8383  	ForceSendFields []string `json:"-"`
  8384  	// NullFields is a list of field names (e.g. "CellsChangedCount") to include in
  8385  	// API requests with the JSON null value. By default, fields with empty values
  8386  	// are omitted from API requests. See
  8387  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8388  	NullFields []string `json:"-"`
  8389  }
  8390  
  8391  func (s *TrimWhitespaceResponse) MarshalJSON() ([]byte, error) {
  8392  	type NoMethod TrimWhitespaceResponse
  8393  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8394  }
  8395  
  8396  // UnmergeCellsRequest: Unmerges cells in the given range.
  8397  type UnmergeCellsRequest struct {
  8398  	// Range: The range within which all cells should be unmerged. If the range
  8399  	// spans multiple merges, all will be unmerged. The range must not partially
  8400  	// span any merge.
  8401  	Range *GridRange `json:"range,omitempty"`
  8402  	// ForceSendFields is a list of field names (e.g. "Range") to unconditionally
  8403  	// include in API requests. By default, fields with empty or default values are
  8404  	// omitted from API requests. See
  8405  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8406  	// details.
  8407  	ForceSendFields []string `json:"-"`
  8408  	// NullFields is a list of field names (e.g. "Range") to include in API
  8409  	// requests with the JSON null value. By default, fields with empty values are
  8410  	// omitted from API requests. See
  8411  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8412  	NullFields []string `json:"-"`
  8413  }
  8414  
  8415  func (s *UnmergeCellsRequest) MarshalJSON() ([]byte, error) {
  8416  	type NoMethod UnmergeCellsRequest
  8417  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8418  }
  8419  
  8420  // UpdateBandingRequest: Updates properties of the supplied banded range.
  8421  type UpdateBandingRequest struct {
  8422  	// BandedRange: The banded range to update with the new properties.
  8423  	BandedRange *BandedRange `json:"bandedRange,omitempty"`
  8424  	// Fields: The fields that should be updated. At least one field must be
  8425  	// specified. The root `bandedRange` is implied and should not be specified. A
  8426  	// single "*" can be used as short-hand for listing every field.
  8427  	Fields string `json:"fields,omitempty"`
  8428  	// ForceSendFields is a list of field names (e.g. "BandedRange") to
  8429  	// unconditionally include in API requests. By default, fields with empty or
  8430  	// default values are omitted from API requests. See
  8431  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8432  	// details.
  8433  	ForceSendFields []string `json:"-"`
  8434  	// NullFields is a list of field names (e.g. "BandedRange") to include in API
  8435  	// requests with the JSON null value. By default, fields with empty values are
  8436  	// omitted from API requests. See
  8437  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8438  	NullFields []string `json:"-"`
  8439  }
  8440  
  8441  func (s *UpdateBandingRequest) MarshalJSON() ([]byte, error) {
  8442  	type NoMethod UpdateBandingRequest
  8443  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8444  }
  8445  
  8446  // UpdateBordersRequest: Updates the borders of a range. If a field is not set
  8447  // in the request, that means the border remains as-is. For example, with two
  8448  // subsequent UpdateBordersRequest: 1. range: A1:A5 `{ top: RED, bottom: WHITE
  8449  // }` 2. range: A1:A5 `{ left: BLUE }` That would result in A1:A5 having a
  8450  // borders of `{ top: RED, bottom: WHITE, left: BLUE }`. If you want to clear a
  8451  // border, explicitly set the style to NONE.
  8452  type UpdateBordersRequest struct {
  8453  	// Bottom: The border to put at the bottom of the range.
  8454  	Bottom *Border `json:"bottom,omitempty"`
  8455  	// InnerHorizontal: The horizontal border to put within the range.
  8456  	InnerHorizontal *Border `json:"innerHorizontal,omitempty"`
  8457  	// InnerVertical: The vertical border to put within the range.
  8458  	InnerVertical *Border `json:"innerVertical,omitempty"`
  8459  	// Left: The border to put at the left of the range.
  8460  	Left *Border `json:"left,omitempty"`
  8461  	// Range: The range whose borders should be updated.
  8462  	Range *GridRange `json:"range,omitempty"`
  8463  	// Right: The border to put at the right of the range.
  8464  	Right *Border `json:"right,omitempty"`
  8465  	// Top: The border to put at the top of the range.
  8466  	Top *Border `json:"top,omitempty"`
  8467  	// ForceSendFields is a list of field names (e.g. "Bottom") to unconditionally
  8468  	// include in API requests. By default, fields with empty or default values are
  8469  	// omitted from API requests. See
  8470  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8471  	// details.
  8472  	ForceSendFields []string `json:"-"`
  8473  	// NullFields is a list of field names (e.g. "Bottom") to include in API
  8474  	// requests with the JSON null value. By default, fields with empty values are
  8475  	// omitted from API requests. See
  8476  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8477  	NullFields []string `json:"-"`
  8478  }
  8479  
  8480  func (s *UpdateBordersRequest) MarshalJSON() ([]byte, error) {
  8481  	type NoMethod UpdateBordersRequest
  8482  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8483  }
  8484  
  8485  // UpdateCellsRequest: Updates all cells in a range with new data.
  8486  type UpdateCellsRequest struct {
  8487  	// Fields: The fields of CellData that should be updated. At least one field
  8488  	// must be specified. The root is the CellData; 'row.values.' should not be
  8489  	// specified. A single "*" can be used as short-hand for listing every field.
  8490  	Fields string `json:"fields,omitempty"`
  8491  	// Range: The range to write data to. If the data in rows does not cover the
  8492  	// entire requested range, the fields matching those set in fields will be
  8493  	// cleared.
  8494  	Range *GridRange `json:"range,omitempty"`
  8495  	// Rows: The data to write.
  8496  	Rows []*RowData `json:"rows,omitempty"`
  8497  	// Start: The coordinate to start writing data at. Any number of rows and
  8498  	// columns (including a different number of columns per row) may be written.
  8499  	Start *GridCoordinate `json:"start,omitempty"`
  8500  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  8501  	// include in API requests. By default, fields with empty or default values are
  8502  	// omitted from API requests. See
  8503  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8504  	// details.
  8505  	ForceSendFields []string `json:"-"`
  8506  	// NullFields is a list of field names (e.g. "Fields") to include in API
  8507  	// requests with the JSON null value. By default, fields with empty values are
  8508  	// omitted from API requests. See
  8509  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8510  	NullFields []string `json:"-"`
  8511  }
  8512  
  8513  func (s *UpdateCellsRequest) MarshalJSON() ([]byte, error) {
  8514  	type NoMethod UpdateCellsRequest
  8515  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8516  }
  8517  
  8518  // UpdateChartSpecRequest: Updates a chart's specifications. (This does not
  8519  // move or resize a chart. To move or resize a chart, use
  8520  // UpdateEmbeddedObjectPositionRequest.)
  8521  type UpdateChartSpecRequest struct {
  8522  	// ChartId: The ID of the chart to update.
  8523  	ChartId int64 `json:"chartId,omitempty"`
  8524  	// Spec: The specification to apply to the chart.
  8525  	Spec *ChartSpec `json:"spec,omitempty"`
  8526  	// ForceSendFields is a list of field names (e.g. "ChartId") to unconditionally
  8527  	// include in API requests. By default, fields with empty or default values are
  8528  	// omitted from API requests. See
  8529  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8530  	// details.
  8531  	ForceSendFields []string `json:"-"`
  8532  	// NullFields is a list of field names (e.g. "ChartId") to include in API
  8533  	// requests with the JSON null value. By default, fields with empty values are
  8534  	// omitted from API requests. See
  8535  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8536  	NullFields []string `json:"-"`
  8537  }
  8538  
  8539  func (s *UpdateChartSpecRequest) MarshalJSON() ([]byte, error) {
  8540  	type NoMethod UpdateChartSpecRequest
  8541  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8542  }
  8543  
  8544  // UpdateConditionalFormatRuleRequest: Updates a conditional format rule at the
  8545  // given index, or moves a conditional format rule to another index.
  8546  type UpdateConditionalFormatRuleRequest struct {
  8547  	// Index: The zero-based index of the rule that should be replaced or moved.
  8548  	Index int64 `json:"index,omitempty"`
  8549  	// NewIndex: The zero-based new index the rule should end up at.
  8550  	NewIndex int64 `json:"newIndex,omitempty"`
  8551  	// Rule: The rule that should replace the rule at the given index.
  8552  	Rule *ConditionalFormatRule `json:"rule,omitempty"`
  8553  	// SheetId: The sheet of the rule to move. Required if new_index is set, unused
  8554  	// otherwise.
  8555  	SheetId int64 `json:"sheetId,omitempty"`
  8556  	// ForceSendFields is a list of field names (e.g. "Index") to unconditionally
  8557  	// include in API requests. By default, fields with empty or default values are
  8558  	// omitted from API requests. See
  8559  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8560  	// details.
  8561  	ForceSendFields []string `json:"-"`
  8562  	// NullFields is a list of field names (e.g. "Index") to include in API
  8563  	// requests with the JSON null value. By default, fields with empty values are
  8564  	// omitted from API requests. See
  8565  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8566  	NullFields []string `json:"-"`
  8567  }
  8568  
  8569  func (s *UpdateConditionalFormatRuleRequest) MarshalJSON() ([]byte, error) {
  8570  	type NoMethod UpdateConditionalFormatRuleRequest
  8571  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8572  }
  8573  
  8574  // UpdateConditionalFormatRuleResponse: The result of updating a conditional
  8575  // format rule.
  8576  type UpdateConditionalFormatRuleResponse struct {
  8577  	// NewIndex: The index of the new rule.
  8578  	NewIndex int64 `json:"newIndex,omitempty"`
  8579  	// NewRule: The new rule that replaced the old rule (if replacing), or the rule
  8580  	// that was moved (if moved)
  8581  	NewRule *ConditionalFormatRule `json:"newRule,omitempty"`
  8582  	// OldIndex: The old index of the rule. Not set if a rule was replaced (because
  8583  	// it is the same as new_index).
  8584  	OldIndex int64 `json:"oldIndex,omitempty"`
  8585  	// OldRule: The old (deleted) rule. Not set if a rule was moved (because it is
  8586  	// the same as new_rule).
  8587  	OldRule *ConditionalFormatRule `json:"oldRule,omitempty"`
  8588  	// ForceSendFields is a list of field names (e.g. "NewIndex") to
  8589  	// unconditionally include in API requests. By default, fields with empty or
  8590  	// default values are omitted from API requests. See
  8591  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8592  	// details.
  8593  	ForceSendFields []string `json:"-"`
  8594  	// NullFields is a list of field names (e.g. "NewIndex") to include in API
  8595  	// requests with the JSON null value. By default, fields with empty values are
  8596  	// omitted from API requests. See
  8597  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8598  	NullFields []string `json:"-"`
  8599  }
  8600  
  8601  func (s *UpdateConditionalFormatRuleResponse) MarshalJSON() ([]byte, error) {
  8602  	type NoMethod UpdateConditionalFormatRuleResponse
  8603  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8604  }
  8605  
  8606  // UpdateDataSourceRequest: Updates a data source. After the data source is
  8607  // updated successfully, an execution is triggered to refresh the associated
  8608  // DATA_SOURCE sheet to read data from the updated data source. The request
  8609  // requires an additional `bigquery.readonly` OAuth scope.
  8610  type UpdateDataSourceRequest struct {
  8611  	// DataSource: The data source to update.
  8612  	DataSource *DataSource `json:"dataSource,omitempty"`
  8613  	// Fields: The fields that should be updated. At least one field must be
  8614  	// specified. The root `dataSource` is implied and should not be specified. A
  8615  	// single "*" can be used as short-hand for listing every field.
  8616  	Fields string `json:"fields,omitempty"`
  8617  	// ForceSendFields is a list of field names (e.g. "DataSource") to
  8618  	// unconditionally include in API requests. By default, fields with empty or
  8619  	// default values are omitted from API requests. See
  8620  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8621  	// details.
  8622  	ForceSendFields []string `json:"-"`
  8623  	// NullFields is a list of field names (e.g. "DataSource") to include in API
  8624  	// requests with the JSON null value. By default, fields with empty values are
  8625  	// omitted from API requests. See
  8626  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8627  	NullFields []string `json:"-"`
  8628  }
  8629  
  8630  func (s *UpdateDataSourceRequest) MarshalJSON() ([]byte, error) {
  8631  	type NoMethod UpdateDataSourceRequest
  8632  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8633  }
  8634  
  8635  // UpdateDataSourceResponse: The response from updating data source.
  8636  type UpdateDataSourceResponse struct {
  8637  	// DataExecutionStatus: The data execution status.
  8638  	DataExecutionStatus *DataExecutionStatus `json:"dataExecutionStatus,omitempty"`
  8639  	// DataSource: The updated data source.
  8640  	DataSource *DataSource `json:"dataSource,omitempty"`
  8641  	// ForceSendFields is a list of field names (e.g. "DataExecutionStatus") to
  8642  	// unconditionally include in API requests. By default, fields with empty or
  8643  	// default values are omitted from API requests. See
  8644  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8645  	// details.
  8646  	ForceSendFields []string `json:"-"`
  8647  	// NullFields is a list of field names (e.g. "DataExecutionStatus") to include
  8648  	// in API requests with the JSON null value. By default, fields with empty
  8649  	// values are omitted from API requests. See
  8650  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8651  	NullFields []string `json:"-"`
  8652  }
  8653  
  8654  func (s *UpdateDataSourceResponse) MarshalJSON() ([]byte, error) {
  8655  	type NoMethod UpdateDataSourceResponse
  8656  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8657  }
  8658  
  8659  // UpdateDeveloperMetadataRequest: A request to update properties of developer
  8660  // metadata. Updates the properties of the developer metadata selected by the
  8661  // filters to the values provided in the DeveloperMetadata resource. Callers
  8662  // must specify the properties they wish to update in the fields parameter, as
  8663  // well as specify at least one DataFilter matching the metadata they wish to
  8664  // update.
  8665  type UpdateDeveloperMetadataRequest struct {
  8666  	// DataFilters: The filters matching the developer metadata entries to update.
  8667  	DataFilters []*DataFilter `json:"dataFilters,omitempty"`
  8668  	// DeveloperMetadata: The value that all metadata matched by the data filters
  8669  	// will be updated to.
  8670  	DeveloperMetadata *DeveloperMetadata `json:"developerMetadata,omitempty"`
  8671  	// Fields: The fields that should be updated. At least one field must be
  8672  	// specified. The root `developerMetadata` is implied and should not be
  8673  	// specified. A single "*" can be used as short-hand for listing every field.
  8674  	Fields string `json:"fields,omitempty"`
  8675  	// ForceSendFields is a list of field names (e.g. "DataFilters") to
  8676  	// unconditionally include in API requests. By default, fields with empty or
  8677  	// default values are omitted from API requests. See
  8678  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8679  	// details.
  8680  	ForceSendFields []string `json:"-"`
  8681  	// NullFields is a list of field names (e.g. "DataFilters") to include in API
  8682  	// requests with the JSON null value. By default, fields with empty values are
  8683  	// omitted from API requests. See
  8684  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8685  	NullFields []string `json:"-"`
  8686  }
  8687  
  8688  func (s *UpdateDeveloperMetadataRequest) MarshalJSON() ([]byte, error) {
  8689  	type NoMethod UpdateDeveloperMetadataRequest
  8690  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8691  }
  8692  
  8693  // UpdateDeveloperMetadataResponse: The response from updating developer
  8694  // metadata.
  8695  type UpdateDeveloperMetadataResponse struct {
  8696  	// DeveloperMetadata: The updated developer metadata.
  8697  	DeveloperMetadata []*DeveloperMetadata `json:"developerMetadata,omitempty"`
  8698  	// ForceSendFields is a list of field names (e.g. "DeveloperMetadata") to
  8699  	// unconditionally include in API requests. By default, fields with empty or
  8700  	// default values are omitted from API requests. See
  8701  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8702  	// details.
  8703  	ForceSendFields []string `json:"-"`
  8704  	// NullFields is a list of field names (e.g. "DeveloperMetadata") to include in
  8705  	// API requests with the JSON null value. By default, fields with empty values
  8706  	// are omitted from API requests. See
  8707  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8708  	NullFields []string `json:"-"`
  8709  }
  8710  
  8711  func (s *UpdateDeveloperMetadataResponse) MarshalJSON() ([]byte, error) {
  8712  	type NoMethod UpdateDeveloperMetadataResponse
  8713  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8714  }
  8715  
  8716  // UpdateDimensionGroupRequest: Updates the state of the specified group.
  8717  type UpdateDimensionGroupRequest struct {
  8718  	// DimensionGroup: The group whose state should be updated. The range and depth
  8719  	// of the group should specify a valid group on the sheet, and all other fields
  8720  	// updated.
  8721  	DimensionGroup *DimensionGroup `json:"dimensionGroup,omitempty"`
  8722  	// Fields: The fields that should be updated. At least one field must be
  8723  	// specified. The root `dimensionGroup` is implied and should not be specified.
  8724  	// A single "*" can be used as short-hand for listing every field.
  8725  	Fields string `json:"fields,omitempty"`
  8726  	// ForceSendFields is a list of field names (e.g. "DimensionGroup") to
  8727  	// unconditionally include in API requests. By default, fields with empty or
  8728  	// default values are omitted from API requests. See
  8729  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8730  	// details.
  8731  	ForceSendFields []string `json:"-"`
  8732  	// NullFields is a list of field names (e.g. "DimensionGroup") to include in
  8733  	// API requests with the JSON null value. By default, fields with empty values
  8734  	// are omitted from API requests. See
  8735  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8736  	NullFields []string `json:"-"`
  8737  }
  8738  
  8739  func (s *UpdateDimensionGroupRequest) MarshalJSON() ([]byte, error) {
  8740  	type NoMethod UpdateDimensionGroupRequest
  8741  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8742  }
  8743  
  8744  // UpdateDimensionPropertiesRequest: Updates properties of dimensions within
  8745  // the specified range.
  8746  type UpdateDimensionPropertiesRequest struct {
  8747  	// DataSourceSheetRange: The columns on a data source sheet to update.
  8748  	DataSourceSheetRange *DataSourceSheetDimensionRange `json:"dataSourceSheetRange,omitempty"`
  8749  	// Fields: The fields that should be updated. At least one field must be
  8750  	// specified. The root `properties` is implied and should not be specified. A
  8751  	// single "*" can be used as short-hand for listing every field.
  8752  	Fields string `json:"fields,omitempty"`
  8753  	// Properties: Properties to update.
  8754  	Properties *DimensionProperties `json:"properties,omitempty"`
  8755  	// Range: The rows or columns to update.
  8756  	Range *DimensionRange `json:"range,omitempty"`
  8757  	// ForceSendFields is a list of field names (e.g. "DataSourceSheetRange") to
  8758  	// unconditionally include in API requests. By default, fields with empty or
  8759  	// default values are omitted from API requests. See
  8760  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8761  	// details.
  8762  	ForceSendFields []string `json:"-"`
  8763  	// NullFields is a list of field names (e.g. "DataSourceSheetRange") to include
  8764  	// in API requests with the JSON null value. By default, fields with empty
  8765  	// values are omitted from API requests. See
  8766  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8767  	NullFields []string `json:"-"`
  8768  }
  8769  
  8770  func (s *UpdateDimensionPropertiesRequest) MarshalJSON() ([]byte, error) {
  8771  	type NoMethod UpdateDimensionPropertiesRequest
  8772  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8773  }
  8774  
  8775  // UpdateEmbeddedObjectBorderRequest: Updates an embedded object's border
  8776  // property.
  8777  type UpdateEmbeddedObjectBorderRequest struct {
  8778  	// Border: The border that applies to the embedded object.
  8779  	Border *EmbeddedObjectBorder `json:"border,omitempty"`
  8780  	// Fields: The fields that should be updated. At least one field must be
  8781  	// specified. The root `border` is implied and should not be specified. A
  8782  	// single "*" can be used as short-hand for listing every field.
  8783  	Fields string `json:"fields,omitempty"`
  8784  	// ObjectId: The ID of the embedded object to update.
  8785  	ObjectId int64 `json:"objectId,omitempty"`
  8786  	// ForceSendFields is a list of field names (e.g. "Border") to unconditionally
  8787  	// include in API requests. By default, fields with empty or default values are
  8788  	// omitted from API requests. See
  8789  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8790  	// details.
  8791  	ForceSendFields []string `json:"-"`
  8792  	// NullFields is a list of field names (e.g. "Border") to include in API
  8793  	// requests with the JSON null value. By default, fields with empty values are
  8794  	// omitted from API requests. See
  8795  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8796  	NullFields []string `json:"-"`
  8797  }
  8798  
  8799  func (s *UpdateEmbeddedObjectBorderRequest) MarshalJSON() ([]byte, error) {
  8800  	type NoMethod UpdateEmbeddedObjectBorderRequest
  8801  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8802  }
  8803  
  8804  // UpdateEmbeddedObjectPositionRequest: Update an embedded object's position
  8805  // (such as a moving or resizing a chart or image).
  8806  type UpdateEmbeddedObjectPositionRequest struct {
  8807  	// Fields: The fields of OverlayPosition that should be updated when setting a
  8808  	// new position. Used only if newPosition.overlayPosition is set, in which case
  8809  	// at least one field must be specified. The root `newPosition.overlayPosition`
  8810  	// is implied and should not be specified. A single "*" can be used as
  8811  	// short-hand for listing every field.
  8812  	Fields string `json:"fields,omitempty"`
  8813  	// NewPosition: An explicit position to move the embedded object to. If
  8814  	// newPosition.sheetId is set, a new sheet with that ID will be created. If
  8815  	// newPosition.newSheet is set to true, a new sheet will be created with an ID
  8816  	// that will be chosen for you.
  8817  	NewPosition *EmbeddedObjectPosition `json:"newPosition,omitempty"`
  8818  	// ObjectId: The ID of the object to moved.
  8819  	ObjectId int64 `json:"objectId,omitempty"`
  8820  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  8821  	// include in API requests. By default, fields with empty or default values are
  8822  	// omitted from API requests. See
  8823  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8824  	// details.
  8825  	ForceSendFields []string `json:"-"`
  8826  	// NullFields is a list of field names (e.g. "Fields") to include in API
  8827  	// requests with the JSON null value. By default, fields with empty values are
  8828  	// omitted from API requests. See
  8829  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8830  	NullFields []string `json:"-"`
  8831  }
  8832  
  8833  func (s *UpdateEmbeddedObjectPositionRequest) MarshalJSON() ([]byte, error) {
  8834  	type NoMethod UpdateEmbeddedObjectPositionRequest
  8835  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8836  }
  8837  
  8838  // UpdateEmbeddedObjectPositionResponse: The result of updating an embedded
  8839  // object's position.
  8840  type UpdateEmbeddedObjectPositionResponse struct {
  8841  	// Position: The new position of the embedded object.
  8842  	Position *EmbeddedObjectPosition `json:"position,omitempty"`
  8843  	// ForceSendFields is a list of field names (e.g. "Position") to
  8844  	// unconditionally include in API requests. By default, fields with empty or
  8845  	// default values are omitted from API requests. See
  8846  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8847  	// details.
  8848  	ForceSendFields []string `json:"-"`
  8849  	// NullFields is a list of field names (e.g. "Position") to include in API
  8850  	// requests with the JSON null value. By default, fields with empty values are
  8851  	// omitted from API requests. See
  8852  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8853  	NullFields []string `json:"-"`
  8854  }
  8855  
  8856  func (s *UpdateEmbeddedObjectPositionResponse) MarshalJSON() ([]byte, error) {
  8857  	type NoMethod UpdateEmbeddedObjectPositionResponse
  8858  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8859  }
  8860  
  8861  // UpdateFilterViewRequest: Updates properties of the filter view.
  8862  type UpdateFilterViewRequest struct {
  8863  	// Fields: The fields that should be updated. At least one field must be
  8864  	// specified. The root `filter` is implied and should not be specified. A
  8865  	// single "*" can be used as short-hand for listing every field.
  8866  	Fields string `json:"fields,omitempty"`
  8867  	// Filter: The new properties of the filter view.
  8868  	Filter *FilterView `json:"filter,omitempty"`
  8869  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  8870  	// include in API requests. By default, fields with empty or default values are
  8871  	// omitted from API requests. See
  8872  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8873  	// details.
  8874  	ForceSendFields []string `json:"-"`
  8875  	// NullFields is a list of field names (e.g. "Fields") to include in API
  8876  	// requests with the JSON null value. By default, fields with empty values are
  8877  	// omitted from API requests. See
  8878  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8879  	NullFields []string `json:"-"`
  8880  }
  8881  
  8882  func (s *UpdateFilterViewRequest) MarshalJSON() ([]byte, error) {
  8883  	type NoMethod UpdateFilterViewRequest
  8884  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8885  }
  8886  
  8887  // UpdateNamedRangeRequest: Updates properties of the named range with the
  8888  // specified namedRangeId.
  8889  type UpdateNamedRangeRequest struct {
  8890  	// Fields: The fields that should be updated. At least one field must be
  8891  	// specified. The root `namedRange` is implied and should not be specified. A
  8892  	// single "*" can be used as short-hand for listing every field.
  8893  	Fields string `json:"fields,omitempty"`
  8894  	// NamedRange: The named range to update with the new properties.
  8895  	NamedRange *NamedRange `json:"namedRange,omitempty"`
  8896  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  8897  	// include in API requests. By default, fields with empty or default values are
  8898  	// omitted from API requests. See
  8899  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8900  	// details.
  8901  	ForceSendFields []string `json:"-"`
  8902  	// NullFields is a list of field names (e.g. "Fields") to include in API
  8903  	// requests with the JSON null value. By default, fields with empty values are
  8904  	// omitted from API requests. See
  8905  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8906  	NullFields []string `json:"-"`
  8907  }
  8908  
  8909  func (s *UpdateNamedRangeRequest) MarshalJSON() ([]byte, error) {
  8910  	type NoMethod UpdateNamedRangeRequest
  8911  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8912  }
  8913  
  8914  // UpdateProtectedRangeRequest: Updates an existing protected range with the
  8915  // specified protectedRangeId.
  8916  type UpdateProtectedRangeRequest struct {
  8917  	// Fields: The fields that should be updated. At least one field must be
  8918  	// specified. The root `protectedRange` is implied and should not be specified.
  8919  	// A single "*" can be used as short-hand for listing every field.
  8920  	Fields string `json:"fields,omitempty"`
  8921  	// ProtectedRange: The protected range to update with the new properties.
  8922  	ProtectedRange *ProtectedRange `json:"protectedRange,omitempty"`
  8923  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  8924  	// include in API requests. By default, fields with empty or default values are
  8925  	// omitted from API requests. See
  8926  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8927  	// details.
  8928  	ForceSendFields []string `json:"-"`
  8929  	// NullFields is a list of field names (e.g. "Fields") to include in API
  8930  	// requests with the JSON null value. By default, fields with empty values are
  8931  	// omitted from API requests. See
  8932  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8933  	NullFields []string `json:"-"`
  8934  }
  8935  
  8936  func (s *UpdateProtectedRangeRequest) MarshalJSON() ([]byte, error) {
  8937  	type NoMethod UpdateProtectedRangeRequest
  8938  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8939  }
  8940  
  8941  // UpdateSheetPropertiesRequest: Updates properties of the sheet with the
  8942  // specified sheetId.
  8943  type UpdateSheetPropertiesRequest struct {
  8944  	// Fields: The fields that should be updated. At least one field must be
  8945  	// specified. The root `properties` is implied and should not be specified. A
  8946  	// single "*" can be used as short-hand for listing every field.
  8947  	Fields string `json:"fields,omitempty"`
  8948  	// Properties: The properties to update.
  8949  	Properties *SheetProperties `json:"properties,omitempty"`
  8950  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  8951  	// include in API requests. By default, fields with empty or default values are
  8952  	// omitted from API requests. See
  8953  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8954  	// details.
  8955  	ForceSendFields []string `json:"-"`
  8956  	// NullFields is a list of field names (e.g. "Fields") to include in API
  8957  	// requests with the JSON null value. By default, fields with empty values are
  8958  	// omitted from API requests. See
  8959  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8960  	NullFields []string `json:"-"`
  8961  }
  8962  
  8963  func (s *UpdateSheetPropertiesRequest) MarshalJSON() ([]byte, error) {
  8964  	type NoMethod UpdateSheetPropertiesRequest
  8965  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8966  }
  8967  
  8968  // UpdateSlicerSpecRequest: Updates a slicer's specifications. (This does not
  8969  // move or resize a slicer. To move or resize a slicer use
  8970  // UpdateEmbeddedObjectPositionRequest.
  8971  type UpdateSlicerSpecRequest struct {
  8972  	// Fields: The fields that should be updated. At least one field must be
  8973  	// specified. The root `SlicerSpec` is implied and should not be specified. A
  8974  	// single "*" can be used as short-hand for listing every field.
  8975  	Fields string `json:"fields,omitempty"`
  8976  	// SlicerId: The id of the slicer to update.
  8977  	SlicerId int64 `json:"slicerId,omitempty"`
  8978  	// Spec: The specification to apply to the slicer.
  8979  	Spec *SlicerSpec `json:"spec,omitempty"`
  8980  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  8981  	// include in API requests. By default, fields with empty or default values are
  8982  	// omitted from API requests. See
  8983  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8984  	// details.
  8985  	ForceSendFields []string `json:"-"`
  8986  	// NullFields is a list of field names (e.g. "Fields") to include in API
  8987  	// requests with the JSON null value. By default, fields with empty values are
  8988  	// omitted from API requests. See
  8989  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8990  	NullFields []string `json:"-"`
  8991  }
  8992  
  8993  func (s *UpdateSlicerSpecRequest) MarshalJSON() ([]byte, error) {
  8994  	type NoMethod UpdateSlicerSpecRequest
  8995  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8996  }
  8997  
  8998  // UpdateSpreadsheetPropertiesRequest: Updates properties of a spreadsheet.
  8999  type UpdateSpreadsheetPropertiesRequest struct {
  9000  	// Fields: The fields that should be updated. At least one field must be
  9001  	// specified. The root 'properties' is implied and should not be specified. A
  9002  	// single "*" can be used as short-hand for listing every field.
  9003  	Fields string `json:"fields,omitempty"`
  9004  	// Properties: The properties to update.
  9005  	Properties *SpreadsheetProperties `json:"properties,omitempty"`
  9006  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  9007  	// include in API requests. By default, fields with empty or default values are
  9008  	// omitted from API requests. See
  9009  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9010  	// details.
  9011  	ForceSendFields []string `json:"-"`
  9012  	// NullFields is a list of field names (e.g. "Fields") to include in API
  9013  	// requests with the JSON null value. By default, fields with empty values are
  9014  	// omitted from API requests. See
  9015  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9016  	NullFields []string `json:"-"`
  9017  }
  9018  
  9019  func (s *UpdateSpreadsheetPropertiesRequest) MarshalJSON() ([]byte, error) {
  9020  	type NoMethod UpdateSpreadsheetPropertiesRequest
  9021  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9022  }
  9023  
  9024  // UpdateValuesByDataFilterResponse: The response when updating a range of
  9025  // values by a data filter in a spreadsheet.
  9026  type UpdateValuesByDataFilterResponse struct {
  9027  	// DataFilter: The data filter that selected the range that was updated.
  9028  	DataFilter *DataFilter `json:"dataFilter,omitempty"`
  9029  	// UpdatedCells: The number of cells updated.
  9030  	UpdatedCells int64 `json:"updatedCells,omitempty"`
  9031  	// UpdatedColumns: The number of columns where at least one cell in the column
  9032  	// was updated.
  9033  	UpdatedColumns int64 `json:"updatedColumns,omitempty"`
  9034  	// UpdatedData: The values of the cells in the range matched by the dataFilter
  9035  	// after all updates were applied. This is only included if the request's
  9036  	// `includeValuesInResponse` field was `true`.
  9037  	UpdatedData *ValueRange `json:"updatedData,omitempty"`
  9038  	// UpdatedRange: The range (in A1 notation (/sheets/api/guides/concepts#cell))
  9039  	// that updates were applied to.
  9040  	UpdatedRange string `json:"updatedRange,omitempty"`
  9041  	// UpdatedRows: The number of rows where at least one cell in the row was
  9042  	// updated.
  9043  	UpdatedRows int64 `json:"updatedRows,omitempty"`
  9044  	// ForceSendFields is a list of field names (e.g. "DataFilter") to
  9045  	// unconditionally include in API requests. By default, fields with empty or
  9046  	// default values are omitted from API requests. See
  9047  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9048  	// details.
  9049  	ForceSendFields []string `json:"-"`
  9050  	// NullFields is a list of field names (e.g. "DataFilter") to include in API
  9051  	// requests with the JSON null value. By default, fields with empty values are
  9052  	// omitted from API requests. See
  9053  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9054  	NullFields []string `json:"-"`
  9055  }
  9056  
  9057  func (s *UpdateValuesByDataFilterResponse) MarshalJSON() ([]byte, error) {
  9058  	type NoMethod UpdateValuesByDataFilterResponse
  9059  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9060  }
  9061  
  9062  // UpdateValuesResponse: The response when updating a range of values in a
  9063  // spreadsheet.
  9064  type UpdateValuesResponse struct {
  9065  	// SpreadsheetId: The spreadsheet the updates were applied to.
  9066  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
  9067  	// UpdatedCells: The number of cells updated.
  9068  	UpdatedCells int64 `json:"updatedCells,omitempty"`
  9069  	// UpdatedColumns: The number of columns where at least one cell in the column
  9070  	// was updated.
  9071  	UpdatedColumns int64 `json:"updatedColumns,omitempty"`
  9072  	// UpdatedData: The values of the cells after updates were applied. This is
  9073  	// only included if the request's `includeValuesInResponse` field was `true`.
  9074  	UpdatedData *ValueRange `json:"updatedData,omitempty"`
  9075  	// UpdatedRange: The range (in A1 notation) that updates were applied to.
  9076  	UpdatedRange string `json:"updatedRange,omitempty"`
  9077  	// UpdatedRows: The number of rows where at least one cell in the row was
  9078  	// updated.
  9079  	UpdatedRows int64 `json:"updatedRows,omitempty"`
  9080  
  9081  	// ServerResponse contains the HTTP response code and headers from the server.
  9082  	googleapi.ServerResponse `json:"-"`
  9083  	// ForceSendFields is a list of field names (e.g. "SpreadsheetId") to
  9084  	// unconditionally include in API requests. By default, fields with empty or
  9085  	// default values are omitted from API requests. See
  9086  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9087  	// details.
  9088  	ForceSendFields []string `json:"-"`
  9089  	// NullFields is a list of field names (e.g. "SpreadsheetId") to include in API
  9090  	// requests with the JSON null value. By default, fields with empty values are
  9091  	// omitted from API requests. See
  9092  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9093  	NullFields []string `json:"-"`
  9094  }
  9095  
  9096  func (s *UpdateValuesResponse) MarshalJSON() ([]byte, error) {
  9097  	type NoMethod UpdateValuesResponse
  9098  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9099  }
  9100  
  9101  // ValueRange: Data within a range of the spreadsheet.
  9102  type ValueRange struct {
  9103  	// MajorDimension: The major dimension of the values. For output, if the
  9104  	// spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting
  9105  	// `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas
  9106  	// requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`.
  9107  	// For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]` will
  9108  	// set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS` then
  9109  	// `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`. When writing, if this field
  9110  	// is not set, it defaults to ROWS.
  9111  	//
  9112  	// Possible values:
  9113  	//   "DIMENSION_UNSPECIFIED" - The default value, do not use.
  9114  	//   "ROWS" - Operates on the rows of a sheet.
  9115  	//   "COLUMNS" - Operates on the columns of a sheet.
  9116  	MajorDimension string `json:"majorDimension,omitempty"`
  9117  	// Range: The range the values cover, in A1 notation
  9118  	// (/sheets/api/guides/concepts#cell). For output, this range indicates the
  9119  	// entire requested range, even though the values will exclude trailing rows
  9120  	// and columns. When appending values, this field represents the range to
  9121  	// search for a table, after which values will be appended.
  9122  	Range string `json:"range,omitempty"`
  9123  	// Values: The data that was read or to be written. This is an array of arrays,
  9124  	// the outer array representing all the data and each inner array representing
  9125  	// a major dimension. Each item in the inner array corresponds with one cell.
  9126  	// For output, empty trailing rows and columns will not be included. For input,
  9127  	// supported value types are: bool, string, and double. Null values will be
  9128  	// skipped. To set a cell to an empty value, set the string value to an empty
  9129  	// string.
  9130  	Values [][]interface{} `json:"values,omitempty"`
  9131  
  9132  	// ServerResponse contains the HTTP response code and headers from the server.
  9133  	googleapi.ServerResponse `json:"-"`
  9134  	// ForceSendFields is a list of field names (e.g. "MajorDimension") to
  9135  	// unconditionally include in API requests. By default, fields with empty or
  9136  	// default values are omitted from API requests. See
  9137  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9138  	// details.
  9139  	ForceSendFields []string `json:"-"`
  9140  	// NullFields is a list of field names (e.g. "MajorDimension") to include in
  9141  	// API requests with the JSON null value. By default, fields with empty values
  9142  	// are omitted from API requests. See
  9143  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9144  	NullFields []string `json:"-"`
  9145  }
  9146  
  9147  func (s *ValueRange) MarshalJSON() ([]byte, error) {
  9148  	type NoMethod ValueRange
  9149  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9150  }
  9151  
  9152  // WaterfallChartColumnStyle: Styles for a waterfall chart column.
  9153  type WaterfallChartColumnStyle struct {
  9154  	// Color: The color of the column. Deprecated: Use color_style.
  9155  	Color *Color `json:"color,omitempty"`
  9156  	// ColorStyle: The color of the column. If color is also set, this field takes
  9157  	// precedence.
  9158  	ColorStyle *ColorStyle `json:"colorStyle,omitempty"`
  9159  	// Label: The label of the column's legend.
  9160  	Label string `json:"label,omitempty"`
  9161  	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
  9162  	// include in API requests. By default, fields with empty or default values are
  9163  	// omitted from API requests. See
  9164  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9165  	// details.
  9166  	ForceSendFields []string `json:"-"`
  9167  	// NullFields is a list of field names (e.g. "Color") to include in API
  9168  	// requests with the JSON null value. By default, fields with empty values are
  9169  	// omitted from API requests. See
  9170  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9171  	NullFields []string `json:"-"`
  9172  }
  9173  
  9174  func (s *WaterfallChartColumnStyle) MarshalJSON() ([]byte, error) {
  9175  	type NoMethod WaterfallChartColumnStyle
  9176  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9177  }
  9178  
  9179  // WaterfallChartCustomSubtotal: A custom subtotal column for a waterfall chart
  9180  // series.
  9181  type WaterfallChartCustomSubtotal struct {
  9182  	// DataIsSubtotal: True if the data point at subtotal_index is the subtotal. If
  9183  	// false, the subtotal will be computed and appear after the data point.
  9184  	DataIsSubtotal bool `json:"dataIsSubtotal,omitempty"`
  9185  	// Label: A label for the subtotal column.
  9186  	Label string `json:"label,omitempty"`
  9187  	// SubtotalIndex: The zero-based index of a data point within the series. If
  9188  	// data_is_subtotal is true, the data point at this index is the subtotal.
  9189  	// Otherwise, the subtotal appears after the data point with this index. A
  9190  	// series can have multiple subtotals at arbitrary indices, but subtotals do
  9191  	// not affect the indices of the data points. For example, if a series has
  9192  	// three data points, their indices will always be 0, 1, and 2, regardless of
  9193  	// how many subtotals exist on the series or what data points they are
  9194  	// associated with.
  9195  	SubtotalIndex int64 `json:"subtotalIndex,omitempty"`
  9196  	// ForceSendFields is a list of field names (e.g. "DataIsSubtotal") to
  9197  	// unconditionally include in API requests. By default, fields with empty or
  9198  	// default values are omitted from API requests. See
  9199  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9200  	// details.
  9201  	ForceSendFields []string `json:"-"`
  9202  	// NullFields is a list of field names (e.g. "DataIsSubtotal") to include in
  9203  	// API requests with the JSON null value. By default, fields with empty values
  9204  	// are omitted from API requests. See
  9205  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9206  	NullFields []string `json:"-"`
  9207  }
  9208  
  9209  func (s *WaterfallChartCustomSubtotal) MarshalJSON() ([]byte, error) {
  9210  	type NoMethod WaterfallChartCustomSubtotal
  9211  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9212  }
  9213  
  9214  // WaterfallChartDomain: The domain of a waterfall chart.
  9215  type WaterfallChartDomain struct {
  9216  	// Data: The data of the WaterfallChartDomain.
  9217  	Data *ChartData `json:"data,omitempty"`
  9218  	// Reversed: True to reverse the order of the domain values (horizontal axis).
  9219  	Reversed bool `json:"reversed,omitempty"`
  9220  	// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
  9221  	// include in API requests. By default, fields with empty or default values are
  9222  	// omitted from API requests. See
  9223  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9224  	// details.
  9225  	ForceSendFields []string `json:"-"`
  9226  	// NullFields is a list of field names (e.g. "Data") to include in API requests
  9227  	// with the JSON null value. By default, fields with empty values are omitted
  9228  	// from API requests. See
  9229  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9230  	NullFields []string `json:"-"`
  9231  }
  9232  
  9233  func (s *WaterfallChartDomain) MarshalJSON() ([]byte, error) {
  9234  	type NoMethod WaterfallChartDomain
  9235  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9236  }
  9237  
  9238  // WaterfallChartSeries: A single series of data for a waterfall chart.
  9239  type WaterfallChartSeries struct {
  9240  	// CustomSubtotals: Custom subtotal columns appearing in this series. The order
  9241  	// in which subtotals are defined is not significant. Only one subtotal may be
  9242  	// defined for each data point.
  9243  	CustomSubtotals []*WaterfallChartCustomSubtotal `json:"customSubtotals,omitempty"`
  9244  	// Data: The data being visualized in this series.
  9245  	Data *ChartData `json:"data,omitempty"`
  9246  	// DataLabel: Information about the data labels for this series.
  9247  	DataLabel *DataLabel `json:"dataLabel,omitempty"`
  9248  	// HideTrailingSubtotal: True to hide the subtotal column from the end of the
  9249  	// series. By default, a subtotal column will appear at the end of each series.
  9250  	// Setting this field to true will hide that subtotal column for this series.
  9251  	HideTrailingSubtotal bool `json:"hideTrailingSubtotal,omitempty"`
  9252  	// NegativeColumnsStyle: Styles for all columns in this series with negative
  9253  	// values.
  9254  	NegativeColumnsStyle *WaterfallChartColumnStyle `json:"negativeColumnsStyle,omitempty"`
  9255  	// PositiveColumnsStyle: Styles for all columns in this series with positive
  9256  	// values.
  9257  	PositiveColumnsStyle *WaterfallChartColumnStyle `json:"positiveColumnsStyle,omitempty"`
  9258  	// SubtotalColumnsStyle: Styles for all subtotal columns in this series.
  9259  	SubtotalColumnsStyle *WaterfallChartColumnStyle `json:"subtotalColumnsStyle,omitempty"`
  9260  	// ForceSendFields is a list of field names (e.g. "CustomSubtotals") to
  9261  	// unconditionally include in API requests. By default, fields with empty or
  9262  	// default values are omitted from API requests. See
  9263  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9264  	// details.
  9265  	ForceSendFields []string `json:"-"`
  9266  	// NullFields is a list of field names (e.g. "CustomSubtotals") to include in
  9267  	// API requests with the JSON null value. By default, fields with empty values
  9268  	// are omitted from API requests. See
  9269  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9270  	NullFields []string `json:"-"`
  9271  }
  9272  
  9273  func (s *WaterfallChartSeries) MarshalJSON() ([]byte, error) {
  9274  	type NoMethod WaterfallChartSeries
  9275  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9276  }
  9277  
  9278  // WaterfallChartSpec: A waterfall chart.
  9279  type WaterfallChartSpec struct {
  9280  	// ConnectorLineStyle: The line style for the connector lines.
  9281  	ConnectorLineStyle *LineStyle `json:"connectorLineStyle,omitempty"`
  9282  	// Domain: The domain data (horizontal axis) for the waterfall chart.
  9283  	Domain *WaterfallChartDomain `json:"domain,omitempty"`
  9284  	// FirstValueIsTotal: True to interpret the first value as a total.
  9285  	FirstValueIsTotal bool `json:"firstValueIsTotal,omitempty"`
  9286  	// HideConnectorLines: True to hide connector lines between columns.
  9287  	HideConnectorLines bool `json:"hideConnectorLines,omitempty"`
  9288  	// Series: The data this waterfall chart is visualizing.
  9289  	Series []*WaterfallChartSeries `json:"series,omitempty"`
  9290  	// StackedType: The stacked type.
  9291  	//
  9292  	// Possible values:
  9293  	//   "WATERFALL_STACKED_TYPE_UNSPECIFIED" - Default value, do not use.
  9294  	//   "STACKED" - Values corresponding to the same domain (horizontal axis)
  9295  	// value will be stacked vertically.
  9296  	//   "SEQUENTIAL" - Series will spread out along the horizontal axis.
  9297  	StackedType string `json:"stackedType,omitempty"`
  9298  	// TotalDataLabel: Controls whether to display additional data labels on
  9299  	// stacked charts which sum the total value of all stacked values at each value
  9300  	// along the domain axis. stacked_type must be STACKED and neither CUSTOM nor
  9301  	// placement can be set on the total_data_label.
  9302  	TotalDataLabel *DataLabel `json:"totalDataLabel,omitempty"`
  9303  	// ForceSendFields is a list of field names (e.g. "ConnectorLineStyle") to
  9304  	// unconditionally include in API requests. By default, fields with empty or
  9305  	// default values are omitted from API requests. See
  9306  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9307  	// details.
  9308  	ForceSendFields []string `json:"-"`
  9309  	// NullFields is a list of field names (e.g. "ConnectorLineStyle") to include
  9310  	// in API requests with the JSON null value. By default, fields with empty
  9311  	// values are omitted from API requests. See
  9312  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9313  	NullFields []string `json:"-"`
  9314  }
  9315  
  9316  func (s *WaterfallChartSpec) MarshalJSON() ([]byte, error) {
  9317  	type NoMethod WaterfallChartSpec
  9318  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9319  }
  9320  
  9321  type SpreadsheetsBatchUpdateCall struct {
  9322  	s                             *Service
  9323  	spreadsheetId                 string
  9324  	batchupdatespreadsheetrequest *BatchUpdateSpreadsheetRequest
  9325  	urlParams_                    gensupport.URLParams
  9326  	ctx_                          context.Context
  9327  	header_                       http.Header
  9328  }
  9329  
  9330  // BatchUpdate: Applies one or more updates to the spreadsheet. Each request is
  9331  // validated before being applied. If any request is not valid then the entire
  9332  // request will fail and nothing will be applied. Some requests have replies to
  9333  // give you some information about how they are applied. The replies will
  9334  // mirror the requests. For example, if you applied 4 updates and the 3rd one
  9335  // had a reply, then the response will have 2 empty replies, the actual reply,
  9336  // and another empty reply, in that order. Due to the collaborative nature of
  9337  // spreadsheets, it is not guaranteed that the spreadsheet will reflect exactly
  9338  // your changes after this completes, however it is guaranteed that the updates
  9339  // in the request will be applied together atomically. Your changes may be
  9340  // altered with respect to collaborator changes. If there are no collaborators,
  9341  // the spreadsheet should reflect your changes.
  9342  //
  9343  // - spreadsheetId: The spreadsheet to apply the updates to.
  9344  func (r *SpreadsheetsService) BatchUpdate(spreadsheetId string, batchupdatespreadsheetrequest *BatchUpdateSpreadsheetRequest) *SpreadsheetsBatchUpdateCall {
  9345  	c := &SpreadsheetsBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9346  	c.spreadsheetId = spreadsheetId
  9347  	c.batchupdatespreadsheetrequest = batchupdatespreadsheetrequest
  9348  	return c
  9349  }
  9350  
  9351  // Fields allows partial responses to be retrieved. See
  9352  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9353  // details.
  9354  func (c *SpreadsheetsBatchUpdateCall) Fields(s ...googleapi.Field) *SpreadsheetsBatchUpdateCall {
  9355  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9356  	return c
  9357  }
  9358  
  9359  // Context sets the context to be used in this call's Do method.
  9360  func (c *SpreadsheetsBatchUpdateCall) Context(ctx context.Context) *SpreadsheetsBatchUpdateCall {
  9361  	c.ctx_ = ctx
  9362  	return c
  9363  }
  9364  
  9365  // Header returns a http.Header that can be modified by the caller to add
  9366  // headers to the request.
  9367  func (c *SpreadsheetsBatchUpdateCall) Header() http.Header {
  9368  	if c.header_ == nil {
  9369  		c.header_ = make(http.Header)
  9370  	}
  9371  	return c.header_
  9372  }
  9373  
  9374  func (c *SpreadsheetsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
  9375  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9376  	var body io.Reader = nil
  9377  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdatespreadsheetrequest)
  9378  	if err != nil {
  9379  		return nil, err
  9380  	}
  9381  	c.urlParams_.Set("alt", alt)
  9382  	c.urlParams_.Set("prettyPrint", "false")
  9383  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}:batchUpdate")
  9384  	urls += "?" + c.urlParams_.Encode()
  9385  	req, err := http.NewRequest("POST", urls, body)
  9386  	if err != nil {
  9387  		return nil, err
  9388  	}
  9389  	req.Header = reqHeaders
  9390  	googleapi.Expand(req.URL, map[string]string{
  9391  		"spreadsheetId": c.spreadsheetId,
  9392  	})
  9393  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9394  }
  9395  
  9396  // Do executes the "sheets.spreadsheets.batchUpdate" call.
  9397  // Any non-2xx status code is an error. Response headers are in either
  9398  // *BatchUpdateSpreadsheetResponse.ServerResponse.Header or (if a response was
  9399  // returned at all) in error.(*googleapi.Error).Header. Use
  9400  // googleapi.IsNotModified to check whether the returned error was because
  9401  // http.StatusNotModified was returned.
  9402  func (c *SpreadsheetsBatchUpdateCall) Do(opts ...googleapi.CallOption) (*BatchUpdateSpreadsheetResponse, error) {
  9403  	gensupport.SetOptions(c.urlParams_, opts...)
  9404  	res, err := c.doRequest("json")
  9405  	if res != nil && res.StatusCode == http.StatusNotModified {
  9406  		if res.Body != nil {
  9407  			res.Body.Close()
  9408  		}
  9409  		return nil, gensupport.WrapError(&googleapi.Error{
  9410  			Code:   res.StatusCode,
  9411  			Header: res.Header,
  9412  		})
  9413  	}
  9414  	if err != nil {
  9415  		return nil, err
  9416  	}
  9417  	defer googleapi.CloseBody(res)
  9418  	if err := googleapi.CheckResponse(res); err != nil {
  9419  		return nil, gensupport.WrapError(err)
  9420  	}
  9421  	ret := &BatchUpdateSpreadsheetResponse{
  9422  		ServerResponse: googleapi.ServerResponse{
  9423  			Header:         res.Header,
  9424  			HTTPStatusCode: res.StatusCode,
  9425  		},
  9426  	}
  9427  	target := &ret
  9428  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9429  		return nil, err
  9430  	}
  9431  	return ret, nil
  9432  }
  9433  
  9434  type SpreadsheetsCreateCall struct {
  9435  	s           *Service
  9436  	spreadsheet *Spreadsheet
  9437  	urlParams_  gensupport.URLParams
  9438  	ctx_        context.Context
  9439  	header_     http.Header
  9440  }
  9441  
  9442  // Create: Creates a spreadsheet, returning the newly created spreadsheet.
  9443  func (r *SpreadsheetsService) Create(spreadsheet *Spreadsheet) *SpreadsheetsCreateCall {
  9444  	c := &SpreadsheetsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9445  	c.spreadsheet = spreadsheet
  9446  	return c
  9447  }
  9448  
  9449  // Fields allows partial responses to be retrieved. See
  9450  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9451  // details.
  9452  func (c *SpreadsheetsCreateCall) Fields(s ...googleapi.Field) *SpreadsheetsCreateCall {
  9453  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9454  	return c
  9455  }
  9456  
  9457  // Context sets the context to be used in this call's Do method.
  9458  func (c *SpreadsheetsCreateCall) Context(ctx context.Context) *SpreadsheetsCreateCall {
  9459  	c.ctx_ = ctx
  9460  	return c
  9461  }
  9462  
  9463  // Header returns a http.Header that can be modified by the caller to add
  9464  // headers to the request.
  9465  func (c *SpreadsheetsCreateCall) Header() http.Header {
  9466  	if c.header_ == nil {
  9467  		c.header_ = make(http.Header)
  9468  	}
  9469  	return c.header_
  9470  }
  9471  
  9472  func (c *SpreadsheetsCreateCall) doRequest(alt string) (*http.Response, error) {
  9473  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9474  	var body io.Reader = nil
  9475  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.spreadsheet)
  9476  	if err != nil {
  9477  		return nil, err
  9478  	}
  9479  	c.urlParams_.Set("alt", alt)
  9480  	c.urlParams_.Set("prettyPrint", "false")
  9481  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets")
  9482  	urls += "?" + c.urlParams_.Encode()
  9483  	req, err := http.NewRequest("POST", urls, body)
  9484  	if err != nil {
  9485  		return nil, err
  9486  	}
  9487  	req.Header = reqHeaders
  9488  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9489  }
  9490  
  9491  // Do executes the "sheets.spreadsheets.create" call.
  9492  // Any non-2xx status code is an error. Response headers are in either
  9493  // *Spreadsheet.ServerResponse.Header or (if a response was returned at all) in
  9494  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9495  // whether the returned error was because http.StatusNotModified was returned.
  9496  func (c *SpreadsheetsCreateCall) Do(opts ...googleapi.CallOption) (*Spreadsheet, error) {
  9497  	gensupport.SetOptions(c.urlParams_, opts...)
  9498  	res, err := c.doRequest("json")
  9499  	if res != nil && res.StatusCode == http.StatusNotModified {
  9500  		if res.Body != nil {
  9501  			res.Body.Close()
  9502  		}
  9503  		return nil, gensupport.WrapError(&googleapi.Error{
  9504  			Code:   res.StatusCode,
  9505  			Header: res.Header,
  9506  		})
  9507  	}
  9508  	if err != nil {
  9509  		return nil, err
  9510  	}
  9511  	defer googleapi.CloseBody(res)
  9512  	if err := googleapi.CheckResponse(res); err != nil {
  9513  		return nil, gensupport.WrapError(err)
  9514  	}
  9515  	ret := &Spreadsheet{
  9516  		ServerResponse: googleapi.ServerResponse{
  9517  			Header:         res.Header,
  9518  			HTTPStatusCode: res.StatusCode,
  9519  		},
  9520  	}
  9521  	target := &ret
  9522  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9523  		return nil, err
  9524  	}
  9525  	return ret, nil
  9526  }
  9527  
  9528  type SpreadsheetsGetCall struct {
  9529  	s             *Service
  9530  	spreadsheetId string
  9531  	urlParams_    gensupport.URLParams
  9532  	ifNoneMatch_  string
  9533  	ctx_          context.Context
  9534  	header_       http.Header
  9535  }
  9536  
  9537  // Get: Returns the spreadsheet at the given ID. The caller must specify the
  9538  // spreadsheet ID. By default, data within grids is not returned. You can
  9539  // include grid data in one of 2 ways: * Specify a field mask
  9540  // (https://developers.google.com/sheets/api/guides/field-masks) listing your
  9541  // desired fields using the `fields` URL parameter in HTTP * Set the
  9542  // includeGridData URL parameter to true. If a field mask is set, the
  9543  // `includeGridData` parameter is ignored For large spreadsheets, as a best
  9544  // practice, retrieve only the specific spreadsheet fields that you want. To
  9545  // retrieve only subsets of spreadsheet data, use the ranges URL parameter.
  9546  // Ranges are specified using A1 notation (/sheets/api/guides/concepts#cell).
  9547  // You can define a single cell (for example, `A1`) or multiple cells (for
  9548  // example, `A1:D5`). You can also get cells from other sheets within the same
  9549  // spreadsheet (for example, `Sheet2!A1:C4`) or retrieve multiple ranges at
  9550  // once (for example, `?ranges=A1:D5&ranges=Sheet2!A1:C4`). Limiting the range
  9551  // returns only the portions of the spreadsheet that intersect the requested
  9552  // ranges.
  9553  //
  9554  // - spreadsheetId: The spreadsheet to request.
  9555  func (r *SpreadsheetsService) Get(spreadsheetId string) *SpreadsheetsGetCall {
  9556  	c := &SpreadsheetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9557  	c.spreadsheetId = spreadsheetId
  9558  	return c
  9559  }
  9560  
  9561  // IncludeGridData sets the optional parameter "includeGridData": True if grid
  9562  // data should be returned. This parameter is ignored if a field mask was set
  9563  // in the request.
  9564  func (c *SpreadsheetsGetCall) IncludeGridData(includeGridData bool) *SpreadsheetsGetCall {
  9565  	c.urlParams_.Set("includeGridData", fmt.Sprint(includeGridData))
  9566  	return c
  9567  }
  9568  
  9569  // Ranges sets the optional parameter "ranges": The ranges to retrieve from the
  9570  // spreadsheet.
  9571  func (c *SpreadsheetsGetCall) Ranges(ranges ...string) *SpreadsheetsGetCall {
  9572  	c.urlParams_.SetMulti("ranges", append([]string{}, ranges...))
  9573  	return c
  9574  }
  9575  
  9576  // Fields allows partial responses to be retrieved. See
  9577  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9578  // details.
  9579  func (c *SpreadsheetsGetCall) Fields(s ...googleapi.Field) *SpreadsheetsGetCall {
  9580  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9581  	return c
  9582  }
  9583  
  9584  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9585  // object's ETag matches the given value. This is useful for getting updates
  9586  // only after the object has changed since the last request.
  9587  func (c *SpreadsheetsGetCall) IfNoneMatch(entityTag string) *SpreadsheetsGetCall {
  9588  	c.ifNoneMatch_ = entityTag
  9589  	return c
  9590  }
  9591  
  9592  // Context sets the context to be used in this call's Do method.
  9593  func (c *SpreadsheetsGetCall) Context(ctx context.Context) *SpreadsheetsGetCall {
  9594  	c.ctx_ = ctx
  9595  	return c
  9596  }
  9597  
  9598  // Header returns a http.Header that can be modified by the caller to add
  9599  // headers to the request.
  9600  func (c *SpreadsheetsGetCall) Header() http.Header {
  9601  	if c.header_ == nil {
  9602  		c.header_ = make(http.Header)
  9603  	}
  9604  	return c.header_
  9605  }
  9606  
  9607  func (c *SpreadsheetsGetCall) doRequest(alt string) (*http.Response, error) {
  9608  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9609  	if c.ifNoneMatch_ != "" {
  9610  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9611  	}
  9612  	var body io.Reader = nil
  9613  	c.urlParams_.Set("alt", alt)
  9614  	c.urlParams_.Set("prettyPrint", "false")
  9615  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}")
  9616  	urls += "?" + c.urlParams_.Encode()
  9617  	req, err := http.NewRequest("GET", urls, body)
  9618  	if err != nil {
  9619  		return nil, err
  9620  	}
  9621  	req.Header = reqHeaders
  9622  	googleapi.Expand(req.URL, map[string]string{
  9623  		"spreadsheetId": c.spreadsheetId,
  9624  	})
  9625  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9626  }
  9627  
  9628  // Do executes the "sheets.spreadsheets.get" call.
  9629  // Any non-2xx status code is an error. Response headers are in either
  9630  // *Spreadsheet.ServerResponse.Header or (if a response was returned at all) in
  9631  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9632  // whether the returned error was because http.StatusNotModified was returned.
  9633  func (c *SpreadsheetsGetCall) Do(opts ...googleapi.CallOption) (*Spreadsheet, error) {
  9634  	gensupport.SetOptions(c.urlParams_, opts...)
  9635  	res, err := c.doRequest("json")
  9636  	if res != nil && res.StatusCode == http.StatusNotModified {
  9637  		if res.Body != nil {
  9638  			res.Body.Close()
  9639  		}
  9640  		return nil, gensupport.WrapError(&googleapi.Error{
  9641  			Code:   res.StatusCode,
  9642  			Header: res.Header,
  9643  		})
  9644  	}
  9645  	if err != nil {
  9646  		return nil, err
  9647  	}
  9648  	defer googleapi.CloseBody(res)
  9649  	if err := googleapi.CheckResponse(res); err != nil {
  9650  		return nil, gensupport.WrapError(err)
  9651  	}
  9652  	ret := &Spreadsheet{
  9653  		ServerResponse: googleapi.ServerResponse{
  9654  			Header:         res.Header,
  9655  			HTTPStatusCode: res.StatusCode,
  9656  		},
  9657  	}
  9658  	target := &ret
  9659  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9660  		return nil, err
  9661  	}
  9662  	return ret, nil
  9663  }
  9664  
  9665  type SpreadsheetsGetByDataFilterCall struct {
  9666  	s                                 *Service
  9667  	spreadsheetId                     string
  9668  	getspreadsheetbydatafilterrequest *GetSpreadsheetByDataFilterRequest
  9669  	urlParams_                        gensupport.URLParams
  9670  	ctx_                              context.Context
  9671  	header_                           http.Header
  9672  }
  9673  
  9674  // GetByDataFilter: Returns the spreadsheet at the given ID. The caller must
  9675  // specify the spreadsheet ID. This method differs from GetSpreadsheet in that
  9676  // it allows selecting which subsets of spreadsheet data to return by
  9677  // specifying a dataFilters parameter. Multiple DataFilters can be specified.
  9678  // Specifying one or more data filters returns the portions of the spreadsheet
  9679  // that intersect ranges matched by any of the filters. By default, data within
  9680  // grids is not returned. You can include grid data one of 2 ways: * Specify a
  9681  // field mask (https://developers.google.com/sheets/api/guides/field-masks)
  9682  // listing your desired fields using the `fields` URL parameter in HTTP * Set
  9683  // the includeGridData parameter to true. If a field mask is set, the
  9684  // `includeGridData` parameter is ignored For large spreadsheets, as a best
  9685  // practice, retrieve only the specific spreadsheet fields that you want.
  9686  //
  9687  // - spreadsheetId: The spreadsheet to request.
  9688  func (r *SpreadsheetsService) GetByDataFilter(spreadsheetId string, getspreadsheetbydatafilterrequest *GetSpreadsheetByDataFilterRequest) *SpreadsheetsGetByDataFilterCall {
  9689  	c := &SpreadsheetsGetByDataFilterCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9690  	c.spreadsheetId = spreadsheetId
  9691  	c.getspreadsheetbydatafilterrequest = getspreadsheetbydatafilterrequest
  9692  	return c
  9693  }
  9694  
  9695  // Fields allows partial responses to be retrieved. See
  9696  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9697  // details.
  9698  func (c *SpreadsheetsGetByDataFilterCall) Fields(s ...googleapi.Field) *SpreadsheetsGetByDataFilterCall {
  9699  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9700  	return c
  9701  }
  9702  
  9703  // Context sets the context to be used in this call's Do method.
  9704  func (c *SpreadsheetsGetByDataFilterCall) Context(ctx context.Context) *SpreadsheetsGetByDataFilterCall {
  9705  	c.ctx_ = ctx
  9706  	return c
  9707  }
  9708  
  9709  // Header returns a http.Header that can be modified by the caller to add
  9710  // headers to the request.
  9711  func (c *SpreadsheetsGetByDataFilterCall) Header() http.Header {
  9712  	if c.header_ == nil {
  9713  		c.header_ = make(http.Header)
  9714  	}
  9715  	return c.header_
  9716  }
  9717  
  9718  func (c *SpreadsheetsGetByDataFilterCall) doRequest(alt string) (*http.Response, error) {
  9719  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9720  	var body io.Reader = nil
  9721  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.getspreadsheetbydatafilterrequest)
  9722  	if err != nil {
  9723  		return nil, err
  9724  	}
  9725  	c.urlParams_.Set("alt", alt)
  9726  	c.urlParams_.Set("prettyPrint", "false")
  9727  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}:getByDataFilter")
  9728  	urls += "?" + c.urlParams_.Encode()
  9729  	req, err := http.NewRequest("POST", urls, body)
  9730  	if err != nil {
  9731  		return nil, err
  9732  	}
  9733  	req.Header = reqHeaders
  9734  	googleapi.Expand(req.URL, map[string]string{
  9735  		"spreadsheetId": c.spreadsheetId,
  9736  	})
  9737  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9738  }
  9739  
  9740  // Do executes the "sheets.spreadsheets.getByDataFilter" call.
  9741  // Any non-2xx status code is an error. Response headers are in either
  9742  // *Spreadsheet.ServerResponse.Header or (if a response was returned at all) in
  9743  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  9744  // whether the returned error was because http.StatusNotModified was returned.
  9745  func (c *SpreadsheetsGetByDataFilterCall) Do(opts ...googleapi.CallOption) (*Spreadsheet, error) {
  9746  	gensupport.SetOptions(c.urlParams_, opts...)
  9747  	res, err := c.doRequest("json")
  9748  	if res != nil && res.StatusCode == http.StatusNotModified {
  9749  		if res.Body != nil {
  9750  			res.Body.Close()
  9751  		}
  9752  		return nil, gensupport.WrapError(&googleapi.Error{
  9753  			Code:   res.StatusCode,
  9754  			Header: res.Header,
  9755  		})
  9756  	}
  9757  	if err != nil {
  9758  		return nil, err
  9759  	}
  9760  	defer googleapi.CloseBody(res)
  9761  	if err := googleapi.CheckResponse(res); err != nil {
  9762  		return nil, gensupport.WrapError(err)
  9763  	}
  9764  	ret := &Spreadsheet{
  9765  		ServerResponse: googleapi.ServerResponse{
  9766  			Header:         res.Header,
  9767  			HTTPStatusCode: res.StatusCode,
  9768  		},
  9769  	}
  9770  	target := &ret
  9771  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9772  		return nil, err
  9773  	}
  9774  	return ret, nil
  9775  }
  9776  
  9777  type SpreadsheetsDeveloperMetadataGetCall struct {
  9778  	s             *Service
  9779  	spreadsheetId string
  9780  	metadataId    int64
  9781  	urlParams_    gensupport.URLParams
  9782  	ifNoneMatch_  string
  9783  	ctx_          context.Context
  9784  	header_       http.Header
  9785  }
  9786  
  9787  // Get: Returns the developer metadata with the specified ID. The caller must
  9788  // specify the spreadsheet ID and the developer metadata's unique metadataId.
  9789  //
  9790  // - metadataId: The ID of the developer metadata to retrieve.
  9791  // - spreadsheetId: The ID of the spreadsheet to retrieve metadata from.
  9792  func (r *SpreadsheetsDeveloperMetadataService) Get(spreadsheetId string, metadataId int64) *SpreadsheetsDeveloperMetadataGetCall {
  9793  	c := &SpreadsheetsDeveloperMetadataGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9794  	c.spreadsheetId = spreadsheetId
  9795  	c.metadataId = metadataId
  9796  	return c
  9797  }
  9798  
  9799  // Fields allows partial responses to be retrieved. See
  9800  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9801  // details.
  9802  func (c *SpreadsheetsDeveloperMetadataGetCall) Fields(s ...googleapi.Field) *SpreadsheetsDeveloperMetadataGetCall {
  9803  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9804  	return c
  9805  }
  9806  
  9807  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  9808  // object's ETag matches the given value. This is useful for getting updates
  9809  // only after the object has changed since the last request.
  9810  func (c *SpreadsheetsDeveloperMetadataGetCall) IfNoneMatch(entityTag string) *SpreadsheetsDeveloperMetadataGetCall {
  9811  	c.ifNoneMatch_ = entityTag
  9812  	return c
  9813  }
  9814  
  9815  // Context sets the context to be used in this call's Do method.
  9816  func (c *SpreadsheetsDeveloperMetadataGetCall) Context(ctx context.Context) *SpreadsheetsDeveloperMetadataGetCall {
  9817  	c.ctx_ = ctx
  9818  	return c
  9819  }
  9820  
  9821  // Header returns a http.Header that can be modified by the caller to add
  9822  // headers to the request.
  9823  func (c *SpreadsheetsDeveloperMetadataGetCall) Header() http.Header {
  9824  	if c.header_ == nil {
  9825  		c.header_ = make(http.Header)
  9826  	}
  9827  	return c.header_
  9828  }
  9829  
  9830  func (c *SpreadsheetsDeveloperMetadataGetCall) doRequest(alt string) (*http.Response, error) {
  9831  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  9832  	if c.ifNoneMatch_ != "" {
  9833  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  9834  	}
  9835  	var body io.Reader = nil
  9836  	c.urlParams_.Set("alt", alt)
  9837  	c.urlParams_.Set("prettyPrint", "false")
  9838  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}")
  9839  	urls += "?" + c.urlParams_.Encode()
  9840  	req, err := http.NewRequest("GET", urls, body)
  9841  	if err != nil {
  9842  		return nil, err
  9843  	}
  9844  	req.Header = reqHeaders
  9845  	googleapi.Expand(req.URL, map[string]string{
  9846  		"spreadsheetId": c.spreadsheetId,
  9847  		"metadataId":    strconv.FormatInt(c.metadataId, 10),
  9848  	})
  9849  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9850  }
  9851  
  9852  // Do executes the "sheets.spreadsheets.developerMetadata.get" call.
  9853  // Any non-2xx status code is an error. Response headers are in either
  9854  // *DeveloperMetadata.ServerResponse.Header or (if a response was returned at
  9855  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
  9856  // check whether the returned error was because http.StatusNotModified was
  9857  // returned.
  9858  func (c *SpreadsheetsDeveloperMetadataGetCall) Do(opts ...googleapi.CallOption) (*DeveloperMetadata, error) {
  9859  	gensupport.SetOptions(c.urlParams_, opts...)
  9860  	res, err := c.doRequest("json")
  9861  	if res != nil && res.StatusCode == http.StatusNotModified {
  9862  		if res.Body != nil {
  9863  			res.Body.Close()
  9864  		}
  9865  		return nil, gensupport.WrapError(&googleapi.Error{
  9866  			Code:   res.StatusCode,
  9867  			Header: res.Header,
  9868  		})
  9869  	}
  9870  	if err != nil {
  9871  		return nil, err
  9872  	}
  9873  	defer googleapi.CloseBody(res)
  9874  	if err := googleapi.CheckResponse(res); err != nil {
  9875  		return nil, gensupport.WrapError(err)
  9876  	}
  9877  	ret := &DeveloperMetadata{
  9878  		ServerResponse: googleapi.ServerResponse{
  9879  			Header:         res.Header,
  9880  			HTTPStatusCode: res.StatusCode,
  9881  		},
  9882  	}
  9883  	target := &ret
  9884  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9885  		return nil, err
  9886  	}
  9887  	return ret, nil
  9888  }
  9889  
  9890  type SpreadsheetsDeveloperMetadataSearchCall struct {
  9891  	s                              *Service
  9892  	spreadsheetId                  string
  9893  	searchdevelopermetadatarequest *SearchDeveloperMetadataRequest
  9894  	urlParams_                     gensupport.URLParams
  9895  	ctx_                           context.Context
  9896  	header_                        http.Header
  9897  }
  9898  
  9899  // Search: Returns all developer metadata matching the specified DataFilter. If
  9900  // the provided DataFilter represents a DeveloperMetadataLookup object, this
  9901  // will return all DeveloperMetadata entries selected by it. If the DataFilter
  9902  // represents a location in a spreadsheet, this will return all developer
  9903  // metadata associated with locations intersecting that region.
  9904  //
  9905  // - spreadsheetId: The ID of the spreadsheet to retrieve metadata from.
  9906  func (r *SpreadsheetsDeveloperMetadataService) Search(spreadsheetId string, searchdevelopermetadatarequest *SearchDeveloperMetadataRequest) *SpreadsheetsDeveloperMetadataSearchCall {
  9907  	c := &SpreadsheetsDeveloperMetadataSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  9908  	c.spreadsheetId = spreadsheetId
  9909  	c.searchdevelopermetadatarequest = searchdevelopermetadatarequest
  9910  	return c
  9911  }
  9912  
  9913  // Fields allows partial responses to be retrieved. See
  9914  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  9915  // details.
  9916  func (c *SpreadsheetsDeveloperMetadataSearchCall) Fields(s ...googleapi.Field) *SpreadsheetsDeveloperMetadataSearchCall {
  9917  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  9918  	return c
  9919  }
  9920  
  9921  // Context sets the context to be used in this call's Do method.
  9922  func (c *SpreadsheetsDeveloperMetadataSearchCall) Context(ctx context.Context) *SpreadsheetsDeveloperMetadataSearchCall {
  9923  	c.ctx_ = ctx
  9924  	return c
  9925  }
  9926  
  9927  // Header returns a http.Header that can be modified by the caller to add
  9928  // headers to the request.
  9929  func (c *SpreadsheetsDeveloperMetadataSearchCall) Header() http.Header {
  9930  	if c.header_ == nil {
  9931  		c.header_ = make(http.Header)
  9932  	}
  9933  	return c.header_
  9934  }
  9935  
  9936  func (c *SpreadsheetsDeveloperMetadataSearchCall) doRequest(alt string) (*http.Response, error) {
  9937  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  9938  	var body io.Reader = nil
  9939  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchdevelopermetadatarequest)
  9940  	if err != nil {
  9941  		return nil, err
  9942  	}
  9943  	c.urlParams_.Set("alt", alt)
  9944  	c.urlParams_.Set("prettyPrint", "false")
  9945  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/developerMetadata:search")
  9946  	urls += "?" + c.urlParams_.Encode()
  9947  	req, err := http.NewRequest("POST", urls, body)
  9948  	if err != nil {
  9949  		return nil, err
  9950  	}
  9951  	req.Header = reqHeaders
  9952  	googleapi.Expand(req.URL, map[string]string{
  9953  		"spreadsheetId": c.spreadsheetId,
  9954  	})
  9955  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  9956  }
  9957  
  9958  // Do executes the "sheets.spreadsheets.developerMetadata.search" call.
  9959  // Any non-2xx status code is an error. Response headers are in either
  9960  // *SearchDeveloperMetadataResponse.ServerResponse.Header or (if a response was
  9961  // returned at all) in error.(*googleapi.Error).Header. Use
  9962  // googleapi.IsNotModified to check whether the returned error was because
  9963  // http.StatusNotModified was returned.
  9964  func (c *SpreadsheetsDeveloperMetadataSearchCall) Do(opts ...googleapi.CallOption) (*SearchDeveloperMetadataResponse, error) {
  9965  	gensupport.SetOptions(c.urlParams_, opts...)
  9966  	res, err := c.doRequest("json")
  9967  	if res != nil && res.StatusCode == http.StatusNotModified {
  9968  		if res.Body != nil {
  9969  			res.Body.Close()
  9970  		}
  9971  		return nil, gensupport.WrapError(&googleapi.Error{
  9972  			Code:   res.StatusCode,
  9973  			Header: res.Header,
  9974  		})
  9975  	}
  9976  	if err != nil {
  9977  		return nil, err
  9978  	}
  9979  	defer googleapi.CloseBody(res)
  9980  	if err := googleapi.CheckResponse(res); err != nil {
  9981  		return nil, gensupport.WrapError(err)
  9982  	}
  9983  	ret := &SearchDeveloperMetadataResponse{
  9984  		ServerResponse: googleapi.ServerResponse{
  9985  			Header:         res.Header,
  9986  			HTTPStatusCode: res.StatusCode,
  9987  		},
  9988  	}
  9989  	target := &ret
  9990  	if err := gensupport.DecodeResponse(target, res); err != nil {
  9991  		return nil, err
  9992  	}
  9993  	return ret, nil
  9994  }
  9995  
  9996  type SpreadsheetsSheetsCopyToCall struct {
  9997  	s                                    *Service
  9998  	spreadsheetId                        string
  9999  	sheetId                              int64
 10000  	copysheettoanotherspreadsheetrequest *CopySheetToAnotherSpreadsheetRequest
 10001  	urlParams_                           gensupport.URLParams
 10002  	ctx_                                 context.Context
 10003  	header_                              http.Header
 10004  }
 10005  
 10006  // CopyTo: Copies a single sheet from a spreadsheet to another spreadsheet.
 10007  // Returns the properties of the newly created sheet.
 10008  //
 10009  // - sheetId: The ID of the sheet to copy.
 10010  // - spreadsheetId: The ID of the spreadsheet containing the sheet to copy.
 10011  func (r *SpreadsheetsSheetsService) CopyTo(spreadsheetId string, sheetId int64, copysheettoanotherspreadsheetrequest *CopySheetToAnotherSpreadsheetRequest) *SpreadsheetsSheetsCopyToCall {
 10012  	c := &SpreadsheetsSheetsCopyToCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10013  	c.spreadsheetId = spreadsheetId
 10014  	c.sheetId = sheetId
 10015  	c.copysheettoanotherspreadsheetrequest = copysheettoanotherspreadsheetrequest
 10016  	return c
 10017  }
 10018  
 10019  // Fields allows partial responses to be retrieved. See
 10020  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10021  // details.
 10022  func (c *SpreadsheetsSheetsCopyToCall) Fields(s ...googleapi.Field) *SpreadsheetsSheetsCopyToCall {
 10023  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10024  	return c
 10025  }
 10026  
 10027  // Context sets the context to be used in this call's Do method.
 10028  func (c *SpreadsheetsSheetsCopyToCall) Context(ctx context.Context) *SpreadsheetsSheetsCopyToCall {
 10029  	c.ctx_ = ctx
 10030  	return c
 10031  }
 10032  
 10033  // Header returns a http.Header that can be modified by the caller to add
 10034  // headers to the request.
 10035  func (c *SpreadsheetsSheetsCopyToCall) Header() http.Header {
 10036  	if c.header_ == nil {
 10037  		c.header_ = make(http.Header)
 10038  	}
 10039  	return c.header_
 10040  }
 10041  
 10042  func (c *SpreadsheetsSheetsCopyToCall) doRequest(alt string) (*http.Response, error) {
 10043  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10044  	var body io.Reader = nil
 10045  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.copysheettoanotherspreadsheetrequest)
 10046  	if err != nil {
 10047  		return nil, err
 10048  	}
 10049  	c.urlParams_.Set("alt", alt)
 10050  	c.urlParams_.Set("prettyPrint", "false")
 10051  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo")
 10052  	urls += "?" + c.urlParams_.Encode()
 10053  	req, err := http.NewRequest("POST", urls, body)
 10054  	if err != nil {
 10055  		return nil, err
 10056  	}
 10057  	req.Header = reqHeaders
 10058  	googleapi.Expand(req.URL, map[string]string{
 10059  		"spreadsheetId": c.spreadsheetId,
 10060  		"sheetId":       strconv.FormatInt(c.sheetId, 10),
 10061  	})
 10062  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10063  }
 10064  
 10065  // Do executes the "sheets.spreadsheets.sheets.copyTo" call.
 10066  // Any non-2xx status code is an error. Response headers are in either
 10067  // *SheetProperties.ServerResponse.Header or (if a response was returned at
 10068  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10069  // check whether the returned error was because http.StatusNotModified was
 10070  // returned.
 10071  func (c *SpreadsheetsSheetsCopyToCall) Do(opts ...googleapi.CallOption) (*SheetProperties, error) {
 10072  	gensupport.SetOptions(c.urlParams_, opts...)
 10073  	res, err := c.doRequest("json")
 10074  	if res != nil && res.StatusCode == http.StatusNotModified {
 10075  		if res.Body != nil {
 10076  			res.Body.Close()
 10077  		}
 10078  		return nil, gensupport.WrapError(&googleapi.Error{
 10079  			Code:   res.StatusCode,
 10080  			Header: res.Header,
 10081  		})
 10082  	}
 10083  	if err != nil {
 10084  		return nil, err
 10085  	}
 10086  	defer googleapi.CloseBody(res)
 10087  	if err := googleapi.CheckResponse(res); err != nil {
 10088  		return nil, gensupport.WrapError(err)
 10089  	}
 10090  	ret := &SheetProperties{
 10091  		ServerResponse: googleapi.ServerResponse{
 10092  			Header:         res.Header,
 10093  			HTTPStatusCode: res.StatusCode,
 10094  		},
 10095  	}
 10096  	target := &ret
 10097  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10098  		return nil, err
 10099  	}
 10100  	return ret, nil
 10101  }
 10102  
 10103  type SpreadsheetsValuesAppendCall struct {
 10104  	s             *Service
 10105  	spreadsheetId string
 10106  	range_        string
 10107  	valuerange    *ValueRange
 10108  	urlParams_    gensupport.URLParams
 10109  	ctx_          context.Context
 10110  	header_       http.Header
 10111  }
 10112  
 10113  // Append: Appends values to a spreadsheet. The input range is used to search
 10114  // for existing data and find a "table" within that range. Values will be
 10115  // appended to the next row of the table, starting with the first column of the
 10116  // table. See the guide (/sheets/api/guides/values#appending_values) and sample
 10117  // code (/sheets/api/samples/writing#append_values) for specific details of how
 10118  // tables are detected and data is appended. The caller must specify the
 10119  // spreadsheet ID, range, and a valueInputOption. The `valueInputOption` only
 10120  // controls how the input data will be added to the sheet (column-wise or
 10121  // row-wise), it does not influence what cell the data starts being written to.
 10122  //
 10123  //   - range: The A1 notation (/sheets/api/guides/concepts#cell) of a range to
 10124  //     search for a logical table of data. Values are appended after the last row
 10125  //     of the table.
 10126  //   - spreadsheetId: The ID of the spreadsheet to update.
 10127  func (r *SpreadsheetsValuesService) Append(spreadsheetId string, range_ string, valuerange *ValueRange) *SpreadsheetsValuesAppendCall {
 10128  	c := &SpreadsheetsValuesAppendCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10129  	c.spreadsheetId = spreadsheetId
 10130  	c.range_ = range_
 10131  	c.valuerange = valuerange
 10132  	return c
 10133  }
 10134  
 10135  // IncludeValuesInResponse sets the optional parameter
 10136  // "includeValuesInResponse": Determines if the update response should include
 10137  // the values of the cells that were appended. By default, responses do not
 10138  // include the updated values.
 10139  func (c *SpreadsheetsValuesAppendCall) IncludeValuesInResponse(includeValuesInResponse bool) *SpreadsheetsValuesAppendCall {
 10140  	c.urlParams_.Set("includeValuesInResponse", fmt.Sprint(includeValuesInResponse))
 10141  	return c
 10142  }
 10143  
 10144  // InsertDataOption sets the optional parameter "insertDataOption": How the
 10145  // input data should be inserted.
 10146  //
 10147  // Possible values:
 10148  //
 10149  //	"OVERWRITE" - The new data overwrites existing data in the areas it is
 10150  //
 10151  // written. (Note: adding data to the end of the sheet will still insert new
 10152  // rows or columns so the data can be written.)
 10153  //
 10154  //	"INSERT_ROWS" - Rows are inserted for the new data.
 10155  func (c *SpreadsheetsValuesAppendCall) InsertDataOption(insertDataOption string) *SpreadsheetsValuesAppendCall {
 10156  	c.urlParams_.Set("insertDataOption", insertDataOption)
 10157  	return c
 10158  }
 10159  
 10160  // ResponseDateTimeRenderOption sets the optional parameter
 10161  // "responseDateTimeRenderOption": Determines how dates, times, and durations
 10162  // in the response should be rendered. This is ignored if
 10163  // response_value_render_option is FORMATTED_VALUE. The default dateTime render
 10164  // option is SERIAL_NUMBER.
 10165  //
 10166  // Possible values:
 10167  //
 10168  //	"SERIAL_NUMBER" - Instructs date, time, datetime, and duration fields to
 10169  //
 10170  // be output as doubles in "serial number" format, as popularized by Lotus
 10171  // 1-2-3. The whole number portion of the value (left of the decimal) counts
 10172  // the days since December 30th 1899. The fractional portion (right of the
 10173  // decimal) counts the time as a fraction of the day. For example, January 1st
 10174  // 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899,
 10175  // and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625.
 10176  // This correctly treats the year 1900 as not a leap year.
 10177  //
 10178  //	"FORMATTED_STRING" - Instructs date, time, datetime, and duration fields
 10179  //
 10180  // to be output as strings in their given number format (which depends on the
 10181  // spreadsheet locale).
 10182  func (c *SpreadsheetsValuesAppendCall) ResponseDateTimeRenderOption(responseDateTimeRenderOption string) *SpreadsheetsValuesAppendCall {
 10183  	c.urlParams_.Set("responseDateTimeRenderOption", responseDateTimeRenderOption)
 10184  	return c
 10185  }
 10186  
 10187  // ResponseValueRenderOption sets the optional parameter
 10188  // "responseValueRenderOption": Determines how values in the response should be
 10189  // rendered. The default render option is FORMATTED_VALUE.
 10190  //
 10191  // Possible values:
 10192  //
 10193  //	"FORMATTED_VALUE" - Values will be calculated & formatted in the response
 10194  //
 10195  // according to the cell's formatting. Formatting is based on the spreadsheet's
 10196  // locale, not the requesting user's locale. For example, if `A1` is `1.23` and
 10197  // `A2` is `=A1` and formatted as currency, then `A2` would return "$1.23".
 10198  //
 10199  //	"UNFORMATTED_VALUE" - Values will be calculated, but not formatted in the
 10200  //
 10201  // reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
 10202  // currency, then `A2` would return the number `1.23`.
 10203  //
 10204  //	"FORMULA" - Values will not be calculated. The reply will include the
 10205  //
 10206  // formulas. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
 10207  // currency, then A2 would return "=A1". Sheets treats date and time values
 10208  // as decimal values. This lets you perform arithmetic on them in formulas. For
 10209  // more information on interpreting date and time values, see [About date &
 10210  // time
 10211  // values](https://developers.google.com/sheets/api/guides/formats#about_date_ti
 10212  // me_values).
 10213  func (c *SpreadsheetsValuesAppendCall) ResponseValueRenderOption(responseValueRenderOption string) *SpreadsheetsValuesAppendCall {
 10214  	c.urlParams_.Set("responseValueRenderOption", responseValueRenderOption)
 10215  	return c
 10216  }
 10217  
 10218  // ValueInputOption sets the optional parameter "valueInputOption": How the
 10219  // input data should be interpreted.
 10220  //
 10221  // Possible values:
 10222  //
 10223  //	"INPUT_VALUE_OPTION_UNSPECIFIED" - Default input value. This value must
 10224  //
 10225  // not be used.
 10226  //
 10227  //	"RAW" - The values the user has entered will not be parsed and will be
 10228  //
 10229  // stored as-is.
 10230  //
 10231  //	"USER_ENTERED" - The values will be parsed as if the user typed them into
 10232  //
 10233  // the UI. Numbers will stay as numbers, but strings may be converted to
 10234  // numbers, dates, etc. following the same rules that are applied when entering
 10235  // text into a cell via the Google Sheets UI.
 10236  func (c *SpreadsheetsValuesAppendCall) ValueInputOption(valueInputOption string) *SpreadsheetsValuesAppendCall {
 10237  	c.urlParams_.Set("valueInputOption", valueInputOption)
 10238  	return c
 10239  }
 10240  
 10241  // Fields allows partial responses to be retrieved. See
 10242  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10243  // details.
 10244  func (c *SpreadsheetsValuesAppendCall) Fields(s ...googleapi.Field) *SpreadsheetsValuesAppendCall {
 10245  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10246  	return c
 10247  }
 10248  
 10249  // Context sets the context to be used in this call's Do method.
 10250  func (c *SpreadsheetsValuesAppendCall) Context(ctx context.Context) *SpreadsheetsValuesAppendCall {
 10251  	c.ctx_ = ctx
 10252  	return c
 10253  }
 10254  
 10255  // Header returns a http.Header that can be modified by the caller to add
 10256  // headers to the request.
 10257  func (c *SpreadsheetsValuesAppendCall) Header() http.Header {
 10258  	if c.header_ == nil {
 10259  		c.header_ = make(http.Header)
 10260  	}
 10261  	return c.header_
 10262  }
 10263  
 10264  func (c *SpreadsheetsValuesAppendCall) doRequest(alt string) (*http.Response, error) {
 10265  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10266  	var body io.Reader = nil
 10267  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.valuerange)
 10268  	if err != nil {
 10269  		return nil, err
 10270  	}
 10271  	c.urlParams_.Set("alt", alt)
 10272  	c.urlParams_.Set("prettyPrint", "false")
 10273  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/values/{range}:append")
 10274  	urls += "?" + c.urlParams_.Encode()
 10275  	req, err := http.NewRequest("POST", urls, body)
 10276  	if err != nil {
 10277  		return nil, err
 10278  	}
 10279  	req.Header = reqHeaders
 10280  	googleapi.Expand(req.URL, map[string]string{
 10281  		"spreadsheetId": c.spreadsheetId,
 10282  		"range":         c.range_,
 10283  	})
 10284  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10285  }
 10286  
 10287  // Do executes the "sheets.spreadsheets.values.append" call.
 10288  // Any non-2xx status code is an error. Response headers are in either
 10289  // *AppendValuesResponse.ServerResponse.Header or (if a response was returned
 10290  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10291  // check whether the returned error was because http.StatusNotModified was
 10292  // returned.
 10293  func (c *SpreadsheetsValuesAppendCall) Do(opts ...googleapi.CallOption) (*AppendValuesResponse, error) {
 10294  	gensupport.SetOptions(c.urlParams_, opts...)
 10295  	res, err := c.doRequest("json")
 10296  	if res != nil && res.StatusCode == http.StatusNotModified {
 10297  		if res.Body != nil {
 10298  			res.Body.Close()
 10299  		}
 10300  		return nil, gensupport.WrapError(&googleapi.Error{
 10301  			Code:   res.StatusCode,
 10302  			Header: res.Header,
 10303  		})
 10304  	}
 10305  	if err != nil {
 10306  		return nil, err
 10307  	}
 10308  	defer googleapi.CloseBody(res)
 10309  	if err := googleapi.CheckResponse(res); err != nil {
 10310  		return nil, gensupport.WrapError(err)
 10311  	}
 10312  	ret := &AppendValuesResponse{
 10313  		ServerResponse: googleapi.ServerResponse{
 10314  			Header:         res.Header,
 10315  			HTTPStatusCode: res.StatusCode,
 10316  		},
 10317  	}
 10318  	target := &ret
 10319  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10320  		return nil, err
 10321  	}
 10322  	return ret, nil
 10323  }
 10324  
 10325  type SpreadsheetsValuesBatchClearCall struct {
 10326  	s                       *Service
 10327  	spreadsheetId           string
 10328  	batchclearvaluesrequest *BatchClearValuesRequest
 10329  	urlParams_              gensupport.URLParams
 10330  	ctx_                    context.Context
 10331  	header_                 http.Header
 10332  }
 10333  
 10334  // BatchClear: Clears one or more ranges of values from a spreadsheet. The
 10335  // caller must specify the spreadsheet ID and one or more ranges. Only values
 10336  // are cleared -- all other properties of the cell (such as formatting and data
 10337  // validation) are kept.
 10338  //
 10339  // - spreadsheetId: The ID of the spreadsheet to update.
 10340  func (r *SpreadsheetsValuesService) BatchClear(spreadsheetId string, batchclearvaluesrequest *BatchClearValuesRequest) *SpreadsheetsValuesBatchClearCall {
 10341  	c := &SpreadsheetsValuesBatchClearCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10342  	c.spreadsheetId = spreadsheetId
 10343  	c.batchclearvaluesrequest = batchclearvaluesrequest
 10344  	return c
 10345  }
 10346  
 10347  // Fields allows partial responses to be retrieved. See
 10348  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10349  // details.
 10350  func (c *SpreadsheetsValuesBatchClearCall) Fields(s ...googleapi.Field) *SpreadsheetsValuesBatchClearCall {
 10351  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10352  	return c
 10353  }
 10354  
 10355  // Context sets the context to be used in this call's Do method.
 10356  func (c *SpreadsheetsValuesBatchClearCall) Context(ctx context.Context) *SpreadsheetsValuesBatchClearCall {
 10357  	c.ctx_ = ctx
 10358  	return c
 10359  }
 10360  
 10361  // Header returns a http.Header that can be modified by the caller to add
 10362  // headers to the request.
 10363  func (c *SpreadsheetsValuesBatchClearCall) Header() http.Header {
 10364  	if c.header_ == nil {
 10365  		c.header_ = make(http.Header)
 10366  	}
 10367  	return c.header_
 10368  }
 10369  
 10370  func (c *SpreadsheetsValuesBatchClearCall) doRequest(alt string) (*http.Response, error) {
 10371  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10372  	var body io.Reader = nil
 10373  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchclearvaluesrequest)
 10374  	if err != nil {
 10375  		return nil, err
 10376  	}
 10377  	c.urlParams_.Set("alt", alt)
 10378  	c.urlParams_.Set("prettyPrint", "false")
 10379  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/values:batchClear")
 10380  	urls += "?" + c.urlParams_.Encode()
 10381  	req, err := http.NewRequest("POST", urls, body)
 10382  	if err != nil {
 10383  		return nil, err
 10384  	}
 10385  	req.Header = reqHeaders
 10386  	googleapi.Expand(req.URL, map[string]string{
 10387  		"spreadsheetId": c.spreadsheetId,
 10388  	})
 10389  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10390  }
 10391  
 10392  // Do executes the "sheets.spreadsheets.values.batchClear" call.
 10393  // Any non-2xx status code is an error. Response headers are in either
 10394  // *BatchClearValuesResponse.ServerResponse.Header or (if a response was
 10395  // returned at all) in error.(*googleapi.Error).Header. Use
 10396  // googleapi.IsNotModified to check whether the returned error was because
 10397  // http.StatusNotModified was returned.
 10398  func (c *SpreadsheetsValuesBatchClearCall) Do(opts ...googleapi.CallOption) (*BatchClearValuesResponse, error) {
 10399  	gensupport.SetOptions(c.urlParams_, opts...)
 10400  	res, err := c.doRequest("json")
 10401  	if res != nil && res.StatusCode == http.StatusNotModified {
 10402  		if res.Body != nil {
 10403  			res.Body.Close()
 10404  		}
 10405  		return nil, gensupport.WrapError(&googleapi.Error{
 10406  			Code:   res.StatusCode,
 10407  			Header: res.Header,
 10408  		})
 10409  	}
 10410  	if err != nil {
 10411  		return nil, err
 10412  	}
 10413  	defer googleapi.CloseBody(res)
 10414  	if err := googleapi.CheckResponse(res); err != nil {
 10415  		return nil, gensupport.WrapError(err)
 10416  	}
 10417  	ret := &BatchClearValuesResponse{
 10418  		ServerResponse: googleapi.ServerResponse{
 10419  			Header:         res.Header,
 10420  			HTTPStatusCode: res.StatusCode,
 10421  		},
 10422  	}
 10423  	target := &ret
 10424  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10425  		return nil, err
 10426  	}
 10427  	return ret, nil
 10428  }
 10429  
 10430  type SpreadsheetsValuesBatchClearByDataFilterCall struct {
 10431  	s                                   *Service
 10432  	spreadsheetId                       string
 10433  	batchclearvaluesbydatafilterrequest *BatchClearValuesByDataFilterRequest
 10434  	urlParams_                          gensupport.URLParams
 10435  	ctx_                                context.Context
 10436  	header_                             http.Header
 10437  }
 10438  
 10439  // BatchClearByDataFilter: Clears one or more ranges of values from a
 10440  // spreadsheet. The caller must specify the spreadsheet ID and one or more
 10441  // DataFilters. Ranges matching any of the specified data filters will be
 10442  // cleared. Only values are cleared -- all other properties of the cell (such
 10443  // as formatting, data validation, etc..) are kept.
 10444  //
 10445  // - spreadsheetId: The ID of the spreadsheet to update.
 10446  func (r *SpreadsheetsValuesService) BatchClearByDataFilter(spreadsheetId string, batchclearvaluesbydatafilterrequest *BatchClearValuesByDataFilterRequest) *SpreadsheetsValuesBatchClearByDataFilterCall {
 10447  	c := &SpreadsheetsValuesBatchClearByDataFilterCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10448  	c.spreadsheetId = spreadsheetId
 10449  	c.batchclearvaluesbydatafilterrequest = batchclearvaluesbydatafilterrequest
 10450  	return c
 10451  }
 10452  
 10453  // Fields allows partial responses to be retrieved. See
 10454  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10455  // details.
 10456  func (c *SpreadsheetsValuesBatchClearByDataFilterCall) Fields(s ...googleapi.Field) *SpreadsheetsValuesBatchClearByDataFilterCall {
 10457  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10458  	return c
 10459  }
 10460  
 10461  // Context sets the context to be used in this call's Do method.
 10462  func (c *SpreadsheetsValuesBatchClearByDataFilterCall) Context(ctx context.Context) *SpreadsheetsValuesBatchClearByDataFilterCall {
 10463  	c.ctx_ = ctx
 10464  	return c
 10465  }
 10466  
 10467  // Header returns a http.Header that can be modified by the caller to add
 10468  // headers to the request.
 10469  func (c *SpreadsheetsValuesBatchClearByDataFilterCall) Header() http.Header {
 10470  	if c.header_ == nil {
 10471  		c.header_ = make(http.Header)
 10472  	}
 10473  	return c.header_
 10474  }
 10475  
 10476  func (c *SpreadsheetsValuesBatchClearByDataFilterCall) doRequest(alt string) (*http.Response, error) {
 10477  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10478  	var body io.Reader = nil
 10479  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchclearvaluesbydatafilterrequest)
 10480  	if err != nil {
 10481  		return nil, err
 10482  	}
 10483  	c.urlParams_.Set("alt", alt)
 10484  	c.urlParams_.Set("prettyPrint", "false")
 10485  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter")
 10486  	urls += "?" + c.urlParams_.Encode()
 10487  	req, err := http.NewRequest("POST", urls, body)
 10488  	if err != nil {
 10489  		return nil, err
 10490  	}
 10491  	req.Header = reqHeaders
 10492  	googleapi.Expand(req.URL, map[string]string{
 10493  		"spreadsheetId": c.spreadsheetId,
 10494  	})
 10495  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10496  }
 10497  
 10498  // Do executes the "sheets.spreadsheets.values.batchClearByDataFilter" call.
 10499  // Any non-2xx status code is an error. Response headers are in either
 10500  // *BatchClearValuesByDataFilterResponse.ServerResponse.Header or (if a
 10501  // response was returned at all) in error.(*googleapi.Error).Header. Use
 10502  // googleapi.IsNotModified to check whether the returned error was because
 10503  // http.StatusNotModified was returned.
 10504  func (c *SpreadsheetsValuesBatchClearByDataFilterCall) Do(opts ...googleapi.CallOption) (*BatchClearValuesByDataFilterResponse, error) {
 10505  	gensupport.SetOptions(c.urlParams_, opts...)
 10506  	res, err := c.doRequest("json")
 10507  	if res != nil && res.StatusCode == http.StatusNotModified {
 10508  		if res.Body != nil {
 10509  			res.Body.Close()
 10510  		}
 10511  		return nil, gensupport.WrapError(&googleapi.Error{
 10512  			Code:   res.StatusCode,
 10513  			Header: res.Header,
 10514  		})
 10515  	}
 10516  	if err != nil {
 10517  		return nil, err
 10518  	}
 10519  	defer googleapi.CloseBody(res)
 10520  	if err := googleapi.CheckResponse(res); err != nil {
 10521  		return nil, gensupport.WrapError(err)
 10522  	}
 10523  	ret := &BatchClearValuesByDataFilterResponse{
 10524  		ServerResponse: googleapi.ServerResponse{
 10525  			Header:         res.Header,
 10526  			HTTPStatusCode: res.StatusCode,
 10527  		},
 10528  	}
 10529  	target := &ret
 10530  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10531  		return nil, err
 10532  	}
 10533  	return ret, nil
 10534  }
 10535  
 10536  type SpreadsheetsValuesBatchGetCall struct {
 10537  	s             *Service
 10538  	spreadsheetId string
 10539  	urlParams_    gensupport.URLParams
 10540  	ifNoneMatch_  string
 10541  	ctx_          context.Context
 10542  	header_       http.Header
 10543  }
 10544  
 10545  // BatchGet: Returns one or more ranges of values from a spreadsheet. The
 10546  // caller must specify the spreadsheet ID and one or more ranges.
 10547  //
 10548  // - spreadsheetId: The ID of the spreadsheet to retrieve data from.
 10549  func (r *SpreadsheetsValuesService) BatchGet(spreadsheetId string) *SpreadsheetsValuesBatchGetCall {
 10550  	c := &SpreadsheetsValuesBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10551  	c.spreadsheetId = spreadsheetId
 10552  	return c
 10553  }
 10554  
 10555  // DateTimeRenderOption sets the optional parameter "dateTimeRenderOption": How
 10556  // dates, times, and durations should be represented in the output. This is
 10557  // ignored if value_render_option is FORMATTED_VALUE. The default dateTime
 10558  // render option is SERIAL_NUMBER.
 10559  //
 10560  // Possible values:
 10561  //
 10562  //	"SERIAL_NUMBER" - Instructs date, time, datetime, and duration fields to
 10563  //
 10564  // be output as doubles in "serial number" format, as popularized by Lotus
 10565  // 1-2-3. The whole number portion of the value (left of the decimal) counts
 10566  // the days since December 30th 1899. The fractional portion (right of the
 10567  // decimal) counts the time as a fraction of the day. For example, January 1st
 10568  // 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899,
 10569  // and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625.
 10570  // This correctly treats the year 1900 as not a leap year.
 10571  //
 10572  //	"FORMATTED_STRING" - Instructs date, time, datetime, and duration fields
 10573  //
 10574  // to be output as strings in their given number format (which depends on the
 10575  // spreadsheet locale).
 10576  func (c *SpreadsheetsValuesBatchGetCall) DateTimeRenderOption(dateTimeRenderOption string) *SpreadsheetsValuesBatchGetCall {
 10577  	c.urlParams_.Set("dateTimeRenderOption", dateTimeRenderOption)
 10578  	return c
 10579  }
 10580  
 10581  // MajorDimension sets the optional parameter "majorDimension": The major
 10582  // dimension that results should use. For example, if the spreadsheet data is:
 10583  // `A1=1,B1=2,A2=3,B2=4`, then requesting
 10584  // `ranges=["A1:B2"],majorDimension=ROWS` returns `[[1,2],[3,4]]`, whereas
 10585  // requesting `ranges=["A1:B2"],majorDimension=COLUMNS` returns
 10586  // `[[1,3],[2,4]]`.
 10587  //
 10588  // Possible values:
 10589  //
 10590  //	"DIMENSION_UNSPECIFIED" - The default value, do not use.
 10591  //	"ROWS" - Operates on the rows of a sheet.
 10592  //	"COLUMNS" - Operates on the columns of a sheet.
 10593  func (c *SpreadsheetsValuesBatchGetCall) MajorDimension(majorDimension string) *SpreadsheetsValuesBatchGetCall {
 10594  	c.urlParams_.Set("majorDimension", majorDimension)
 10595  	return c
 10596  }
 10597  
 10598  // Ranges sets the optional parameter "ranges": The A1 notation or R1C1
 10599  // notation (/sheets/api/guides/concepts#cell) of the range to retrieve values
 10600  // from.
 10601  func (c *SpreadsheetsValuesBatchGetCall) Ranges(ranges ...string) *SpreadsheetsValuesBatchGetCall {
 10602  	c.urlParams_.SetMulti("ranges", append([]string{}, ranges...))
 10603  	return c
 10604  }
 10605  
 10606  // ValueRenderOption sets the optional parameter "valueRenderOption": How
 10607  // values should be represented in the output. The default render option is
 10608  // ValueRenderOption.FORMATTED_VALUE.
 10609  //
 10610  // Possible values:
 10611  //
 10612  //	"FORMATTED_VALUE" - Values will be calculated & formatted in the response
 10613  //
 10614  // according to the cell's formatting. Formatting is based on the spreadsheet's
 10615  // locale, not the requesting user's locale. For example, if `A1` is `1.23` and
 10616  // `A2` is `=A1` and formatted as currency, then `A2` would return "$1.23".
 10617  //
 10618  //	"UNFORMATTED_VALUE" - Values will be calculated, but not formatted in the
 10619  //
 10620  // reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
 10621  // currency, then `A2` would return the number `1.23`.
 10622  //
 10623  //	"FORMULA" - Values will not be calculated. The reply will include the
 10624  //
 10625  // formulas. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
 10626  // currency, then A2 would return "=A1". Sheets treats date and time values
 10627  // as decimal values. This lets you perform arithmetic on them in formulas. For
 10628  // more information on interpreting date and time values, see [About date &
 10629  // time
 10630  // values](https://developers.google.com/sheets/api/guides/formats#about_date_ti
 10631  // me_values).
 10632  func (c *SpreadsheetsValuesBatchGetCall) ValueRenderOption(valueRenderOption string) *SpreadsheetsValuesBatchGetCall {
 10633  	c.urlParams_.Set("valueRenderOption", valueRenderOption)
 10634  	return c
 10635  }
 10636  
 10637  // Fields allows partial responses to be retrieved. See
 10638  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10639  // details.
 10640  func (c *SpreadsheetsValuesBatchGetCall) Fields(s ...googleapi.Field) *SpreadsheetsValuesBatchGetCall {
 10641  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10642  	return c
 10643  }
 10644  
 10645  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 10646  // object's ETag matches the given value. This is useful for getting updates
 10647  // only after the object has changed since the last request.
 10648  func (c *SpreadsheetsValuesBatchGetCall) IfNoneMatch(entityTag string) *SpreadsheetsValuesBatchGetCall {
 10649  	c.ifNoneMatch_ = entityTag
 10650  	return c
 10651  }
 10652  
 10653  // Context sets the context to be used in this call's Do method.
 10654  func (c *SpreadsheetsValuesBatchGetCall) Context(ctx context.Context) *SpreadsheetsValuesBatchGetCall {
 10655  	c.ctx_ = ctx
 10656  	return c
 10657  }
 10658  
 10659  // Header returns a http.Header that can be modified by the caller to add
 10660  // headers to the request.
 10661  func (c *SpreadsheetsValuesBatchGetCall) Header() http.Header {
 10662  	if c.header_ == nil {
 10663  		c.header_ = make(http.Header)
 10664  	}
 10665  	return c.header_
 10666  }
 10667  
 10668  func (c *SpreadsheetsValuesBatchGetCall) doRequest(alt string) (*http.Response, error) {
 10669  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 10670  	if c.ifNoneMatch_ != "" {
 10671  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 10672  	}
 10673  	var body io.Reader = nil
 10674  	c.urlParams_.Set("alt", alt)
 10675  	c.urlParams_.Set("prettyPrint", "false")
 10676  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/values:batchGet")
 10677  	urls += "?" + c.urlParams_.Encode()
 10678  	req, err := http.NewRequest("GET", urls, body)
 10679  	if err != nil {
 10680  		return nil, err
 10681  	}
 10682  	req.Header = reqHeaders
 10683  	googleapi.Expand(req.URL, map[string]string{
 10684  		"spreadsheetId": c.spreadsheetId,
 10685  	})
 10686  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10687  }
 10688  
 10689  // Do executes the "sheets.spreadsheets.values.batchGet" call.
 10690  // Any non-2xx status code is an error. Response headers are in either
 10691  // *BatchGetValuesResponse.ServerResponse.Header or (if a response was returned
 10692  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 10693  // check whether the returned error was because http.StatusNotModified was
 10694  // returned.
 10695  func (c *SpreadsheetsValuesBatchGetCall) Do(opts ...googleapi.CallOption) (*BatchGetValuesResponse, error) {
 10696  	gensupport.SetOptions(c.urlParams_, opts...)
 10697  	res, err := c.doRequest("json")
 10698  	if res != nil && res.StatusCode == http.StatusNotModified {
 10699  		if res.Body != nil {
 10700  			res.Body.Close()
 10701  		}
 10702  		return nil, gensupport.WrapError(&googleapi.Error{
 10703  			Code:   res.StatusCode,
 10704  			Header: res.Header,
 10705  		})
 10706  	}
 10707  	if err != nil {
 10708  		return nil, err
 10709  	}
 10710  	defer googleapi.CloseBody(res)
 10711  	if err := googleapi.CheckResponse(res); err != nil {
 10712  		return nil, gensupport.WrapError(err)
 10713  	}
 10714  	ret := &BatchGetValuesResponse{
 10715  		ServerResponse: googleapi.ServerResponse{
 10716  			Header:         res.Header,
 10717  			HTTPStatusCode: res.StatusCode,
 10718  		},
 10719  	}
 10720  	target := &ret
 10721  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10722  		return nil, err
 10723  	}
 10724  	return ret, nil
 10725  }
 10726  
 10727  type SpreadsheetsValuesBatchGetByDataFilterCall struct {
 10728  	s                                 *Service
 10729  	spreadsheetId                     string
 10730  	batchgetvaluesbydatafilterrequest *BatchGetValuesByDataFilterRequest
 10731  	urlParams_                        gensupport.URLParams
 10732  	ctx_                              context.Context
 10733  	header_                           http.Header
 10734  }
 10735  
 10736  // BatchGetByDataFilter: Returns one or more ranges of values that match the
 10737  // specified data filters. The caller must specify the spreadsheet ID and one
 10738  // or more DataFilters. Ranges that match any of the data filters in the
 10739  // request will be returned.
 10740  //
 10741  // - spreadsheetId: The ID of the spreadsheet to retrieve data from.
 10742  func (r *SpreadsheetsValuesService) BatchGetByDataFilter(spreadsheetId string, batchgetvaluesbydatafilterrequest *BatchGetValuesByDataFilterRequest) *SpreadsheetsValuesBatchGetByDataFilterCall {
 10743  	c := &SpreadsheetsValuesBatchGetByDataFilterCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10744  	c.spreadsheetId = spreadsheetId
 10745  	c.batchgetvaluesbydatafilterrequest = batchgetvaluesbydatafilterrequest
 10746  	return c
 10747  }
 10748  
 10749  // Fields allows partial responses to be retrieved. See
 10750  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10751  // details.
 10752  func (c *SpreadsheetsValuesBatchGetByDataFilterCall) Fields(s ...googleapi.Field) *SpreadsheetsValuesBatchGetByDataFilterCall {
 10753  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10754  	return c
 10755  }
 10756  
 10757  // Context sets the context to be used in this call's Do method.
 10758  func (c *SpreadsheetsValuesBatchGetByDataFilterCall) Context(ctx context.Context) *SpreadsheetsValuesBatchGetByDataFilterCall {
 10759  	c.ctx_ = ctx
 10760  	return c
 10761  }
 10762  
 10763  // Header returns a http.Header that can be modified by the caller to add
 10764  // headers to the request.
 10765  func (c *SpreadsheetsValuesBatchGetByDataFilterCall) Header() http.Header {
 10766  	if c.header_ == nil {
 10767  		c.header_ = make(http.Header)
 10768  	}
 10769  	return c.header_
 10770  }
 10771  
 10772  func (c *SpreadsheetsValuesBatchGetByDataFilterCall) doRequest(alt string) (*http.Response, error) {
 10773  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10774  	var body io.Reader = nil
 10775  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchgetvaluesbydatafilterrequest)
 10776  	if err != nil {
 10777  		return nil, err
 10778  	}
 10779  	c.urlParams_.Set("alt", alt)
 10780  	c.urlParams_.Set("prettyPrint", "false")
 10781  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter")
 10782  	urls += "?" + c.urlParams_.Encode()
 10783  	req, err := http.NewRequest("POST", urls, body)
 10784  	if err != nil {
 10785  		return nil, err
 10786  	}
 10787  	req.Header = reqHeaders
 10788  	googleapi.Expand(req.URL, map[string]string{
 10789  		"spreadsheetId": c.spreadsheetId,
 10790  	})
 10791  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10792  }
 10793  
 10794  // Do executes the "sheets.spreadsheets.values.batchGetByDataFilter" call.
 10795  // Any non-2xx status code is an error. Response headers are in either
 10796  // *BatchGetValuesByDataFilterResponse.ServerResponse.Header or (if a response
 10797  // was returned at all) in error.(*googleapi.Error).Header. Use
 10798  // googleapi.IsNotModified to check whether the returned error was because
 10799  // http.StatusNotModified was returned.
 10800  func (c *SpreadsheetsValuesBatchGetByDataFilterCall) Do(opts ...googleapi.CallOption) (*BatchGetValuesByDataFilterResponse, error) {
 10801  	gensupport.SetOptions(c.urlParams_, opts...)
 10802  	res, err := c.doRequest("json")
 10803  	if res != nil && res.StatusCode == http.StatusNotModified {
 10804  		if res.Body != nil {
 10805  			res.Body.Close()
 10806  		}
 10807  		return nil, gensupport.WrapError(&googleapi.Error{
 10808  			Code:   res.StatusCode,
 10809  			Header: res.Header,
 10810  		})
 10811  	}
 10812  	if err != nil {
 10813  		return nil, err
 10814  	}
 10815  	defer googleapi.CloseBody(res)
 10816  	if err := googleapi.CheckResponse(res); err != nil {
 10817  		return nil, gensupport.WrapError(err)
 10818  	}
 10819  	ret := &BatchGetValuesByDataFilterResponse{
 10820  		ServerResponse: googleapi.ServerResponse{
 10821  			Header:         res.Header,
 10822  			HTTPStatusCode: res.StatusCode,
 10823  		},
 10824  	}
 10825  	target := &ret
 10826  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10827  		return nil, err
 10828  	}
 10829  	return ret, nil
 10830  }
 10831  
 10832  type SpreadsheetsValuesBatchUpdateCall struct {
 10833  	s                        *Service
 10834  	spreadsheetId            string
 10835  	batchupdatevaluesrequest *BatchUpdateValuesRequest
 10836  	urlParams_               gensupport.URLParams
 10837  	ctx_                     context.Context
 10838  	header_                  http.Header
 10839  }
 10840  
 10841  // BatchUpdate: Sets values in one or more ranges of a spreadsheet. The caller
 10842  // must specify the spreadsheet ID, a valueInputOption, and one or more
 10843  // ValueRanges.
 10844  //
 10845  // - spreadsheetId: The ID of the spreadsheet to update.
 10846  func (r *SpreadsheetsValuesService) BatchUpdate(spreadsheetId string, batchupdatevaluesrequest *BatchUpdateValuesRequest) *SpreadsheetsValuesBatchUpdateCall {
 10847  	c := &SpreadsheetsValuesBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10848  	c.spreadsheetId = spreadsheetId
 10849  	c.batchupdatevaluesrequest = batchupdatevaluesrequest
 10850  	return c
 10851  }
 10852  
 10853  // Fields allows partial responses to be retrieved. See
 10854  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10855  // details.
 10856  func (c *SpreadsheetsValuesBatchUpdateCall) Fields(s ...googleapi.Field) *SpreadsheetsValuesBatchUpdateCall {
 10857  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10858  	return c
 10859  }
 10860  
 10861  // Context sets the context to be used in this call's Do method.
 10862  func (c *SpreadsheetsValuesBatchUpdateCall) Context(ctx context.Context) *SpreadsheetsValuesBatchUpdateCall {
 10863  	c.ctx_ = ctx
 10864  	return c
 10865  }
 10866  
 10867  // Header returns a http.Header that can be modified by the caller to add
 10868  // headers to the request.
 10869  func (c *SpreadsheetsValuesBatchUpdateCall) Header() http.Header {
 10870  	if c.header_ == nil {
 10871  		c.header_ = make(http.Header)
 10872  	}
 10873  	return c.header_
 10874  }
 10875  
 10876  func (c *SpreadsheetsValuesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 10877  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10878  	var body io.Reader = nil
 10879  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdatevaluesrequest)
 10880  	if err != nil {
 10881  		return nil, err
 10882  	}
 10883  	c.urlParams_.Set("alt", alt)
 10884  	c.urlParams_.Set("prettyPrint", "false")
 10885  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/values:batchUpdate")
 10886  	urls += "?" + c.urlParams_.Encode()
 10887  	req, err := http.NewRequest("POST", urls, body)
 10888  	if err != nil {
 10889  		return nil, err
 10890  	}
 10891  	req.Header = reqHeaders
 10892  	googleapi.Expand(req.URL, map[string]string{
 10893  		"spreadsheetId": c.spreadsheetId,
 10894  	})
 10895  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 10896  }
 10897  
 10898  // Do executes the "sheets.spreadsheets.values.batchUpdate" call.
 10899  // Any non-2xx status code is an error. Response headers are in either
 10900  // *BatchUpdateValuesResponse.ServerResponse.Header or (if a response was
 10901  // returned at all) in error.(*googleapi.Error).Header. Use
 10902  // googleapi.IsNotModified to check whether the returned error was because
 10903  // http.StatusNotModified was returned.
 10904  func (c *SpreadsheetsValuesBatchUpdateCall) Do(opts ...googleapi.CallOption) (*BatchUpdateValuesResponse, error) {
 10905  	gensupport.SetOptions(c.urlParams_, opts...)
 10906  	res, err := c.doRequest("json")
 10907  	if res != nil && res.StatusCode == http.StatusNotModified {
 10908  		if res.Body != nil {
 10909  			res.Body.Close()
 10910  		}
 10911  		return nil, gensupport.WrapError(&googleapi.Error{
 10912  			Code:   res.StatusCode,
 10913  			Header: res.Header,
 10914  		})
 10915  	}
 10916  	if err != nil {
 10917  		return nil, err
 10918  	}
 10919  	defer googleapi.CloseBody(res)
 10920  	if err := googleapi.CheckResponse(res); err != nil {
 10921  		return nil, gensupport.WrapError(err)
 10922  	}
 10923  	ret := &BatchUpdateValuesResponse{
 10924  		ServerResponse: googleapi.ServerResponse{
 10925  			Header:         res.Header,
 10926  			HTTPStatusCode: res.StatusCode,
 10927  		},
 10928  	}
 10929  	target := &ret
 10930  	if err := gensupport.DecodeResponse(target, res); err != nil {
 10931  		return nil, err
 10932  	}
 10933  	return ret, nil
 10934  }
 10935  
 10936  type SpreadsheetsValuesBatchUpdateByDataFilterCall struct {
 10937  	s                                    *Service
 10938  	spreadsheetId                        string
 10939  	batchupdatevaluesbydatafilterrequest *BatchUpdateValuesByDataFilterRequest
 10940  	urlParams_                           gensupport.URLParams
 10941  	ctx_                                 context.Context
 10942  	header_                              http.Header
 10943  }
 10944  
 10945  // BatchUpdateByDataFilter: Sets values in one or more ranges of a spreadsheet.
 10946  // The caller must specify the spreadsheet ID, a valueInputOption, and one or
 10947  // more DataFilterValueRanges.
 10948  //
 10949  // - spreadsheetId: The ID of the spreadsheet to update.
 10950  func (r *SpreadsheetsValuesService) BatchUpdateByDataFilter(spreadsheetId string, batchupdatevaluesbydatafilterrequest *BatchUpdateValuesByDataFilterRequest) *SpreadsheetsValuesBatchUpdateByDataFilterCall {
 10951  	c := &SpreadsheetsValuesBatchUpdateByDataFilterCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 10952  	c.spreadsheetId = spreadsheetId
 10953  	c.batchupdatevaluesbydatafilterrequest = batchupdatevaluesbydatafilterrequest
 10954  	return c
 10955  }
 10956  
 10957  // Fields allows partial responses to be retrieved. See
 10958  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 10959  // details.
 10960  func (c *SpreadsheetsValuesBatchUpdateByDataFilterCall) Fields(s ...googleapi.Field) *SpreadsheetsValuesBatchUpdateByDataFilterCall {
 10961  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 10962  	return c
 10963  }
 10964  
 10965  // Context sets the context to be used in this call's Do method.
 10966  func (c *SpreadsheetsValuesBatchUpdateByDataFilterCall) Context(ctx context.Context) *SpreadsheetsValuesBatchUpdateByDataFilterCall {
 10967  	c.ctx_ = ctx
 10968  	return c
 10969  }
 10970  
 10971  // Header returns a http.Header that can be modified by the caller to add
 10972  // headers to the request.
 10973  func (c *SpreadsheetsValuesBatchUpdateByDataFilterCall) Header() http.Header {
 10974  	if c.header_ == nil {
 10975  		c.header_ = make(http.Header)
 10976  	}
 10977  	return c.header_
 10978  }
 10979  
 10980  func (c *SpreadsheetsValuesBatchUpdateByDataFilterCall) doRequest(alt string) (*http.Response, error) {
 10981  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 10982  	var body io.Reader = nil
 10983  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdatevaluesbydatafilterrequest)
 10984  	if err != nil {
 10985  		return nil, err
 10986  	}
 10987  	c.urlParams_.Set("alt", alt)
 10988  	c.urlParams_.Set("prettyPrint", "false")
 10989  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter")
 10990  	urls += "?" + c.urlParams_.Encode()
 10991  	req, err := http.NewRequest("POST", urls, body)
 10992  	if err != nil {
 10993  		return nil, err
 10994  	}
 10995  	req.Header = reqHeaders
 10996  	googleapi.Expand(req.URL, map[string]string{
 10997  		"spreadsheetId": c.spreadsheetId,
 10998  	})
 10999  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11000  }
 11001  
 11002  // Do executes the "sheets.spreadsheets.values.batchUpdateByDataFilter" call.
 11003  // Any non-2xx status code is an error. Response headers are in either
 11004  // *BatchUpdateValuesByDataFilterResponse.ServerResponse.Header or (if a
 11005  // response was returned at all) in error.(*googleapi.Error).Header. Use
 11006  // googleapi.IsNotModified to check whether the returned error was because
 11007  // http.StatusNotModified was returned.
 11008  func (c *SpreadsheetsValuesBatchUpdateByDataFilterCall) Do(opts ...googleapi.CallOption) (*BatchUpdateValuesByDataFilterResponse, error) {
 11009  	gensupport.SetOptions(c.urlParams_, opts...)
 11010  	res, err := c.doRequest("json")
 11011  	if res != nil && res.StatusCode == http.StatusNotModified {
 11012  		if res.Body != nil {
 11013  			res.Body.Close()
 11014  		}
 11015  		return nil, gensupport.WrapError(&googleapi.Error{
 11016  			Code:   res.StatusCode,
 11017  			Header: res.Header,
 11018  		})
 11019  	}
 11020  	if err != nil {
 11021  		return nil, err
 11022  	}
 11023  	defer googleapi.CloseBody(res)
 11024  	if err := googleapi.CheckResponse(res); err != nil {
 11025  		return nil, gensupport.WrapError(err)
 11026  	}
 11027  	ret := &BatchUpdateValuesByDataFilterResponse{
 11028  		ServerResponse: googleapi.ServerResponse{
 11029  			Header:         res.Header,
 11030  			HTTPStatusCode: res.StatusCode,
 11031  		},
 11032  	}
 11033  	target := &ret
 11034  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11035  		return nil, err
 11036  	}
 11037  	return ret, nil
 11038  }
 11039  
 11040  type SpreadsheetsValuesClearCall struct {
 11041  	s                  *Service
 11042  	spreadsheetId      string
 11043  	range_             string
 11044  	clearvaluesrequest *ClearValuesRequest
 11045  	urlParams_         gensupport.URLParams
 11046  	ctx_               context.Context
 11047  	header_            http.Header
 11048  }
 11049  
 11050  // Clear: Clears values from a spreadsheet. The caller must specify the
 11051  // spreadsheet ID and range. Only values are cleared -- all other properties of
 11052  // the cell (such as formatting, data validation, etc..) are kept.
 11053  //
 11054  //   - range: The A1 notation or R1C1 notation (/sheets/api/guides/concepts#cell)
 11055  //     of the values to clear.
 11056  //   - spreadsheetId: The ID of the spreadsheet to update.
 11057  func (r *SpreadsheetsValuesService) Clear(spreadsheetId string, range_ string, clearvaluesrequest *ClearValuesRequest) *SpreadsheetsValuesClearCall {
 11058  	c := &SpreadsheetsValuesClearCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11059  	c.spreadsheetId = spreadsheetId
 11060  	c.range_ = range_
 11061  	c.clearvaluesrequest = clearvaluesrequest
 11062  	return c
 11063  }
 11064  
 11065  // Fields allows partial responses to be retrieved. See
 11066  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11067  // details.
 11068  func (c *SpreadsheetsValuesClearCall) Fields(s ...googleapi.Field) *SpreadsheetsValuesClearCall {
 11069  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11070  	return c
 11071  }
 11072  
 11073  // Context sets the context to be used in this call's Do method.
 11074  func (c *SpreadsheetsValuesClearCall) Context(ctx context.Context) *SpreadsheetsValuesClearCall {
 11075  	c.ctx_ = ctx
 11076  	return c
 11077  }
 11078  
 11079  // Header returns a http.Header that can be modified by the caller to add
 11080  // headers to the request.
 11081  func (c *SpreadsheetsValuesClearCall) Header() http.Header {
 11082  	if c.header_ == nil {
 11083  		c.header_ = make(http.Header)
 11084  	}
 11085  	return c.header_
 11086  }
 11087  
 11088  func (c *SpreadsheetsValuesClearCall) doRequest(alt string) (*http.Response, error) {
 11089  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11090  	var body io.Reader = nil
 11091  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.clearvaluesrequest)
 11092  	if err != nil {
 11093  		return nil, err
 11094  	}
 11095  	c.urlParams_.Set("alt", alt)
 11096  	c.urlParams_.Set("prettyPrint", "false")
 11097  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/values/{range}:clear")
 11098  	urls += "?" + c.urlParams_.Encode()
 11099  	req, err := http.NewRequest("POST", urls, body)
 11100  	if err != nil {
 11101  		return nil, err
 11102  	}
 11103  	req.Header = reqHeaders
 11104  	googleapi.Expand(req.URL, map[string]string{
 11105  		"spreadsheetId": c.spreadsheetId,
 11106  		"range":         c.range_,
 11107  	})
 11108  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11109  }
 11110  
 11111  // Do executes the "sheets.spreadsheets.values.clear" call.
 11112  // Any non-2xx status code is an error. Response headers are in either
 11113  // *ClearValuesResponse.ServerResponse.Header or (if a response was returned at
 11114  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11115  // check whether the returned error was because http.StatusNotModified was
 11116  // returned.
 11117  func (c *SpreadsheetsValuesClearCall) Do(opts ...googleapi.CallOption) (*ClearValuesResponse, error) {
 11118  	gensupport.SetOptions(c.urlParams_, opts...)
 11119  	res, err := c.doRequest("json")
 11120  	if res != nil && res.StatusCode == http.StatusNotModified {
 11121  		if res.Body != nil {
 11122  			res.Body.Close()
 11123  		}
 11124  		return nil, gensupport.WrapError(&googleapi.Error{
 11125  			Code:   res.StatusCode,
 11126  			Header: res.Header,
 11127  		})
 11128  	}
 11129  	if err != nil {
 11130  		return nil, err
 11131  	}
 11132  	defer googleapi.CloseBody(res)
 11133  	if err := googleapi.CheckResponse(res); err != nil {
 11134  		return nil, gensupport.WrapError(err)
 11135  	}
 11136  	ret := &ClearValuesResponse{
 11137  		ServerResponse: googleapi.ServerResponse{
 11138  			Header:         res.Header,
 11139  			HTTPStatusCode: res.StatusCode,
 11140  		},
 11141  	}
 11142  	target := &ret
 11143  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11144  		return nil, err
 11145  	}
 11146  	return ret, nil
 11147  }
 11148  
 11149  type SpreadsheetsValuesGetCall struct {
 11150  	s             *Service
 11151  	spreadsheetId string
 11152  	range_        string
 11153  	urlParams_    gensupport.URLParams
 11154  	ifNoneMatch_  string
 11155  	ctx_          context.Context
 11156  	header_       http.Header
 11157  }
 11158  
 11159  // Get: Returns a range of values from a spreadsheet. The caller must specify
 11160  // the spreadsheet ID and a range.
 11161  //
 11162  //   - range: The A1 notation or R1C1 notation (/sheets/api/guides/concepts#cell)
 11163  //     of the range to retrieve values from.
 11164  //   - spreadsheetId: The ID of the spreadsheet to retrieve data from.
 11165  func (r *SpreadsheetsValuesService) Get(spreadsheetId string, range_ string) *SpreadsheetsValuesGetCall {
 11166  	c := &SpreadsheetsValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11167  	c.spreadsheetId = spreadsheetId
 11168  	c.range_ = range_
 11169  	return c
 11170  }
 11171  
 11172  // DateTimeRenderOption sets the optional parameter "dateTimeRenderOption": How
 11173  // dates, times, and durations should be represented in the output. This is
 11174  // ignored if value_render_option is FORMATTED_VALUE. The default dateTime
 11175  // render option is SERIAL_NUMBER.
 11176  //
 11177  // Possible values:
 11178  //
 11179  //	"SERIAL_NUMBER" - Instructs date, time, datetime, and duration fields to
 11180  //
 11181  // be output as doubles in "serial number" format, as popularized by Lotus
 11182  // 1-2-3. The whole number portion of the value (left of the decimal) counts
 11183  // the days since December 30th 1899. The fractional portion (right of the
 11184  // decimal) counts the time as a fraction of the day. For example, January 1st
 11185  // 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899,
 11186  // and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625.
 11187  // This correctly treats the year 1900 as not a leap year.
 11188  //
 11189  //	"FORMATTED_STRING" - Instructs date, time, datetime, and duration fields
 11190  //
 11191  // to be output as strings in their given number format (which depends on the
 11192  // spreadsheet locale).
 11193  func (c *SpreadsheetsValuesGetCall) DateTimeRenderOption(dateTimeRenderOption string) *SpreadsheetsValuesGetCall {
 11194  	c.urlParams_.Set("dateTimeRenderOption", dateTimeRenderOption)
 11195  	return c
 11196  }
 11197  
 11198  // MajorDimension sets the optional parameter "majorDimension": The major
 11199  // dimension that results should use. For example, if the spreadsheet data in
 11200  // Sheet1 is: `A1=1,B1=2,A2=3,B2=4`, then requesting
 11201  // `range=Sheet1!A1:B2?majorDimension=ROWS` returns `[[1,2],[3,4]]`, whereas
 11202  // requesting `range=Sheet1!A1:B2?majorDimension=COLUMNS` returns
 11203  // `[[1,3],[2,4]]`.
 11204  //
 11205  // Possible values:
 11206  //
 11207  //	"DIMENSION_UNSPECIFIED" - The default value, do not use.
 11208  //	"ROWS" - Operates on the rows of a sheet.
 11209  //	"COLUMNS" - Operates on the columns of a sheet.
 11210  func (c *SpreadsheetsValuesGetCall) MajorDimension(majorDimension string) *SpreadsheetsValuesGetCall {
 11211  	c.urlParams_.Set("majorDimension", majorDimension)
 11212  	return c
 11213  }
 11214  
 11215  // ValueRenderOption sets the optional parameter "valueRenderOption": How
 11216  // values should be represented in the output. The default render option is
 11217  // FORMATTED_VALUE.
 11218  //
 11219  // Possible values:
 11220  //
 11221  //	"FORMATTED_VALUE" - Values will be calculated & formatted in the response
 11222  //
 11223  // according to the cell's formatting. Formatting is based on the spreadsheet's
 11224  // locale, not the requesting user's locale. For example, if `A1` is `1.23` and
 11225  // `A2` is `=A1` and formatted as currency, then `A2` would return "$1.23".
 11226  //
 11227  //	"UNFORMATTED_VALUE" - Values will be calculated, but not formatted in the
 11228  //
 11229  // reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
 11230  // currency, then `A2` would return the number `1.23`.
 11231  //
 11232  //	"FORMULA" - Values will not be calculated. The reply will include the
 11233  //
 11234  // formulas. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
 11235  // currency, then A2 would return "=A1". Sheets treats date and time values
 11236  // as decimal values. This lets you perform arithmetic on them in formulas. For
 11237  // more information on interpreting date and time values, see [About date &
 11238  // time
 11239  // values](https://developers.google.com/sheets/api/guides/formats#about_date_ti
 11240  // me_values).
 11241  func (c *SpreadsheetsValuesGetCall) ValueRenderOption(valueRenderOption string) *SpreadsheetsValuesGetCall {
 11242  	c.urlParams_.Set("valueRenderOption", valueRenderOption)
 11243  	return c
 11244  }
 11245  
 11246  // Fields allows partial responses to be retrieved. See
 11247  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11248  // details.
 11249  func (c *SpreadsheetsValuesGetCall) Fields(s ...googleapi.Field) *SpreadsheetsValuesGetCall {
 11250  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11251  	return c
 11252  }
 11253  
 11254  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 11255  // object's ETag matches the given value. This is useful for getting updates
 11256  // only after the object has changed since the last request.
 11257  func (c *SpreadsheetsValuesGetCall) IfNoneMatch(entityTag string) *SpreadsheetsValuesGetCall {
 11258  	c.ifNoneMatch_ = entityTag
 11259  	return c
 11260  }
 11261  
 11262  // Context sets the context to be used in this call's Do method.
 11263  func (c *SpreadsheetsValuesGetCall) Context(ctx context.Context) *SpreadsheetsValuesGetCall {
 11264  	c.ctx_ = ctx
 11265  	return c
 11266  }
 11267  
 11268  // Header returns a http.Header that can be modified by the caller to add
 11269  // headers to the request.
 11270  func (c *SpreadsheetsValuesGetCall) Header() http.Header {
 11271  	if c.header_ == nil {
 11272  		c.header_ = make(http.Header)
 11273  	}
 11274  	return c.header_
 11275  }
 11276  
 11277  func (c *SpreadsheetsValuesGetCall) doRequest(alt string) (*http.Response, error) {
 11278  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 11279  	if c.ifNoneMatch_ != "" {
 11280  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 11281  	}
 11282  	var body io.Reader = nil
 11283  	c.urlParams_.Set("alt", alt)
 11284  	c.urlParams_.Set("prettyPrint", "false")
 11285  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/values/{range}")
 11286  	urls += "?" + c.urlParams_.Encode()
 11287  	req, err := http.NewRequest("GET", urls, body)
 11288  	if err != nil {
 11289  		return nil, err
 11290  	}
 11291  	req.Header = reqHeaders
 11292  	googleapi.Expand(req.URL, map[string]string{
 11293  		"spreadsheetId": c.spreadsheetId,
 11294  		"range":         c.range_,
 11295  	})
 11296  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11297  }
 11298  
 11299  // Do executes the "sheets.spreadsheets.values.get" call.
 11300  // Any non-2xx status code is an error. Response headers are in either
 11301  // *ValueRange.ServerResponse.Header or (if a response was returned at all) in
 11302  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 11303  // whether the returned error was because http.StatusNotModified was returned.
 11304  func (c *SpreadsheetsValuesGetCall) Do(opts ...googleapi.CallOption) (*ValueRange, error) {
 11305  	gensupport.SetOptions(c.urlParams_, opts...)
 11306  	res, err := c.doRequest("json")
 11307  	if res != nil && res.StatusCode == http.StatusNotModified {
 11308  		if res.Body != nil {
 11309  			res.Body.Close()
 11310  		}
 11311  		return nil, gensupport.WrapError(&googleapi.Error{
 11312  			Code:   res.StatusCode,
 11313  			Header: res.Header,
 11314  		})
 11315  	}
 11316  	if err != nil {
 11317  		return nil, err
 11318  	}
 11319  	defer googleapi.CloseBody(res)
 11320  	if err := googleapi.CheckResponse(res); err != nil {
 11321  		return nil, gensupport.WrapError(err)
 11322  	}
 11323  	ret := &ValueRange{
 11324  		ServerResponse: googleapi.ServerResponse{
 11325  			Header:         res.Header,
 11326  			HTTPStatusCode: res.StatusCode,
 11327  		},
 11328  	}
 11329  	target := &ret
 11330  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11331  		return nil, err
 11332  	}
 11333  	return ret, nil
 11334  }
 11335  
 11336  type SpreadsheetsValuesUpdateCall struct {
 11337  	s             *Service
 11338  	spreadsheetId string
 11339  	range_        string
 11340  	valuerange    *ValueRange
 11341  	urlParams_    gensupport.URLParams
 11342  	ctx_          context.Context
 11343  	header_       http.Header
 11344  }
 11345  
 11346  // Update: Sets values in a range of a spreadsheet. The caller must specify the
 11347  // spreadsheet ID, range, and a valueInputOption.
 11348  //
 11349  //   - range: The A1 notation (/sheets/api/guides/concepts#cell) of the values to
 11350  //     update.
 11351  //   - spreadsheetId: The ID of the spreadsheet to update.
 11352  func (r *SpreadsheetsValuesService) Update(spreadsheetId string, range_ string, valuerange *ValueRange) *SpreadsheetsValuesUpdateCall {
 11353  	c := &SpreadsheetsValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 11354  	c.spreadsheetId = spreadsheetId
 11355  	c.range_ = range_
 11356  	c.valuerange = valuerange
 11357  	return c
 11358  }
 11359  
 11360  // IncludeValuesInResponse sets the optional parameter
 11361  // "includeValuesInResponse": Determines if the update response should include
 11362  // the values of the cells that were updated. By default, responses do not
 11363  // include the updated values. If the range to write was larger than the range
 11364  // actually written, the response includes all values in the requested range
 11365  // (excluding trailing empty rows and columns).
 11366  func (c *SpreadsheetsValuesUpdateCall) IncludeValuesInResponse(includeValuesInResponse bool) *SpreadsheetsValuesUpdateCall {
 11367  	c.urlParams_.Set("includeValuesInResponse", fmt.Sprint(includeValuesInResponse))
 11368  	return c
 11369  }
 11370  
 11371  // ResponseDateTimeRenderOption sets the optional parameter
 11372  // "responseDateTimeRenderOption": Determines how dates, times, and durations
 11373  // in the response should be rendered. This is ignored if
 11374  // response_value_render_option is FORMATTED_VALUE. The default dateTime render
 11375  // option is SERIAL_NUMBER.
 11376  //
 11377  // Possible values:
 11378  //
 11379  //	"SERIAL_NUMBER" - Instructs date, time, datetime, and duration fields to
 11380  //
 11381  // be output as doubles in "serial number" format, as popularized by Lotus
 11382  // 1-2-3. The whole number portion of the value (left of the decimal) counts
 11383  // the days since December 30th 1899. The fractional portion (right of the
 11384  // decimal) counts the time as a fraction of the day. For example, January 1st
 11385  // 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899,
 11386  // and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625.
 11387  // This correctly treats the year 1900 as not a leap year.
 11388  //
 11389  //	"FORMATTED_STRING" - Instructs date, time, datetime, and duration fields
 11390  //
 11391  // to be output as strings in their given number format (which depends on the
 11392  // spreadsheet locale).
 11393  func (c *SpreadsheetsValuesUpdateCall) ResponseDateTimeRenderOption(responseDateTimeRenderOption string) *SpreadsheetsValuesUpdateCall {
 11394  	c.urlParams_.Set("responseDateTimeRenderOption", responseDateTimeRenderOption)
 11395  	return c
 11396  }
 11397  
 11398  // ResponseValueRenderOption sets the optional parameter
 11399  // "responseValueRenderOption": Determines how values in the response should be
 11400  // rendered. The default render option is FORMATTED_VALUE.
 11401  //
 11402  // Possible values:
 11403  //
 11404  //	"FORMATTED_VALUE" - Values will be calculated & formatted in the response
 11405  //
 11406  // according to the cell's formatting. Formatting is based on the spreadsheet's
 11407  // locale, not the requesting user's locale. For example, if `A1` is `1.23` and
 11408  // `A2` is `=A1` and formatted as currency, then `A2` would return "$1.23".
 11409  //
 11410  //	"UNFORMATTED_VALUE" - Values will be calculated, but not formatted in the
 11411  //
 11412  // reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
 11413  // currency, then `A2` would return the number `1.23`.
 11414  //
 11415  //	"FORMULA" - Values will not be calculated. The reply will include the
 11416  //
 11417  // formulas. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as
 11418  // currency, then A2 would return "=A1". Sheets treats date and time values
 11419  // as decimal values. This lets you perform arithmetic on them in formulas. For
 11420  // more information on interpreting date and time values, see [About date &
 11421  // time
 11422  // values](https://developers.google.com/sheets/api/guides/formats#about_date_ti
 11423  // me_values).
 11424  func (c *SpreadsheetsValuesUpdateCall) ResponseValueRenderOption(responseValueRenderOption string) *SpreadsheetsValuesUpdateCall {
 11425  	c.urlParams_.Set("responseValueRenderOption", responseValueRenderOption)
 11426  	return c
 11427  }
 11428  
 11429  // ValueInputOption sets the optional parameter "valueInputOption": How the
 11430  // input data should be interpreted.
 11431  //
 11432  // Possible values:
 11433  //
 11434  //	"INPUT_VALUE_OPTION_UNSPECIFIED" - Default input value. This value must
 11435  //
 11436  // not be used.
 11437  //
 11438  //	"RAW" - The values the user has entered will not be parsed and will be
 11439  //
 11440  // stored as-is.
 11441  //
 11442  //	"USER_ENTERED" - The values will be parsed as if the user typed them into
 11443  //
 11444  // the UI. Numbers will stay as numbers, but strings may be converted to
 11445  // numbers, dates, etc. following the same rules that are applied when entering
 11446  // text into a cell via the Google Sheets UI.
 11447  func (c *SpreadsheetsValuesUpdateCall) ValueInputOption(valueInputOption string) *SpreadsheetsValuesUpdateCall {
 11448  	c.urlParams_.Set("valueInputOption", valueInputOption)
 11449  	return c
 11450  }
 11451  
 11452  // Fields allows partial responses to be retrieved. See
 11453  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 11454  // details.
 11455  func (c *SpreadsheetsValuesUpdateCall) Fields(s ...googleapi.Field) *SpreadsheetsValuesUpdateCall {
 11456  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 11457  	return c
 11458  }
 11459  
 11460  // Context sets the context to be used in this call's Do method.
 11461  func (c *SpreadsheetsValuesUpdateCall) Context(ctx context.Context) *SpreadsheetsValuesUpdateCall {
 11462  	c.ctx_ = ctx
 11463  	return c
 11464  }
 11465  
 11466  // Header returns a http.Header that can be modified by the caller to add
 11467  // headers to the request.
 11468  func (c *SpreadsheetsValuesUpdateCall) Header() http.Header {
 11469  	if c.header_ == nil {
 11470  		c.header_ = make(http.Header)
 11471  	}
 11472  	return c.header_
 11473  }
 11474  
 11475  func (c *SpreadsheetsValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
 11476  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 11477  	var body io.Reader = nil
 11478  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.valuerange)
 11479  	if err != nil {
 11480  		return nil, err
 11481  	}
 11482  	c.urlParams_.Set("alt", alt)
 11483  	c.urlParams_.Set("prettyPrint", "false")
 11484  	urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/values/{range}")
 11485  	urls += "?" + c.urlParams_.Encode()
 11486  	req, err := http.NewRequest("PUT", urls, body)
 11487  	if err != nil {
 11488  		return nil, err
 11489  	}
 11490  	req.Header = reqHeaders
 11491  	googleapi.Expand(req.URL, map[string]string{
 11492  		"spreadsheetId": c.spreadsheetId,
 11493  		"range":         c.range_,
 11494  	})
 11495  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 11496  }
 11497  
 11498  // Do executes the "sheets.spreadsheets.values.update" call.
 11499  // Any non-2xx status code is an error. Response headers are in either
 11500  // *UpdateValuesResponse.ServerResponse.Header or (if a response was returned
 11501  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 11502  // check whether the returned error was because http.StatusNotModified was
 11503  // returned.
 11504  func (c *SpreadsheetsValuesUpdateCall) Do(opts ...googleapi.CallOption) (*UpdateValuesResponse, error) {
 11505  	gensupport.SetOptions(c.urlParams_, opts...)
 11506  	res, err := c.doRequest("json")
 11507  	if res != nil && res.StatusCode == http.StatusNotModified {
 11508  		if res.Body != nil {
 11509  			res.Body.Close()
 11510  		}
 11511  		return nil, gensupport.WrapError(&googleapi.Error{
 11512  			Code:   res.StatusCode,
 11513  			Header: res.Header,
 11514  		})
 11515  	}
 11516  	if err != nil {
 11517  		return nil, err
 11518  	}
 11519  	defer googleapi.CloseBody(res)
 11520  	if err := googleapi.CheckResponse(res); err != nil {
 11521  		return nil, gensupport.WrapError(err)
 11522  	}
 11523  	ret := &UpdateValuesResponse{
 11524  		ServerResponse: googleapi.ServerResponse{
 11525  			Header:         res.Header,
 11526  			HTTPStatusCode: res.StatusCode,
 11527  		},
 11528  	}
 11529  	target := &ret
 11530  	if err := gensupport.DecodeResponse(target, res); err != nil {
 11531  		return nil, err
 11532  	}
 11533  	return ret, nil
 11534  }
 11535  

View as plain text