...

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

Documentation: google.golang.org/api/slides/v1

     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 slides provides access to the Google Slides API.
     8  //
     9  // For product documentation, see: https://developers.google.com/slides/
    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/slides/v1"
    27  //	...
    28  //	ctx := context.Background()
    29  //	slidesService, err := slides.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  //	slidesService, err := slides.NewService(ctx, option.WithScopes(slides.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  //	slidesService, err := slides.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  //	slidesService, err := slides.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    54  //
    55  // See [google.golang.org/api/option.ClientOption] for details on options.
    56  package slides // import "google.golang.org/api/slides/v1"
    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 = "slides:v1"
    95  const apiName = "slides"
    96  const apiVersion = "v1"
    97  const basePath = "https://slides.googleapis.com/"
    98  const basePathTemplate = "https://slides.UNIVERSE_DOMAIN/"
    99  const mtlsBasePath = "https://slides.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 Slides presentations
   114  	PresentationsScope = "https://www.googleapis.com/auth/presentations"
   115  
   116  	// See all your Google Slides presentations
   117  	PresentationsReadonlyScope = "https://www.googleapis.com/auth/presentations.readonly"
   118  
   119  	// See, edit, create, and delete all your Google Sheets spreadsheets
   120  	SpreadsheetsScope = "https://www.googleapis.com/auth/spreadsheets"
   121  
   122  	// See all your Google Sheets spreadsheets
   123  	SpreadsheetsReadonlyScope = "https://www.googleapis.com/auth/spreadsheets.readonly"
   124  )
   125  
   126  // NewService creates a new Service.
   127  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   128  	scopesOption := internaloption.WithDefaultScopes(
   129  		"https://www.googleapis.com/auth/drive",
   130  		"https://www.googleapis.com/auth/drive.file",
   131  		"https://www.googleapis.com/auth/drive.readonly",
   132  		"https://www.googleapis.com/auth/presentations",
   133  		"https://www.googleapis.com/auth/presentations.readonly",
   134  		"https://www.googleapis.com/auth/spreadsheets",
   135  		"https://www.googleapis.com/auth/spreadsheets.readonly",
   136  	)
   137  	// NOTE: prepend, so we don't override user-specified scopes.
   138  	opts = append([]option.ClientOption{scopesOption}, opts...)
   139  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   140  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   141  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   142  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   143  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   144  	if err != nil {
   145  		return nil, err
   146  	}
   147  	s, err := New(client)
   148  	if err != nil {
   149  		return nil, err
   150  	}
   151  	if endpoint != "" {
   152  		s.BasePath = endpoint
   153  	}
   154  	return s, nil
   155  }
   156  
   157  // New creates a new Service. It uses the provided http.Client for requests.
   158  //
   159  // Deprecated: please use NewService instead.
   160  // To provide a custom HTTP client, use option.WithHTTPClient.
   161  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   162  func New(client *http.Client) (*Service, error) {
   163  	if client == nil {
   164  		return nil, errors.New("client is nil")
   165  	}
   166  	s := &Service{client: client, BasePath: basePath}
   167  	s.Presentations = NewPresentationsService(s)
   168  	return s, nil
   169  }
   170  
   171  type Service struct {
   172  	client    *http.Client
   173  	BasePath  string // API endpoint base URL
   174  	UserAgent string // optional additional User-Agent fragment
   175  
   176  	Presentations *PresentationsService
   177  }
   178  
   179  func (s *Service) userAgent() string {
   180  	if s.UserAgent == "" {
   181  		return googleapi.UserAgent
   182  	}
   183  	return googleapi.UserAgent + " " + s.UserAgent
   184  }
   185  
   186  func NewPresentationsService(s *Service) *PresentationsService {
   187  	rs := &PresentationsService{s: s}
   188  	rs.Pages = NewPresentationsPagesService(s)
   189  	return rs
   190  }
   191  
   192  type PresentationsService struct {
   193  	s *Service
   194  
   195  	Pages *PresentationsPagesService
   196  }
   197  
   198  func NewPresentationsPagesService(s *Service) *PresentationsPagesService {
   199  	rs := &PresentationsPagesService{s: s}
   200  	return rs
   201  }
   202  
   203  type PresentationsPagesService struct {
   204  	s *Service
   205  }
   206  
   207  // AffineTransform: AffineTransform uses a 3x3 matrix with an implied last row
   208  // of [ 0 0 1 ] to transform source coordinates (x,y) into destination
   209  // coordinates (x', y') according to: x' x = shear_y scale_y translate_y 1 [ 1
   210  // ] After transformation, x' = scale_x * x + shear_x * y + translate_x; y' =
   211  // scale_y * y + shear_y * x + translate_y; This message is therefore composed
   212  // of these six matrix elements.
   213  type AffineTransform struct {
   214  	// ScaleX: The X coordinate scaling element.
   215  	ScaleX float64 `json:"scaleX,omitempty"`
   216  	// ScaleY: The Y coordinate scaling element.
   217  	ScaleY float64 `json:"scaleY,omitempty"`
   218  	// ShearX: The X coordinate shearing element.
   219  	ShearX float64 `json:"shearX,omitempty"`
   220  	// ShearY: The Y coordinate shearing element.
   221  	ShearY float64 `json:"shearY,omitempty"`
   222  	// TranslateX: The X coordinate translation element.
   223  	TranslateX float64 `json:"translateX,omitempty"`
   224  	// TranslateY: The Y coordinate translation element.
   225  	TranslateY float64 `json:"translateY,omitempty"`
   226  	// Unit: The units for translate elements.
   227  	//
   228  	// Possible values:
   229  	//   "UNIT_UNSPECIFIED" - The units are unknown.
   230  	//   "EMU" - An English Metric Unit (EMU) is defined as 1/360,000 of a
   231  	// centimeter and thus there are 914,400 EMUs per inch, and 12,700 EMUs per
   232  	// point.
   233  	//   "PT" - A point, 1/72 of an inch.
   234  	Unit string `json:"unit,omitempty"`
   235  	// ForceSendFields is a list of field names (e.g. "ScaleX") to unconditionally
   236  	// include in API requests. By default, fields with empty or default values are
   237  	// omitted from API requests. See
   238  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   239  	// details.
   240  	ForceSendFields []string `json:"-"`
   241  	// NullFields is a list of field names (e.g. "ScaleX") to include in API
   242  	// requests with the JSON null value. By default, fields with empty values are
   243  	// omitted from API requests. See
   244  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   245  	NullFields []string `json:"-"`
   246  }
   247  
   248  func (s *AffineTransform) MarshalJSON() ([]byte, error) {
   249  	type NoMethod AffineTransform
   250  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   251  }
   252  
   253  func (s *AffineTransform) UnmarshalJSON(data []byte) error {
   254  	type NoMethod AffineTransform
   255  	var s1 struct {
   256  		ScaleX     gensupport.JSONFloat64 `json:"scaleX"`
   257  		ScaleY     gensupport.JSONFloat64 `json:"scaleY"`
   258  		ShearX     gensupport.JSONFloat64 `json:"shearX"`
   259  		ShearY     gensupport.JSONFloat64 `json:"shearY"`
   260  		TranslateX gensupport.JSONFloat64 `json:"translateX"`
   261  		TranslateY gensupport.JSONFloat64 `json:"translateY"`
   262  		*NoMethod
   263  	}
   264  	s1.NoMethod = (*NoMethod)(s)
   265  	if err := json.Unmarshal(data, &s1); err != nil {
   266  		return err
   267  	}
   268  	s.ScaleX = float64(s1.ScaleX)
   269  	s.ScaleY = float64(s1.ScaleY)
   270  	s.ShearX = float64(s1.ShearX)
   271  	s.ShearY = float64(s1.ShearY)
   272  	s.TranslateX = float64(s1.TranslateX)
   273  	s.TranslateY = float64(s1.TranslateY)
   274  	return nil
   275  }
   276  
   277  // AutoText: A TextElement kind that represents auto text.
   278  type AutoText struct {
   279  	// Content: The rendered content of this auto text, if available.
   280  	Content string `json:"content,omitempty"`
   281  	// Style: The styling applied to this auto text.
   282  	Style *TextStyle `json:"style,omitempty"`
   283  	// Type: The type of this auto text.
   284  	//
   285  	// Possible values:
   286  	//   "TYPE_UNSPECIFIED" - An unspecified autotext type.
   287  	//   "SLIDE_NUMBER" - Type for autotext that represents the current slide
   288  	// number.
   289  	Type string `json:"type,omitempty"`
   290  	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
   291  	// include in API requests. By default, fields with empty or default values are
   292  	// omitted from API requests. See
   293  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   294  	// details.
   295  	ForceSendFields []string `json:"-"`
   296  	// NullFields is a list of field names (e.g. "Content") to include in API
   297  	// requests with the JSON null value. By default, fields with empty values are
   298  	// omitted from API requests. See
   299  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   300  	NullFields []string `json:"-"`
   301  }
   302  
   303  func (s *AutoText) MarshalJSON() ([]byte, error) {
   304  	type NoMethod AutoText
   305  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   306  }
   307  
   308  // Autofit: The autofit properties of a Shape.
   309  type Autofit struct {
   310  	// AutofitType: The autofit type of the shape. If the autofit type is
   311  	// AUTOFIT_TYPE_UNSPECIFIED, the autofit type is inherited from a parent
   312  	// placeholder if it exists. The field is automatically set to NONE if a
   313  	// request is made that might affect text fitting within its bounding text box.
   314  	// In this case the font_scale is applied to the font_size and the
   315  	// line_spacing_reduction is applied to the line_spacing. Both properties are
   316  	// also reset to default values.
   317  	//
   318  	// Possible values:
   319  	//   "AUTOFIT_TYPE_UNSPECIFIED" - The autofit type is unspecified.
   320  	//   "NONE" - Do not autofit.
   321  	//   "TEXT_AUTOFIT" - Shrink text on overflow to fit the shape.
   322  	//   "SHAPE_AUTOFIT" - Resize the shape to fit the text.
   323  	AutofitType string `json:"autofitType,omitempty"`
   324  	// FontScale: The font scale applied to the shape. For shapes with autofit_type
   325  	// NONE or SHAPE_AUTOFIT, this value is the default value of 1. For
   326  	// TEXT_AUTOFIT, this value multiplied by the font_size gives the font size
   327  	// that is rendered in the editor. This property is read-only.
   328  	FontScale float64 `json:"fontScale,omitempty"`
   329  	// LineSpacingReduction: The line spacing reduction applied to the shape. For
   330  	// shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default
   331  	// value of 0. For TEXT_AUTOFIT, this value subtracted from the line_spacing
   332  	// gives the line spacing that is rendered in the editor. This property is
   333  	// read-only.
   334  	LineSpacingReduction float64 `json:"lineSpacingReduction,omitempty"`
   335  	// ForceSendFields is a list of field names (e.g. "AutofitType") to
   336  	// unconditionally include in API requests. By default, fields with empty or
   337  	// default values are omitted from API requests. See
   338  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   339  	// details.
   340  	ForceSendFields []string `json:"-"`
   341  	// NullFields is a list of field names (e.g. "AutofitType") to include in API
   342  	// requests with the JSON null value. By default, fields with empty values are
   343  	// omitted from API requests. See
   344  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   345  	NullFields []string `json:"-"`
   346  }
   347  
   348  func (s *Autofit) MarshalJSON() ([]byte, error) {
   349  	type NoMethod Autofit
   350  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   351  }
   352  
   353  func (s *Autofit) UnmarshalJSON(data []byte) error {
   354  	type NoMethod Autofit
   355  	var s1 struct {
   356  		FontScale            gensupport.JSONFloat64 `json:"fontScale"`
   357  		LineSpacingReduction gensupport.JSONFloat64 `json:"lineSpacingReduction"`
   358  		*NoMethod
   359  	}
   360  	s1.NoMethod = (*NoMethod)(s)
   361  	if err := json.Unmarshal(data, &s1); err != nil {
   362  		return err
   363  	}
   364  	s.FontScale = float64(s1.FontScale)
   365  	s.LineSpacingReduction = float64(s1.LineSpacingReduction)
   366  	return nil
   367  }
   368  
   369  // BatchUpdatePresentationRequest: Request message for
   370  // PresentationsService.BatchUpdatePresentation.
   371  type BatchUpdatePresentationRequest struct {
   372  	// Requests: A list of updates to apply to the presentation.
   373  	Requests []*Request `json:"requests,omitempty"`
   374  	// WriteControl: Provides control over how write requests are executed.
   375  	WriteControl *WriteControl `json:"writeControl,omitempty"`
   376  	// ForceSendFields is a list of field names (e.g. "Requests") to
   377  	// unconditionally include in API requests. By default, fields with empty or
   378  	// default values are omitted from API requests. See
   379  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   380  	// details.
   381  	ForceSendFields []string `json:"-"`
   382  	// NullFields is a list of field names (e.g. "Requests") to include in API
   383  	// requests with the JSON null value. By default, fields with empty values are
   384  	// omitted from API requests. See
   385  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   386  	NullFields []string `json:"-"`
   387  }
   388  
   389  func (s *BatchUpdatePresentationRequest) MarshalJSON() ([]byte, error) {
   390  	type NoMethod BatchUpdatePresentationRequest
   391  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   392  }
   393  
   394  // BatchUpdatePresentationResponse: Response message from a batch update.
   395  type BatchUpdatePresentationResponse struct {
   396  	// PresentationId: The presentation the updates were applied to.
   397  	PresentationId string `json:"presentationId,omitempty"`
   398  	// Replies: The reply of the updates. This maps 1:1 with the updates, although
   399  	// replies to some requests may be empty.
   400  	Replies []*Response `json:"replies,omitempty"`
   401  	// WriteControl: The updated write control after applying the request.
   402  	WriteControl *WriteControl `json:"writeControl,omitempty"`
   403  
   404  	// ServerResponse contains the HTTP response code and headers from the server.
   405  	googleapi.ServerResponse `json:"-"`
   406  	// ForceSendFields is a list of field names (e.g. "PresentationId") to
   407  	// unconditionally include in API requests. By default, fields with empty or
   408  	// default values are 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. "PresentationId") to include in
   413  	// API requests with the JSON null value. By default, fields with empty values
   414  	// are 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 *BatchUpdatePresentationResponse) MarshalJSON() ([]byte, error) {
   420  	type NoMethod BatchUpdatePresentationResponse
   421  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   422  }
   423  
   424  // Bullet: Describes the bullet of a paragraph.
   425  type Bullet struct {
   426  	// BulletStyle: The paragraph specific text style applied to this bullet.
   427  	BulletStyle *TextStyle `json:"bulletStyle,omitempty"`
   428  	// Glyph: The rendered bullet glyph for this paragraph.
   429  	Glyph string `json:"glyph,omitempty"`
   430  	// ListId: The ID of the list this paragraph belongs to.
   431  	ListId string `json:"listId,omitempty"`
   432  	// NestingLevel: The nesting level of this paragraph in the list.
   433  	NestingLevel int64 `json:"nestingLevel,omitempty"`
   434  	// ForceSendFields is a list of field names (e.g. "BulletStyle") to
   435  	// unconditionally include in API requests. By default, fields with empty or
   436  	// default values are omitted from API requests. See
   437  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   438  	// details.
   439  	ForceSendFields []string `json:"-"`
   440  	// NullFields is a list of field names (e.g. "BulletStyle") to include in API
   441  	// requests with the JSON null value. By default, fields with empty values are
   442  	// omitted from API requests. See
   443  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   444  	NullFields []string `json:"-"`
   445  }
   446  
   447  func (s *Bullet) MarshalJSON() ([]byte, error) {
   448  	type NoMethod Bullet
   449  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   450  }
   451  
   452  // ColorScheme: The palette of predefined colors for a page.
   453  type ColorScheme struct {
   454  	// Colors: The ThemeColorType and corresponding concrete color pairs.
   455  	Colors []*ThemeColorPair `json:"colors,omitempty"`
   456  	// ForceSendFields is a list of field names (e.g. "Colors") to unconditionally
   457  	// include in API requests. By default, fields with empty or default values are
   458  	// omitted from API requests. See
   459  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   460  	// details.
   461  	ForceSendFields []string `json:"-"`
   462  	// NullFields is a list of field names (e.g. "Colors") to include in API
   463  	// requests with the JSON null value. By default, fields with empty values are
   464  	// omitted from API requests. See
   465  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   466  	NullFields []string `json:"-"`
   467  }
   468  
   469  func (s *ColorScheme) MarshalJSON() ([]byte, error) {
   470  	type NoMethod ColorScheme
   471  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   472  }
   473  
   474  // ColorStop: A color and position in a gradient band.
   475  type ColorStop struct {
   476  	// Alpha: The alpha value of this color in the gradient band. Defaults to 1.0,
   477  	// fully opaque.
   478  	Alpha float64 `json:"alpha,omitempty"`
   479  	// Color: The color of the gradient stop.
   480  	Color *OpaqueColor `json:"color,omitempty"`
   481  	// Position: The relative position of the color stop in the gradient band
   482  	// measured in percentage. The value should be in the interval [0.0, 1.0].
   483  	Position float64 `json:"position,omitempty"`
   484  	// ForceSendFields is a list of field names (e.g. "Alpha") to unconditionally
   485  	// include in API requests. By default, fields with empty or default values are
   486  	// omitted from API requests. See
   487  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   488  	// details.
   489  	ForceSendFields []string `json:"-"`
   490  	// NullFields is a list of field names (e.g. "Alpha") to include in API
   491  	// requests with the JSON null value. By default, fields with empty values are
   492  	// omitted from API requests. See
   493  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   494  	NullFields []string `json:"-"`
   495  }
   496  
   497  func (s *ColorStop) MarshalJSON() ([]byte, error) {
   498  	type NoMethod ColorStop
   499  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   500  }
   501  
   502  func (s *ColorStop) UnmarshalJSON(data []byte) error {
   503  	type NoMethod ColorStop
   504  	var s1 struct {
   505  		Alpha    gensupport.JSONFloat64 `json:"alpha"`
   506  		Position gensupport.JSONFloat64 `json:"position"`
   507  		*NoMethod
   508  	}
   509  	s1.NoMethod = (*NoMethod)(s)
   510  	if err := json.Unmarshal(data, &s1); err != nil {
   511  		return err
   512  	}
   513  	s.Alpha = float64(s1.Alpha)
   514  	s.Position = float64(s1.Position)
   515  	return nil
   516  }
   517  
   518  // CreateImageRequest: Creates an image.
   519  type CreateImageRequest struct {
   520  	// ElementProperties: The element properties for the image. When the aspect
   521  	// ratio of the provided size does not match the image aspect ratio, the image
   522  	// is scaled and centered with respect to the size in order to maintain the
   523  	// aspect ratio. The provided transform is applied after this operation. The
   524  	// PageElementProperties.size property is optional. If you don't specify the
   525  	// size, the default size of the image is used. The
   526  	// PageElementProperties.transform property is optional. If you don't specify a
   527  	// transform, the image will be placed at the top-left corner of the page.
   528  	ElementProperties *PageElementProperties `json:"elementProperties,omitempty"`
   529  	// ObjectId: A user-supplied object ID. If you specify an ID, it must be unique
   530  	// among all pages and page elements in the presentation. The ID must start
   531  	// with an alphanumeric character or an underscore (matches regex
   532  	// `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen
   533  	// or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be
   534  	// less than 5 or greater than 50. If you don't specify an ID, a unique one is
   535  	// generated.
   536  	ObjectId string `json:"objectId,omitempty"`
   537  	// Url: The image URL. The image is fetched once at insertion time and a copy
   538  	// is stored for display inside the presentation. Images must be less than 50
   539  	// MB in size, can't exceed 25 megapixels, and must be in one of PNG, JPEG, or
   540  	// GIF formats. The provided URL must be publicly accessible and up to 2 KB in
   541  	// length. The URL is saved with the image, and exposed through the
   542  	// Image.source_url field.
   543  	Url string `json:"url,omitempty"`
   544  	// ForceSendFields is a list of field names (e.g. "ElementProperties") to
   545  	// unconditionally include in API requests. By default, fields with empty or
   546  	// default values are omitted from API requests. See
   547  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   548  	// details.
   549  	ForceSendFields []string `json:"-"`
   550  	// NullFields is a list of field names (e.g. "ElementProperties") to include in
   551  	// API requests with the JSON null value. By default, fields with empty values
   552  	// are omitted from API requests. See
   553  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   554  	NullFields []string `json:"-"`
   555  }
   556  
   557  func (s *CreateImageRequest) MarshalJSON() ([]byte, error) {
   558  	type NoMethod CreateImageRequest
   559  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   560  }
   561  
   562  // CreateImageResponse: The result of creating an image.
   563  type CreateImageResponse struct {
   564  	// ObjectId: The object ID of the created image.
   565  	ObjectId string `json:"objectId,omitempty"`
   566  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
   567  	// unconditionally include in API requests. By default, fields with empty or
   568  	// default values are omitted from API requests. See
   569  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   570  	// details.
   571  	ForceSendFields []string `json:"-"`
   572  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
   573  	// requests with the JSON null value. By default, fields with empty values are
   574  	// omitted from API requests. See
   575  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   576  	NullFields []string `json:"-"`
   577  }
   578  
   579  func (s *CreateImageResponse) MarshalJSON() ([]byte, error) {
   580  	type NoMethod CreateImageResponse
   581  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   582  }
   583  
   584  // CreateLineRequest: Creates a line.
   585  type CreateLineRequest struct {
   586  	// Category: The category of the line to be created. The exact line type
   587  	// created is determined based on the category and how it's routed to connect
   588  	// to other page elements. If you specify both a `category` and a
   589  	// `line_category`, the `category` takes precedence. If you do not specify a
   590  	// value for `category`, but specify a value for `line_category`, then the
   591  	// specified `line_category` value is used. If you do not specify either, then
   592  	// STRAIGHT is used.
   593  	//
   594  	// Possible values:
   595  	//   "LINE_CATEGORY_UNSPECIFIED" - Unspecified line category.
   596  	//   "STRAIGHT" - Straight connectors, including straight connector 1.
   597  	//   "BENT" - Bent connectors, including bent connector 2 to 5.
   598  	//   "CURVED" - Curved connectors, including curved connector 2 to 5.
   599  	Category string `json:"category,omitempty"`
   600  	// ElementProperties: The element properties for the line.
   601  	ElementProperties *PageElementProperties `json:"elementProperties,omitempty"`
   602  	// LineCategory: The category of the line to be created. *Deprecated*: use
   603  	// `category` instead. The exact line type created is determined based on the
   604  	// category and how it's routed to connect to other page elements. If you
   605  	// specify both a `category` and a `line_category`, the `category` takes
   606  	// precedence.
   607  	//
   608  	// Possible values:
   609  	//   "STRAIGHT" - Straight connectors, including straight connector 1. The is
   610  	// the default category when one is not specified.
   611  	//   "BENT" - Bent connectors, including bent connector 2 to 5.
   612  	//   "CURVED" - Curved connectors, including curved connector 2 to 5.
   613  	LineCategory string `json:"lineCategory,omitempty"`
   614  	// ObjectId: A user-supplied object ID. If you specify an ID, it must be unique
   615  	// among all pages and page elements in the presentation. The ID must start
   616  	// with an alphanumeric character or an underscore (matches regex
   617  	// `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen
   618  	// or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be
   619  	// less than 5 or greater than 50. If you don't specify an ID, a unique one is
   620  	// generated.
   621  	ObjectId string `json:"objectId,omitempty"`
   622  	// ForceSendFields is a list of field names (e.g. "Category") to
   623  	// unconditionally include in API requests. By default, fields with empty or
   624  	// default values are omitted from API requests. See
   625  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   626  	// details.
   627  	ForceSendFields []string `json:"-"`
   628  	// NullFields is a list of field names (e.g. "Category") to include in API
   629  	// requests with the JSON null value. By default, fields with empty values are
   630  	// omitted from API requests. See
   631  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   632  	NullFields []string `json:"-"`
   633  }
   634  
   635  func (s *CreateLineRequest) MarshalJSON() ([]byte, error) {
   636  	type NoMethod CreateLineRequest
   637  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   638  }
   639  
   640  // CreateLineResponse: The result of creating a line.
   641  type CreateLineResponse struct {
   642  	// ObjectId: The object ID of the created line.
   643  	ObjectId string `json:"objectId,omitempty"`
   644  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
   645  	// unconditionally include in API requests. By default, fields with empty or
   646  	// default values are omitted from API requests. See
   647  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   648  	// details.
   649  	ForceSendFields []string `json:"-"`
   650  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
   651  	// requests with the JSON null value. By default, fields with empty values are
   652  	// omitted from API requests. See
   653  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   654  	NullFields []string `json:"-"`
   655  }
   656  
   657  func (s *CreateLineResponse) MarshalJSON() ([]byte, error) {
   658  	type NoMethod CreateLineResponse
   659  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   660  }
   661  
   662  // CreateParagraphBulletsRequest: Creates bullets for all of the paragraphs
   663  // that overlap with the given text index range. The nesting level of each
   664  // paragraph will be determined by counting leading tabs in front of each
   665  // paragraph. To avoid excess space between the bullet and the corresponding
   666  // paragraph, these leading tabs are removed by this request. This may change
   667  // the indices of parts of the text. If the paragraph immediately before
   668  // paragraphs being updated is in a list with a matching preset, the paragraphs
   669  // being updated are added to that preceding list.
   670  type CreateParagraphBulletsRequest struct {
   671  	// BulletPreset: The kinds of bullet glyphs to be used. Defaults to the
   672  	// `BULLET_DISC_CIRCLE_SQUARE` preset.
   673  	//
   674  	// Possible values:
   675  	//   "BULLET_DISC_CIRCLE_SQUARE" - A bulleted list with a `DISC`, `CIRCLE` and
   676  	// `SQUARE` bullet glyph for the first 3 list nesting levels.
   677  	//   "BULLET_DIAMONDX_ARROW3D_SQUARE" - A bulleted list with a `DIAMONDX`,
   678  	// `ARROW3D` and `SQUARE` bullet glyph for the first 3 list nesting levels.
   679  	//   "BULLET_CHECKBOX" - A bulleted list with `CHECKBOX` bullet glyphs for all
   680  	// list nesting levels.
   681  	//   "BULLET_ARROW_DIAMOND_DISC" - A bulleted list with a `ARROW`, `DIAMOND`
   682  	// and `DISC` bullet glyph for the first 3 list nesting levels.
   683  	//   "BULLET_STAR_CIRCLE_SQUARE" - A bulleted list with a `STAR`, `CIRCLE` and
   684  	// `SQUARE` bullet glyph for the first 3 list nesting levels.
   685  	//   "BULLET_ARROW3D_CIRCLE_SQUARE" - A bulleted list with a `ARROW3D`,
   686  	// `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting levels.
   687  	//   "BULLET_LEFTTRIANGLE_DIAMOND_DISC" - A bulleted list with a
   688  	// `LEFTTRIANGLE`, `DIAMOND` and `DISC` bullet glyph for the first 3 list
   689  	// nesting levels.
   690  	//   "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE" - A bulleted list with a
   691  	// `DIAMONDX`, `HOLLOWDIAMOND` and `SQUARE` bullet glyph for the first 3 list
   692  	// nesting levels.
   693  	//   "BULLET_DIAMOND_CIRCLE_SQUARE" - A bulleted list with a `DIAMOND`,
   694  	// `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting levels.
   695  	//   "NUMBERED_DIGIT_ALPHA_ROMAN" - A numbered list with `DIGIT`, `ALPHA` and
   696  	// `ROMAN` numeric glyphs for the first 3 list nesting levels, followed by
   697  	// periods.
   698  	//   "NUMBERED_DIGIT_ALPHA_ROMAN_PARENS" - A numbered list with `DIGIT`,
   699  	// `ALPHA` and `ROMAN` numeric glyphs for the first 3 list nesting levels,
   700  	// followed by parenthesis.
   701  	//   "NUMBERED_DIGIT_NESTED" - A numbered list with `DIGIT` numeric glyphs
   702  	// separated by periods, where each nesting level uses the previous nesting
   703  	// level's glyph as a prefix. For example: '1.', '1.1.', '2.', '2.2.'.
   704  	//   "NUMBERED_UPPERALPHA_ALPHA_ROMAN" - A numbered list with `UPPERALPHA`,
   705  	// `ALPHA` and `ROMAN` numeric glyphs for the first 3 list nesting levels,
   706  	// followed by periods.
   707  	//   "NUMBERED_UPPERROMAN_UPPERALPHA_DIGIT" - A numbered list with
   708  	// `UPPERROMAN`, `UPPERALPHA` and `DIGIT` numeric glyphs for the first 3 list
   709  	// nesting levels, followed by periods.
   710  	//   "NUMBERED_ZERODIGIT_ALPHA_ROMAN" - A numbered list with `ZERODIGIT`,
   711  	// `ALPHA` and `ROMAN` numeric glyphs for the first 3 list nesting levels,
   712  	// followed by periods.
   713  	BulletPreset string `json:"bulletPreset,omitempty"`
   714  	// CellLocation: The optional table cell location if the text to be modified is
   715  	// in a table cell. If present, the object_id must refer to a table.
   716  	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
   717  	// ObjectId: The object ID of the shape or table containing the text to add
   718  	// bullets to.
   719  	ObjectId string `json:"objectId,omitempty"`
   720  	// TextRange: The range of text to apply the bullet presets to, based on
   721  	// TextElement indexes.
   722  	TextRange *Range `json:"textRange,omitempty"`
   723  	// ForceSendFields is a list of field names (e.g. "BulletPreset") to
   724  	// unconditionally include in API requests. By default, fields with empty or
   725  	// default values are omitted from API requests. See
   726  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   727  	// details.
   728  	ForceSendFields []string `json:"-"`
   729  	// NullFields is a list of field names (e.g. "BulletPreset") to include in API
   730  	// requests with the JSON null value. By default, fields with empty values are
   731  	// omitted from API requests. See
   732  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   733  	NullFields []string `json:"-"`
   734  }
   735  
   736  func (s *CreateParagraphBulletsRequest) MarshalJSON() ([]byte, error) {
   737  	type NoMethod CreateParagraphBulletsRequest
   738  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   739  }
   740  
   741  // CreateShapeRequest: Creates a new shape.
   742  type CreateShapeRequest struct {
   743  	// ElementProperties: The element properties for the shape.
   744  	ElementProperties *PageElementProperties `json:"elementProperties,omitempty"`
   745  	// ObjectId: A user-supplied object ID. If you specify an ID, it must be unique
   746  	// among all pages and page elements in the presentation. The ID must start
   747  	// with an alphanumeric character or an underscore (matches regex
   748  	// `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen
   749  	// or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be
   750  	// less than 5 or greater than 50. If empty, a unique identifier will be
   751  	// generated.
   752  	ObjectId string `json:"objectId,omitempty"`
   753  	// ShapeType: The shape type.
   754  	//
   755  	// Possible values:
   756  	//   "TYPE_UNSPECIFIED" - The shape type that is not predefined.
   757  	//   "TEXT_BOX" - Text box shape.
   758  	//   "RECTANGLE" - Rectangle shape. Corresponds to ECMA-376 ST_ShapeType
   759  	// 'rect'.
   760  	//   "ROUND_RECTANGLE" - Round corner rectangle shape. Corresponds to ECMA-376
   761  	// ST_ShapeType 'roundRect'
   762  	//   "ELLIPSE" - Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'
   763  	//   "ARC" - Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'
   764  	//   "BENT_ARROW" - Bent arrow shape. Corresponds to ECMA-376 ST_ShapeType
   765  	// 'bentArrow'
   766  	//   "BENT_UP_ARROW" - Bent up arrow shape. Corresponds to ECMA-376
   767  	// ST_ShapeType 'bentUpArrow'
   768  	//   "BEVEL" - Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'
   769  	//   "BLOCK_ARC" - Block arc shape. Corresponds to ECMA-376 ST_ShapeType
   770  	// 'blockArc'
   771  	//   "BRACE_PAIR" - Brace pair shape. Corresponds to ECMA-376 ST_ShapeType
   772  	// 'bracePair'
   773  	//   "BRACKET_PAIR" - Bracket pair shape. Corresponds to ECMA-376 ST_ShapeType
   774  	// 'bracketPair'
   775  	//   "CAN" - Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'
   776  	//   "CHEVRON" - Chevron shape. Corresponds to ECMA-376 ST_ShapeType 'chevron'
   777  	//   "CHORD" - Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'
   778  	//   "CLOUD" - Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'
   779  	//   "CORNER" - Corner shape. Corresponds to ECMA-376 ST_ShapeType 'corner'
   780  	//   "CUBE" - Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'
   781  	//   "CURVED_DOWN_ARROW" - Curved down arrow shape. Corresponds to ECMA-376
   782  	// ST_ShapeType 'curvedDownArrow'
   783  	//   "CURVED_LEFT_ARROW" - Curved left arrow shape. Corresponds to ECMA-376
   784  	// ST_ShapeType 'curvedLeftArrow'
   785  	//   "CURVED_RIGHT_ARROW" - Curved right arrow shape. Corresponds to ECMA-376
   786  	// ST_ShapeType 'curvedRightArrow'
   787  	//   "CURVED_UP_ARROW" - Curved up arrow shape. Corresponds to ECMA-376
   788  	// ST_ShapeType 'curvedUpArrow'
   789  	//   "DECAGON" - Decagon shape. Corresponds to ECMA-376 ST_ShapeType 'decagon'
   790  	//   "DIAGONAL_STRIPE" - Diagonal stripe shape. Corresponds to ECMA-376
   791  	// ST_ShapeType 'diagStripe'
   792  	//   "DIAMOND" - Diamond shape. Corresponds to ECMA-376 ST_ShapeType 'diamond'
   793  	//   "DODECAGON" - Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType
   794  	// 'dodecagon'
   795  	//   "DONUT" - Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'
   796  	//   "DOUBLE_WAVE" - Double wave shape. Corresponds to ECMA-376 ST_ShapeType
   797  	// 'doubleWave'
   798  	//   "DOWN_ARROW" - Down arrow shape. Corresponds to ECMA-376 ST_ShapeType
   799  	// 'downArrow'
   800  	//   "DOWN_ARROW_CALLOUT" - Callout down arrow shape. Corresponds to ECMA-376
   801  	// ST_ShapeType 'downArrowCallout'
   802  	//   "FOLDED_CORNER" - Folded corner shape. Corresponds to ECMA-376
   803  	// ST_ShapeType 'foldedCorner'
   804  	//   "FRAME" - Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'
   805  	//   "HALF_FRAME" - Half frame shape. Corresponds to ECMA-376 ST_ShapeType
   806  	// 'halfFrame'
   807  	//   "HEART" - Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'
   808  	//   "HEPTAGON" - Heptagon shape. Corresponds to ECMA-376 ST_ShapeType
   809  	// 'heptagon'
   810  	//   "HEXAGON" - Hexagon shape. Corresponds to ECMA-376 ST_ShapeType 'hexagon'
   811  	//   "HOME_PLATE" - Home plate shape. Corresponds to ECMA-376 ST_ShapeType
   812  	// 'homePlate'
   813  	//   "HORIZONTAL_SCROLL" - Horizontal scroll shape. Corresponds to ECMA-376
   814  	// ST_ShapeType 'horizontalScroll'
   815  	//   "IRREGULAR_SEAL_1" - Irregular seal 1 shape. Corresponds to ECMA-376
   816  	// ST_ShapeType 'irregularSeal1'
   817  	//   "IRREGULAR_SEAL_2" - Irregular seal 2 shape. Corresponds to ECMA-376
   818  	// ST_ShapeType 'irregularSeal2'
   819  	//   "LEFT_ARROW" - Left arrow shape. Corresponds to ECMA-376 ST_ShapeType
   820  	// 'leftArrow'
   821  	//   "LEFT_ARROW_CALLOUT" - Callout left arrow shape. Corresponds to ECMA-376
   822  	// ST_ShapeType 'leftArrowCallout'
   823  	//   "LEFT_BRACE" - Left brace shape. Corresponds to ECMA-376 ST_ShapeType
   824  	// 'leftBrace'
   825  	//   "LEFT_BRACKET" - Left bracket shape. Corresponds to ECMA-376 ST_ShapeType
   826  	// 'leftBracket'
   827  	//   "LEFT_RIGHT_ARROW" - Left right arrow shape. Corresponds to ECMA-376
   828  	// ST_ShapeType 'leftRightArrow'
   829  	//   "LEFT_RIGHT_ARROW_CALLOUT" - Callout left right arrow shape. Corresponds
   830  	// to ECMA-376 ST_ShapeType 'leftRightArrowCallout'
   831  	//   "LEFT_RIGHT_UP_ARROW" - Left right up arrow shape. Corresponds to ECMA-376
   832  	// ST_ShapeType 'leftRightUpArrow'
   833  	//   "LEFT_UP_ARROW" - Left up arrow shape. Corresponds to ECMA-376
   834  	// ST_ShapeType 'leftUpArrow'
   835  	//   "LIGHTNING_BOLT" - Lightning bolt shape. Corresponds to ECMA-376
   836  	// ST_ShapeType 'lightningBolt'
   837  	//   "MATH_DIVIDE" - Divide math shape. Corresponds to ECMA-376 ST_ShapeType
   838  	// 'mathDivide'
   839  	//   "MATH_EQUAL" - Equal math shape. Corresponds to ECMA-376 ST_ShapeType
   840  	// 'mathEqual'
   841  	//   "MATH_MINUS" - Minus math shape. Corresponds to ECMA-376 ST_ShapeType
   842  	// 'mathMinus'
   843  	//   "MATH_MULTIPLY" - Multiply math shape. Corresponds to ECMA-376
   844  	// ST_ShapeType 'mathMultiply'
   845  	//   "MATH_NOT_EQUAL" - Not equal math shape. Corresponds to ECMA-376
   846  	// ST_ShapeType 'mathNotEqual'
   847  	//   "MATH_PLUS" - Plus math shape. Corresponds to ECMA-376 ST_ShapeType
   848  	// 'mathPlus'
   849  	//   "MOON" - Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'
   850  	//   "NO_SMOKING" - No smoking shape. Corresponds to ECMA-376 ST_ShapeType
   851  	// 'noSmoking'
   852  	//   "NOTCHED_RIGHT_ARROW" - Notched right arrow shape. Corresponds to ECMA-376
   853  	// ST_ShapeType 'notchedRightArrow'
   854  	//   "OCTAGON" - Octagon shape. Corresponds to ECMA-376 ST_ShapeType 'octagon'
   855  	//   "PARALLELOGRAM" - Parallelogram shape. Corresponds to ECMA-376
   856  	// ST_ShapeType 'parallelogram'
   857  	//   "PENTAGON" - Pentagon shape. Corresponds to ECMA-376 ST_ShapeType
   858  	// 'pentagon'
   859  	//   "PIE" - Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'
   860  	//   "PLAQUE" - Plaque shape. Corresponds to ECMA-376 ST_ShapeType 'plaque'
   861  	//   "PLUS" - Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'
   862  	//   "QUAD_ARROW" - Quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType
   863  	// 'quadArrow'
   864  	//   "QUAD_ARROW_CALLOUT" - Callout quad-arrow shape. Corresponds to ECMA-376
   865  	// ST_ShapeType 'quadArrowCallout'
   866  	//   "RIBBON" - Ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon'
   867  	//   "RIBBON_2" - Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType
   868  	// 'ribbon2'
   869  	//   "RIGHT_ARROW" - Right arrow shape. Corresponds to ECMA-376 ST_ShapeType
   870  	// 'rightArrow'
   871  	//   "RIGHT_ARROW_CALLOUT" - Callout right arrow shape. Corresponds to ECMA-376
   872  	// ST_ShapeType 'rightArrowCallout'
   873  	//   "RIGHT_BRACE" - Right brace shape. Corresponds to ECMA-376 ST_ShapeType
   874  	// 'rightBrace'
   875  	//   "RIGHT_BRACKET" - Right bracket shape. Corresponds to ECMA-376
   876  	// ST_ShapeType 'rightBracket'
   877  	//   "ROUND_1_RECTANGLE" - One round corner rectangle shape. Corresponds to
   878  	// ECMA-376 ST_ShapeType 'round1Rect'
   879  	//   "ROUND_2_DIAGONAL_RECTANGLE" - Two diagonal round corner rectangle shape.
   880  	// Corresponds to ECMA-376 ST_ShapeType 'round2DiagRect'
   881  	//   "ROUND_2_SAME_RECTANGLE" - Two same-side round corner rectangle shape.
   882  	// Corresponds to ECMA-376 ST_ShapeType 'round2SameRect'
   883  	//   "RIGHT_TRIANGLE" - Right triangle shape. Corresponds to ECMA-376
   884  	// ST_ShapeType 'rtTriangle'
   885  	//   "SMILEY_FACE" - Smiley face shape. Corresponds to ECMA-376 ST_ShapeType
   886  	// 'smileyFace'
   887  	//   "SNIP_1_RECTANGLE" - One snip corner rectangle shape. Corresponds to
   888  	// ECMA-376 ST_ShapeType 'snip1Rect'
   889  	//   "SNIP_2_DIAGONAL_RECTANGLE" - Two diagonal snip corner rectangle shape.
   890  	// Corresponds to ECMA-376 ST_ShapeType 'snip2DiagRect'
   891  	//   "SNIP_2_SAME_RECTANGLE" - Two same-side snip corner rectangle shape.
   892  	// Corresponds to ECMA-376 ST_ShapeType 'snip2SameRect'
   893  	//   "SNIP_ROUND_RECTANGLE" - One snip one round corner rectangle shape.
   894  	// Corresponds to ECMA-376 ST_ShapeType 'snipRoundRect'
   895  	//   "STAR_10" - Ten pointed star shape. Corresponds to ECMA-376 ST_ShapeType
   896  	// 'star10'
   897  	//   "STAR_12" - Twelve pointed star shape. Corresponds to ECMA-376
   898  	// ST_ShapeType 'star12'
   899  	//   "STAR_16" - Sixteen pointed star shape. Corresponds to ECMA-376
   900  	// ST_ShapeType 'star16'
   901  	//   "STAR_24" - Twenty four pointed star shape. Corresponds to ECMA-376
   902  	// ST_ShapeType 'star24'
   903  	//   "STAR_32" - Thirty two pointed star shape. Corresponds to ECMA-376
   904  	// ST_ShapeType 'star32'
   905  	//   "STAR_4" - Four pointed star shape. Corresponds to ECMA-376 ST_ShapeType
   906  	// 'star4'
   907  	//   "STAR_5" - Five pointed star shape. Corresponds to ECMA-376 ST_ShapeType
   908  	// 'star5'
   909  	//   "STAR_6" - Six pointed star shape. Corresponds to ECMA-376 ST_ShapeType
   910  	// 'star6'
   911  	//   "STAR_7" - Seven pointed star shape. Corresponds to ECMA-376 ST_ShapeType
   912  	// 'star7'
   913  	//   "STAR_8" - Eight pointed star shape. Corresponds to ECMA-376 ST_ShapeType
   914  	// 'star8'
   915  	//   "STRIPED_RIGHT_ARROW" - Striped right arrow shape. Corresponds to ECMA-376
   916  	// ST_ShapeType 'stripedRightArrow'
   917  	//   "SUN" - Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'
   918  	//   "TRAPEZOID" - Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType
   919  	// 'trapezoid'
   920  	//   "TRIANGLE" - Triangle shape. Corresponds to ECMA-376 ST_ShapeType
   921  	// 'triangle'
   922  	//   "UP_ARROW" - Up arrow shape. Corresponds to ECMA-376 ST_ShapeType
   923  	// 'upArrow'
   924  	//   "UP_ARROW_CALLOUT" - Callout up arrow shape. Corresponds to ECMA-376
   925  	// ST_ShapeType 'upArrowCallout'
   926  	//   "UP_DOWN_ARROW" - Up down arrow shape. Corresponds to ECMA-376
   927  	// ST_ShapeType 'upDownArrow'
   928  	//   "UTURN_ARROW" - U-turn arrow shape. Corresponds to ECMA-376 ST_ShapeType
   929  	// 'uturnArrow'
   930  	//   "VERTICAL_SCROLL" - Vertical scroll shape. Corresponds to ECMA-376
   931  	// ST_ShapeType 'verticalScroll'
   932  	//   "WAVE" - Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'
   933  	//   "WEDGE_ELLIPSE_CALLOUT" - Callout wedge ellipse shape. Corresponds to
   934  	// ECMA-376 ST_ShapeType 'wedgeEllipseCallout'
   935  	//   "WEDGE_RECTANGLE_CALLOUT" - Callout wedge rectangle shape. Corresponds to
   936  	// ECMA-376 ST_ShapeType 'wedgeRectCallout'
   937  	//   "WEDGE_ROUND_RECTANGLE_CALLOUT" - Callout wedge round rectangle shape.
   938  	// Corresponds to ECMA-376 ST_ShapeType 'wedgeRoundRectCallout'
   939  	//   "FLOW_CHART_ALTERNATE_PROCESS" - Alternate process flow shape. Corresponds
   940  	// to ECMA-376 ST_ShapeType 'flowChartAlternateProcess'
   941  	//   "FLOW_CHART_COLLATE" - Collate flow shape. Corresponds to ECMA-376
   942  	// ST_ShapeType 'flowChartCollate'
   943  	//   "FLOW_CHART_CONNECTOR" - Connector flow shape. Corresponds to ECMA-376
   944  	// ST_ShapeType 'flowChartConnector'
   945  	//   "FLOW_CHART_DECISION" - Decision flow shape. Corresponds to ECMA-376
   946  	// ST_ShapeType 'flowChartDecision'
   947  	//   "FLOW_CHART_DELAY" - Delay flow shape. Corresponds to ECMA-376
   948  	// ST_ShapeType 'flowChartDelay'
   949  	//   "FLOW_CHART_DISPLAY" - Display flow shape. Corresponds to ECMA-376
   950  	// ST_ShapeType 'flowChartDisplay'
   951  	//   "FLOW_CHART_DOCUMENT" - Document flow shape. Corresponds to ECMA-376
   952  	// ST_ShapeType 'flowChartDocument'
   953  	//   "FLOW_CHART_EXTRACT" - Extract flow shape. Corresponds to ECMA-376
   954  	// ST_ShapeType 'flowChartExtract'
   955  	//   "FLOW_CHART_INPUT_OUTPUT" - Input output flow shape. Corresponds to
   956  	// ECMA-376 ST_ShapeType 'flowChartInputOutput'
   957  	//   "FLOW_CHART_INTERNAL_STORAGE" - Internal storage flow shape. Corresponds
   958  	// to ECMA-376 ST_ShapeType 'flowChartInternalStorage'
   959  	//   "FLOW_CHART_MAGNETIC_DISK" - Magnetic disk flow shape. Corresponds to
   960  	// ECMA-376 ST_ShapeType 'flowChartMagneticDisk'
   961  	//   "FLOW_CHART_MAGNETIC_DRUM" - Magnetic drum flow shape. Corresponds to
   962  	// ECMA-376 ST_ShapeType 'flowChartMagneticDrum'
   963  	//   "FLOW_CHART_MAGNETIC_TAPE" - Magnetic tape flow shape. Corresponds to
   964  	// ECMA-376 ST_ShapeType 'flowChartMagneticTape'
   965  	//   "FLOW_CHART_MANUAL_INPUT" - Manual input flow shape. Corresponds to
   966  	// ECMA-376 ST_ShapeType 'flowChartManualInput'
   967  	//   "FLOW_CHART_MANUAL_OPERATION" - Manual operation flow shape. Corresponds
   968  	// to ECMA-376 ST_ShapeType 'flowChartManualOperation'
   969  	//   "FLOW_CHART_MERGE" - Merge flow shape. Corresponds to ECMA-376
   970  	// ST_ShapeType 'flowChartMerge'
   971  	//   "FLOW_CHART_MULTIDOCUMENT" - Multi-document flow shape. Corresponds to
   972  	// ECMA-376 ST_ShapeType 'flowChartMultidocument'
   973  	//   "FLOW_CHART_OFFLINE_STORAGE" - Offline storage flow shape. Corresponds to
   974  	// ECMA-376 ST_ShapeType 'flowChartOfflineStorage'
   975  	//   "FLOW_CHART_OFFPAGE_CONNECTOR" - Off-page connector flow shape.
   976  	// Corresponds to ECMA-376 ST_ShapeType 'flowChartOffpageConnector'
   977  	//   "FLOW_CHART_ONLINE_STORAGE" - Online storage flow shape. Corresponds to
   978  	// ECMA-376 ST_ShapeType 'flowChartOnlineStorage'
   979  	//   "FLOW_CHART_OR" - Or flow shape. Corresponds to ECMA-376 ST_ShapeType
   980  	// 'flowChartOr'
   981  	//   "FLOW_CHART_PREDEFINED_PROCESS" - Predefined process flow shape.
   982  	// Corresponds to ECMA-376 ST_ShapeType 'flowChartPredefinedProcess'
   983  	//   "FLOW_CHART_PREPARATION" - Preparation flow shape. Corresponds to ECMA-376
   984  	// ST_ShapeType 'flowChartPreparation'
   985  	//   "FLOW_CHART_PROCESS" - Process flow shape. Corresponds to ECMA-376
   986  	// ST_ShapeType 'flowChartProcess'
   987  	//   "FLOW_CHART_PUNCHED_CARD" - Punched card flow shape. Corresponds to
   988  	// ECMA-376 ST_ShapeType 'flowChartPunchedCard'
   989  	//   "FLOW_CHART_PUNCHED_TAPE" - Punched tape flow shape. Corresponds to
   990  	// ECMA-376 ST_ShapeType 'flowChartPunchedTape'
   991  	//   "FLOW_CHART_SORT" - Sort flow shape. Corresponds to ECMA-376 ST_ShapeType
   992  	// 'flowChartSort'
   993  	//   "FLOW_CHART_SUMMING_JUNCTION" - Summing junction flow shape. Corresponds
   994  	// to ECMA-376 ST_ShapeType 'flowChartSummingJunction'
   995  	//   "FLOW_CHART_TERMINATOR" - Terminator flow shape. Corresponds to ECMA-376
   996  	// ST_ShapeType 'flowChartTerminator'
   997  	//   "ARROW_EAST" - East arrow shape.
   998  	//   "ARROW_NORTH_EAST" - Northeast arrow shape.
   999  	//   "ARROW_NORTH" - North arrow shape.
  1000  	//   "SPEECH" - Speech shape.
  1001  	//   "STARBURST" - Star burst shape.
  1002  	//   "TEARDROP" - Teardrop shape. Corresponds to ECMA-376 ST_ShapeType
  1003  	// 'teardrop'
  1004  	//   "ELLIPSE_RIBBON" - Ellipse ribbon shape. Corresponds to ECMA-376
  1005  	// ST_ShapeType 'ellipseRibbon'
  1006  	//   "ELLIPSE_RIBBON_2" - Ellipse ribbon 2 shape. Corresponds to ECMA-376
  1007  	// ST_ShapeType 'ellipseRibbon2'
  1008  	//   "CLOUD_CALLOUT" - Callout cloud shape. Corresponds to ECMA-376
  1009  	// ST_ShapeType 'cloudCallout'
  1010  	//   "CUSTOM" - Custom shape.
  1011  	ShapeType string `json:"shapeType,omitempty"`
  1012  	// ForceSendFields is a list of field names (e.g. "ElementProperties") to
  1013  	// unconditionally include in API requests. By default, fields with empty or
  1014  	// default values are omitted from API requests. See
  1015  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1016  	// details.
  1017  	ForceSendFields []string `json:"-"`
  1018  	// NullFields is a list of field names (e.g. "ElementProperties") to include in
  1019  	// API requests with the JSON null value. By default, fields with empty values
  1020  	// are omitted from API requests. See
  1021  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1022  	NullFields []string `json:"-"`
  1023  }
  1024  
  1025  func (s *CreateShapeRequest) MarshalJSON() ([]byte, error) {
  1026  	type NoMethod CreateShapeRequest
  1027  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1028  }
  1029  
  1030  // CreateShapeResponse: The result of creating a shape.
  1031  type CreateShapeResponse struct {
  1032  	// ObjectId: The object ID of the created shape.
  1033  	ObjectId string `json:"objectId,omitempty"`
  1034  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  1035  	// unconditionally include in API requests. By default, fields with empty or
  1036  	// default values are omitted from API requests. See
  1037  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1038  	// details.
  1039  	ForceSendFields []string `json:"-"`
  1040  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  1041  	// requests with the JSON null value. By default, fields with empty values are
  1042  	// omitted from API requests. See
  1043  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1044  	NullFields []string `json:"-"`
  1045  }
  1046  
  1047  func (s *CreateShapeResponse) MarshalJSON() ([]byte, error) {
  1048  	type NoMethod CreateShapeResponse
  1049  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1050  }
  1051  
  1052  // CreateSheetsChartRequest: Creates an embedded Google Sheets chart. NOTE:
  1053  // Chart creation requires at least one of the spreadsheets.readonly,
  1054  // spreadsheets, drive.readonly, drive.file, or drive OAuth scopes.
  1055  type CreateSheetsChartRequest struct {
  1056  	// ChartId: The ID of the specific chart in the Google Sheets spreadsheet.
  1057  	ChartId int64 `json:"chartId,omitempty"`
  1058  	// ElementProperties: The element properties for the chart. When the aspect
  1059  	// ratio of the provided size does not match the chart aspect ratio, the chart
  1060  	// is scaled and centered with respect to the size in order to maintain aspect
  1061  	// ratio. The provided transform is applied after this operation.
  1062  	ElementProperties *PageElementProperties `json:"elementProperties,omitempty"`
  1063  	// LinkingMode: The mode with which the chart is linked to the source
  1064  	// spreadsheet. When not specified, the chart will be an image that is not
  1065  	// linked.
  1066  	//
  1067  	// Possible values:
  1068  	//   "NOT_LINKED_IMAGE" - The chart is not associated with the source
  1069  	// spreadsheet and cannot be updated. A chart that is not linked will be
  1070  	// inserted as an image.
  1071  	//   "LINKED" - Linking the chart allows it to be updated, and other
  1072  	// collaborators will see a link to the spreadsheet.
  1073  	LinkingMode string `json:"linkingMode,omitempty"`
  1074  	// ObjectId: A user-supplied object ID. If specified, the ID must be unique
  1075  	// among all pages and page elements in the presentation. The ID should start
  1076  	// with a word character [a-zA-Z0-9_] and then followed by any number of the
  1077  	// following characters [a-zA-Z0-9_-:]. The length of the ID should not be less
  1078  	// than 5 or greater than 50. If empty, a unique identifier will be generated.
  1079  	ObjectId string `json:"objectId,omitempty"`
  1080  	// SpreadsheetId: The ID of the Google Sheets spreadsheet that contains the
  1081  	// chart. You might need to add a resource key to the HTTP header for a subset
  1082  	// of old files. For more information, see Access link-shared files using
  1083  	// resource keys (https://developers.google.com/drive/api/v3/resource-keys).
  1084  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
  1085  	// ForceSendFields is a list of field names (e.g. "ChartId") to unconditionally
  1086  	// include in API requests. By default, fields with empty or default values are
  1087  	// omitted from API requests. See
  1088  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1089  	// details.
  1090  	ForceSendFields []string `json:"-"`
  1091  	// NullFields is a list of field names (e.g. "ChartId") to include in API
  1092  	// requests with the JSON null value. By default, fields with empty values are
  1093  	// omitted from API requests. See
  1094  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1095  	NullFields []string `json:"-"`
  1096  }
  1097  
  1098  func (s *CreateSheetsChartRequest) MarshalJSON() ([]byte, error) {
  1099  	type NoMethod CreateSheetsChartRequest
  1100  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1101  }
  1102  
  1103  // CreateSheetsChartResponse: The result of creating an embedded Google Sheets
  1104  // chart.
  1105  type CreateSheetsChartResponse struct {
  1106  	// ObjectId: The object ID of the created chart.
  1107  	ObjectId string `json:"objectId,omitempty"`
  1108  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  1109  	// unconditionally include in API requests. By default, fields with empty or
  1110  	// default values are omitted from API requests. See
  1111  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1112  	// details.
  1113  	ForceSendFields []string `json:"-"`
  1114  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  1115  	// requests with the JSON null value. By default, fields with empty values are
  1116  	// omitted from API requests. See
  1117  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1118  	NullFields []string `json:"-"`
  1119  }
  1120  
  1121  func (s *CreateSheetsChartResponse) MarshalJSON() ([]byte, error) {
  1122  	type NoMethod CreateSheetsChartResponse
  1123  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1124  }
  1125  
  1126  // CreateSlideRequest: Creates a slide.
  1127  type CreateSlideRequest struct {
  1128  	// InsertionIndex: The optional zero-based index indicating where to insert the
  1129  	// slides. If you don't specify an index, the slide is created at the end.
  1130  	InsertionIndex int64 `json:"insertionIndex,omitempty"`
  1131  	// ObjectId: A user-supplied object ID. If you specify an ID, it must be unique
  1132  	// among all pages and page elements in the presentation. The ID must start
  1133  	// with an alphanumeric character or an underscore (matches regex
  1134  	// `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen
  1135  	// or colon (matches regex `[a-zA-Z0-9_-:]`). The ID length must be between 5
  1136  	// and 50 characters, inclusive. If you don't specify an ID, a unique one is
  1137  	// generated.
  1138  	ObjectId string `json:"objectId,omitempty"`
  1139  	// PlaceholderIdMappings: An optional list of object ID mappings from the
  1140  	// placeholder(s) on the layout to the placeholders that are created on the
  1141  	// slide from the specified layout. Can only be used when
  1142  	// `slide_layout_reference` is specified.
  1143  	PlaceholderIdMappings []*LayoutPlaceholderIdMapping `json:"placeholderIdMappings,omitempty"`
  1144  	// SlideLayoutReference: Layout reference of the slide to be inserted, based on
  1145  	// the *current master*, which is one of the following: - The master of the
  1146  	// previous slide index. - The master of the first slide, if the
  1147  	// insertion_index is zero. - The first master in the presentation, if there
  1148  	// are no slides. If the LayoutReference is not found in the current master, a
  1149  	// 400 bad request error is returned. If you don't specify a layout reference,
  1150  	// the slide uses the predefined `BLANK` layout.
  1151  	SlideLayoutReference *LayoutReference `json:"slideLayoutReference,omitempty"`
  1152  	// ForceSendFields is a list of field names (e.g. "InsertionIndex") to
  1153  	// unconditionally include in API requests. By default, fields with empty or
  1154  	// default values are omitted from API requests. See
  1155  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1156  	// details.
  1157  	ForceSendFields []string `json:"-"`
  1158  	// NullFields is a list of field names (e.g. "InsertionIndex") to include in
  1159  	// API requests with the JSON null value. By default, fields with empty values
  1160  	// are omitted from API requests. See
  1161  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1162  	NullFields []string `json:"-"`
  1163  }
  1164  
  1165  func (s *CreateSlideRequest) MarshalJSON() ([]byte, error) {
  1166  	type NoMethod CreateSlideRequest
  1167  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1168  }
  1169  
  1170  // CreateSlideResponse: The result of creating a slide.
  1171  type CreateSlideResponse struct {
  1172  	// ObjectId: The object ID of the created slide.
  1173  	ObjectId string `json:"objectId,omitempty"`
  1174  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  1175  	// unconditionally include in API requests. By default, fields with empty or
  1176  	// default values are omitted from API requests. See
  1177  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1178  	// details.
  1179  	ForceSendFields []string `json:"-"`
  1180  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  1181  	// requests with the JSON null value. By default, fields with empty values are
  1182  	// omitted from API requests. See
  1183  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1184  	NullFields []string `json:"-"`
  1185  }
  1186  
  1187  func (s *CreateSlideResponse) MarshalJSON() ([]byte, error) {
  1188  	type NoMethod CreateSlideResponse
  1189  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1190  }
  1191  
  1192  // CreateTableRequest: Creates a new table.
  1193  type CreateTableRequest struct {
  1194  	// Columns: Number of columns in the table.
  1195  	Columns int64 `json:"columns,omitempty"`
  1196  	// ElementProperties: The element properties for the table. The table will be
  1197  	// created at the provided size, subject to a minimum size. If no size is
  1198  	// provided, the table will be automatically sized. Table transforms must have
  1199  	// a scale of 1 and no shear components. If no transform is provided, the table
  1200  	// will be centered on the page.
  1201  	ElementProperties *PageElementProperties `json:"elementProperties,omitempty"`
  1202  	// ObjectId: A user-supplied object ID. If you specify an ID, it must be unique
  1203  	// among all pages and page elements in the presentation. The ID must start
  1204  	// with an alphanumeric character or an underscore (matches regex
  1205  	// `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen
  1206  	// or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be
  1207  	// less than 5 or greater than 50. If you don't specify an ID, a unique one is
  1208  	// generated.
  1209  	ObjectId string `json:"objectId,omitempty"`
  1210  	// Rows: Number of rows in the table.
  1211  	Rows int64 `json:"rows,omitempty"`
  1212  	// ForceSendFields is a list of field names (e.g. "Columns") to unconditionally
  1213  	// include in API requests. By default, fields with empty or default values are
  1214  	// omitted from API requests. See
  1215  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1216  	// details.
  1217  	ForceSendFields []string `json:"-"`
  1218  	// NullFields is a list of field names (e.g. "Columns") to include in API
  1219  	// requests with the JSON null value. By default, fields with empty values are
  1220  	// omitted from API requests. See
  1221  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1222  	NullFields []string `json:"-"`
  1223  }
  1224  
  1225  func (s *CreateTableRequest) MarshalJSON() ([]byte, error) {
  1226  	type NoMethod CreateTableRequest
  1227  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1228  }
  1229  
  1230  // CreateTableResponse: The result of creating a table.
  1231  type CreateTableResponse struct {
  1232  	// ObjectId: The object ID of the created table.
  1233  	ObjectId string `json:"objectId,omitempty"`
  1234  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  1235  	// unconditionally include in API requests. By default, fields with empty or
  1236  	// default values are omitted from API requests. See
  1237  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1238  	// details.
  1239  	ForceSendFields []string `json:"-"`
  1240  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  1241  	// requests with the JSON null value. By default, fields with empty values are
  1242  	// omitted from API requests. See
  1243  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1244  	NullFields []string `json:"-"`
  1245  }
  1246  
  1247  func (s *CreateTableResponse) MarshalJSON() ([]byte, error) {
  1248  	type NoMethod CreateTableResponse
  1249  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1250  }
  1251  
  1252  // CreateVideoRequest: Creates a video. NOTE: Creating a video from Google
  1253  // Drive requires that the requesting app have at least one of the drive,
  1254  // drive.readonly, or drive.file OAuth scopes.
  1255  type CreateVideoRequest struct {
  1256  	// ElementProperties: The element properties for the video. The
  1257  	// PageElementProperties.size property is optional. If you don't specify a
  1258  	// size, a default size is chosen by the server. The
  1259  	// PageElementProperties.transform property is optional. The transform must not
  1260  	// have shear components. If you don't specify a transform, the video will be
  1261  	// placed at the top left corner of the page.
  1262  	ElementProperties *PageElementProperties `json:"elementProperties,omitempty"`
  1263  	// Id: The video source's unique identifier for this video. e.g. For YouTube
  1264  	// video https://www.youtube.com/watch?v=7U3axjORYZ0, the ID is 7U3axjORYZ0.
  1265  	// For a Google Drive video
  1266  	// https://drive.google.com/file/d/1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5Q the ID is
  1267  	// 1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5Q. To access a Google Drive video file, you
  1268  	// might need to add a resource key to the HTTP header for a subset of old
  1269  	// files. For more information, see Access link-shared files using resource
  1270  	// keys (https://developers.google.com/drive/api/v3/resource-keys).
  1271  	Id string `json:"id,omitempty"`
  1272  	// ObjectId: A user-supplied object ID. If you specify an ID, it must be unique
  1273  	// among all pages and page elements in the presentation. The ID must start
  1274  	// with an alphanumeric character or an underscore (matches regex
  1275  	// `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen
  1276  	// or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be
  1277  	// less than 5 or greater than 50. If you don't specify an ID, a unique one is
  1278  	// generated.
  1279  	ObjectId string `json:"objectId,omitempty"`
  1280  	// Source: The video source.
  1281  	//
  1282  	// Possible values:
  1283  	//   "SOURCE_UNSPECIFIED" - The video source is unspecified.
  1284  	//   "YOUTUBE" - The video source is YouTube.
  1285  	//   "DRIVE" - The video source is Google Drive.
  1286  	Source string `json:"source,omitempty"`
  1287  	// ForceSendFields is a list of field names (e.g. "ElementProperties") to
  1288  	// unconditionally include in API requests. By default, fields with empty or
  1289  	// default values are omitted from API requests. See
  1290  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1291  	// details.
  1292  	ForceSendFields []string `json:"-"`
  1293  	// NullFields is a list of field names (e.g. "ElementProperties") to include in
  1294  	// API requests with the JSON null value. By default, fields with empty values
  1295  	// are omitted from API requests. See
  1296  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1297  	NullFields []string `json:"-"`
  1298  }
  1299  
  1300  func (s *CreateVideoRequest) MarshalJSON() ([]byte, error) {
  1301  	type NoMethod CreateVideoRequest
  1302  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1303  }
  1304  
  1305  // CreateVideoResponse: The result of creating a video.
  1306  type CreateVideoResponse struct {
  1307  	// ObjectId: The object ID of the created video.
  1308  	ObjectId string `json:"objectId,omitempty"`
  1309  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  1310  	// unconditionally include in API requests. By default, fields with empty or
  1311  	// default values are omitted from API requests. See
  1312  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1313  	// details.
  1314  	ForceSendFields []string `json:"-"`
  1315  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  1316  	// requests with the JSON null value. By default, fields with empty values are
  1317  	// omitted from API requests. See
  1318  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1319  	NullFields []string `json:"-"`
  1320  }
  1321  
  1322  func (s *CreateVideoResponse) MarshalJSON() ([]byte, error) {
  1323  	type NoMethod CreateVideoResponse
  1324  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1325  }
  1326  
  1327  // CropProperties: The crop properties of an object enclosed in a container.
  1328  // For example, an Image. The crop properties is represented by the offsets of
  1329  // four edges which define a crop rectangle. The offsets are measured in
  1330  // percentage from the corresponding edges of the object's original bounding
  1331  // rectangle towards inside, relative to the object's original dimensions. - If
  1332  // the offset is in the interval (0, 1), the corresponding edge of crop
  1333  // rectangle is positioned inside of the object's original bounding rectangle.
  1334  // - If the offset is negative or greater than 1, the corresponding edge of
  1335  // crop rectangle is positioned outside of the object's original bounding
  1336  // rectangle. - If the left edge of the crop rectangle is on the right side of
  1337  // its right edge, the object will be flipped horizontally. - If the top edge
  1338  // of the crop rectangle is below its bottom edge, the object will be flipped
  1339  // vertically. - If all offsets and rotation angle is 0, the object is not
  1340  // cropped. After cropping, the content in the crop rectangle will be stretched
  1341  // to fit its container.
  1342  type CropProperties struct {
  1343  	// Angle: The rotation angle of the crop window around its center, in radians.
  1344  	// Rotation angle is applied after the offset.
  1345  	Angle float64 `json:"angle,omitempty"`
  1346  	// BottomOffset: The offset specifies the bottom edge of the crop rectangle
  1347  	// that is located above the original bounding rectangle bottom edge, relative
  1348  	// to the object's original height.
  1349  	BottomOffset float64 `json:"bottomOffset,omitempty"`
  1350  	// LeftOffset: The offset specifies the left edge of the crop rectangle that is
  1351  	// located to the right of the original bounding rectangle left edge, relative
  1352  	// to the object's original width.
  1353  	LeftOffset float64 `json:"leftOffset,omitempty"`
  1354  	// RightOffset: The offset specifies the right edge of the crop rectangle that
  1355  	// is located to the left of the original bounding rectangle right edge,
  1356  	// relative to the object's original width.
  1357  	RightOffset float64 `json:"rightOffset,omitempty"`
  1358  	// TopOffset: The offset specifies the top edge of the crop rectangle that is
  1359  	// located below the original bounding rectangle top edge, relative to the
  1360  	// object's original height.
  1361  	TopOffset float64 `json:"topOffset,omitempty"`
  1362  	// ForceSendFields is a list of field names (e.g. "Angle") to unconditionally
  1363  	// include in API requests. By default, fields with empty or default values are
  1364  	// omitted from API requests. See
  1365  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1366  	// details.
  1367  	ForceSendFields []string `json:"-"`
  1368  	// NullFields is a list of field names (e.g. "Angle") to include in API
  1369  	// requests with the JSON null value. By default, fields with empty values are
  1370  	// omitted from API requests. See
  1371  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1372  	NullFields []string `json:"-"`
  1373  }
  1374  
  1375  func (s *CropProperties) MarshalJSON() ([]byte, error) {
  1376  	type NoMethod CropProperties
  1377  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1378  }
  1379  
  1380  func (s *CropProperties) UnmarshalJSON(data []byte) error {
  1381  	type NoMethod CropProperties
  1382  	var s1 struct {
  1383  		Angle        gensupport.JSONFloat64 `json:"angle"`
  1384  		BottomOffset gensupport.JSONFloat64 `json:"bottomOffset"`
  1385  		LeftOffset   gensupport.JSONFloat64 `json:"leftOffset"`
  1386  		RightOffset  gensupport.JSONFloat64 `json:"rightOffset"`
  1387  		TopOffset    gensupport.JSONFloat64 `json:"topOffset"`
  1388  		*NoMethod
  1389  	}
  1390  	s1.NoMethod = (*NoMethod)(s)
  1391  	if err := json.Unmarshal(data, &s1); err != nil {
  1392  		return err
  1393  	}
  1394  	s.Angle = float64(s1.Angle)
  1395  	s.BottomOffset = float64(s1.BottomOffset)
  1396  	s.LeftOffset = float64(s1.LeftOffset)
  1397  	s.RightOffset = float64(s1.RightOffset)
  1398  	s.TopOffset = float64(s1.TopOffset)
  1399  	return nil
  1400  }
  1401  
  1402  // DeleteObjectRequest: Deletes an object, either pages or page elements, from
  1403  // the presentation.
  1404  type DeleteObjectRequest struct {
  1405  	// ObjectId: The object ID of the page or page element to delete. If after a
  1406  	// delete operation a group contains only 1 or no page elements, the group is
  1407  	// also deleted. If a placeholder is deleted on a layout, any empty inheriting
  1408  	// placeholders are also deleted.
  1409  	ObjectId string `json:"objectId,omitempty"`
  1410  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  1411  	// unconditionally include in API requests. By default, fields with empty or
  1412  	// default values are omitted from API requests. See
  1413  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1414  	// details.
  1415  	ForceSendFields []string `json:"-"`
  1416  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  1417  	// requests with the JSON null value. By default, fields with empty values are
  1418  	// omitted from API requests. See
  1419  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1420  	NullFields []string `json:"-"`
  1421  }
  1422  
  1423  func (s *DeleteObjectRequest) MarshalJSON() ([]byte, error) {
  1424  	type NoMethod DeleteObjectRequest
  1425  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1426  }
  1427  
  1428  // DeleteParagraphBulletsRequest: Deletes bullets from all of the paragraphs
  1429  // that overlap with the given text index range. The nesting level of each
  1430  // paragraph will be visually preserved by adding indent to the start of the
  1431  // corresponding paragraph.
  1432  type DeleteParagraphBulletsRequest struct {
  1433  	// CellLocation: The optional table cell location if the text to be modified is
  1434  	// in a table cell. If present, the object_id must refer to a table.
  1435  	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
  1436  	// ObjectId: The object ID of the shape or table containing the text to delete
  1437  	// bullets from.
  1438  	ObjectId string `json:"objectId,omitempty"`
  1439  	// TextRange: The range of text to delete bullets from, based on TextElement
  1440  	// indexes.
  1441  	TextRange *Range `json:"textRange,omitempty"`
  1442  	// ForceSendFields is a list of field names (e.g. "CellLocation") to
  1443  	// unconditionally include in API requests. By default, fields with empty or
  1444  	// default values are omitted from API requests. See
  1445  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1446  	// details.
  1447  	ForceSendFields []string `json:"-"`
  1448  	// NullFields is a list of field names (e.g. "CellLocation") to include in API
  1449  	// requests with the JSON null value. By default, fields with empty values are
  1450  	// omitted from API requests. See
  1451  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1452  	NullFields []string `json:"-"`
  1453  }
  1454  
  1455  func (s *DeleteParagraphBulletsRequest) MarshalJSON() ([]byte, error) {
  1456  	type NoMethod DeleteParagraphBulletsRequest
  1457  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1458  }
  1459  
  1460  // DeleteTableColumnRequest: Deletes a column from a table.
  1461  type DeleteTableColumnRequest struct {
  1462  	// CellLocation: The reference table cell location from which a column will be
  1463  	// deleted. The column this cell spans will be deleted. If this is a merged
  1464  	// cell, multiple columns will be deleted. If no columns remain in the table
  1465  	// after this deletion, the whole table is deleted.
  1466  	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
  1467  	// TableObjectId: The table to delete columns from.
  1468  	TableObjectId string `json:"tableObjectId,omitempty"`
  1469  	// ForceSendFields is a list of field names (e.g. "CellLocation") to
  1470  	// unconditionally include in API requests. By default, fields with empty or
  1471  	// default values are omitted from API requests. See
  1472  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1473  	// details.
  1474  	ForceSendFields []string `json:"-"`
  1475  	// NullFields is a list of field names (e.g. "CellLocation") to include in API
  1476  	// requests with the JSON null value. By default, fields with empty values are
  1477  	// omitted from API requests. See
  1478  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1479  	NullFields []string `json:"-"`
  1480  }
  1481  
  1482  func (s *DeleteTableColumnRequest) MarshalJSON() ([]byte, error) {
  1483  	type NoMethod DeleteTableColumnRequest
  1484  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1485  }
  1486  
  1487  // DeleteTableRowRequest: Deletes a row from a table.
  1488  type DeleteTableRowRequest struct {
  1489  	// CellLocation: The reference table cell location from which a row will be
  1490  	// deleted. The row this cell spans will be deleted. If this is a merged cell,
  1491  	// multiple rows will be deleted. If no rows remain in the table after this
  1492  	// deletion, the whole table is deleted.
  1493  	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
  1494  	// TableObjectId: The table to delete rows from.
  1495  	TableObjectId string `json:"tableObjectId,omitempty"`
  1496  	// ForceSendFields is a list of field names (e.g. "CellLocation") to
  1497  	// unconditionally include in API requests. By default, fields with empty or
  1498  	// default values are omitted from API requests. See
  1499  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1500  	// details.
  1501  	ForceSendFields []string `json:"-"`
  1502  	// NullFields is a list of field names (e.g. "CellLocation") to include in API
  1503  	// requests with the JSON null value. By default, fields with empty values are
  1504  	// omitted from API requests. See
  1505  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1506  	NullFields []string `json:"-"`
  1507  }
  1508  
  1509  func (s *DeleteTableRowRequest) MarshalJSON() ([]byte, error) {
  1510  	type NoMethod DeleteTableRowRequest
  1511  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1512  }
  1513  
  1514  // DeleteTextRequest: Deletes text from a shape or a table cell.
  1515  type DeleteTextRequest struct {
  1516  	// CellLocation: The optional table cell location if the text is to be deleted
  1517  	// from a table cell. If present, the object_id must refer to a table.
  1518  	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
  1519  	// ObjectId: The object ID of the shape or table from which the text will be
  1520  	// deleted.
  1521  	ObjectId string `json:"objectId,omitempty"`
  1522  	// TextRange: The range of text to delete, based on TextElement indexes. There
  1523  	// is always an implicit newline character at the end of a shape's or table
  1524  	// cell's text that cannot be deleted. `Range.Type.ALL` will use the correct
  1525  	// bounds, but care must be taken when specifying explicit bounds for range
  1526  	// types `FROM_START_INDEX` and `FIXED_RANGE`. For example, if the text is
  1527  	// "ABC", followed by an implicit newline, then the maximum value is 2 for
  1528  	// `text_range.start_index` and 3 for `text_range.end_index`. Deleting text
  1529  	// that crosses a paragraph boundary may result in changes to paragraph styles
  1530  	// and lists as the two paragraphs are merged. Ranges that include only one
  1531  	// code unit of a surrogate pair are expanded to include both code units.
  1532  	TextRange *Range `json:"textRange,omitempty"`
  1533  	// ForceSendFields is a list of field names (e.g. "CellLocation") to
  1534  	// unconditionally include in API requests. By default, fields with empty or
  1535  	// default values are omitted from API requests. See
  1536  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1537  	// details.
  1538  	ForceSendFields []string `json:"-"`
  1539  	// NullFields is a list of field names (e.g. "CellLocation") to include in API
  1540  	// requests with the JSON null value. By default, fields with empty values are
  1541  	// omitted from API requests. See
  1542  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1543  	NullFields []string `json:"-"`
  1544  }
  1545  
  1546  func (s *DeleteTextRequest) MarshalJSON() ([]byte, error) {
  1547  	type NoMethod DeleteTextRequest
  1548  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1549  }
  1550  
  1551  // Dimension: A magnitude in a single direction in the specified units.
  1552  type Dimension struct {
  1553  	// Magnitude: The magnitude.
  1554  	Magnitude float64 `json:"magnitude,omitempty"`
  1555  	// Unit: The units for magnitude.
  1556  	//
  1557  	// Possible values:
  1558  	//   "UNIT_UNSPECIFIED" - The units are unknown.
  1559  	//   "EMU" - An English Metric Unit (EMU) is defined as 1/360,000 of a
  1560  	// centimeter and thus there are 914,400 EMUs per inch, and 12,700 EMUs per
  1561  	// point.
  1562  	//   "PT" - A point, 1/72 of an inch.
  1563  	Unit string `json:"unit,omitempty"`
  1564  	// ForceSendFields is a list of field names (e.g. "Magnitude") to
  1565  	// unconditionally include in API requests. By default, fields with empty or
  1566  	// default values are omitted from API requests. See
  1567  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1568  	// details.
  1569  	ForceSendFields []string `json:"-"`
  1570  	// NullFields is a list of field names (e.g. "Magnitude") to include in API
  1571  	// requests with the JSON null value. By default, fields with empty values are
  1572  	// omitted from API requests. See
  1573  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1574  	NullFields []string `json:"-"`
  1575  }
  1576  
  1577  func (s *Dimension) MarshalJSON() ([]byte, error) {
  1578  	type NoMethod Dimension
  1579  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1580  }
  1581  
  1582  func (s *Dimension) UnmarshalJSON(data []byte) error {
  1583  	type NoMethod Dimension
  1584  	var s1 struct {
  1585  		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
  1586  		*NoMethod
  1587  	}
  1588  	s1.NoMethod = (*NoMethod)(s)
  1589  	if err := json.Unmarshal(data, &s1); err != nil {
  1590  		return err
  1591  	}
  1592  	s.Magnitude = float64(s1.Magnitude)
  1593  	return nil
  1594  }
  1595  
  1596  // DuplicateObjectRequest: Duplicates a slide or page element. When duplicating
  1597  // a slide, the duplicate slide will be created immediately following the
  1598  // specified slide. When duplicating a page element, the duplicate will be
  1599  // placed on the same page at the same position as the original.
  1600  type DuplicateObjectRequest struct {
  1601  	// ObjectId: The ID of the object to duplicate.
  1602  	ObjectId string `json:"objectId,omitempty"`
  1603  	// ObjectIds: The object being duplicated may contain other objects, for
  1604  	// example when duplicating a slide or a group page element. This map defines
  1605  	// how the IDs of duplicated objects are generated: the keys are the IDs of the
  1606  	// original objects and its values are the IDs that will be assigned to the
  1607  	// corresponding duplicate object. The ID of the source object's duplicate may
  1608  	// be specified in this map as well, using the same value of the `object_id`
  1609  	// field as a key and the newly desired ID as the value. All keys must
  1610  	// correspond to existing IDs in the presentation. All values must be unique in
  1611  	// the presentation and must start with an alphanumeric character or an
  1612  	// underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include
  1613  	// those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The
  1614  	// length of the new ID must not be less than 5 or greater than 50. If any IDs
  1615  	// of source objects are omitted from the map, a new random ID will be
  1616  	// assigned. If the map is empty or unset, all duplicate objects will receive a
  1617  	// new random ID.
  1618  	ObjectIds map[string]string `json:"objectIds,omitempty"`
  1619  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  1620  	// unconditionally include in API requests. By default, fields with empty or
  1621  	// default values are omitted from API requests. See
  1622  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1623  	// details.
  1624  	ForceSendFields []string `json:"-"`
  1625  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  1626  	// requests with the JSON null value. By default, fields with empty values are
  1627  	// omitted from API requests. See
  1628  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1629  	NullFields []string `json:"-"`
  1630  }
  1631  
  1632  func (s *DuplicateObjectRequest) MarshalJSON() ([]byte, error) {
  1633  	type NoMethod DuplicateObjectRequest
  1634  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1635  }
  1636  
  1637  // DuplicateObjectResponse: The response of duplicating an object.
  1638  type DuplicateObjectResponse struct {
  1639  	// ObjectId: The ID of the new duplicate object.
  1640  	ObjectId string `json:"objectId,omitempty"`
  1641  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  1642  	// unconditionally include in API requests. By default, fields with empty or
  1643  	// default values are omitted from API requests. See
  1644  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1645  	// details.
  1646  	ForceSendFields []string `json:"-"`
  1647  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  1648  	// requests with the JSON null value. By default, fields with empty values are
  1649  	// omitted from API requests. See
  1650  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1651  	NullFields []string `json:"-"`
  1652  }
  1653  
  1654  func (s *DuplicateObjectResponse) MarshalJSON() ([]byte, error) {
  1655  	type NoMethod DuplicateObjectResponse
  1656  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1657  }
  1658  
  1659  // Group: A PageElement kind representing a joined collection of PageElements.
  1660  type Group struct {
  1661  	// Children: The collection of elements in the group. The minimum size of a
  1662  	// group is 2.
  1663  	Children []*PageElement `json:"children,omitempty"`
  1664  	// ForceSendFields is a list of field names (e.g. "Children") to
  1665  	// unconditionally include in API requests. By default, fields with empty or
  1666  	// default values are omitted from API requests. See
  1667  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1668  	// details.
  1669  	ForceSendFields []string `json:"-"`
  1670  	// NullFields is a list of field names (e.g. "Children") to include in API
  1671  	// requests with the JSON null value. By default, fields with empty values are
  1672  	// omitted from API requests. See
  1673  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1674  	NullFields []string `json:"-"`
  1675  }
  1676  
  1677  func (s *Group) MarshalJSON() ([]byte, error) {
  1678  	type NoMethod Group
  1679  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1680  }
  1681  
  1682  // GroupObjectsRequest: Groups objects to create an object group. For example,
  1683  // groups PageElements to create a Group on the same page as all the children.
  1684  type GroupObjectsRequest struct {
  1685  	// ChildrenObjectIds: The object IDs of the objects to group. Only page
  1686  	// elements can be grouped. There should be at least two page elements on the
  1687  	// same page that are not already in another group. Some page elements, such as
  1688  	// videos, tables and placeholders cannot be grouped.
  1689  	ChildrenObjectIds []string `json:"childrenObjectIds,omitempty"`
  1690  	// GroupObjectId: A user-supplied object ID for the group to be created. If you
  1691  	// specify an ID, it must be unique among all pages and page elements in the
  1692  	// presentation. The ID must start with an alphanumeric character or an
  1693  	// underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include
  1694  	// those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The
  1695  	// length of the ID must not be less than 5 or greater than 50. If you don't
  1696  	// specify an ID, a unique one is generated.
  1697  	GroupObjectId string `json:"groupObjectId,omitempty"`
  1698  	// ForceSendFields is a list of field names (e.g. "ChildrenObjectIds") to
  1699  	// unconditionally include in API requests. By default, fields with empty or
  1700  	// default values are omitted from API requests. See
  1701  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1702  	// details.
  1703  	ForceSendFields []string `json:"-"`
  1704  	// NullFields is a list of field names (e.g. "ChildrenObjectIds") to include in
  1705  	// API requests with the JSON null value. By default, fields with empty values
  1706  	// are omitted from API requests. See
  1707  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1708  	NullFields []string `json:"-"`
  1709  }
  1710  
  1711  func (s *GroupObjectsRequest) MarshalJSON() ([]byte, error) {
  1712  	type NoMethod GroupObjectsRequest
  1713  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1714  }
  1715  
  1716  // GroupObjectsResponse: The result of grouping objects.
  1717  type GroupObjectsResponse struct {
  1718  	// ObjectId: The object ID of the created group.
  1719  	ObjectId string `json:"objectId,omitempty"`
  1720  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  1721  	// unconditionally include in API requests. By default, fields with empty or
  1722  	// default values are omitted from API requests. See
  1723  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1724  	// details.
  1725  	ForceSendFields []string `json:"-"`
  1726  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  1727  	// requests with the JSON null value. By default, fields with empty values are
  1728  	// omitted from API requests. See
  1729  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1730  	NullFields []string `json:"-"`
  1731  }
  1732  
  1733  func (s *GroupObjectsResponse) MarshalJSON() ([]byte, error) {
  1734  	type NoMethod GroupObjectsResponse
  1735  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1736  }
  1737  
  1738  // Image: A PageElement kind representing an image.
  1739  type Image struct {
  1740  	// ContentUrl: An URL to an image with a default lifetime of 30 minutes. This
  1741  	// URL is tagged with the account of the requester. Anyone with the URL
  1742  	// effectively accesses the image as the original requester. Access to the
  1743  	// image may be lost if the presentation's sharing settings change.
  1744  	ContentUrl string `json:"contentUrl,omitempty"`
  1745  	// ImageProperties: The properties of the image.
  1746  	ImageProperties *ImageProperties `json:"imageProperties,omitempty"`
  1747  	// Placeholder: Placeholders are page elements that inherit from corresponding
  1748  	// placeholders on layouts and masters. If set, the image is a placeholder
  1749  	// image and any inherited properties can be resolved by looking at the parent
  1750  	// placeholder identified by the Placeholder.parent_object_id field.
  1751  	Placeholder *Placeholder `json:"placeholder,omitempty"`
  1752  	// SourceUrl: The source URL is the URL used to insert the image. The source
  1753  	// URL can be empty.
  1754  	SourceUrl string `json:"sourceUrl,omitempty"`
  1755  	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
  1756  	// unconditionally include in API requests. By default, fields with empty or
  1757  	// default values are omitted from API requests. See
  1758  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1759  	// details.
  1760  	ForceSendFields []string `json:"-"`
  1761  	// NullFields is a list of field names (e.g. "ContentUrl") to include in API
  1762  	// requests with the JSON null value. By default, fields with empty values are
  1763  	// omitted from API requests. See
  1764  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1765  	NullFields []string `json:"-"`
  1766  }
  1767  
  1768  func (s *Image) MarshalJSON() ([]byte, error) {
  1769  	type NoMethod Image
  1770  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1771  }
  1772  
  1773  // ImageProperties: The properties of the Image.
  1774  type ImageProperties struct {
  1775  	// Brightness: The brightness effect of the image. The value should be in the
  1776  	// interval [-1.0, 1.0], where 0 means no effect. This property is read-only.
  1777  	Brightness float64 `json:"brightness,omitempty"`
  1778  	// Contrast: The contrast effect of the image. The value should be in the
  1779  	// interval [-1.0, 1.0], where 0 means no effect. This property is read-only.
  1780  	Contrast float64 `json:"contrast,omitempty"`
  1781  	// CropProperties: The crop properties of the image. If not set, the image is
  1782  	// not cropped. This property is read-only.
  1783  	CropProperties *CropProperties `json:"cropProperties,omitempty"`
  1784  	// Link: The hyperlink destination of the image. If unset, there is no link.
  1785  	Link *Link `json:"link,omitempty"`
  1786  	// Outline: The outline of the image. If not set, the image has no outline.
  1787  	Outline *Outline `json:"outline,omitempty"`
  1788  	// Recolor: The recolor effect of the image. If not set, the image is not
  1789  	// recolored. This property is read-only.
  1790  	Recolor *Recolor `json:"recolor,omitempty"`
  1791  	// Shadow: The shadow of the image. If not set, the image has no shadow. This
  1792  	// property is read-only.
  1793  	Shadow *Shadow `json:"shadow,omitempty"`
  1794  	// Transparency: The transparency effect of the image. The value should be in
  1795  	// the interval [0.0, 1.0], where 0 means no effect and 1 means completely
  1796  	// transparent. This property is read-only.
  1797  	Transparency float64 `json:"transparency,omitempty"`
  1798  	// ForceSendFields is a list of field names (e.g. "Brightness") to
  1799  	// unconditionally include in API requests. By default, fields with empty or
  1800  	// default values are omitted from API requests. See
  1801  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1802  	// details.
  1803  	ForceSendFields []string `json:"-"`
  1804  	// NullFields is a list of field names (e.g. "Brightness") to include in API
  1805  	// requests with the JSON null value. By default, fields with empty values are
  1806  	// omitted from API requests. See
  1807  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1808  	NullFields []string `json:"-"`
  1809  }
  1810  
  1811  func (s *ImageProperties) MarshalJSON() ([]byte, error) {
  1812  	type NoMethod ImageProperties
  1813  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1814  }
  1815  
  1816  func (s *ImageProperties) UnmarshalJSON(data []byte) error {
  1817  	type NoMethod ImageProperties
  1818  	var s1 struct {
  1819  		Brightness   gensupport.JSONFloat64 `json:"brightness"`
  1820  		Contrast     gensupport.JSONFloat64 `json:"contrast"`
  1821  		Transparency gensupport.JSONFloat64 `json:"transparency"`
  1822  		*NoMethod
  1823  	}
  1824  	s1.NoMethod = (*NoMethod)(s)
  1825  	if err := json.Unmarshal(data, &s1); err != nil {
  1826  		return err
  1827  	}
  1828  	s.Brightness = float64(s1.Brightness)
  1829  	s.Contrast = float64(s1.Contrast)
  1830  	s.Transparency = float64(s1.Transparency)
  1831  	return nil
  1832  }
  1833  
  1834  // InsertTableColumnsRequest: Inserts columns into a table. Other columns in
  1835  // the table will be resized to fit the new column.
  1836  type InsertTableColumnsRequest struct {
  1837  	// CellLocation: The reference table cell location from which columns will be
  1838  	// inserted. A new column will be inserted to the left (or right) of the column
  1839  	// where the reference cell is. If the reference cell is a merged cell, a new
  1840  	// column will be inserted to the left (or right) of the merged cell.
  1841  	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
  1842  	// InsertRight: Whether to insert new columns to the right of the reference
  1843  	// cell location. - `True`: insert to the right. - `False`: insert to the left.
  1844  	InsertRight bool `json:"insertRight,omitempty"`
  1845  	// Number: The number of columns to be inserted. Maximum 20 per request.
  1846  	Number int64 `json:"number,omitempty"`
  1847  	// TableObjectId: The table to insert columns into.
  1848  	TableObjectId string `json:"tableObjectId,omitempty"`
  1849  	// ForceSendFields is a list of field names (e.g. "CellLocation") to
  1850  	// unconditionally include in API requests. By default, fields with empty or
  1851  	// default values are omitted from API requests. See
  1852  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1853  	// details.
  1854  	ForceSendFields []string `json:"-"`
  1855  	// NullFields is a list of field names (e.g. "CellLocation") to include in API
  1856  	// requests with the JSON null value. By default, fields with empty values are
  1857  	// omitted from API requests. See
  1858  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1859  	NullFields []string `json:"-"`
  1860  }
  1861  
  1862  func (s *InsertTableColumnsRequest) MarshalJSON() ([]byte, error) {
  1863  	type NoMethod InsertTableColumnsRequest
  1864  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1865  }
  1866  
  1867  // InsertTableRowsRequest: Inserts rows into a table.
  1868  type InsertTableRowsRequest struct {
  1869  	// CellLocation: The reference table cell location from which rows will be
  1870  	// inserted. A new row will be inserted above (or below) the row where the
  1871  	// reference cell is. If the reference cell is a merged cell, a new row will be
  1872  	// inserted above (or below) the merged cell.
  1873  	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
  1874  	// InsertBelow: Whether to insert new rows below the reference cell location. -
  1875  	// `True`: insert below the cell. - `False`: insert above the cell.
  1876  	InsertBelow bool `json:"insertBelow,omitempty"`
  1877  	// Number: The number of rows to be inserted. Maximum 20 per request.
  1878  	Number int64 `json:"number,omitempty"`
  1879  	// TableObjectId: The table to insert rows into.
  1880  	TableObjectId string `json:"tableObjectId,omitempty"`
  1881  	// ForceSendFields is a list of field names (e.g. "CellLocation") to
  1882  	// unconditionally include in API requests. By default, fields with empty or
  1883  	// default values are omitted from API requests. See
  1884  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1885  	// details.
  1886  	ForceSendFields []string `json:"-"`
  1887  	// NullFields is a list of field names (e.g. "CellLocation") to include in API
  1888  	// requests with the JSON null value. By default, fields with empty values are
  1889  	// omitted from API requests. See
  1890  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1891  	NullFields []string `json:"-"`
  1892  }
  1893  
  1894  func (s *InsertTableRowsRequest) MarshalJSON() ([]byte, error) {
  1895  	type NoMethod InsertTableRowsRequest
  1896  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1897  }
  1898  
  1899  // InsertTextRequest: Inserts text into a shape or a table cell.
  1900  type InsertTextRequest struct {
  1901  	// CellLocation: The optional table cell location if the text is to be inserted
  1902  	// into a table cell. If present, the object_id must refer to a table.
  1903  	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
  1904  	// InsertionIndex: The index where the text will be inserted, in Unicode code
  1905  	// units, based on TextElement indexes. The index is zero-based and is computed
  1906  	// from the start of the string. The index may be adjusted to prevent
  1907  	// insertions inside Unicode grapheme clusters. In these cases, the text will
  1908  	// be inserted immediately after the grapheme cluster.
  1909  	InsertionIndex int64 `json:"insertionIndex,omitempty"`
  1910  	// ObjectId: The object ID of the shape or table where the text will be
  1911  	// inserted.
  1912  	ObjectId string `json:"objectId,omitempty"`
  1913  	// Text: The text to be inserted. Inserting a newline character will implicitly
  1914  	// create a new ParagraphMarker at that index. The paragraph style of the new
  1915  	// paragraph will be copied from the paragraph at the current insertion index,
  1916  	// including lists and bullets. Text styles for inserted text will be
  1917  	// determined automatically, generally preserving the styling of neighboring
  1918  	// text. In most cases, the text will be added to the TextRun that exists at
  1919  	// the insertion index. Some control characters (U+0000-U+0008, U+000C-U+001F)
  1920  	// and characters from the Unicode Basic Multilingual Plane Private Use Area
  1921  	// (U+E000-U+F8FF) will be stripped out of the inserted text.
  1922  	Text string `json:"text,omitempty"`
  1923  	// ForceSendFields is a list of field names (e.g. "CellLocation") to
  1924  	// unconditionally include in API requests. By default, fields with empty or
  1925  	// default values are omitted from API requests. See
  1926  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1927  	// details.
  1928  	ForceSendFields []string `json:"-"`
  1929  	// NullFields is a list of field names (e.g. "CellLocation") to include in API
  1930  	// requests with the JSON null value. By default, fields with empty values are
  1931  	// omitted from API requests. See
  1932  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1933  	NullFields []string `json:"-"`
  1934  }
  1935  
  1936  func (s *InsertTextRequest) MarshalJSON() ([]byte, error) {
  1937  	type NoMethod InsertTextRequest
  1938  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1939  }
  1940  
  1941  // LayoutPlaceholderIdMapping: The user-specified ID mapping for a placeholder
  1942  // that will be created on a slide from a specified layout.
  1943  type LayoutPlaceholderIdMapping struct {
  1944  	// LayoutPlaceholder: The placeholder on a layout that will be applied to a
  1945  	// slide. Only type and index are needed. For example, a predefined
  1946  	// `TITLE_AND_BODY` layout may usually have a TITLE placeholder with index 0
  1947  	// and a BODY placeholder with index 0.
  1948  	LayoutPlaceholder *Placeholder `json:"layoutPlaceholder,omitempty"`
  1949  	// LayoutPlaceholderObjectId: The object ID of the placeholder on a layout that
  1950  	// will be applied to a slide.
  1951  	LayoutPlaceholderObjectId string `json:"layoutPlaceholderObjectId,omitempty"`
  1952  	// ObjectId: A user-supplied object ID for the placeholder identified above
  1953  	// that to be created onto a slide. If you specify an ID, it must be unique
  1954  	// among all pages and page elements in the presentation. The ID must start
  1955  	// with an alphanumeric character or an underscore (matches regex
  1956  	// `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen
  1957  	// or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be
  1958  	// less than 5 or greater than 50. If you don't specify an ID, a unique one is
  1959  	// generated.
  1960  	ObjectId string `json:"objectId,omitempty"`
  1961  	// ForceSendFields is a list of field names (e.g. "LayoutPlaceholder") to
  1962  	// unconditionally include in API requests. By default, fields with empty or
  1963  	// default values are omitted from API requests. See
  1964  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1965  	// details.
  1966  	ForceSendFields []string `json:"-"`
  1967  	// NullFields is a list of field names (e.g. "LayoutPlaceholder") to include in
  1968  	// API requests with the JSON null value. By default, fields with empty values
  1969  	// are omitted from API requests. See
  1970  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1971  	NullFields []string `json:"-"`
  1972  }
  1973  
  1974  func (s *LayoutPlaceholderIdMapping) MarshalJSON() ([]byte, error) {
  1975  	type NoMethod LayoutPlaceholderIdMapping
  1976  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1977  }
  1978  
  1979  // LayoutProperties: The properties of Page are only relevant for pages with
  1980  // page_type LAYOUT.
  1981  type LayoutProperties struct {
  1982  	// DisplayName: The human-readable name of the layout.
  1983  	DisplayName string `json:"displayName,omitempty"`
  1984  	// MasterObjectId: The object ID of the master that this layout is based on.
  1985  	MasterObjectId string `json:"masterObjectId,omitempty"`
  1986  	// Name: The name of the layout.
  1987  	Name string `json:"name,omitempty"`
  1988  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  1989  	// unconditionally include in API requests. By default, fields with empty or
  1990  	// default values are omitted from API requests. See
  1991  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1992  	// details.
  1993  	ForceSendFields []string `json:"-"`
  1994  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  1995  	// requests with the JSON null value. By default, fields with empty values are
  1996  	// omitted from API requests. See
  1997  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1998  	NullFields []string `json:"-"`
  1999  }
  2000  
  2001  func (s *LayoutProperties) MarshalJSON() ([]byte, error) {
  2002  	type NoMethod LayoutProperties
  2003  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2004  }
  2005  
  2006  // LayoutReference: Slide layout reference. This may reference either: - A
  2007  // predefined layout - One of the layouts in the presentation.
  2008  type LayoutReference struct {
  2009  	// LayoutId: Layout ID: the object ID of one of the layouts in the
  2010  	// presentation.
  2011  	LayoutId string `json:"layoutId,omitempty"`
  2012  	// PredefinedLayout: Predefined layout.
  2013  	//
  2014  	// Possible values:
  2015  	//   "PREDEFINED_LAYOUT_UNSPECIFIED" - Unspecified layout.
  2016  	//   "BLANK" - Blank layout, with no placeholders.
  2017  	//   "CAPTION_ONLY" - Layout with a caption at the bottom.
  2018  	//   "TITLE" - Layout with a title and a subtitle.
  2019  	//   "TITLE_AND_BODY" - Layout with a title and body.
  2020  	//   "TITLE_AND_TWO_COLUMNS" - Layout with a title and two columns.
  2021  	//   "TITLE_ONLY" - Layout with only a title.
  2022  	//   "SECTION_HEADER" - Layout with a section title.
  2023  	//   "SECTION_TITLE_AND_DESCRIPTION" - Layout with a title and subtitle on one
  2024  	// side and description on the other.
  2025  	//   "ONE_COLUMN_TEXT" - Layout with one title and one body, arranged in a
  2026  	// single column.
  2027  	//   "MAIN_POINT" - Layout with a main point.
  2028  	//   "BIG_NUMBER" - Layout with a big number heading.
  2029  	PredefinedLayout string `json:"predefinedLayout,omitempty"`
  2030  	// ForceSendFields is a list of field names (e.g. "LayoutId") to
  2031  	// unconditionally include in API requests. By default, fields with empty or
  2032  	// default values are omitted from API requests. See
  2033  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2034  	// details.
  2035  	ForceSendFields []string `json:"-"`
  2036  	// NullFields is a list of field names (e.g. "LayoutId") to include in API
  2037  	// requests with the JSON null value. By default, fields with empty values are
  2038  	// omitted from API requests. See
  2039  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2040  	NullFields []string `json:"-"`
  2041  }
  2042  
  2043  func (s *LayoutReference) MarshalJSON() ([]byte, error) {
  2044  	type NoMethod LayoutReference
  2045  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2046  }
  2047  
  2048  // Line: A PageElement kind representing a non-connector line, straight
  2049  // connector, curved connector, or bent connector.
  2050  type Line struct {
  2051  	// LineCategory: The category of the line. It matches the `category` specified
  2052  	// in CreateLineRequest, and can be updated with UpdateLineCategoryRequest.
  2053  	//
  2054  	// Possible values:
  2055  	//   "LINE_CATEGORY_UNSPECIFIED" - Unspecified line category.
  2056  	//   "STRAIGHT" - Straight connectors, including straight connector 1.
  2057  	//   "BENT" - Bent connectors, including bent connector 2 to 5.
  2058  	//   "CURVED" - Curved connectors, including curved connector 2 to 5.
  2059  	LineCategory string `json:"lineCategory,omitempty"`
  2060  	// LineProperties: The properties of the line.
  2061  	LineProperties *LineProperties `json:"lineProperties,omitempty"`
  2062  	// LineType: The type of the line.
  2063  	//
  2064  	// Possible values:
  2065  	//   "TYPE_UNSPECIFIED" - An unspecified line type.
  2066  	//   "STRAIGHT_CONNECTOR_1" - Straight connector 1 form. Corresponds to
  2067  	// ECMA-376 ST_ShapeType 'straightConnector1'.
  2068  	//   "BENT_CONNECTOR_2" - Bent connector 2 form. Corresponds to ECMA-376
  2069  	// ST_ShapeType 'bentConnector2'.
  2070  	//   "BENT_CONNECTOR_3" - Bent connector 3 form. Corresponds to ECMA-376
  2071  	// ST_ShapeType 'bentConnector3'.
  2072  	//   "BENT_CONNECTOR_4" - Bent connector 4 form. Corresponds to ECMA-376
  2073  	// ST_ShapeType 'bentConnector4'.
  2074  	//   "BENT_CONNECTOR_5" - Bent connector 5 form. Corresponds to ECMA-376
  2075  	// ST_ShapeType 'bentConnector5'.
  2076  	//   "CURVED_CONNECTOR_2" - Curved connector 2 form. Corresponds to ECMA-376
  2077  	// ST_ShapeType 'curvedConnector2'.
  2078  	//   "CURVED_CONNECTOR_3" - Curved connector 3 form. Corresponds to ECMA-376
  2079  	// ST_ShapeType 'curvedConnector3'.
  2080  	//   "CURVED_CONNECTOR_4" - Curved connector 4 form. Corresponds to ECMA-376
  2081  	// ST_ShapeType 'curvedConnector4'.
  2082  	//   "CURVED_CONNECTOR_5" - Curved connector 5 form. Corresponds to ECMA-376
  2083  	// ST_ShapeType 'curvedConnector5'.
  2084  	//   "STRAIGHT_LINE" - Straight line. Corresponds to ECMA-376 ST_ShapeType
  2085  	// 'line'. This line type is not a connector.
  2086  	LineType string `json:"lineType,omitempty"`
  2087  	// ForceSendFields is a list of field names (e.g. "LineCategory") to
  2088  	// unconditionally include in API requests. By default, fields with empty or
  2089  	// default values are omitted from API requests. See
  2090  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2091  	// details.
  2092  	ForceSendFields []string `json:"-"`
  2093  	// NullFields is a list of field names (e.g. "LineCategory") to include in API
  2094  	// requests with the JSON null value. By default, fields with empty values are
  2095  	// omitted from API requests. See
  2096  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2097  	NullFields []string `json:"-"`
  2098  }
  2099  
  2100  func (s *Line) MarshalJSON() ([]byte, error) {
  2101  	type NoMethod Line
  2102  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2103  }
  2104  
  2105  // LineConnection: The properties for one end of a Line connection.
  2106  type LineConnection struct {
  2107  	// ConnectedObjectId: The object ID of the connected page element. Some page
  2108  	// elements, such as groups, tables, and lines do not have connection sites and
  2109  	// therefore cannot be connected to a connector line.
  2110  	ConnectedObjectId string `json:"connectedObjectId,omitempty"`
  2111  	// ConnectionSiteIndex: The index of the connection site on the connected page
  2112  	// element. In most cases, it corresponds to the predefined connection site
  2113  	// index from the ECMA-376 standard. More information on those connection sites
  2114  	// can be found in the description of the "cnx" attribute in section 20.1.9.9
  2115  	// and Annex H. "Predefined DrawingML Shape and Text Geometries" of "Office
  2116  	// Open XML File Formats-Fundamentals and Markup Language Reference", part 1 of
  2117  	// [ECMA-376 5th edition]
  2118  	// (http://www.ecma-international.org/publications/standards/Ecma-376.htm). The
  2119  	// position of each connection site can also be viewed from Slides editor.
  2120  	ConnectionSiteIndex int64 `json:"connectionSiteIndex,omitempty"`
  2121  	// ForceSendFields is a list of field names (e.g. "ConnectedObjectId") to
  2122  	// unconditionally include in API requests. By default, fields with empty or
  2123  	// default values are omitted from API requests. See
  2124  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2125  	// details.
  2126  	ForceSendFields []string `json:"-"`
  2127  	// NullFields is a list of field names (e.g. "ConnectedObjectId") to include in
  2128  	// API requests with the JSON null value. By default, fields with empty values
  2129  	// are omitted from API requests. See
  2130  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2131  	NullFields []string `json:"-"`
  2132  }
  2133  
  2134  func (s *LineConnection) MarshalJSON() ([]byte, error) {
  2135  	type NoMethod LineConnection
  2136  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2137  }
  2138  
  2139  // LineFill: The fill of the line.
  2140  type LineFill struct {
  2141  	// SolidFill: Solid color fill.
  2142  	SolidFill *SolidFill `json:"solidFill,omitempty"`
  2143  	// ForceSendFields is a list of field names (e.g. "SolidFill") to
  2144  	// unconditionally include in API requests. By default, fields with empty or
  2145  	// default values are omitted from API requests. See
  2146  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2147  	// details.
  2148  	ForceSendFields []string `json:"-"`
  2149  	// NullFields is a list of field names (e.g. "SolidFill") to include in API
  2150  	// requests with the JSON null value. By default, fields with empty values are
  2151  	// omitted from API requests. See
  2152  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2153  	NullFields []string `json:"-"`
  2154  }
  2155  
  2156  func (s *LineFill) MarshalJSON() ([]byte, error) {
  2157  	type NoMethod LineFill
  2158  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2159  }
  2160  
  2161  // LineProperties: The properties of the Line. When unset, these fields default
  2162  // to values that match the appearance of new lines created in the Slides
  2163  // editor.
  2164  type LineProperties struct {
  2165  	// DashStyle: The dash style of the line.
  2166  	//
  2167  	// Possible values:
  2168  	//   "DASH_STYLE_UNSPECIFIED" - Unspecified dash style.
  2169  	//   "SOLID" - Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value
  2170  	// 'solid'. This is the default dash style.
  2171  	//   "DOT" - Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value
  2172  	// 'dot'.
  2173  	//   "DASH" - Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value
  2174  	// 'dash'.
  2175  	//   "DASH_DOT" - Alternating dashes and dots. Corresponds to ECMA-376
  2176  	// ST_PresetLineDashVal value 'dashDot'.
  2177  	//   "LONG_DASH" - Line with large dashes. Corresponds to ECMA-376
  2178  	// ST_PresetLineDashVal value 'lgDash'.
  2179  	//   "LONG_DASH_DOT" - Alternating large dashes and dots. Corresponds to
  2180  	// ECMA-376 ST_PresetLineDashVal value 'lgDashDot'.
  2181  	DashStyle string `json:"dashStyle,omitempty"`
  2182  	// EndArrow: The style of the arrow at the end of the line.
  2183  	//
  2184  	// Possible values:
  2185  	//   "ARROW_STYLE_UNSPECIFIED" - An unspecified arrow style.
  2186  	//   "NONE" - No arrow.
  2187  	//   "STEALTH_ARROW" - Arrow with notched back. Corresponds to ECMA-376
  2188  	// ST_LineEndType value 'stealth'.
  2189  	//   "FILL_ARROW" - Filled arrow. Corresponds to ECMA-376 ST_LineEndType value
  2190  	// 'triangle'.
  2191  	//   "FILL_CIRCLE" - Filled circle. Corresponds to ECMA-376 ST_LineEndType
  2192  	// value 'oval'.
  2193  	//   "FILL_SQUARE" - Filled square.
  2194  	//   "FILL_DIAMOND" - Filled diamond. Corresponds to ECMA-376 ST_LineEndType
  2195  	// value 'diamond'.
  2196  	//   "OPEN_ARROW" - Hollow arrow.
  2197  	//   "OPEN_CIRCLE" - Hollow circle.
  2198  	//   "OPEN_SQUARE" - Hollow square.
  2199  	//   "OPEN_DIAMOND" - Hollow diamond.
  2200  	EndArrow string `json:"endArrow,omitempty"`
  2201  	// EndConnection: The connection at the end of the line. If unset, there is no
  2202  	// connection. Only lines with a Type indicating it is a "connector" can have
  2203  	// an `end_connection`.
  2204  	EndConnection *LineConnection `json:"endConnection,omitempty"`
  2205  	// LineFill: The fill of the line. The default line fill matches the defaults
  2206  	// for new lines created in the Slides editor.
  2207  	LineFill *LineFill `json:"lineFill,omitempty"`
  2208  	// Link: The hyperlink destination of the line. If unset, there is no link.
  2209  	Link *Link `json:"link,omitempty"`
  2210  	// StartArrow: The style of the arrow at the beginning of the line.
  2211  	//
  2212  	// Possible values:
  2213  	//   "ARROW_STYLE_UNSPECIFIED" - An unspecified arrow style.
  2214  	//   "NONE" - No arrow.
  2215  	//   "STEALTH_ARROW" - Arrow with notched back. Corresponds to ECMA-376
  2216  	// ST_LineEndType value 'stealth'.
  2217  	//   "FILL_ARROW" - Filled arrow. Corresponds to ECMA-376 ST_LineEndType value
  2218  	// 'triangle'.
  2219  	//   "FILL_CIRCLE" - Filled circle. Corresponds to ECMA-376 ST_LineEndType
  2220  	// value 'oval'.
  2221  	//   "FILL_SQUARE" - Filled square.
  2222  	//   "FILL_DIAMOND" - Filled diamond. Corresponds to ECMA-376 ST_LineEndType
  2223  	// value 'diamond'.
  2224  	//   "OPEN_ARROW" - Hollow arrow.
  2225  	//   "OPEN_CIRCLE" - Hollow circle.
  2226  	//   "OPEN_SQUARE" - Hollow square.
  2227  	//   "OPEN_DIAMOND" - Hollow diamond.
  2228  	StartArrow string `json:"startArrow,omitempty"`
  2229  	// StartConnection: The connection at the beginning of the line. If unset,
  2230  	// there is no connection. Only lines with a Type indicating it is a
  2231  	// "connector" can have a `start_connection`.
  2232  	StartConnection *LineConnection `json:"startConnection,omitempty"`
  2233  	// Weight: The thickness of the line.
  2234  	Weight *Dimension `json:"weight,omitempty"`
  2235  	// ForceSendFields is a list of field names (e.g. "DashStyle") to
  2236  	// unconditionally include in API requests. By default, fields with empty or
  2237  	// default values are omitted from API requests. See
  2238  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2239  	// details.
  2240  	ForceSendFields []string `json:"-"`
  2241  	// NullFields is a list of field names (e.g. "DashStyle") to include in API
  2242  	// requests with the JSON null value. By default, fields with empty values are
  2243  	// omitted from API requests. See
  2244  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2245  	NullFields []string `json:"-"`
  2246  }
  2247  
  2248  func (s *LineProperties) MarshalJSON() ([]byte, error) {
  2249  	type NoMethod LineProperties
  2250  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2251  }
  2252  
  2253  // Link: A hypertext link.
  2254  type Link struct {
  2255  	// PageObjectId: If set, indicates this is a link to the specific page in this
  2256  	// presentation with this ID. A page with this ID may not exist.
  2257  	PageObjectId string `json:"pageObjectId,omitempty"`
  2258  	// RelativeLink: If set, indicates this is a link to a slide in this
  2259  	// presentation, addressed by its position.
  2260  	//
  2261  	// Possible values:
  2262  	//   "RELATIVE_SLIDE_LINK_UNSPECIFIED" - An unspecified relative slide link.
  2263  	//   "NEXT_SLIDE" - A link to the next slide.
  2264  	//   "PREVIOUS_SLIDE" - A link to the previous slide.
  2265  	//   "FIRST_SLIDE" - A link to the first slide in the presentation.
  2266  	//   "LAST_SLIDE" - A link to the last slide in the presentation.
  2267  	RelativeLink string `json:"relativeLink,omitempty"`
  2268  	// SlideIndex: If set, indicates this is a link to the slide at this zero-based
  2269  	// index in the presentation. There may not be a slide at this index.
  2270  	SlideIndex int64 `json:"slideIndex,omitempty"`
  2271  	// Url: If set, indicates this is a link to the external web page at this URL.
  2272  	Url string `json:"url,omitempty"`
  2273  	// ForceSendFields is a list of field names (e.g. "PageObjectId") to
  2274  	// unconditionally include in API requests. By default, fields with empty or
  2275  	// default values are omitted from API requests. See
  2276  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2277  	// details.
  2278  	ForceSendFields []string `json:"-"`
  2279  	// NullFields is a list of field names (e.g. "PageObjectId") to include in API
  2280  	// requests with the JSON null value. By default, fields with empty values are
  2281  	// omitted from API requests. See
  2282  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2283  	NullFields []string `json:"-"`
  2284  }
  2285  
  2286  func (s *Link) MarshalJSON() ([]byte, error) {
  2287  	type NoMethod Link
  2288  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2289  }
  2290  
  2291  // List: A List describes the look and feel of bullets belonging to paragraphs
  2292  // associated with a list. A paragraph that is part of a list has an implicit
  2293  // reference to that list's ID.
  2294  type List struct {
  2295  	// ListId: The ID of the list.
  2296  	ListId string `json:"listId,omitempty"`
  2297  	// NestingLevel: A map of nesting levels to the properties of bullets at the
  2298  	// associated level. A list has at most nine levels of nesting, so the possible
  2299  	// values for the keys of this map are 0 through 8, inclusive.
  2300  	NestingLevel map[string]NestingLevel `json:"nestingLevel,omitempty"`
  2301  	// ForceSendFields is a list of field names (e.g. "ListId") to unconditionally
  2302  	// include in API requests. By default, fields with empty or default values are
  2303  	// omitted from API requests. See
  2304  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2305  	// details.
  2306  	ForceSendFields []string `json:"-"`
  2307  	// NullFields is a list of field names (e.g. "ListId") to include in API
  2308  	// requests with the JSON null value. By default, fields with empty values are
  2309  	// omitted from API requests. See
  2310  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2311  	NullFields []string `json:"-"`
  2312  }
  2313  
  2314  func (s *List) MarshalJSON() ([]byte, error) {
  2315  	type NoMethod List
  2316  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2317  }
  2318  
  2319  // MasterProperties: The properties of Page that are only relevant for pages
  2320  // with page_type MASTER.
  2321  type MasterProperties struct {
  2322  	// DisplayName: The human-readable name of the master.
  2323  	DisplayName string `json:"displayName,omitempty"`
  2324  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  2325  	// unconditionally include in API requests. By default, fields with empty or
  2326  	// default values are omitted from API requests. See
  2327  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2328  	// details.
  2329  	ForceSendFields []string `json:"-"`
  2330  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  2331  	// requests with the JSON null value. By default, fields with empty values are
  2332  	// omitted from API requests. See
  2333  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2334  	NullFields []string `json:"-"`
  2335  }
  2336  
  2337  func (s *MasterProperties) MarshalJSON() ([]byte, error) {
  2338  	type NoMethod MasterProperties
  2339  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2340  }
  2341  
  2342  // MergeTableCellsRequest: Merges cells in a Table.
  2343  type MergeTableCellsRequest struct {
  2344  	// ObjectId: The object ID of the table.
  2345  	ObjectId string `json:"objectId,omitempty"`
  2346  	// TableRange: The table range specifying which cells of the table to merge.
  2347  	// Any text in the cells being merged will be concatenated and stored in the
  2348  	// upper-left ("head") cell of the range. If the range is non-rectangular
  2349  	// (which can occur in some cases where the range covers cells that are already
  2350  	// merged), a 400 bad request error is returned.
  2351  	TableRange *TableRange `json:"tableRange,omitempty"`
  2352  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  2353  	// unconditionally include in API requests. By default, fields with empty or
  2354  	// default values are omitted from API requests. See
  2355  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2356  	// details.
  2357  	ForceSendFields []string `json:"-"`
  2358  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  2359  	// requests with the JSON null value. By default, fields with empty values are
  2360  	// omitted from API requests. See
  2361  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2362  	NullFields []string `json:"-"`
  2363  }
  2364  
  2365  func (s *MergeTableCellsRequest) MarshalJSON() ([]byte, error) {
  2366  	type NoMethod MergeTableCellsRequest
  2367  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2368  }
  2369  
  2370  // NestingLevel: Contains properties describing the look and feel of a list
  2371  // bullet at a given level of nesting.
  2372  type NestingLevel struct {
  2373  	// BulletStyle: The style of a bullet at this level of nesting.
  2374  	BulletStyle *TextStyle `json:"bulletStyle,omitempty"`
  2375  	// ForceSendFields is a list of field names (e.g. "BulletStyle") to
  2376  	// unconditionally include in API requests. By default, fields with empty or
  2377  	// default values are omitted from API requests. See
  2378  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2379  	// details.
  2380  	ForceSendFields []string `json:"-"`
  2381  	// NullFields is a list of field names (e.g. "BulletStyle") to include in API
  2382  	// requests with the JSON null value. By default, fields with empty values are
  2383  	// omitted from API requests. See
  2384  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2385  	NullFields []string `json:"-"`
  2386  }
  2387  
  2388  func (s *NestingLevel) MarshalJSON() ([]byte, error) {
  2389  	type NoMethod NestingLevel
  2390  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2391  }
  2392  
  2393  // NotesProperties: The properties of Page that are only relevant for pages
  2394  // with page_type NOTES.
  2395  type NotesProperties struct {
  2396  	// SpeakerNotesObjectId: The object ID of the shape on this notes page that
  2397  	// contains the speaker notes for the corresponding slide. The actual shape may
  2398  	// not always exist on the notes page. Inserting text using this object ID will
  2399  	// automatically create the shape. In this case, the actual shape may have
  2400  	// different object ID. The `GetPresentation` or `GetPage` action will always
  2401  	// return the latest object ID.
  2402  	SpeakerNotesObjectId string `json:"speakerNotesObjectId,omitempty"`
  2403  	// ForceSendFields is a list of field names (e.g. "SpeakerNotesObjectId") to
  2404  	// unconditionally include in API requests. By default, fields with empty or
  2405  	// default values are omitted from API requests. See
  2406  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2407  	// details.
  2408  	ForceSendFields []string `json:"-"`
  2409  	// NullFields is a list of field names (e.g. "SpeakerNotesObjectId") to include
  2410  	// in API requests with the JSON null value. By default, fields with empty
  2411  	// values are omitted from API requests. See
  2412  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2413  	NullFields []string `json:"-"`
  2414  }
  2415  
  2416  func (s *NotesProperties) MarshalJSON() ([]byte, error) {
  2417  	type NoMethod NotesProperties
  2418  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2419  }
  2420  
  2421  // OpaqueColor: A themeable solid color value.
  2422  type OpaqueColor struct {
  2423  	// RgbColor: An opaque RGB color.
  2424  	RgbColor *RgbColor `json:"rgbColor,omitempty"`
  2425  	// ThemeColor: An opaque theme color.
  2426  	//
  2427  	// Possible values:
  2428  	//   "THEME_COLOR_TYPE_UNSPECIFIED" - Unspecified theme color. This value
  2429  	// should not be used.
  2430  	//   "DARK1" - Represents the first dark color.
  2431  	//   "LIGHT1" - Represents the first light color.
  2432  	//   "DARK2" - Represents the second dark color.
  2433  	//   "LIGHT2" - Represents the second light color.
  2434  	//   "ACCENT1" - Represents the first accent color.
  2435  	//   "ACCENT2" - Represents the second accent color.
  2436  	//   "ACCENT3" - Represents the third accent color.
  2437  	//   "ACCENT4" - Represents the fourth accent color.
  2438  	//   "ACCENT5" - Represents the fifth accent color.
  2439  	//   "ACCENT6" - Represents the sixth accent color.
  2440  	//   "HYPERLINK" - Represents the color to use for hyperlinks.
  2441  	//   "FOLLOWED_HYPERLINK" - Represents the color to use for visited hyperlinks.
  2442  	//   "TEXT1" - Represents the first text color.
  2443  	//   "BACKGROUND1" - Represents the first background color.
  2444  	//   "TEXT2" - Represents the second text color.
  2445  	//   "BACKGROUND2" - Represents the second background color.
  2446  	ThemeColor string `json:"themeColor,omitempty"`
  2447  	// ForceSendFields is a list of field names (e.g. "RgbColor") to
  2448  	// unconditionally include in API requests. By default, fields with empty or
  2449  	// default values are omitted from API requests. See
  2450  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2451  	// details.
  2452  	ForceSendFields []string `json:"-"`
  2453  	// NullFields is a list of field names (e.g. "RgbColor") to include in API
  2454  	// requests with the JSON null value. By default, fields with empty values are
  2455  	// omitted from API requests. See
  2456  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2457  	NullFields []string `json:"-"`
  2458  }
  2459  
  2460  func (s *OpaqueColor) MarshalJSON() ([]byte, error) {
  2461  	type NoMethod OpaqueColor
  2462  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2463  }
  2464  
  2465  // OptionalColor: A color that can either be fully opaque or fully transparent.
  2466  type OptionalColor struct {
  2467  	// OpaqueColor: If set, this will be used as an opaque color. If unset, this
  2468  	// represents a transparent color.
  2469  	OpaqueColor *OpaqueColor `json:"opaqueColor,omitempty"`
  2470  	// ForceSendFields is a list of field names (e.g. "OpaqueColor") to
  2471  	// unconditionally include in API requests. By default, fields with empty or
  2472  	// default values are omitted from API requests. See
  2473  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2474  	// details.
  2475  	ForceSendFields []string `json:"-"`
  2476  	// NullFields is a list of field names (e.g. "OpaqueColor") to include in API
  2477  	// requests with the JSON null value. By default, fields with empty values are
  2478  	// omitted from API requests. See
  2479  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2480  	NullFields []string `json:"-"`
  2481  }
  2482  
  2483  func (s *OptionalColor) MarshalJSON() ([]byte, error) {
  2484  	type NoMethod OptionalColor
  2485  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2486  }
  2487  
  2488  // Outline: The outline of a PageElement. If these fields are unset, they may
  2489  // be inherited from a parent placeholder if it exists. If there is no parent,
  2490  // the fields will default to the value used for new page elements created in
  2491  // the Slides editor, which may depend on the page element kind.
  2492  type Outline struct {
  2493  	// DashStyle: The dash style of the outline.
  2494  	//
  2495  	// Possible values:
  2496  	//   "DASH_STYLE_UNSPECIFIED" - Unspecified dash style.
  2497  	//   "SOLID" - Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value
  2498  	// 'solid'. This is the default dash style.
  2499  	//   "DOT" - Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value
  2500  	// 'dot'.
  2501  	//   "DASH" - Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value
  2502  	// 'dash'.
  2503  	//   "DASH_DOT" - Alternating dashes and dots. Corresponds to ECMA-376
  2504  	// ST_PresetLineDashVal value 'dashDot'.
  2505  	//   "LONG_DASH" - Line with large dashes. Corresponds to ECMA-376
  2506  	// ST_PresetLineDashVal value 'lgDash'.
  2507  	//   "LONG_DASH_DOT" - Alternating large dashes and dots. Corresponds to
  2508  	// ECMA-376 ST_PresetLineDashVal value 'lgDashDot'.
  2509  	DashStyle string `json:"dashStyle,omitempty"`
  2510  	// OutlineFill: The fill of the outline.
  2511  	OutlineFill *OutlineFill `json:"outlineFill,omitempty"`
  2512  	// PropertyState: The outline property state. Updating the outline on a page
  2513  	// element will implicitly update this field to `RENDERED`, unless another
  2514  	// value is specified in the same request. To have no outline on a page
  2515  	// element, set this field to `NOT_RENDERED`. In this case, any other outline
  2516  	// fields set in the same request will be ignored.
  2517  	//
  2518  	// Possible values:
  2519  	//   "RENDERED" - If a property's state is RENDERED, then the element has the
  2520  	// corresponding property when rendered on a page. If the element is a
  2521  	// placeholder shape as determined by the placeholder field, and it inherits
  2522  	// from a placeholder shape, the corresponding field may be unset, meaning that
  2523  	// the property value is inherited from a parent placeholder. If the element
  2524  	// does not inherit, then the field will contain the rendered value. This is
  2525  	// the default value.
  2526  	//   "NOT_RENDERED" - If a property's state is NOT_RENDERED, then the element
  2527  	// does not have the corresponding property when rendered on a page. However,
  2528  	// the field may still be set so it can be inherited by child shapes. To remove
  2529  	// a property from a rendered element, set its property_state to NOT_RENDERED.
  2530  	//   "INHERIT" - If a property's state is INHERIT, then the property state uses
  2531  	// the value of corresponding `property_state` field on the parent shape.
  2532  	// Elements that do not inherit will never have an INHERIT property state.
  2533  	PropertyState string `json:"propertyState,omitempty"`
  2534  	// Weight: The thickness of the outline.
  2535  	Weight *Dimension `json:"weight,omitempty"`
  2536  	// ForceSendFields is a list of field names (e.g. "DashStyle") to
  2537  	// unconditionally include in API requests. By default, fields with empty or
  2538  	// default values are omitted from API requests. See
  2539  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2540  	// details.
  2541  	ForceSendFields []string `json:"-"`
  2542  	// NullFields is a list of field names (e.g. "DashStyle") to include in API
  2543  	// requests with the JSON null value. By default, fields with empty values are
  2544  	// omitted from API requests. See
  2545  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2546  	NullFields []string `json:"-"`
  2547  }
  2548  
  2549  func (s *Outline) MarshalJSON() ([]byte, error) {
  2550  	type NoMethod Outline
  2551  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2552  }
  2553  
  2554  // OutlineFill: The fill of the outline.
  2555  type OutlineFill struct {
  2556  	// SolidFill: Solid color fill.
  2557  	SolidFill *SolidFill `json:"solidFill,omitempty"`
  2558  	// ForceSendFields is a list of field names (e.g. "SolidFill") to
  2559  	// unconditionally include in API requests. By default, fields with empty or
  2560  	// default values are omitted from API requests. See
  2561  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2562  	// details.
  2563  	ForceSendFields []string `json:"-"`
  2564  	// NullFields is a list of field names (e.g. "SolidFill") to include in API
  2565  	// requests with the JSON null value. By default, fields with empty values are
  2566  	// omitted from API requests. See
  2567  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2568  	NullFields []string `json:"-"`
  2569  }
  2570  
  2571  func (s *OutlineFill) MarshalJSON() ([]byte, error) {
  2572  	type NoMethod OutlineFill
  2573  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2574  }
  2575  
  2576  // Page: A page in a presentation.
  2577  type Page struct {
  2578  	// LayoutProperties: Layout specific properties. Only set if page_type =
  2579  	// LAYOUT.
  2580  	LayoutProperties *LayoutProperties `json:"layoutProperties,omitempty"`
  2581  	// MasterProperties: Master specific properties. Only set if page_type =
  2582  	// MASTER.
  2583  	MasterProperties *MasterProperties `json:"masterProperties,omitempty"`
  2584  	// NotesProperties: Notes specific properties. Only set if page_type = NOTES.
  2585  	NotesProperties *NotesProperties `json:"notesProperties,omitempty"`
  2586  	// ObjectId: The object ID for this page. Object IDs used by Page and
  2587  	// PageElement share the same namespace.
  2588  	ObjectId string `json:"objectId,omitempty"`
  2589  	// PageElements: The page elements rendered on the page.
  2590  	PageElements []*PageElement `json:"pageElements,omitempty"`
  2591  	// PageProperties: The properties of the page.
  2592  	PageProperties *PageProperties `json:"pageProperties,omitempty"`
  2593  	// PageType: The type of the page.
  2594  	//
  2595  	// Possible values:
  2596  	//   "SLIDE" - A slide page.
  2597  	//   "MASTER" - A master slide page.
  2598  	//   "LAYOUT" - A layout page.
  2599  	//   "NOTES" - A notes page.
  2600  	//   "NOTES_MASTER" - A notes master page.
  2601  	PageType string `json:"pageType,omitempty"`
  2602  	// RevisionId: Output only. The revision ID of the presentation. Can be used in
  2603  	// update requests to assert the presentation revision hasn't changed since the
  2604  	// last read operation. Only populated if the user has edit access to the
  2605  	// presentation. The revision ID is not a sequential number but an opaque
  2606  	// string. The format of the revision ID might change over time. A returned
  2607  	// revision ID is only guaranteed to be valid for 24 hours after it has been
  2608  	// returned and cannot be shared across users. If the revision ID is unchanged
  2609  	// between calls, then the presentation has not changed. Conversely, a changed
  2610  	// ID (for the same presentation and user) usually means the presentation has
  2611  	// been updated. However, a changed ID can also be due to internal factors such
  2612  	// as ID format changes.
  2613  	RevisionId string `json:"revisionId,omitempty"`
  2614  	// SlideProperties: Slide specific properties. Only set if page_type = SLIDE.
  2615  	SlideProperties *SlideProperties `json:"slideProperties,omitempty"`
  2616  
  2617  	// ServerResponse contains the HTTP response code and headers from the server.
  2618  	googleapi.ServerResponse `json:"-"`
  2619  	// ForceSendFields is a list of field names (e.g. "LayoutProperties") to
  2620  	// unconditionally include in API requests. By default, fields with empty or
  2621  	// default values are omitted from API requests. See
  2622  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2623  	// details.
  2624  	ForceSendFields []string `json:"-"`
  2625  	// NullFields is a list of field names (e.g. "LayoutProperties") to include in
  2626  	// API requests with the JSON null value. By default, fields with empty values
  2627  	// are omitted from API requests. See
  2628  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2629  	NullFields []string `json:"-"`
  2630  }
  2631  
  2632  func (s *Page) MarshalJSON() ([]byte, error) {
  2633  	type NoMethod Page
  2634  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2635  }
  2636  
  2637  // PageBackgroundFill: The page background fill.
  2638  type PageBackgroundFill struct {
  2639  	// PropertyState: The background fill property state. Updating the fill on a
  2640  	// page will implicitly update this field to `RENDERED`, unless another value
  2641  	// is specified in the same request. To have no fill on a page, set this field
  2642  	// to `NOT_RENDERED`. In this case, any other fill fields set in the same
  2643  	// request will be ignored.
  2644  	//
  2645  	// Possible values:
  2646  	//   "RENDERED" - If a property's state is RENDERED, then the element has the
  2647  	// corresponding property when rendered on a page. If the element is a
  2648  	// placeholder shape as determined by the placeholder field, and it inherits
  2649  	// from a placeholder shape, the corresponding field may be unset, meaning that
  2650  	// the property value is inherited from a parent placeholder. If the element
  2651  	// does not inherit, then the field will contain the rendered value. This is
  2652  	// the default value.
  2653  	//   "NOT_RENDERED" - If a property's state is NOT_RENDERED, then the element
  2654  	// does not have the corresponding property when rendered on a page. However,
  2655  	// the field may still be set so it can be inherited by child shapes. To remove
  2656  	// a property from a rendered element, set its property_state to NOT_RENDERED.
  2657  	//   "INHERIT" - If a property's state is INHERIT, then the property state uses
  2658  	// the value of corresponding `property_state` field on the parent shape.
  2659  	// Elements that do not inherit will never have an INHERIT property state.
  2660  	PropertyState string `json:"propertyState,omitempty"`
  2661  	// SolidFill: Solid color fill.
  2662  	SolidFill *SolidFill `json:"solidFill,omitempty"`
  2663  	// StretchedPictureFill: Stretched picture fill.
  2664  	StretchedPictureFill *StretchedPictureFill `json:"stretchedPictureFill,omitempty"`
  2665  	// ForceSendFields is a list of field names (e.g. "PropertyState") to
  2666  	// unconditionally include in API requests. By default, fields with empty or
  2667  	// default values are omitted from API requests. See
  2668  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2669  	// details.
  2670  	ForceSendFields []string `json:"-"`
  2671  	// NullFields is a list of field names (e.g. "PropertyState") to include in API
  2672  	// requests with the JSON null value. By default, fields with empty values are
  2673  	// omitted from API requests. See
  2674  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2675  	NullFields []string `json:"-"`
  2676  }
  2677  
  2678  func (s *PageBackgroundFill) MarshalJSON() ([]byte, error) {
  2679  	type NoMethod PageBackgroundFill
  2680  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2681  }
  2682  
  2683  // PageElement: A visual element rendered on a page.
  2684  type PageElement struct {
  2685  	// Description: The description of the page element. Combined with title to
  2686  	// display alt text. The field is not supported for Group elements.
  2687  	Description string `json:"description,omitempty"`
  2688  	// ElementGroup: A collection of page elements joined as a single unit.
  2689  	ElementGroup *Group `json:"elementGroup,omitempty"`
  2690  	// Image: An image page element.
  2691  	Image *Image `json:"image,omitempty"`
  2692  	// Line: A line page element.
  2693  	Line *Line `json:"line,omitempty"`
  2694  	// ObjectId: The object ID for this page element. Object IDs used by
  2695  	// google.apps.slides.v1.Page and google.apps.slides.v1.PageElement share the
  2696  	// same namespace.
  2697  	ObjectId string `json:"objectId,omitempty"`
  2698  	// Shape: A generic shape.
  2699  	Shape *Shape `json:"shape,omitempty"`
  2700  	// SheetsChart: A linked chart embedded from Google Sheets. Unlinked charts are
  2701  	// represented as images.
  2702  	SheetsChart *SheetsChart `json:"sheetsChart,omitempty"`
  2703  	// Size: The size of the page element.
  2704  	Size *Size `json:"size,omitempty"`
  2705  	// SpeakerSpotlight: A Speaker Spotlight.
  2706  	SpeakerSpotlight *SpeakerSpotlight `json:"speakerSpotlight,omitempty"`
  2707  	// Table: A table page element.
  2708  	Table *Table `json:"table,omitempty"`
  2709  	// Title: The title of the page element. Combined with description to display
  2710  	// alt text. The field is not supported for Group elements.
  2711  	Title string `json:"title,omitempty"`
  2712  	// Transform: The transform of the page element. The visual appearance of the
  2713  	// page element is determined by its absolute transform. To compute the
  2714  	// absolute transform, preconcatenate a page element's transform with the
  2715  	// transforms of all of its parent groups. If the page element is not in a
  2716  	// group, its absolute transform is the same as the value in this field. The
  2717  	// initial transform for the newly created Group is always the identity
  2718  	// transform.
  2719  	Transform *AffineTransform `json:"transform,omitempty"`
  2720  	// Video: A video page element.
  2721  	Video *Video `json:"video,omitempty"`
  2722  	// WordArt: A word art page element.
  2723  	WordArt *WordArt `json:"wordArt,omitempty"`
  2724  	// ForceSendFields is a list of field names (e.g. "Description") to
  2725  	// unconditionally include in API requests. By default, fields with empty or
  2726  	// default values are omitted from API requests. See
  2727  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2728  	// details.
  2729  	ForceSendFields []string `json:"-"`
  2730  	// NullFields is a list of field names (e.g. "Description") to include in API
  2731  	// requests with the JSON null value. By default, fields with empty values are
  2732  	// omitted from API requests. See
  2733  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2734  	NullFields []string `json:"-"`
  2735  }
  2736  
  2737  func (s *PageElement) MarshalJSON() ([]byte, error) {
  2738  	type NoMethod PageElement
  2739  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2740  }
  2741  
  2742  // PageElementProperties: Common properties for a page element. Note: When you
  2743  // initially create a PageElement, the API may modify the values of both `size`
  2744  // and `transform`, but the visual size will be unchanged.
  2745  type PageElementProperties struct {
  2746  	// PageObjectId: The object ID of the page where the element is located.
  2747  	PageObjectId string `json:"pageObjectId,omitempty"`
  2748  	// Size: The size of the element.
  2749  	Size *Size `json:"size,omitempty"`
  2750  	// Transform: The transform for the element.
  2751  	Transform *AffineTransform `json:"transform,omitempty"`
  2752  	// ForceSendFields is a list of field names (e.g. "PageObjectId") to
  2753  	// unconditionally include in API requests. By default, fields with empty or
  2754  	// default values are omitted from API requests. See
  2755  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2756  	// details.
  2757  	ForceSendFields []string `json:"-"`
  2758  	// NullFields is a list of field names (e.g. "PageObjectId") to include in API
  2759  	// requests with the JSON null value. By default, fields with empty values are
  2760  	// omitted from API requests. See
  2761  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2762  	NullFields []string `json:"-"`
  2763  }
  2764  
  2765  func (s *PageElementProperties) MarshalJSON() ([]byte, error) {
  2766  	type NoMethod PageElementProperties
  2767  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2768  }
  2769  
  2770  // PageProperties: The properties of the Page. The page will inherit properties
  2771  // from the parent page. Depending on the page type the hierarchy is defined in
  2772  // either SlideProperties or LayoutProperties.
  2773  type PageProperties struct {
  2774  	// ColorScheme: The color scheme of the page. If unset, the color scheme is
  2775  	// inherited from a parent page. If the page has no parent, the color scheme
  2776  	// uses a default Slides color scheme, matching the defaults in the Slides
  2777  	// editor. Only the concrete colors of the first 12 ThemeColorTypes are
  2778  	// editable. In addition, only the color scheme on `Master` pages can be
  2779  	// updated. To update the field, a color scheme containing mappings from all
  2780  	// the first 12 ThemeColorTypes to their concrete colors must be provided.
  2781  	// Colors for the remaining ThemeColorTypes will be ignored.
  2782  	ColorScheme *ColorScheme `json:"colorScheme,omitempty"`
  2783  	// PageBackgroundFill: The background fill of the page. If unset, the
  2784  	// background fill is inherited from a parent page if it exists. If the page
  2785  	// has no parent, then the background fill defaults to the corresponding fill
  2786  	// in the Slides editor.
  2787  	PageBackgroundFill *PageBackgroundFill `json:"pageBackgroundFill,omitempty"`
  2788  	// ForceSendFields is a list of field names (e.g. "ColorScheme") to
  2789  	// unconditionally include in API requests. By default, fields with empty or
  2790  	// default values are omitted from API requests. See
  2791  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2792  	// details.
  2793  	ForceSendFields []string `json:"-"`
  2794  	// NullFields is a list of field names (e.g. "ColorScheme") to include in API
  2795  	// requests with the JSON null value. By default, fields with empty values are
  2796  	// omitted from API requests. See
  2797  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2798  	NullFields []string `json:"-"`
  2799  }
  2800  
  2801  func (s *PageProperties) MarshalJSON() ([]byte, error) {
  2802  	type NoMethod PageProperties
  2803  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2804  }
  2805  
  2806  // ParagraphMarker: A TextElement kind that represents the beginning of a new
  2807  // paragraph.
  2808  type ParagraphMarker struct {
  2809  	// Bullet: The bullet for this paragraph. If not present, the paragraph does
  2810  	// not belong to a list.
  2811  	Bullet *Bullet `json:"bullet,omitempty"`
  2812  	// Style: The paragraph's style
  2813  	Style *ParagraphStyle `json:"style,omitempty"`
  2814  	// ForceSendFields is a list of field names (e.g. "Bullet") to unconditionally
  2815  	// include in API requests. By default, fields with empty or default values are
  2816  	// omitted from API requests. See
  2817  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2818  	// details.
  2819  	ForceSendFields []string `json:"-"`
  2820  	// NullFields is a list of field names (e.g. "Bullet") to include in API
  2821  	// requests with the JSON null value. By default, fields with empty values are
  2822  	// omitted from API requests. See
  2823  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2824  	NullFields []string `json:"-"`
  2825  }
  2826  
  2827  func (s *ParagraphMarker) MarshalJSON() ([]byte, error) {
  2828  	type NoMethod ParagraphMarker
  2829  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2830  }
  2831  
  2832  // ParagraphStyle: Styles that apply to a whole paragraph. If this text is
  2833  // contained in a shape with a parent placeholder, then these paragraph styles
  2834  // may be inherited from the parent. Which paragraph styles are inherited
  2835  // depend on the nesting level of lists: * A paragraph not in a list will
  2836  // inherit its paragraph style from the paragraph at the 0 nesting level of the
  2837  // list inside the parent placeholder. * A paragraph in a list will inherit its
  2838  // paragraph style from the paragraph at its corresponding nesting level of the
  2839  // list inside the parent placeholder. Inherited paragraph styles are
  2840  // represented as unset fields in this message.
  2841  type ParagraphStyle struct {
  2842  	// Alignment: The text alignment for this paragraph.
  2843  	//
  2844  	// Possible values:
  2845  	//   "ALIGNMENT_UNSPECIFIED" - The paragraph alignment is inherited from the
  2846  	// parent.
  2847  	//   "START" - The paragraph is aligned to the start of the line. Left-aligned
  2848  	// for LTR text, right-aligned otherwise.
  2849  	//   "CENTER" - The paragraph is centered.
  2850  	//   "END" - The paragraph is aligned to the end of the line. Right-aligned for
  2851  	// LTR text, left-aligned otherwise.
  2852  	//   "JUSTIFIED" - The paragraph is justified.
  2853  	Alignment string `json:"alignment,omitempty"`
  2854  	// Direction: The text direction of this paragraph. If unset, the value
  2855  	// defaults to LEFT_TO_RIGHT since text direction is not inherited.
  2856  	//
  2857  	// Possible values:
  2858  	//   "TEXT_DIRECTION_UNSPECIFIED" - The text direction is inherited from the
  2859  	// parent.
  2860  	//   "LEFT_TO_RIGHT" - The text goes from left to right.
  2861  	//   "RIGHT_TO_LEFT" - The text goes from right to left.
  2862  	Direction string `json:"direction,omitempty"`
  2863  	// IndentEnd: The amount indentation for the paragraph on the side that
  2864  	// corresponds to the end of the text, based on the current text direction. If
  2865  	// unset, the value is inherited from the parent.
  2866  	IndentEnd *Dimension `json:"indentEnd,omitempty"`
  2867  	// IndentFirstLine: The amount of indentation for the start of the first line
  2868  	// of the paragraph. If unset, the value is inherited from the parent.
  2869  	IndentFirstLine *Dimension `json:"indentFirstLine,omitempty"`
  2870  	// IndentStart: The amount indentation for the paragraph on the side that
  2871  	// corresponds to the start of the text, based on the current text direction.
  2872  	// If unset, the value is inherited from the parent.
  2873  	IndentStart *Dimension `json:"indentStart,omitempty"`
  2874  	// LineSpacing: The amount of space between lines, as a percentage of normal,
  2875  	// where normal is represented as 100.0. If unset, the value is inherited from
  2876  	// the parent.
  2877  	LineSpacing float64 `json:"lineSpacing,omitempty"`
  2878  	// SpaceAbove: The amount of extra space above the paragraph. If unset, the
  2879  	// value is inherited from the parent.
  2880  	SpaceAbove *Dimension `json:"spaceAbove,omitempty"`
  2881  	// SpaceBelow: The amount of extra space below the paragraph. If unset, the
  2882  	// value is inherited from the parent.
  2883  	SpaceBelow *Dimension `json:"spaceBelow,omitempty"`
  2884  	// SpacingMode: The spacing mode for the paragraph.
  2885  	//
  2886  	// Possible values:
  2887  	//   "SPACING_MODE_UNSPECIFIED" - The spacing mode is inherited from the
  2888  	// parent.
  2889  	//   "NEVER_COLLAPSE" - Paragraph spacing is always rendered.
  2890  	//   "COLLAPSE_LISTS" - Paragraph spacing is skipped between list elements.
  2891  	SpacingMode string `json:"spacingMode,omitempty"`
  2892  	// ForceSendFields is a list of field names (e.g. "Alignment") to
  2893  	// unconditionally include in API requests. By default, fields with empty or
  2894  	// default values are omitted from API requests. See
  2895  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2896  	// details.
  2897  	ForceSendFields []string `json:"-"`
  2898  	// NullFields is a list of field names (e.g. "Alignment") to include in API
  2899  	// requests with the JSON null value. By default, fields with empty values are
  2900  	// omitted from API requests. See
  2901  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2902  	NullFields []string `json:"-"`
  2903  }
  2904  
  2905  func (s *ParagraphStyle) MarshalJSON() ([]byte, error) {
  2906  	type NoMethod ParagraphStyle
  2907  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2908  }
  2909  
  2910  func (s *ParagraphStyle) UnmarshalJSON(data []byte) error {
  2911  	type NoMethod ParagraphStyle
  2912  	var s1 struct {
  2913  		LineSpacing gensupport.JSONFloat64 `json:"lineSpacing"`
  2914  		*NoMethod
  2915  	}
  2916  	s1.NoMethod = (*NoMethod)(s)
  2917  	if err := json.Unmarshal(data, &s1); err != nil {
  2918  		return err
  2919  	}
  2920  	s.LineSpacing = float64(s1.LineSpacing)
  2921  	return nil
  2922  }
  2923  
  2924  // Placeholder: The placeholder information that uniquely identifies a
  2925  // placeholder shape.
  2926  type Placeholder struct {
  2927  	// Index: The index of the placeholder. If the same placeholder types are
  2928  	// present in the same page, they would have different index values.
  2929  	Index int64 `json:"index,omitempty"`
  2930  	// ParentObjectId: The object ID of this shape's parent placeholder. If unset,
  2931  	// the parent placeholder shape does not exist, so the shape does not inherit
  2932  	// properties from any other shape.
  2933  	ParentObjectId string `json:"parentObjectId,omitempty"`
  2934  	// Type: The type of the placeholder.
  2935  	//
  2936  	// Possible values:
  2937  	//   "NONE" - Default value, signifies it is not a placeholder.
  2938  	//   "BODY" - Body text.
  2939  	//   "CHART" - Chart or graph.
  2940  	//   "CLIP_ART" - Clip art image.
  2941  	//   "CENTERED_TITLE" - Title centered.
  2942  	//   "DIAGRAM" - Diagram.
  2943  	//   "DATE_AND_TIME" - Date and time.
  2944  	//   "FOOTER" - Footer text.
  2945  	//   "HEADER" - Header text.
  2946  	//   "MEDIA" - Multimedia.
  2947  	//   "OBJECT" - Any content type.
  2948  	//   "PICTURE" - Picture.
  2949  	//   "SLIDE_NUMBER" - Number of a slide.
  2950  	//   "SUBTITLE" - Subtitle.
  2951  	//   "TABLE" - Table.
  2952  	//   "TITLE" - Slide title.
  2953  	//   "SLIDE_IMAGE" - Slide image.
  2954  	Type string `json:"type,omitempty"`
  2955  	// ForceSendFields is a list of field names (e.g. "Index") to unconditionally
  2956  	// include in API requests. By default, fields with empty or default values are
  2957  	// omitted from API requests. See
  2958  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2959  	// details.
  2960  	ForceSendFields []string `json:"-"`
  2961  	// NullFields is a list of field names (e.g. "Index") to include in API
  2962  	// requests with the JSON null value. By default, fields with empty values are
  2963  	// omitted from API requests. See
  2964  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2965  	NullFields []string `json:"-"`
  2966  }
  2967  
  2968  func (s *Placeholder) MarshalJSON() ([]byte, error) {
  2969  	type NoMethod Placeholder
  2970  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2971  }
  2972  
  2973  // Presentation: A Google Slides presentation.
  2974  type Presentation struct {
  2975  	// Layouts: The layouts in the presentation. A layout is a template that
  2976  	// determines how content is arranged and styled on the slides that inherit
  2977  	// from that layout.
  2978  	Layouts []*Page `json:"layouts,omitempty"`
  2979  	// Locale: The locale of the presentation, as an IETF BCP 47 language tag.
  2980  	Locale string `json:"locale,omitempty"`
  2981  	// Masters: The slide masters in the presentation. A slide master contains all
  2982  	// common page elements and the common properties for a set of layouts. They
  2983  	// serve three purposes: - Placeholder shapes on a master contain the default
  2984  	// text styles and shape properties of all placeholder shapes on pages that use
  2985  	// that master. - The master page properties define the common page properties
  2986  	// inherited by its layouts. - Any other shapes on the master slide appear on
  2987  	// all slides using that master, regardless of their layout.
  2988  	Masters []*Page `json:"masters,omitempty"`
  2989  	// NotesMaster: The notes master in the presentation. It serves three purposes:
  2990  	// - Placeholder shapes on a notes master contain the default text styles and
  2991  	// shape properties of all placeholder shapes on notes pages. Specifically, a
  2992  	// `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a `BODY`
  2993  	// placeholder shape contains the speaker notes. - The notes master page
  2994  	// properties define the common page properties inherited by all notes pages. -
  2995  	// Any other shapes on the notes master appear on all notes pages. The notes
  2996  	// master is read-only.
  2997  	NotesMaster *Page `json:"notesMaster,omitempty"`
  2998  	// PageSize: The size of pages in the presentation.
  2999  	PageSize *Size `json:"pageSize,omitempty"`
  3000  	// PresentationId: The ID of the presentation.
  3001  	PresentationId string `json:"presentationId,omitempty"`
  3002  	// RevisionId: Output only. The revision ID of the presentation. Can be used in
  3003  	// update requests to assert the presentation revision hasn't changed since the
  3004  	// last read operation. Only populated if the user has edit access to the
  3005  	// presentation. The revision ID is not a sequential number but a nebulous
  3006  	// string. The format of the revision ID may change over time, so it should be
  3007  	// treated opaquely. A returned revision ID is only guaranteed to be valid for
  3008  	// 24 hours after it has been returned and cannot be shared across users. If
  3009  	// the revision ID is unchanged between calls, then the presentation has not
  3010  	// changed. Conversely, a changed ID (for the same presentation and user)
  3011  	// usually means the presentation has been updated. However, a changed ID can
  3012  	// also be due to internal factors such as ID format changes.
  3013  	RevisionId string `json:"revisionId,omitempty"`
  3014  	// Slides: The slides in the presentation. A slide inherits properties from a
  3015  	// slide layout.
  3016  	Slides []*Page `json:"slides,omitempty"`
  3017  	// Title: The title of the presentation.
  3018  	Title string `json:"title,omitempty"`
  3019  
  3020  	// ServerResponse contains the HTTP response code and headers from the server.
  3021  	googleapi.ServerResponse `json:"-"`
  3022  	// ForceSendFields is a list of field names (e.g. "Layouts") to unconditionally
  3023  	// include in API requests. By default, fields with empty or default values are
  3024  	// omitted from API requests. See
  3025  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3026  	// details.
  3027  	ForceSendFields []string `json:"-"`
  3028  	// NullFields is a list of field names (e.g. "Layouts") to include in API
  3029  	// requests with the JSON null value. By default, fields with empty values are
  3030  	// omitted from API requests. See
  3031  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3032  	NullFields []string `json:"-"`
  3033  }
  3034  
  3035  func (s *Presentation) MarshalJSON() ([]byte, error) {
  3036  	type NoMethod Presentation
  3037  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3038  }
  3039  
  3040  // Range: Specifies a contiguous range of an indexed collection, such as
  3041  // characters in text.
  3042  type Range struct {
  3043  	// EndIndex: The optional zero-based index of the end of the collection.
  3044  	// Required for `FIXED_RANGE` ranges.
  3045  	EndIndex *int64 `json:"endIndex,omitempty"`
  3046  	// StartIndex: The optional zero-based index of the beginning of the
  3047  	// collection. Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges.
  3048  	StartIndex *int64 `json:"startIndex,omitempty"`
  3049  	// Type: The type of range.
  3050  	//
  3051  	// Possible values:
  3052  	//   "RANGE_TYPE_UNSPECIFIED" - Unspecified range type. This value must not be
  3053  	// used.
  3054  	//   "FIXED_RANGE" - A fixed range. Both the `start_index` and `end_index` must
  3055  	// be specified.
  3056  	//   "FROM_START_INDEX" - Starts the range at `start_index` and continues until
  3057  	// the end of the collection. The `end_index` must not be specified.
  3058  	//   "ALL" - Sets the range to be the whole length of the collection. Both the
  3059  	// `start_index` and the `end_index` must not be specified.
  3060  	Type string `json:"type,omitempty"`
  3061  	// ForceSendFields is a list of field names (e.g. "EndIndex") to
  3062  	// unconditionally include in API requests. By default, fields with empty or
  3063  	// default values are omitted from API requests. See
  3064  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3065  	// details.
  3066  	ForceSendFields []string `json:"-"`
  3067  	// NullFields is a list of field names (e.g. "EndIndex") to include in API
  3068  	// requests with the JSON null value. By default, fields with empty values are
  3069  	// omitted from API requests. See
  3070  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3071  	NullFields []string `json:"-"`
  3072  }
  3073  
  3074  func (s *Range) MarshalJSON() ([]byte, error) {
  3075  	type NoMethod Range
  3076  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3077  }
  3078  
  3079  // Recolor: A recolor effect applied on an image.
  3080  type Recolor struct {
  3081  	// Name: The name of the recolor effect. The name is determined from the
  3082  	// `recolor_stops` by matching the gradient against the colors in the page's
  3083  	// current color scheme. This property is read-only.
  3084  	//
  3085  	// Possible values:
  3086  	//   "NONE" - No recolor effect. The default value.
  3087  	//   "LIGHT1" - A recolor effect that lightens the image using the page's first
  3088  	// available color from its color scheme.
  3089  	//   "LIGHT2" - A recolor effect that lightens the image using the page's
  3090  	// second available color from its color scheme.
  3091  	//   "LIGHT3" - A recolor effect that lightens the image using the page's third
  3092  	// available color from its color scheme.
  3093  	//   "LIGHT4" - A recolor effect that lightens the image using the page's forth
  3094  	// available color from its color scheme.
  3095  	//   "LIGHT5" - A recolor effect that lightens the image using the page's fifth
  3096  	// available color from its color scheme.
  3097  	//   "LIGHT6" - A recolor effect that lightens the image using the page's sixth
  3098  	// available color from its color scheme.
  3099  	//   "LIGHT7" - A recolor effect that lightens the image using the page's
  3100  	// seventh available color from its color scheme.
  3101  	//   "LIGHT8" - A recolor effect that lightens the image using the page's
  3102  	// eighth available color from its color scheme.
  3103  	//   "LIGHT9" - A recolor effect that lightens the image using the page's ninth
  3104  	// available color from its color scheme.
  3105  	//   "LIGHT10" - A recolor effect that lightens the image using the page's
  3106  	// tenth available color from its color scheme.
  3107  	//   "DARK1" - A recolor effect that darkens the image using the page's first
  3108  	// available color from its color scheme.
  3109  	//   "DARK2" - A recolor effect that darkens the image using the page's second
  3110  	// available color from its color scheme.
  3111  	//   "DARK3" - A recolor effect that darkens the image using the page's third
  3112  	// available color from its color scheme.
  3113  	//   "DARK4" - A recolor effect that darkens the image using the page's fourth
  3114  	// available color from its color scheme.
  3115  	//   "DARK5" - A recolor effect that darkens the image using the page's fifth
  3116  	// available color from its color scheme.
  3117  	//   "DARK6" - A recolor effect that darkens the image using the page's sixth
  3118  	// available color from its color scheme.
  3119  	//   "DARK7" - A recolor effect that darkens the image using the page's seventh
  3120  	// available color from its color scheme.
  3121  	//   "DARK8" - A recolor effect that darkens the image using the page's eighth
  3122  	// available color from its color scheme.
  3123  	//   "DARK9" - A recolor effect that darkens the image using the page's ninth
  3124  	// available color from its color scheme.
  3125  	//   "DARK10" - A recolor effect that darkens the image using the page's tenth
  3126  	// available color from its color scheme.
  3127  	//   "GRAYSCALE" - A recolor effect that recolors the image to grayscale.
  3128  	//   "NEGATIVE" - A recolor effect that recolors the image to negative
  3129  	// grayscale.
  3130  	//   "SEPIA" - A recolor effect that recolors the image using the sepia color.
  3131  	//   "CUSTOM" - Custom recolor effect. Refer to `recolor_stops` for the
  3132  	// concrete gradient.
  3133  	Name string `json:"name,omitempty"`
  3134  	// RecolorStops: The recolor effect is represented by a gradient, which is a
  3135  	// list of color stops. The colors in the gradient will replace the
  3136  	// corresponding colors at the same position in the color palette and apply to
  3137  	// the image. This property is read-only.
  3138  	RecolorStops []*ColorStop `json:"recolorStops,omitempty"`
  3139  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  3140  	// include in API requests. By default, fields with empty or default values are
  3141  	// omitted from API requests. See
  3142  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3143  	// details.
  3144  	ForceSendFields []string `json:"-"`
  3145  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  3146  	// with the JSON null value. By default, fields with empty values are omitted
  3147  	// from API requests. See
  3148  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3149  	NullFields []string `json:"-"`
  3150  }
  3151  
  3152  func (s *Recolor) MarshalJSON() ([]byte, error) {
  3153  	type NoMethod Recolor
  3154  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3155  }
  3156  
  3157  // RefreshSheetsChartRequest: Refreshes an embedded Google Sheets chart by
  3158  // replacing it with the latest version of the chart from Google Sheets. NOTE:
  3159  // Refreshing charts requires at least one of the spreadsheets.readonly,
  3160  // spreadsheets, drive.readonly, or drive OAuth scopes.
  3161  type RefreshSheetsChartRequest struct {
  3162  	// ObjectId: The object ID of the chart to refresh.
  3163  	ObjectId string `json:"objectId,omitempty"`
  3164  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  3165  	// unconditionally include in API requests. By default, fields with empty or
  3166  	// default values are omitted from API requests. See
  3167  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3168  	// details.
  3169  	ForceSendFields []string `json:"-"`
  3170  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  3171  	// requests with the JSON null value. By default, fields with empty values are
  3172  	// omitted from API requests. See
  3173  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3174  	NullFields []string `json:"-"`
  3175  }
  3176  
  3177  func (s *RefreshSheetsChartRequest) MarshalJSON() ([]byte, error) {
  3178  	type NoMethod RefreshSheetsChartRequest
  3179  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3180  }
  3181  
  3182  // ReplaceAllShapesWithImageRequest: Replaces all shapes that match the given
  3183  // criteria with the provided image. The images replacing the shapes are
  3184  // rectangular after being inserted into the presentation and do not take on
  3185  // the forms of the shapes.
  3186  type ReplaceAllShapesWithImageRequest struct {
  3187  	// ContainsText: If set, this request will replace all of the shapes that
  3188  	// contain the given text.
  3189  	ContainsText *SubstringMatchCriteria `json:"containsText,omitempty"`
  3190  	// ImageReplaceMethod: The image replace method. If you specify both a
  3191  	// `replace_method` and an `image_replace_method`, the `image_replace_method`
  3192  	// takes precedence. If you do not specify a value for `image_replace_method`,
  3193  	// but specify a value for `replace_method`, then the specified
  3194  	// `replace_method` value is used. If you do not specify either, then
  3195  	// CENTER_INSIDE is used.
  3196  	//
  3197  	// Possible values:
  3198  	//   "IMAGE_REPLACE_METHOD_UNSPECIFIED" - Unspecified image replace method.
  3199  	// This value must not be used.
  3200  	//   "CENTER_INSIDE" - Scales and centers the image to fit within the bounds of
  3201  	// the original shape and maintains the image's aspect ratio. The rendered size
  3202  	// of the image may be smaller than the size of the shape. This is the default
  3203  	// method when one is not specified.
  3204  	//   "CENTER_CROP" - Scales and centers the image to fill the bounds of the
  3205  	// original shape. The image may be cropped in order to fill the shape. The
  3206  	// rendered size of the image will be the same as the original shape.
  3207  	ImageReplaceMethod string `json:"imageReplaceMethod,omitempty"`
  3208  	// ImageUrl: The image URL. The image is fetched once at insertion time and a
  3209  	// copy is stored for display inside the presentation. Images must be less than
  3210  	// 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG,
  3211  	// or GIF format. The provided URL can be at most 2 kB in length. The URL
  3212  	// itself is saved with the image, and exposed via the Image.source_url field.
  3213  	ImageUrl string `json:"imageUrl,omitempty"`
  3214  	// PageObjectIds: If non-empty, limits the matches to page elements only on the
  3215  	// given pages. Returns a 400 bad request error if given the page object ID of
  3216  	// a notes page or a notes master, or if a page with that object ID doesn't
  3217  	// exist in the presentation.
  3218  	PageObjectIds []string `json:"pageObjectIds,omitempty"`
  3219  	// ReplaceMethod: The replace method. *Deprecated*: use `image_replace_method`
  3220  	// instead. If you specify both a `replace_method` and an
  3221  	// `image_replace_method`, the `image_replace_method` takes precedence.
  3222  	//
  3223  	// Possible values:
  3224  	//   "CENTER_INSIDE" - Scales and centers the image to fit within the bounds of
  3225  	// the original shape and maintains the image's aspect ratio. The rendered size
  3226  	// of the image may be smaller than the size of the shape. This is the default
  3227  	// method when one is not specified.
  3228  	//   "CENTER_CROP" - Scales and centers the image to fill the bounds of the
  3229  	// original shape. The image may be cropped in order to fill the shape. The
  3230  	// rendered size of the image will be the same as that of the original shape.
  3231  	ReplaceMethod string `json:"replaceMethod,omitempty"`
  3232  	// ForceSendFields is a list of field names (e.g. "ContainsText") to
  3233  	// unconditionally include in API requests. By default, fields with empty or
  3234  	// default values are omitted from API requests. See
  3235  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3236  	// details.
  3237  	ForceSendFields []string `json:"-"`
  3238  	// NullFields is a list of field names (e.g. "ContainsText") to include in API
  3239  	// requests with the JSON null value. By default, fields with empty values are
  3240  	// omitted from API requests. See
  3241  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3242  	NullFields []string `json:"-"`
  3243  }
  3244  
  3245  func (s *ReplaceAllShapesWithImageRequest) MarshalJSON() ([]byte, error) {
  3246  	type NoMethod ReplaceAllShapesWithImageRequest
  3247  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3248  }
  3249  
  3250  // ReplaceAllShapesWithImageResponse: The result of replacing shapes with an
  3251  // image.
  3252  type ReplaceAllShapesWithImageResponse struct {
  3253  	// OccurrencesChanged: The number of shapes replaced with images.
  3254  	OccurrencesChanged int64 `json:"occurrencesChanged,omitempty"`
  3255  	// ForceSendFields is a list of field names (e.g. "OccurrencesChanged") to
  3256  	// unconditionally include in API requests. By default, fields with empty or
  3257  	// default values are omitted from API requests. See
  3258  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3259  	// details.
  3260  	ForceSendFields []string `json:"-"`
  3261  	// NullFields is a list of field names (e.g. "OccurrencesChanged") to include
  3262  	// in API requests with the JSON null value. By default, fields with empty
  3263  	// values are omitted from API requests. See
  3264  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3265  	NullFields []string `json:"-"`
  3266  }
  3267  
  3268  func (s *ReplaceAllShapesWithImageResponse) MarshalJSON() ([]byte, error) {
  3269  	type NoMethod ReplaceAllShapesWithImageResponse
  3270  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3271  }
  3272  
  3273  // ReplaceAllShapesWithSheetsChartRequest: Replaces all shapes that match the
  3274  // given criteria with the provided Google Sheets chart. The chart will be
  3275  // scaled and centered to fit within the bounds of the original shape. NOTE:
  3276  // Replacing shapes with a chart requires at least one of the
  3277  // spreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes.
  3278  type ReplaceAllShapesWithSheetsChartRequest struct {
  3279  	// ChartId: The ID of the specific chart in the Google Sheets spreadsheet.
  3280  	ChartId int64 `json:"chartId,omitempty"`
  3281  	// ContainsText: The criteria that the shapes must match in order to be
  3282  	// replaced. The request will replace all of the shapes that contain the given
  3283  	// text.
  3284  	ContainsText *SubstringMatchCriteria `json:"containsText,omitempty"`
  3285  	// LinkingMode: The mode with which the chart is linked to the source
  3286  	// spreadsheet. When not specified, the chart will be an image that is not
  3287  	// linked.
  3288  	//
  3289  	// Possible values:
  3290  	//   "NOT_LINKED_IMAGE" - The chart is not associated with the source
  3291  	// spreadsheet and cannot be updated. A chart that is not linked will be
  3292  	// inserted as an image.
  3293  	//   "LINKED" - Linking the chart allows it to be updated, and other
  3294  	// collaborators will see a link to the spreadsheet.
  3295  	LinkingMode string `json:"linkingMode,omitempty"`
  3296  	// PageObjectIds: If non-empty, limits the matches to page elements only on the
  3297  	// given pages. Returns a 400 bad request error if given the page object ID of
  3298  	// a notes page or a notes master, or if a page with that object ID doesn't
  3299  	// exist in the presentation.
  3300  	PageObjectIds []string `json:"pageObjectIds,omitempty"`
  3301  	// SpreadsheetId: The ID of the Google Sheets spreadsheet that contains the
  3302  	// chart.
  3303  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
  3304  	// ForceSendFields is a list of field names (e.g. "ChartId") to unconditionally
  3305  	// include in API requests. By default, fields with empty or default values are
  3306  	// omitted from API requests. See
  3307  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3308  	// details.
  3309  	ForceSendFields []string `json:"-"`
  3310  	// NullFields is a list of field names (e.g. "ChartId") to include in API
  3311  	// requests with the JSON null value. By default, fields with empty values are
  3312  	// omitted from API requests. See
  3313  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3314  	NullFields []string `json:"-"`
  3315  }
  3316  
  3317  func (s *ReplaceAllShapesWithSheetsChartRequest) MarshalJSON() ([]byte, error) {
  3318  	type NoMethod ReplaceAllShapesWithSheetsChartRequest
  3319  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3320  }
  3321  
  3322  // ReplaceAllShapesWithSheetsChartResponse: The result of replacing shapes with
  3323  // a Google Sheets chart.
  3324  type ReplaceAllShapesWithSheetsChartResponse struct {
  3325  	// OccurrencesChanged: The number of shapes replaced with charts.
  3326  	OccurrencesChanged int64 `json:"occurrencesChanged,omitempty"`
  3327  	// ForceSendFields is a list of field names (e.g. "OccurrencesChanged") to
  3328  	// unconditionally include in API requests. By default, fields with empty or
  3329  	// default values are omitted from API requests. See
  3330  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3331  	// details.
  3332  	ForceSendFields []string `json:"-"`
  3333  	// NullFields is a list of field names (e.g. "OccurrencesChanged") to include
  3334  	// in API requests with the JSON null value. By default, fields with empty
  3335  	// values are omitted from API requests. See
  3336  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3337  	NullFields []string `json:"-"`
  3338  }
  3339  
  3340  func (s *ReplaceAllShapesWithSheetsChartResponse) MarshalJSON() ([]byte, error) {
  3341  	type NoMethod ReplaceAllShapesWithSheetsChartResponse
  3342  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3343  }
  3344  
  3345  // ReplaceAllTextRequest: Replaces all instances of text matching a criteria
  3346  // with replace text.
  3347  type ReplaceAllTextRequest struct {
  3348  	// ContainsText: Finds text in a shape matching this substring.
  3349  	ContainsText *SubstringMatchCriteria `json:"containsText,omitempty"`
  3350  	// PageObjectIds: If non-empty, limits the matches to page elements only on the
  3351  	// given pages. Returns a 400 bad request error if given the page object ID of
  3352  	// a notes master, or if a page with that object ID doesn't exist in the
  3353  	// presentation.
  3354  	PageObjectIds []string `json:"pageObjectIds,omitempty"`
  3355  	// ReplaceText: The text that will replace the matched text.
  3356  	ReplaceText string `json:"replaceText,omitempty"`
  3357  	// ForceSendFields is a list of field names (e.g. "ContainsText") to
  3358  	// unconditionally include in API requests. By default, fields with empty or
  3359  	// default values are omitted from API requests. See
  3360  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3361  	// details.
  3362  	ForceSendFields []string `json:"-"`
  3363  	// NullFields is a list of field names (e.g. "ContainsText") to include in API
  3364  	// requests with the JSON null value. By default, fields with empty values are
  3365  	// omitted from API requests. See
  3366  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3367  	NullFields []string `json:"-"`
  3368  }
  3369  
  3370  func (s *ReplaceAllTextRequest) MarshalJSON() ([]byte, error) {
  3371  	type NoMethod ReplaceAllTextRequest
  3372  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3373  }
  3374  
  3375  // ReplaceAllTextResponse: The result of replacing text.
  3376  type ReplaceAllTextResponse struct {
  3377  	// OccurrencesChanged: The number of occurrences changed by replacing all text.
  3378  	OccurrencesChanged int64 `json:"occurrencesChanged,omitempty"`
  3379  	// ForceSendFields is a list of field names (e.g. "OccurrencesChanged") to
  3380  	// unconditionally include in API requests. By default, fields with empty or
  3381  	// default values are omitted from API requests. See
  3382  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3383  	// details.
  3384  	ForceSendFields []string `json:"-"`
  3385  	// NullFields is a list of field names (e.g. "OccurrencesChanged") to include
  3386  	// in API requests with the JSON null value. By default, fields with empty
  3387  	// values are omitted from API requests. See
  3388  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3389  	NullFields []string `json:"-"`
  3390  }
  3391  
  3392  func (s *ReplaceAllTextResponse) MarshalJSON() ([]byte, error) {
  3393  	type NoMethod ReplaceAllTextResponse
  3394  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3395  }
  3396  
  3397  // ReplaceImageRequest: Replaces an existing image with a new image. Replacing
  3398  // an image removes some image effects from the existing image.
  3399  type ReplaceImageRequest struct {
  3400  	// ImageObjectId: The ID of the existing image that will be replaced. The ID
  3401  	// can be retrieved from the response of a get request.
  3402  	ImageObjectId string `json:"imageObjectId,omitempty"`
  3403  	// ImageReplaceMethod: The replacement method.
  3404  	//
  3405  	// Possible values:
  3406  	//   "IMAGE_REPLACE_METHOD_UNSPECIFIED" - Unspecified image replace method.
  3407  	// This value must not be used.
  3408  	//   "CENTER_INSIDE" - Scales and centers the image to fit within the bounds of
  3409  	// the original shape and maintains the image's aspect ratio. The rendered size
  3410  	// of the image may be smaller than the size of the shape. This is the default
  3411  	// method when one is not specified.
  3412  	//   "CENTER_CROP" - Scales and centers the image to fill the bounds of the
  3413  	// original shape. The image may be cropped in order to fill the shape. The
  3414  	// rendered size of the image will be the same as the original shape.
  3415  	ImageReplaceMethod string `json:"imageReplaceMethod,omitempty"`
  3416  	// Url: The image URL. The image is fetched once at insertion time and a copy
  3417  	// is stored for display inside the presentation. Images must be less than
  3418  	// 50MB, cannot exceed 25 megapixels, and must be in PNG, JPEG, or GIF format.
  3419  	// The provided URL can't surpass 2 KB in length. The URL is saved with the
  3420  	// image, and exposed through the Image.source_url field.
  3421  	Url string `json:"url,omitempty"`
  3422  	// ForceSendFields is a list of field names (e.g. "ImageObjectId") to
  3423  	// unconditionally include in API requests. By default, fields with empty or
  3424  	// default values are omitted from API requests. See
  3425  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3426  	// details.
  3427  	ForceSendFields []string `json:"-"`
  3428  	// NullFields is a list of field names (e.g. "ImageObjectId") to include in API
  3429  	// requests with the JSON null value. By default, fields with empty values are
  3430  	// omitted from API requests. See
  3431  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3432  	NullFields []string `json:"-"`
  3433  }
  3434  
  3435  func (s *ReplaceImageRequest) MarshalJSON() ([]byte, error) {
  3436  	type NoMethod ReplaceImageRequest
  3437  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3438  }
  3439  
  3440  // Request: A single kind of update to apply to a presentation.
  3441  type Request struct {
  3442  	// CreateImage: Creates an image.
  3443  	CreateImage *CreateImageRequest `json:"createImage,omitempty"`
  3444  	// CreateLine: Creates a line.
  3445  	CreateLine *CreateLineRequest `json:"createLine,omitempty"`
  3446  	// CreateParagraphBullets: Creates bullets for paragraphs.
  3447  	CreateParagraphBullets *CreateParagraphBulletsRequest `json:"createParagraphBullets,omitempty"`
  3448  	// CreateShape: Creates a new shape.
  3449  	CreateShape *CreateShapeRequest `json:"createShape,omitempty"`
  3450  	// CreateSheetsChart: Creates an embedded Google Sheets chart.
  3451  	CreateSheetsChart *CreateSheetsChartRequest `json:"createSheetsChart,omitempty"`
  3452  	// CreateSlide: Creates a new slide.
  3453  	CreateSlide *CreateSlideRequest `json:"createSlide,omitempty"`
  3454  	// CreateTable: Creates a new table.
  3455  	CreateTable *CreateTableRequest `json:"createTable,omitempty"`
  3456  	// CreateVideo: Creates a video.
  3457  	CreateVideo *CreateVideoRequest `json:"createVideo,omitempty"`
  3458  	// DeleteObject: Deletes a page or page element from the presentation.
  3459  	DeleteObject *DeleteObjectRequest `json:"deleteObject,omitempty"`
  3460  	// DeleteParagraphBullets: Deletes bullets from paragraphs.
  3461  	DeleteParagraphBullets *DeleteParagraphBulletsRequest `json:"deleteParagraphBullets,omitempty"`
  3462  	// DeleteTableColumn: Deletes a column from a table.
  3463  	DeleteTableColumn *DeleteTableColumnRequest `json:"deleteTableColumn,omitempty"`
  3464  	// DeleteTableRow: Deletes a row from a table.
  3465  	DeleteTableRow *DeleteTableRowRequest `json:"deleteTableRow,omitempty"`
  3466  	// DeleteText: Deletes text from a shape or a table cell.
  3467  	DeleteText *DeleteTextRequest `json:"deleteText,omitempty"`
  3468  	// DuplicateObject: Duplicates a slide or page element.
  3469  	DuplicateObject *DuplicateObjectRequest `json:"duplicateObject,omitempty"`
  3470  	// GroupObjects: Groups objects, such as page elements.
  3471  	GroupObjects *GroupObjectsRequest `json:"groupObjects,omitempty"`
  3472  	// InsertTableColumns: Inserts columns into a table.
  3473  	InsertTableColumns *InsertTableColumnsRequest `json:"insertTableColumns,omitempty"`
  3474  	// InsertTableRows: Inserts rows into a table.
  3475  	InsertTableRows *InsertTableRowsRequest `json:"insertTableRows,omitempty"`
  3476  	// InsertText: Inserts text into a shape or table cell.
  3477  	InsertText *InsertTextRequest `json:"insertText,omitempty"`
  3478  	// MergeTableCells: Merges cells in a Table.
  3479  	MergeTableCells *MergeTableCellsRequest `json:"mergeTableCells,omitempty"`
  3480  	// RefreshSheetsChart: Refreshes a Google Sheets chart.
  3481  	RefreshSheetsChart *RefreshSheetsChartRequest `json:"refreshSheetsChart,omitempty"`
  3482  	// ReplaceAllShapesWithImage: Replaces all shapes matching some criteria with
  3483  	// an image.
  3484  	ReplaceAllShapesWithImage *ReplaceAllShapesWithImageRequest `json:"replaceAllShapesWithImage,omitempty"`
  3485  	// ReplaceAllShapesWithSheetsChart: Replaces all shapes matching some criteria
  3486  	// with a Google Sheets chart.
  3487  	ReplaceAllShapesWithSheetsChart *ReplaceAllShapesWithSheetsChartRequest `json:"replaceAllShapesWithSheetsChart,omitempty"`
  3488  	// ReplaceAllText: Replaces all instances of specified text.
  3489  	ReplaceAllText *ReplaceAllTextRequest `json:"replaceAllText,omitempty"`
  3490  	// ReplaceImage: Replaces an existing image with a new image.
  3491  	ReplaceImage *ReplaceImageRequest `json:"replaceImage,omitempty"`
  3492  	// RerouteLine: Reroutes a line such that it's connected at the two closest
  3493  	// connection sites on the connected page elements.
  3494  	RerouteLine *RerouteLineRequest `json:"rerouteLine,omitempty"`
  3495  	// UngroupObjects: Ungroups objects, such as groups.
  3496  	UngroupObjects *UngroupObjectsRequest `json:"ungroupObjects,omitempty"`
  3497  	// UnmergeTableCells: Unmerges cells in a Table.
  3498  	UnmergeTableCells *UnmergeTableCellsRequest `json:"unmergeTableCells,omitempty"`
  3499  	// UpdateImageProperties: Updates the properties of an Image.
  3500  	UpdateImageProperties *UpdateImagePropertiesRequest `json:"updateImageProperties,omitempty"`
  3501  	// UpdateLineCategory: Updates the category of a line.
  3502  	UpdateLineCategory *UpdateLineCategoryRequest `json:"updateLineCategory,omitempty"`
  3503  	// UpdateLineProperties: Updates the properties of a Line.
  3504  	UpdateLineProperties *UpdateLinePropertiesRequest `json:"updateLineProperties,omitempty"`
  3505  	// UpdatePageElementAltText: Updates the alt text title and/or description of a
  3506  	// page element.
  3507  	UpdatePageElementAltText *UpdatePageElementAltTextRequest `json:"updatePageElementAltText,omitempty"`
  3508  	// UpdatePageElementTransform: Updates the transform of a page element.
  3509  	UpdatePageElementTransform *UpdatePageElementTransformRequest `json:"updatePageElementTransform,omitempty"`
  3510  	// UpdatePageElementsZOrder: Updates the Z-order of page elements.
  3511  	UpdatePageElementsZOrder *UpdatePageElementsZOrderRequest `json:"updatePageElementsZOrder,omitempty"`
  3512  	// UpdatePageProperties: Updates the properties of a Page.
  3513  	UpdatePageProperties *UpdatePagePropertiesRequest `json:"updatePageProperties,omitempty"`
  3514  	// UpdateParagraphStyle: Updates the styling of paragraphs within a Shape or
  3515  	// Table.
  3516  	UpdateParagraphStyle *UpdateParagraphStyleRequest `json:"updateParagraphStyle,omitempty"`
  3517  	// UpdateShapeProperties: Updates the properties of a Shape.
  3518  	UpdateShapeProperties *UpdateShapePropertiesRequest `json:"updateShapeProperties,omitempty"`
  3519  	// UpdateSlideProperties: Updates the properties of a Slide
  3520  	UpdateSlideProperties *UpdateSlidePropertiesRequest `json:"updateSlideProperties,omitempty"`
  3521  	// UpdateSlidesPosition: Updates the position of a set of slides in the
  3522  	// presentation.
  3523  	UpdateSlidesPosition *UpdateSlidesPositionRequest `json:"updateSlidesPosition,omitempty"`
  3524  	// UpdateTableBorderProperties: Updates the properties of the table borders in
  3525  	// a Table.
  3526  	UpdateTableBorderProperties *UpdateTableBorderPropertiesRequest `json:"updateTableBorderProperties,omitempty"`
  3527  	// UpdateTableCellProperties: Updates the properties of a TableCell.
  3528  	UpdateTableCellProperties *UpdateTableCellPropertiesRequest `json:"updateTableCellProperties,omitempty"`
  3529  	// UpdateTableColumnProperties: Updates the properties of a Table column.
  3530  	UpdateTableColumnProperties *UpdateTableColumnPropertiesRequest `json:"updateTableColumnProperties,omitempty"`
  3531  	// UpdateTableRowProperties: Updates the properties of a Table row.
  3532  	UpdateTableRowProperties *UpdateTableRowPropertiesRequest `json:"updateTableRowProperties,omitempty"`
  3533  	// UpdateTextStyle: Updates the styling of text within a Shape or Table.
  3534  	UpdateTextStyle *UpdateTextStyleRequest `json:"updateTextStyle,omitempty"`
  3535  	// UpdateVideoProperties: Updates the properties of a Video.
  3536  	UpdateVideoProperties *UpdateVideoPropertiesRequest `json:"updateVideoProperties,omitempty"`
  3537  	// ForceSendFields is a list of field names (e.g. "CreateImage") to
  3538  	// unconditionally include in API requests. By default, fields with empty or
  3539  	// default values are omitted from API requests. See
  3540  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3541  	// details.
  3542  	ForceSendFields []string `json:"-"`
  3543  	// NullFields is a list of field names (e.g. "CreateImage") to include in API
  3544  	// requests with the JSON null value. By default, fields with empty values are
  3545  	// omitted from API requests. See
  3546  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3547  	NullFields []string `json:"-"`
  3548  }
  3549  
  3550  func (s *Request) MarshalJSON() ([]byte, error) {
  3551  	type NoMethod Request
  3552  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3553  }
  3554  
  3555  // RerouteLineRequest: Reroutes a line such that it's connected at the two
  3556  // closest connection sites on the connected page elements.
  3557  type RerouteLineRequest struct {
  3558  	// ObjectId: The object ID of the line to reroute. Only a line with a category
  3559  	// indicating it is a "connector" can be rerouted. The start and end
  3560  	// connections of the line must be on different page elements.
  3561  	ObjectId string `json:"objectId,omitempty"`
  3562  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  3563  	// unconditionally include in API requests. By default, fields with empty or
  3564  	// default values are omitted from API requests. See
  3565  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3566  	// details.
  3567  	ForceSendFields []string `json:"-"`
  3568  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  3569  	// requests with the JSON null value. By default, fields with empty values are
  3570  	// omitted from API requests. See
  3571  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3572  	NullFields []string `json:"-"`
  3573  }
  3574  
  3575  func (s *RerouteLineRequest) MarshalJSON() ([]byte, error) {
  3576  	type NoMethod RerouteLineRequest
  3577  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3578  }
  3579  
  3580  // Response: A single response from an update.
  3581  type Response struct {
  3582  	// CreateImage: The result of creating an image.
  3583  	CreateImage *CreateImageResponse `json:"createImage,omitempty"`
  3584  	// CreateLine: The result of creating a line.
  3585  	CreateLine *CreateLineResponse `json:"createLine,omitempty"`
  3586  	// CreateShape: The result of creating a shape.
  3587  	CreateShape *CreateShapeResponse `json:"createShape,omitempty"`
  3588  	// CreateSheetsChart: The result of creating a Google Sheets chart.
  3589  	CreateSheetsChart *CreateSheetsChartResponse `json:"createSheetsChart,omitempty"`
  3590  	// CreateSlide: The result of creating a slide.
  3591  	CreateSlide *CreateSlideResponse `json:"createSlide,omitempty"`
  3592  	// CreateTable: The result of creating a table.
  3593  	CreateTable *CreateTableResponse `json:"createTable,omitempty"`
  3594  	// CreateVideo: The result of creating a video.
  3595  	CreateVideo *CreateVideoResponse `json:"createVideo,omitempty"`
  3596  	// DuplicateObject: The result of duplicating an object.
  3597  	DuplicateObject *DuplicateObjectResponse `json:"duplicateObject,omitempty"`
  3598  	// GroupObjects: The result of grouping objects.
  3599  	GroupObjects *GroupObjectsResponse `json:"groupObjects,omitempty"`
  3600  	// ReplaceAllShapesWithImage: The result of replacing all shapes matching some
  3601  	// criteria with an image.
  3602  	ReplaceAllShapesWithImage *ReplaceAllShapesWithImageResponse `json:"replaceAllShapesWithImage,omitempty"`
  3603  	// ReplaceAllShapesWithSheetsChart: The result of replacing all shapes matching
  3604  	// some criteria with a Google Sheets chart.
  3605  	ReplaceAllShapesWithSheetsChart *ReplaceAllShapesWithSheetsChartResponse `json:"replaceAllShapesWithSheetsChart,omitempty"`
  3606  	// ReplaceAllText: The result of replacing text.
  3607  	ReplaceAllText *ReplaceAllTextResponse `json:"replaceAllText,omitempty"`
  3608  	// ForceSendFields is a list of field names (e.g. "CreateImage") to
  3609  	// unconditionally include in API requests. By default, fields with empty or
  3610  	// default values are omitted from API requests. See
  3611  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3612  	// details.
  3613  	ForceSendFields []string `json:"-"`
  3614  	// NullFields is a list of field names (e.g. "CreateImage") to include in API
  3615  	// requests with the JSON null value. By default, fields with empty values are
  3616  	// omitted from API requests. See
  3617  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3618  	NullFields []string `json:"-"`
  3619  }
  3620  
  3621  func (s *Response) MarshalJSON() ([]byte, error) {
  3622  	type NoMethod Response
  3623  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3624  }
  3625  
  3626  // RgbColor: An RGB color.
  3627  type RgbColor struct {
  3628  	// Blue: The blue component of the color, from 0.0 to 1.0.
  3629  	Blue float64 `json:"blue,omitempty"`
  3630  	// Green: The green component of the color, from 0.0 to 1.0.
  3631  	Green float64 `json:"green,omitempty"`
  3632  	// Red: The red component of the color, from 0.0 to 1.0.
  3633  	Red float64 `json:"red,omitempty"`
  3634  	// ForceSendFields is a list of field names (e.g. "Blue") to unconditionally
  3635  	// include in API requests. By default, fields with empty or default values are
  3636  	// omitted from API requests. See
  3637  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3638  	// details.
  3639  	ForceSendFields []string `json:"-"`
  3640  	// NullFields is a list of field names (e.g. "Blue") to include in API requests
  3641  	// with the JSON null value. By default, fields with empty values are omitted
  3642  	// from API requests. See
  3643  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3644  	NullFields []string `json:"-"`
  3645  }
  3646  
  3647  func (s *RgbColor) MarshalJSON() ([]byte, error) {
  3648  	type NoMethod RgbColor
  3649  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3650  }
  3651  
  3652  func (s *RgbColor) UnmarshalJSON(data []byte) error {
  3653  	type NoMethod RgbColor
  3654  	var s1 struct {
  3655  		Blue  gensupport.JSONFloat64 `json:"blue"`
  3656  		Green gensupport.JSONFloat64 `json:"green"`
  3657  		Red   gensupport.JSONFloat64 `json:"red"`
  3658  		*NoMethod
  3659  	}
  3660  	s1.NoMethod = (*NoMethod)(s)
  3661  	if err := json.Unmarshal(data, &s1); err != nil {
  3662  		return err
  3663  	}
  3664  	s.Blue = float64(s1.Blue)
  3665  	s.Green = float64(s1.Green)
  3666  	s.Red = float64(s1.Red)
  3667  	return nil
  3668  }
  3669  
  3670  // Shadow: The shadow properties of a page element. If these fields are unset,
  3671  // they may be inherited from a parent placeholder if it exists. If there is no
  3672  // parent, the fields will default to the value used for new page elements
  3673  // created in the Slides editor, which may depend on the page element kind.
  3674  type Shadow struct {
  3675  	// Alignment: The alignment point of the shadow, that sets the origin for
  3676  	// translate, scale and skew of the shadow. This property is read-only.
  3677  	//
  3678  	// Possible values:
  3679  	//   "RECTANGLE_POSITION_UNSPECIFIED" - Unspecified.
  3680  	//   "TOP_LEFT" - Top left.
  3681  	//   "TOP_CENTER" - Top center.
  3682  	//   "TOP_RIGHT" - Top right.
  3683  	//   "LEFT_CENTER" - Left center.
  3684  	//   "CENTER" - Center.
  3685  	//   "RIGHT_CENTER" - Right center.
  3686  	//   "BOTTOM_LEFT" - Bottom left.
  3687  	//   "BOTTOM_CENTER" - Bottom center.
  3688  	//   "BOTTOM_RIGHT" - Bottom right.
  3689  	Alignment string `json:"alignment,omitempty"`
  3690  	// Alpha: The alpha of the shadow's color, from 0.0 to 1.0.
  3691  	Alpha float64 `json:"alpha,omitempty"`
  3692  	// BlurRadius: The radius of the shadow blur. The larger the radius, the more
  3693  	// diffuse the shadow becomes.
  3694  	BlurRadius *Dimension `json:"blurRadius,omitempty"`
  3695  	// Color: The shadow color value.
  3696  	Color *OpaqueColor `json:"color,omitempty"`
  3697  	// PropertyState: The shadow property state. Updating the shadow on a page
  3698  	// element will implicitly update this field to `RENDERED`, unless another
  3699  	// value is specified in the same request. To have no shadow on a page element,
  3700  	// set this field to `NOT_RENDERED`. In this case, any other shadow fields set
  3701  	// in the same request will be ignored.
  3702  	//
  3703  	// Possible values:
  3704  	//   "RENDERED" - If a property's state is RENDERED, then the element has the
  3705  	// corresponding property when rendered on a page. If the element is a
  3706  	// placeholder shape as determined by the placeholder field, and it inherits
  3707  	// from a placeholder shape, the corresponding field may be unset, meaning that
  3708  	// the property value is inherited from a parent placeholder. If the element
  3709  	// does not inherit, then the field will contain the rendered value. This is
  3710  	// the default value.
  3711  	//   "NOT_RENDERED" - If a property's state is NOT_RENDERED, then the element
  3712  	// does not have the corresponding property when rendered on a page. However,
  3713  	// the field may still be set so it can be inherited by child shapes. To remove
  3714  	// a property from a rendered element, set its property_state to NOT_RENDERED.
  3715  	//   "INHERIT" - If a property's state is INHERIT, then the property state uses
  3716  	// the value of corresponding `property_state` field on the parent shape.
  3717  	// Elements that do not inherit will never have an INHERIT property state.
  3718  	PropertyState string `json:"propertyState,omitempty"`
  3719  	// RotateWithShape: Whether the shadow should rotate with the shape. This
  3720  	// property is read-only.
  3721  	RotateWithShape bool `json:"rotateWithShape,omitempty"`
  3722  	// Transform: Transform that encodes the translate, scale, and skew of the
  3723  	// shadow, relative to the alignment position.
  3724  	Transform *AffineTransform `json:"transform,omitempty"`
  3725  	// Type: The type of the shadow. This property is read-only.
  3726  	//
  3727  	// Possible values:
  3728  	//   "SHADOW_TYPE_UNSPECIFIED" - Unspecified shadow type.
  3729  	//   "OUTER" - Outer shadow.
  3730  	Type string `json:"type,omitempty"`
  3731  	// ForceSendFields is a list of field names (e.g. "Alignment") to
  3732  	// unconditionally include in API requests. By default, fields with empty or
  3733  	// default values are omitted from API requests. See
  3734  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3735  	// details.
  3736  	ForceSendFields []string `json:"-"`
  3737  	// NullFields is a list of field names (e.g. "Alignment") to include in API
  3738  	// requests with the JSON null value. By default, fields with empty values are
  3739  	// omitted from API requests. See
  3740  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3741  	NullFields []string `json:"-"`
  3742  }
  3743  
  3744  func (s *Shadow) MarshalJSON() ([]byte, error) {
  3745  	type NoMethod Shadow
  3746  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3747  }
  3748  
  3749  func (s *Shadow) UnmarshalJSON(data []byte) error {
  3750  	type NoMethod Shadow
  3751  	var s1 struct {
  3752  		Alpha gensupport.JSONFloat64 `json:"alpha"`
  3753  		*NoMethod
  3754  	}
  3755  	s1.NoMethod = (*NoMethod)(s)
  3756  	if err := json.Unmarshal(data, &s1); err != nil {
  3757  		return err
  3758  	}
  3759  	s.Alpha = float64(s1.Alpha)
  3760  	return nil
  3761  }
  3762  
  3763  // Shape: A PageElement kind representing a generic shape that does not have a
  3764  // more specific classification.
  3765  type Shape struct {
  3766  	// Placeholder: Placeholders are page elements that inherit from corresponding
  3767  	// placeholders on layouts and masters. If set, the shape is a placeholder
  3768  	// shape and any inherited properties can be resolved by looking at the parent
  3769  	// placeholder identified by the Placeholder.parent_object_id field.
  3770  	Placeholder *Placeholder `json:"placeholder,omitempty"`
  3771  	// ShapeProperties: The properties of the shape.
  3772  	ShapeProperties *ShapeProperties `json:"shapeProperties,omitempty"`
  3773  	// ShapeType: The type of the shape.
  3774  	//
  3775  	// Possible values:
  3776  	//   "TYPE_UNSPECIFIED" - The shape type that is not predefined.
  3777  	//   "TEXT_BOX" - Text box shape.
  3778  	//   "RECTANGLE" - Rectangle shape. Corresponds to ECMA-376 ST_ShapeType
  3779  	// 'rect'.
  3780  	//   "ROUND_RECTANGLE" - Round corner rectangle shape. Corresponds to ECMA-376
  3781  	// ST_ShapeType 'roundRect'
  3782  	//   "ELLIPSE" - Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'
  3783  	//   "ARC" - Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'
  3784  	//   "BENT_ARROW" - Bent arrow shape. Corresponds to ECMA-376 ST_ShapeType
  3785  	// 'bentArrow'
  3786  	//   "BENT_UP_ARROW" - Bent up arrow shape. Corresponds to ECMA-376
  3787  	// ST_ShapeType 'bentUpArrow'
  3788  	//   "BEVEL" - Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'
  3789  	//   "BLOCK_ARC" - Block arc shape. Corresponds to ECMA-376 ST_ShapeType
  3790  	// 'blockArc'
  3791  	//   "BRACE_PAIR" - Brace pair shape. Corresponds to ECMA-376 ST_ShapeType
  3792  	// 'bracePair'
  3793  	//   "BRACKET_PAIR" - Bracket pair shape. Corresponds to ECMA-376 ST_ShapeType
  3794  	// 'bracketPair'
  3795  	//   "CAN" - Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'
  3796  	//   "CHEVRON" - Chevron shape. Corresponds to ECMA-376 ST_ShapeType 'chevron'
  3797  	//   "CHORD" - Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'
  3798  	//   "CLOUD" - Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'
  3799  	//   "CORNER" - Corner shape. Corresponds to ECMA-376 ST_ShapeType 'corner'
  3800  	//   "CUBE" - Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'
  3801  	//   "CURVED_DOWN_ARROW" - Curved down arrow shape. Corresponds to ECMA-376
  3802  	// ST_ShapeType 'curvedDownArrow'
  3803  	//   "CURVED_LEFT_ARROW" - Curved left arrow shape. Corresponds to ECMA-376
  3804  	// ST_ShapeType 'curvedLeftArrow'
  3805  	//   "CURVED_RIGHT_ARROW" - Curved right arrow shape. Corresponds to ECMA-376
  3806  	// ST_ShapeType 'curvedRightArrow'
  3807  	//   "CURVED_UP_ARROW" - Curved up arrow shape. Corresponds to ECMA-376
  3808  	// ST_ShapeType 'curvedUpArrow'
  3809  	//   "DECAGON" - Decagon shape. Corresponds to ECMA-376 ST_ShapeType 'decagon'
  3810  	//   "DIAGONAL_STRIPE" - Diagonal stripe shape. Corresponds to ECMA-376
  3811  	// ST_ShapeType 'diagStripe'
  3812  	//   "DIAMOND" - Diamond shape. Corresponds to ECMA-376 ST_ShapeType 'diamond'
  3813  	//   "DODECAGON" - Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType
  3814  	// 'dodecagon'
  3815  	//   "DONUT" - Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'
  3816  	//   "DOUBLE_WAVE" - Double wave shape. Corresponds to ECMA-376 ST_ShapeType
  3817  	// 'doubleWave'
  3818  	//   "DOWN_ARROW" - Down arrow shape. Corresponds to ECMA-376 ST_ShapeType
  3819  	// 'downArrow'
  3820  	//   "DOWN_ARROW_CALLOUT" - Callout down arrow shape. Corresponds to ECMA-376
  3821  	// ST_ShapeType 'downArrowCallout'
  3822  	//   "FOLDED_CORNER" - Folded corner shape. Corresponds to ECMA-376
  3823  	// ST_ShapeType 'foldedCorner'
  3824  	//   "FRAME" - Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'
  3825  	//   "HALF_FRAME" - Half frame shape. Corresponds to ECMA-376 ST_ShapeType
  3826  	// 'halfFrame'
  3827  	//   "HEART" - Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'
  3828  	//   "HEPTAGON" - Heptagon shape. Corresponds to ECMA-376 ST_ShapeType
  3829  	// 'heptagon'
  3830  	//   "HEXAGON" - Hexagon shape. Corresponds to ECMA-376 ST_ShapeType 'hexagon'
  3831  	//   "HOME_PLATE" - Home plate shape. Corresponds to ECMA-376 ST_ShapeType
  3832  	// 'homePlate'
  3833  	//   "HORIZONTAL_SCROLL" - Horizontal scroll shape. Corresponds to ECMA-376
  3834  	// ST_ShapeType 'horizontalScroll'
  3835  	//   "IRREGULAR_SEAL_1" - Irregular seal 1 shape. Corresponds to ECMA-376
  3836  	// ST_ShapeType 'irregularSeal1'
  3837  	//   "IRREGULAR_SEAL_2" - Irregular seal 2 shape. Corresponds to ECMA-376
  3838  	// ST_ShapeType 'irregularSeal2'
  3839  	//   "LEFT_ARROW" - Left arrow shape. Corresponds to ECMA-376 ST_ShapeType
  3840  	// 'leftArrow'
  3841  	//   "LEFT_ARROW_CALLOUT" - Callout left arrow shape. Corresponds to ECMA-376
  3842  	// ST_ShapeType 'leftArrowCallout'
  3843  	//   "LEFT_BRACE" - Left brace shape. Corresponds to ECMA-376 ST_ShapeType
  3844  	// 'leftBrace'
  3845  	//   "LEFT_BRACKET" - Left bracket shape. Corresponds to ECMA-376 ST_ShapeType
  3846  	// 'leftBracket'
  3847  	//   "LEFT_RIGHT_ARROW" - Left right arrow shape. Corresponds to ECMA-376
  3848  	// ST_ShapeType 'leftRightArrow'
  3849  	//   "LEFT_RIGHT_ARROW_CALLOUT" - Callout left right arrow shape. Corresponds
  3850  	// to ECMA-376 ST_ShapeType 'leftRightArrowCallout'
  3851  	//   "LEFT_RIGHT_UP_ARROW" - Left right up arrow shape. Corresponds to ECMA-376
  3852  	// ST_ShapeType 'leftRightUpArrow'
  3853  	//   "LEFT_UP_ARROW" - Left up arrow shape. Corresponds to ECMA-376
  3854  	// ST_ShapeType 'leftUpArrow'
  3855  	//   "LIGHTNING_BOLT" - Lightning bolt shape. Corresponds to ECMA-376
  3856  	// ST_ShapeType 'lightningBolt'
  3857  	//   "MATH_DIVIDE" - Divide math shape. Corresponds to ECMA-376 ST_ShapeType
  3858  	// 'mathDivide'
  3859  	//   "MATH_EQUAL" - Equal math shape. Corresponds to ECMA-376 ST_ShapeType
  3860  	// 'mathEqual'
  3861  	//   "MATH_MINUS" - Minus math shape. Corresponds to ECMA-376 ST_ShapeType
  3862  	// 'mathMinus'
  3863  	//   "MATH_MULTIPLY" - Multiply math shape. Corresponds to ECMA-376
  3864  	// ST_ShapeType 'mathMultiply'
  3865  	//   "MATH_NOT_EQUAL" - Not equal math shape. Corresponds to ECMA-376
  3866  	// ST_ShapeType 'mathNotEqual'
  3867  	//   "MATH_PLUS" - Plus math shape. Corresponds to ECMA-376 ST_ShapeType
  3868  	// 'mathPlus'
  3869  	//   "MOON" - Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'
  3870  	//   "NO_SMOKING" - No smoking shape. Corresponds to ECMA-376 ST_ShapeType
  3871  	// 'noSmoking'
  3872  	//   "NOTCHED_RIGHT_ARROW" - Notched right arrow shape. Corresponds to ECMA-376
  3873  	// ST_ShapeType 'notchedRightArrow'
  3874  	//   "OCTAGON" - Octagon shape. Corresponds to ECMA-376 ST_ShapeType 'octagon'
  3875  	//   "PARALLELOGRAM" - Parallelogram shape. Corresponds to ECMA-376
  3876  	// ST_ShapeType 'parallelogram'
  3877  	//   "PENTAGON" - Pentagon shape. Corresponds to ECMA-376 ST_ShapeType
  3878  	// 'pentagon'
  3879  	//   "PIE" - Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'
  3880  	//   "PLAQUE" - Plaque shape. Corresponds to ECMA-376 ST_ShapeType 'plaque'
  3881  	//   "PLUS" - Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'
  3882  	//   "QUAD_ARROW" - Quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType
  3883  	// 'quadArrow'
  3884  	//   "QUAD_ARROW_CALLOUT" - Callout quad-arrow shape. Corresponds to ECMA-376
  3885  	// ST_ShapeType 'quadArrowCallout'
  3886  	//   "RIBBON" - Ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon'
  3887  	//   "RIBBON_2" - Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType
  3888  	// 'ribbon2'
  3889  	//   "RIGHT_ARROW" - Right arrow shape. Corresponds to ECMA-376 ST_ShapeType
  3890  	// 'rightArrow'
  3891  	//   "RIGHT_ARROW_CALLOUT" - Callout right arrow shape. Corresponds to ECMA-376
  3892  	// ST_ShapeType 'rightArrowCallout'
  3893  	//   "RIGHT_BRACE" - Right brace shape. Corresponds to ECMA-376 ST_ShapeType
  3894  	// 'rightBrace'
  3895  	//   "RIGHT_BRACKET" - Right bracket shape. Corresponds to ECMA-376
  3896  	// ST_ShapeType 'rightBracket'
  3897  	//   "ROUND_1_RECTANGLE" - One round corner rectangle shape. Corresponds to
  3898  	// ECMA-376 ST_ShapeType 'round1Rect'
  3899  	//   "ROUND_2_DIAGONAL_RECTANGLE" - Two diagonal round corner rectangle shape.
  3900  	// Corresponds to ECMA-376 ST_ShapeType 'round2DiagRect'
  3901  	//   "ROUND_2_SAME_RECTANGLE" - Two same-side round corner rectangle shape.
  3902  	// Corresponds to ECMA-376 ST_ShapeType 'round2SameRect'
  3903  	//   "RIGHT_TRIANGLE" - Right triangle shape. Corresponds to ECMA-376
  3904  	// ST_ShapeType 'rtTriangle'
  3905  	//   "SMILEY_FACE" - Smiley face shape. Corresponds to ECMA-376 ST_ShapeType
  3906  	// 'smileyFace'
  3907  	//   "SNIP_1_RECTANGLE" - One snip corner rectangle shape. Corresponds to
  3908  	// ECMA-376 ST_ShapeType 'snip1Rect'
  3909  	//   "SNIP_2_DIAGONAL_RECTANGLE" - Two diagonal snip corner rectangle shape.
  3910  	// Corresponds to ECMA-376 ST_ShapeType 'snip2DiagRect'
  3911  	//   "SNIP_2_SAME_RECTANGLE" - Two same-side snip corner rectangle shape.
  3912  	// Corresponds to ECMA-376 ST_ShapeType 'snip2SameRect'
  3913  	//   "SNIP_ROUND_RECTANGLE" - One snip one round corner rectangle shape.
  3914  	// Corresponds to ECMA-376 ST_ShapeType 'snipRoundRect'
  3915  	//   "STAR_10" - Ten pointed star shape. Corresponds to ECMA-376 ST_ShapeType
  3916  	// 'star10'
  3917  	//   "STAR_12" - Twelve pointed star shape. Corresponds to ECMA-376
  3918  	// ST_ShapeType 'star12'
  3919  	//   "STAR_16" - Sixteen pointed star shape. Corresponds to ECMA-376
  3920  	// ST_ShapeType 'star16'
  3921  	//   "STAR_24" - Twenty four pointed star shape. Corresponds to ECMA-376
  3922  	// ST_ShapeType 'star24'
  3923  	//   "STAR_32" - Thirty two pointed star shape. Corresponds to ECMA-376
  3924  	// ST_ShapeType 'star32'
  3925  	//   "STAR_4" - Four pointed star shape. Corresponds to ECMA-376 ST_ShapeType
  3926  	// 'star4'
  3927  	//   "STAR_5" - Five pointed star shape. Corresponds to ECMA-376 ST_ShapeType
  3928  	// 'star5'
  3929  	//   "STAR_6" - Six pointed star shape. Corresponds to ECMA-376 ST_ShapeType
  3930  	// 'star6'
  3931  	//   "STAR_7" - Seven pointed star shape. Corresponds to ECMA-376 ST_ShapeType
  3932  	// 'star7'
  3933  	//   "STAR_8" - Eight pointed star shape. Corresponds to ECMA-376 ST_ShapeType
  3934  	// 'star8'
  3935  	//   "STRIPED_RIGHT_ARROW" - Striped right arrow shape. Corresponds to ECMA-376
  3936  	// ST_ShapeType 'stripedRightArrow'
  3937  	//   "SUN" - Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'
  3938  	//   "TRAPEZOID" - Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType
  3939  	// 'trapezoid'
  3940  	//   "TRIANGLE" - Triangle shape. Corresponds to ECMA-376 ST_ShapeType
  3941  	// 'triangle'
  3942  	//   "UP_ARROW" - Up arrow shape. Corresponds to ECMA-376 ST_ShapeType
  3943  	// 'upArrow'
  3944  	//   "UP_ARROW_CALLOUT" - Callout up arrow shape. Corresponds to ECMA-376
  3945  	// ST_ShapeType 'upArrowCallout'
  3946  	//   "UP_DOWN_ARROW" - Up down arrow shape. Corresponds to ECMA-376
  3947  	// ST_ShapeType 'upDownArrow'
  3948  	//   "UTURN_ARROW" - U-turn arrow shape. Corresponds to ECMA-376 ST_ShapeType
  3949  	// 'uturnArrow'
  3950  	//   "VERTICAL_SCROLL" - Vertical scroll shape. Corresponds to ECMA-376
  3951  	// ST_ShapeType 'verticalScroll'
  3952  	//   "WAVE" - Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'
  3953  	//   "WEDGE_ELLIPSE_CALLOUT" - Callout wedge ellipse shape. Corresponds to
  3954  	// ECMA-376 ST_ShapeType 'wedgeEllipseCallout'
  3955  	//   "WEDGE_RECTANGLE_CALLOUT" - Callout wedge rectangle shape. Corresponds to
  3956  	// ECMA-376 ST_ShapeType 'wedgeRectCallout'
  3957  	//   "WEDGE_ROUND_RECTANGLE_CALLOUT" - Callout wedge round rectangle shape.
  3958  	// Corresponds to ECMA-376 ST_ShapeType 'wedgeRoundRectCallout'
  3959  	//   "FLOW_CHART_ALTERNATE_PROCESS" - Alternate process flow shape. Corresponds
  3960  	// to ECMA-376 ST_ShapeType 'flowChartAlternateProcess'
  3961  	//   "FLOW_CHART_COLLATE" - Collate flow shape. Corresponds to ECMA-376
  3962  	// ST_ShapeType 'flowChartCollate'
  3963  	//   "FLOW_CHART_CONNECTOR" - Connector flow shape. Corresponds to ECMA-376
  3964  	// ST_ShapeType 'flowChartConnector'
  3965  	//   "FLOW_CHART_DECISION" - Decision flow shape. Corresponds to ECMA-376
  3966  	// ST_ShapeType 'flowChartDecision'
  3967  	//   "FLOW_CHART_DELAY" - Delay flow shape. Corresponds to ECMA-376
  3968  	// ST_ShapeType 'flowChartDelay'
  3969  	//   "FLOW_CHART_DISPLAY" - Display flow shape. Corresponds to ECMA-376
  3970  	// ST_ShapeType 'flowChartDisplay'
  3971  	//   "FLOW_CHART_DOCUMENT" - Document flow shape. Corresponds to ECMA-376
  3972  	// ST_ShapeType 'flowChartDocument'
  3973  	//   "FLOW_CHART_EXTRACT" - Extract flow shape. Corresponds to ECMA-376
  3974  	// ST_ShapeType 'flowChartExtract'
  3975  	//   "FLOW_CHART_INPUT_OUTPUT" - Input output flow shape. Corresponds to
  3976  	// ECMA-376 ST_ShapeType 'flowChartInputOutput'
  3977  	//   "FLOW_CHART_INTERNAL_STORAGE" - Internal storage flow shape. Corresponds
  3978  	// to ECMA-376 ST_ShapeType 'flowChartInternalStorage'
  3979  	//   "FLOW_CHART_MAGNETIC_DISK" - Magnetic disk flow shape. Corresponds to
  3980  	// ECMA-376 ST_ShapeType 'flowChartMagneticDisk'
  3981  	//   "FLOW_CHART_MAGNETIC_DRUM" - Magnetic drum flow shape. Corresponds to
  3982  	// ECMA-376 ST_ShapeType 'flowChartMagneticDrum'
  3983  	//   "FLOW_CHART_MAGNETIC_TAPE" - Magnetic tape flow shape. Corresponds to
  3984  	// ECMA-376 ST_ShapeType 'flowChartMagneticTape'
  3985  	//   "FLOW_CHART_MANUAL_INPUT" - Manual input flow shape. Corresponds to
  3986  	// ECMA-376 ST_ShapeType 'flowChartManualInput'
  3987  	//   "FLOW_CHART_MANUAL_OPERATION" - Manual operation flow shape. Corresponds
  3988  	// to ECMA-376 ST_ShapeType 'flowChartManualOperation'
  3989  	//   "FLOW_CHART_MERGE" - Merge flow shape. Corresponds to ECMA-376
  3990  	// ST_ShapeType 'flowChartMerge'
  3991  	//   "FLOW_CHART_MULTIDOCUMENT" - Multi-document flow shape. Corresponds to
  3992  	// ECMA-376 ST_ShapeType 'flowChartMultidocument'
  3993  	//   "FLOW_CHART_OFFLINE_STORAGE" - Offline storage flow shape. Corresponds to
  3994  	// ECMA-376 ST_ShapeType 'flowChartOfflineStorage'
  3995  	//   "FLOW_CHART_OFFPAGE_CONNECTOR" - Off-page connector flow shape.
  3996  	// Corresponds to ECMA-376 ST_ShapeType 'flowChartOffpageConnector'
  3997  	//   "FLOW_CHART_ONLINE_STORAGE" - Online storage flow shape. Corresponds to
  3998  	// ECMA-376 ST_ShapeType 'flowChartOnlineStorage'
  3999  	//   "FLOW_CHART_OR" - Or flow shape. Corresponds to ECMA-376 ST_ShapeType
  4000  	// 'flowChartOr'
  4001  	//   "FLOW_CHART_PREDEFINED_PROCESS" - Predefined process flow shape.
  4002  	// Corresponds to ECMA-376 ST_ShapeType 'flowChartPredefinedProcess'
  4003  	//   "FLOW_CHART_PREPARATION" - Preparation flow shape. Corresponds to ECMA-376
  4004  	// ST_ShapeType 'flowChartPreparation'
  4005  	//   "FLOW_CHART_PROCESS" - Process flow shape. Corresponds to ECMA-376
  4006  	// ST_ShapeType 'flowChartProcess'
  4007  	//   "FLOW_CHART_PUNCHED_CARD" - Punched card flow shape. Corresponds to
  4008  	// ECMA-376 ST_ShapeType 'flowChartPunchedCard'
  4009  	//   "FLOW_CHART_PUNCHED_TAPE" - Punched tape flow shape. Corresponds to
  4010  	// ECMA-376 ST_ShapeType 'flowChartPunchedTape'
  4011  	//   "FLOW_CHART_SORT" - Sort flow shape. Corresponds to ECMA-376 ST_ShapeType
  4012  	// 'flowChartSort'
  4013  	//   "FLOW_CHART_SUMMING_JUNCTION" - Summing junction flow shape. Corresponds
  4014  	// to ECMA-376 ST_ShapeType 'flowChartSummingJunction'
  4015  	//   "FLOW_CHART_TERMINATOR" - Terminator flow shape. Corresponds to ECMA-376
  4016  	// ST_ShapeType 'flowChartTerminator'
  4017  	//   "ARROW_EAST" - East arrow shape.
  4018  	//   "ARROW_NORTH_EAST" - Northeast arrow shape.
  4019  	//   "ARROW_NORTH" - North arrow shape.
  4020  	//   "SPEECH" - Speech shape.
  4021  	//   "STARBURST" - Star burst shape.
  4022  	//   "TEARDROP" - Teardrop shape. Corresponds to ECMA-376 ST_ShapeType
  4023  	// 'teardrop'
  4024  	//   "ELLIPSE_RIBBON" - Ellipse ribbon shape. Corresponds to ECMA-376
  4025  	// ST_ShapeType 'ellipseRibbon'
  4026  	//   "ELLIPSE_RIBBON_2" - Ellipse ribbon 2 shape. Corresponds to ECMA-376
  4027  	// ST_ShapeType 'ellipseRibbon2'
  4028  	//   "CLOUD_CALLOUT" - Callout cloud shape. Corresponds to ECMA-376
  4029  	// ST_ShapeType 'cloudCallout'
  4030  	//   "CUSTOM" - Custom shape.
  4031  	ShapeType string `json:"shapeType,omitempty"`
  4032  	// Text: The text content of the shape.
  4033  	Text *TextContent `json:"text,omitempty"`
  4034  	// ForceSendFields is a list of field names (e.g. "Placeholder") to
  4035  	// unconditionally include in API requests. By default, fields with empty or
  4036  	// default values are omitted from API requests. See
  4037  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4038  	// details.
  4039  	ForceSendFields []string `json:"-"`
  4040  	// NullFields is a list of field names (e.g. "Placeholder") to include in API
  4041  	// requests with the JSON null value. By default, fields with empty values are
  4042  	// omitted from API requests. See
  4043  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4044  	NullFields []string `json:"-"`
  4045  }
  4046  
  4047  func (s *Shape) MarshalJSON() ([]byte, error) {
  4048  	type NoMethod Shape
  4049  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4050  }
  4051  
  4052  // ShapeBackgroundFill: The shape background fill.
  4053  type ShapeBackgroundFill struct {
  4054  	// PropertyState: The background fill property state. Updating the fill on a
  4055  	// shape will implicitly update this field to `RENDERED`, unless another value
  4056  	// is specified in the same request. To have no fill on a shape, set this field
  4057  	// to `NOT_RENDERED`. In this case, any other fill fields set in the same
  4058  	// request will be ignored.
  4059  	//
  4060  	// Possible values:
  4061  	//   "RENDERED" - If a property's state is RENDERED, then the element has the
  4062  	// corresponding property when rendered on a page. If the element is a
  4063  	// placeholder shape as determined by the placeholder field, and it inherits
  4064  	// from a placeholder shape, the corresponding field may be unset, meaning that
  4065  	// the property value is inherited from a parent placeholder. If the element
  4066  	// does not inherit, then the field will contain the rendered value. This is
  4067  	// the default value.
  4068  	//   "NOT_RENDERED" - If a property's state is NOT_RENDERED, then the element
  4069  	// does not have the corresponding property when rendered on a page. However,
  4070  	// the field may still be set so it can be inherited by child shapes. To remove
  4071  	// a property from a rendered element, set its property_state to NOT_RENDERED.
  4072  	//   "INHERIT" - If a property's state is INHERIT, then the property state uses
  4073  	// the value of corresponding `property_state` field on the parent shape.
  4074  	// Elements that do not inherit will never have an INHERIT property state.
  4075  	PropertyState string `json:"propertyState,omitempty"`
  4076  	// SolidFill: Solid color fill.
  4077  	SolidFill *SolidFill `json:"solidFill,omitempty"`
  4078  	// ForceSendFields is a list of field names (e.g. "PropertyState") to
  4079  	// unconditionally include in API requests. By default, fields with empty or
  4080  	// default values are omitted from API requests. See
  4081  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4082  	// details.
  4083  	ForceSendFields []string `json:"-"`
  4084  	// NullFields is a list of field names (e.g. "PropertyState") to include in API
  4085  	// requests with the JSON null value. By default, fields with empty values are
  4086  	// omitted from API requests. See
  4087  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4088  	NullFields []string `json:"-"`
  4089  }
  4090  
  4091  func (s *ShapeBackgroundFill) MarshalJSON() ([]byte, error) {
  4092  	type NoMethod ShapeBackgroundFill
  4093  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4094  }
  4095  
  4096  // ShapeProperties: The properties of a Shape. If the shape is a placeholder
  4097  // shape as determined by the placeholder field, then these properties may be
  4098  // inherited from a parent placeholder shape. Determining the rendered value of
  4099  // the property depends on the corresponding property_state field value. Any
  4100  // text autofit settings on the shape are automatically deactivated by requests
  4101  // that can impact how text fits in the shape.
  4102  type ShapeProperties struct {
  4103  	// Autofit: The autofit properties of the shape. This property is only set for
  4104  	// shapes that allow text.
  4105  	Autofit *Autofit `json:"autofit,omitempty"`
  4106  	// ContentAlignment: The alignment of the content in the shape. If unspecified,
  4107  	// the alignment is inherited from a parent placeholder if it exists. If the
  4108  	// shape has no parent, the default alignment matches the alignment for new
  4109  	// shapes created in the Slides editor.
  4110  	//
  4111  	// Possible values:
  4112  	//   "CONTENT_ALIGNMENT_UNSPECIFIED" - An unspecified content alignment. The
  4113  	// content alignment is inherited from the parent if it exists.
  4114  	//   "CONTENT_ALIGNMENT_UNSUPPORTED" - An unsupported content alignment.
  4115  	//   "TOP" - An alignment that aligns the content to the top of the content
  4116  	// holder. Corresponds to ECMA-376 ST_TextAnchoringType 't'.
  4117  	//   "MIDDLE" - An alignment that aligns the content to the middle of the
  4118  	// content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'ctr'.
  4119  	//   "BOTTOM" - An alignment that aligns the content to the bottom of the
  4120  	// content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'b'.
  4121  	ContentAlignment string `json:"contentAlignment,omitempty"`
  4122  	// Link: The hyperlink destination of the shape. If unset, there is no link.
  4123  	// Links are not inherited from parent placeholders.
  4124  	Link *Link `json:"link,omitempty"`
  4125  	// Outline: The outline of the shape. If unset, the outline is inherited from a
  4126  	// parent placeholder if it exists. If the shape has no parent, then the
  4127  	// default outline depends on the shape type, matching the defaults for new
  4128  	// shapes created in the Slides editor.
  4129  	Outline *Outline `json:"outline,omitempty"`
  4130  	// Shadow: The shadow properties of the shape. If unset, the shadow is
  4131  	// inherited from a parent placeholder if it exists. If the shape has no
  4132  	// parent, then the default shadow matches the defaults for new shapes created
  4133  	// in the Slides editor. This property is read-only.
  4134  	Shadow *Shadow `json:"shadow,omitempty"`
  4135  	// ShapeBackgroundFill: The background fill of the shape. If unset, the
  4136  	// background fill is inherited from a parent placeholder if it exists. If the
  4137  	// shape has no parent, then the default background fill depends on the shape
  4138  	// type, matching the defaults for new shapes created in the Slides editor.
  4139  	ShapeBackgroundFill *ShapeBackgroundFill `json:"shapeBackgroundFill,omitempty"`
  4140  	// ForceSendFields is a list of field names (e.g. "Autofit") to unconditionally
  4141  	// include in API requests. By default, fields with empty or default values are
  4142  	// omitted from API requests. See
  4143  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4144  	// details.
  4145  	ForceSendFields []string `json:"-"`
  4146  	// NullFields is a list of field names (e.g. "Autofit") to include in API
  4147  	// requests with the JSON null value. By default, fields with empty values are
  4148  	// omitted from API requests. See
  4149  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4150  	NullFields []string `json:"-"`
  4151  }
  4152  
  4153  func (s *ShapeProperties) MarshalJSON() ([]byte, error) {
  4154  	type NoMethod ShapeProperties
  4155  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4156  }
  4157  
  4158  // SheetsChart: A PageElement kind representing a linked chart embedded from
  4159  // Google Sheets.
  4160  type SheetsChart struct {
  4161  	// ChartId: The ID of the specific chart in the Google Sheets spreadsheet that
  4162  	// is embedded.
  4163  	ChartId int64 `json:"chartId,omitempty"`
  4164  	// ContentUrl: The URL of an image of the embedded chart, with a default
  4165  	// lifetime of 30 minutes. This URL is tagged with the account of the
  4166  	// requester. Anyone with the URL effectively accesses the image as the
  4167  	// original requester. Access to the image may be lost if the presentation's
  4168  	// sharing settings change.
  4169  	ContentUrl string `json:"contentUrl,omitempty"`
  4170  	// SheetsChartProperties: The properties of the Sheets chart.
  4171  	SheetsChartProperties *SheetsChartProperties `json:"sheetsChartProperties,omitempty"`
  4172  	// SpreadsheetId: The ID of the Google Sheets spreadsheet that contains the
  4173  	// source chart.
  4174  	SpreadsheetId string `json:"spreadsheetId,omitempty"`
  4175  	// ForceSendFields is a list of field names (e.g. "ChartId") to unconditionally
  4176  	// include in API requests. By default, fields with empty or default values are
  4177  	// omitted from API requests. See
  4178  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4179  	// details.
  4180  	ForceSendFields []string `json:"-"`
  4181  	// NullFields is a list of field names (e.g. "ChartId") to include in API
  4182  	// requests with the JSON null value. By default, fields with empty values are
  4183  	// omitted from API requests. See
  4184  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4185  	NullFields []string `json:"-"`
  4186  }
  4187  
  4188  func (s *SheetsChart) MarshalJSON() ([]byte, error) {
  4189  	type NoMethod SheetsChart
  4190  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4191  }
  4192  
  4193  // SheetsChartProperties: The properties of the SheetsChart.
  4194  type SheetsChartProperties struct {
  4195  	// ChartImageProperties: The properties of the embedded chart image.
  4196  	ChartImageProperties *ImageProperties `json:"chartImageProperties,omitempty"`
  4197  	// ForceSendFields is a list of field names (e.g. "ChartImageProperties") to
  4198  	// unconditionally include in API requests. By default, fields with empty or
  4199  	// default values are omitted from API requests. See
  4200  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4201  	// details.
  4202  	ForceSendFields []string `json:"-"`
  4203  	// NullFields is a list of field names (e.g. "ChartImageProperties") to include
  4204  	// in API requests with the JSON null value. By default, fields with empty
  4205  	// values are omitted from API requests. See
  4206  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4207  	NullFields []string `json:"-"`
  4208  }
  4209  
  4210  func (s *SheetsChartProperties) MarshalJSON() ([]byte, error) {
  4211  	type NoMethod SheetsChartProperties
  4212  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4213  }
  4214  
  4215  // Size: A width and height.
  4216  type Size struct {
  4217  	// Height: The height of the object.
  4218  	Height *Dimension `json:"height,omitempty"`
  4219  	// Width: The width of the object.
  4220  	Width *Dimension `json:"width,omitempty"`
  4221  	// ForceSendFields is a list of field names (e.g. "Height") to unconditionally
  4222  	// include in API requests. By default, fields with empty or default values are
  4223  	// omitted from API requests. See
  4224  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4225  	// details.
  4226  	ForceSendFields []string `json:"-"`
  4227  	// NullFields is a list of field names (e.g. "Height") to include in API
  4228  	// requests with the JSON null value. By default, fields with empty values are
  4229  	// omitted from API requests. See
  4230  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4231  	NullFields []string `json:"-"`
  4232  }
  4233  
  4234  func (s *Size) MarshalJSON() ([]byte, error) {
  4235  	type NoMethod Size
  4236  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4237  }
  4238  
  4239  // SlideProperties: The properties of Page that are only relevant for pages
  4240  // with page_type SLIDE.
  4241  type SlideProperties struct {
  4242  	// IsSkipped: Whether the slide is skipped in the presentation mode. Defaults
  4243  	// to false.
  4244  	IsSkipped bool `json:"isSkipped,omitempty"`
  4245  	// LayoutObjectId: The object ID of the layout that this slide is based on.
  4246  	// This property is read-only.
  4247  	LayoutObjectId string `json:"layoutObjectId,omitempty"`
  4248  	// MasterObjectId: The object ID of the master that this slide is based on.
  4249  	// This property is read-only.
  4250  	MasterObjectId string `json:"masterObjectId,omitempty"`
  4251  	// NotesPage: The notes page that this slide is associated with. It defines the
  4252  	// visual appearance of a notes page when printing or exporting slides with
  4253  	// speaker notes. A notes page inherits properties from the notes master. The
  4254  	// placeholder shape with type BODY on the notes page contains the speaker
  4255  	// notes for this slide. The ID of this shape is identified by the
  4256  	// speakerNotesObjectId field. The notes page is read-only except for the text
  4257  	// content and styles of the speaker notes shape. This property is read-only.
  4258  	NotesPage *Page `json:"notesPage,omitempty"`
  4259  	// ForceSendFields is a list of field names (e.g. "IsSkipped") to
  4260  	// unconditionally include in API requests. By default, fields with empty or
  4261  	// default values are omitted from API requests. See
  4262  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4263  	// details.
  4264  	ForceSendFields []string `json:"-"`
  4265  	// NullFields is a list of field names (e.g. "IsSkipped") to include in API
  4266  	// requests with the JSON null value. By default, fields with empty values are
  4267  	// omitted from API requests. See
  4268  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4269  	NullFields []string `json:"-"`
  4270  }
  4271  
  4272  func (s *SlideProperties) MarshalJSON() ([]byte, error) {
  4273  	type NoMethod SlideProperties
  4274  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4275  }
  4276  
  4277  // SolidFill: A solid color fill. The page or page element is filled entirely
  4278  // with the specified color value. If any field is unset, its value may be
  4279  // inherited from a parent placeholder if it exists.
  4280  type SolidFill struct {
  4281  	// Alpha: The fraction of this `color` that should be applied to the pixel.
  4282  	// That is, the final pixel color is defined by the equation: pixel color =
  4283  	// alpha * (color) + (1.0 - alpha) * (background color) This means that a value
  4284  	// of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a
  4285  	// completely transparent color.
  4286  	Alpha float64 `json:"alpha,omitempty"`
  4287  	// Color: The color value of the solid fill.
  4288  	Color *OpaqueColor `json:"color,omitempty"`
  4289  	// ForceSendFields is a list of field names (e.g. "Alpha") to unconditionally
  4290  	// include in API requests. By default, fields with empty or default values are
  4291  	// omitted from API requests. See
  4292  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4293  	// details.
  4294  	ForceSendFields []string `json:"-"`
  4295  	// NullFields is a list of field names (e.g. "Alpha") to include in API
  4296  	// requests with the JSON null value. By default, fields with empty values are
  4297  	// omitted from API requests. See
  4298  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4299  	NullFields []string `json:"-"`
  4300  }
  4301  
  4302  func (s *SolidFill) MarshalJSON() ([]byte, error) {
  4303  	type NoMethod SolidFill
  4304  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4305  }
  4306  
  4307  func (s *SolidFill) UnmarshalJSON(data []byte) error {
  4308  	type NoMethod SolidFill
  4309  	var s1 struct {
  4310  		Alpha gensupport.JSONFloat64 `json:"alpha"`
  4311  		*NoMethod
  4312  	}
  4313  	s1.NoMethod = (*NoMethod)(s)
  4314  	if err := json.Unmarshal(data, &s1); err != nil {
  4315  		return err
  4316  	}
  4317  	s.Alpha = float64(s1.Alpha)
  4318  	return nil
  4319  }
  4320  
  4321  // SpeakerSpotlight: A PageElement kind representing a Speaker Spotlight.
  4322  type SpeakerSpotlight struct {
  4323  	// SpeakerSpotlightProperties: The properties of the Speaker Spotlight.
  4324  	SpeakerSpotlightProperties *SpeakerSpotlightProperties `json:"speakerSpotlightProperties,omitempty"`
  4325  	// ForceSendFields is a list of field names (e.g. "SpeakerSpotlightProperties")
  4326  	// to unconditionally include in API requests. By default, fields with empty or
  4327  	// default values are omitted from API requests. See
  4328  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4329  	// details.
  4330  	ForceSendFields []string `json:"-"`
  4331  	// NullFields is a list of field names (e.g. "SpeakerSpotlightProperties") to
  4332  	// include in API requests with the JSON null value. By default, fields with
  4333  	// empty values are omitted from API requests. See
  4334  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4335  	NullFields []string `json:"-"`
  4336  }
  4337  
  4338  func (s *SpeakerSpotlight) MarshalJSON() ([]byte, error) {
  4339  	type NoMethod SpeakerSpotlight
  4340  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4341  }
  4342  
  4343  // SpeakerSpotlightProperties: The properties of the SpeakerSpotlight.
  4344  type SpeakerSpotlightProperties struct {
  4345  	// Outline: The outline of the Speaker Spotlight. If not set, it has no
  4346  	// outline.
  4347  	Outline *Outline `json:"outline,omitempty"`
  4348  	// Shadow: The shadow of the Speaker Spotlight. If not set, it has no shadow.
  4349  	Shadow *Shadow `json:"shadow,omitempty"`
  4350  	// ForceSendFields is a list of field names (e.g. "Outline") to unconditionally
  4351  	// include in API requests. By default, fields with empty or default values are
  4352  	// omitted from API requests. See
  4353  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4354  	// details.
  4355  	ForceSendFields []string `json:"-"`
  4356  	// NullFields is a list of field names (e.g. "Outline") to include in API
  4357  	// requests with the JSON null value. By default, fields with empty values are
  4358  	// omitted from API requests. See
  4359  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4360  	NullFields []string `json:"-"`
  4361  }
  4362  
  4363  func (s *SpeakerSpotlightProperties) MarshalJSON() ([]byte, error) {
  4364  	type NoMethod SpeakerSpotlightProperties
  4365  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4366  }
  4367  
  4368  // StretchedPictureFill: The stretched picture fill. The page or page element
  4369  // is filled entirely with the specified picture. The picture is stretched to
  4370  // fit its container.
  4371  type StretchedPictureFill struct {
  4372  	// ContentUrl: Reading the content_url: An URL to a picture with a default
  4373  	// lifetime of 30 minutes. This URL is tagged with the account of the
  4374  	// requester. Anyone with the URL effectively accesses the picture as the
  4375  	// original requester. Access to the picture may be lost if the presentation's
  4376  	// sharing settings change. Writing the content_url: The picture is fetched
  4377  	// once at insertion time and a copy is stored for display inside the
  4378  	// presentation. Pictures must be less than 50MB in size, cannot exceed 25
  4379  	// megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URL
  4380  	// can be at most 2 kB in length.
  4381  	ContentUrl string `json:"contentUrl,omitempty"`
  4382  	// Size: The original size of the picture fill. This field is read-only.
  4383  	Size *Size `json:"size,omitempty"`
  4384  	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
  4385  	// unconditionally include in API requests. By default, fields with empty or
  4386  	// default values are omitted from API requests. See
  4387  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4388  	// details.
  4389  	ForceSendFields []string `json:"-"`
  4390  	// NullFields is a list of field names (e.g. "ContentUrl") to include in API
  4391  	// requests with the JSON null value. By default, fields with empty values are
  4392  	// omitted from API requests. See
  4393  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4394  	NullFields []string `json:"-"`
  4395  }
  4396  
  4397  func (s *StretchedPictureFill) MarshalJSON() ([]byte, error) {
  4398  	type NoMethod StretchedPictureFill
  4399  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4400  }
  4401  
  4402  // SubstringMatchCriteria: A criteria that matches a specific string of text in
  4403  // a shape or table.
  4404  type SubstringMatchCriteria struct {
  4405  	// MatchCase: Indicates whether the search should respect case: - `True`: the
  4406  	// search is case sensitive. - `False`: the search is case insensitive.
  4407  	MatchCase bool `json:"matchCase,omitempty"`
  4408  	// Text: The text to search for in the shape or table.
  4409  	Text string `json:"text,omitempty"`
  4410  	// ForceSendFields is a list of field names (e.g. "MatchCase") to
  4411  	// unconditionally include in API requests. By default, fields with empty or
  4412  	// default values are omitted from API requests. See
  4413  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4414  	// details.
  4415  	ForceSendFields []string `json:"-"`
  4416  	// NullFields is a list of field names (e.g. "MatchCase") to include in API
  4417  	// requests with the JSON null value. By default, fields with empty values are
  4418  	// omitted from API requests. See
  4419  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4420  	NullFields []string `json:"-"`
  4421  }
  4422  
  4423  func (s *SubstringMatchCriteria) MarshalJSON() ([]byte, error) {
  4424  	type NoMethod SubstringMatchCriteria
  4425  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4426  }
  4427  
  4428  // Table: A PageElement kind representing a table.
  4429  type Table struct {
  4430  	// Columns: Number of columns in the table.
  4431  	Columns int64 `json:"columns,omitempty"`
  4432  	// HorizontalBorderRows: Properties of horizontal cell borders. A table's
  4433  	// horizontal cell borders are represented as a grid. The grid has one more row
  4434  	// than the number of rows in the table and the same number of columns as the
  4435  	// table. For example, if the table is 3 x 3, its horizontal borders will be
  4436  	// represented as a grid with 4 rows and 3 columns.
  4437  	HorizontalBorderRows []*TableBorderRow `json:"horizontalBorderRows,omitempty"`
  4438  	// Rows: Number of rows in the table.
  4439  	Rows int64 `json:"rows,omitempty"`
  4440  	// TableColumns: Properties of each column.
  4441  	TableColumns []*TableColumnProperties `json:"tableColumns,omitempty"`
  4442  	// TableRows: Properties and contents of each row. Cells that span multiple
  4443  	// rows are contained in only one of these rows and have a row_span greater
  4444  	// than 1.
  4445  	TableRows []*TableRow `json:"tableRows,omitempty"`
  4446  	// VerticalBorderRows: Properties of vertical cell borders. A table's vertical
  4447  	// cell borders are represented as a grid. The grid has the same number of rows
  4448  	// as the table and one more column than the number of columns in the table.
  4449  	// For example, if the table is 3 x 3, its vertical borders will be represented
  4450  	// as a grid with 3 rows and 4 columns.
  4451  	VerticalBorderRows []*TableBorderRow `json:"verticalBorderRows,omitempty"`
  4452  	// ForceSendFields is a list of field names (e.g. "Columns") to unconditionally
  4453  	// include in API requests. By default, fields with empty or default values are
  4454  	// omitted from API requests. See
  4455  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4456  	// details.
  4457  	ForceSendFields []string `json:"-"`
  4458  	// NullFields is a list of field names (e.g. "Columns") to include in API
  4459  	// requests with the JSON null value. By default, fields with empty values are
  4460  	// omitted from API requests. See
  4461  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4462  	NullFields []string `json:"-"`
  4463  }
  4464  
  4465  func (s *Table) MarshalJSON() ([]byte, error) {
  4466  	type NoMethod Table
  4467  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4468  }
  4469  
  4470  // TableBorderCell: The properties of each border cell.
  4471  type TableBorderCell struct {
  4472  	// Location: The location of the border within the border table.
  4473  	Location *TableCellLocation `json:"location,omitempty"`
  4474  	// TableBorderProperties: The border properties.
  4475  	TableBorderProperties *TableBorderProperties `json:"tableBorderProperties,omitempty"`
  4476  	// ForceSendFields is a list of field names (e.g. "Location") to
  4477  	// unconditionally include in API requests. By default, fields with empty or
  4478  	// default values are omitted from API requests. See
  4479  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4480  	// details.
  4481  	ForceSendFields []string `json:"-"`
  4482  	// NullFields is a list of field names (e.g. "Location") to include in API
  4483  	// requests with the JSON null value. By default, fields with empty values are
  4484  	// omitted from API requests. See
  4485  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4486  	NullFields []string `json:"-"`
  4487  }
  4488  
  4489  func (s *TableBorderCell) MarshalJSON() ([]byte, error) {
  4490  	type NoMethod TableBorderCell
  4491  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4492  }
  4493  
  4494  // TableBorderFill: The fill of the border.
  4495  type TableBorderFill struct {
  4496  	// SolidFill: Solid fill.
  4497  	SolidFill *SolidFill `json:"solidFill,omitempty"`
  4498  	// ForceSendFields is a list of field names (e.g. "SolidFill") to
  4499  	// unconditionally include in API requests. By default, fields with empty or
  4500  	// default values are omitted from API requests. See
  4501  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4502  	// details.
  4503  	ForceSendFields []string `json:"-"`
  4504  	// NullFields is a list of field names (e.g. "SolidFill") to include in API
  4505  	// requests with the JSON null value. By default, fields with empty values are
  4506  	// omitted from API requests. See
  4507  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4508  	NullFields []string `json:"-"`
  4509  }
  4510  
  4511  func (s *TableBorderFill) MarshalJSON() ([]byte, error) {
  4512  	type NoMethod TableBorderFill
  4513  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4514  }
  4515  
  4516  // TableBorderProperties: The border styling properties of the TableBorderCell.
  4517  type TableBorderProperties struct {
  4518  	// DashStyle: The dash style of the border.
  4519  	//
  4520  	// Possible values:
  4521  	//   "DASH_STYLE_UNSPECIFIED" - Unspecified dash style.
  4522  	//   "SOLID" - Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value
  4523  	// 'solid'. This is the default dash style.
  4524  	//   "DOT" - Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value
  4525  	// 'dot'.
  4526  	//   "DASH" - Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value
  4527  	// 'dash'.
  4528  	//   "DASH_DOT" - Alternating dashes and dots. Corresponds to ECMA-376
  4529  	// ST_PresetLineDashVal value 'dashDot'.
  4530  	//   "LONG_DASH" - Line with large dashes. Corresponds to ECMA-376
  4531  	// ST_PresetLineDashVal value 'lgDash'.
  4532  	//   "LONG_DASH_DOT" - Alternating large dashes and dots. Corresponds to
  4533  	// ECMA-376 ST_PresetLineDashVal value 'lgDashDot'.
  4534  	DashStyle string `json:"dashStyle,omitempty"`
  4535  	// TableBorderFill: The fill of the table border.
  4536  	TableBorderFill *TableBorderFill `json:"tableBorderFill,omitempty"`
  4537  	// Weight: The thickness of the border.
  4538  	Weight *Dimension `json:"weight,omitempty"`
  4539  	// ForceSendFields is a list of field names (e.g. "DashStyle") to
  4540  	// unconditionally include in API requests. By default, fields with empty or
  4541  	// default values are omitted from API requests. See
  4542  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4543  	// details.
  4544  	ForceSendFields []string `json:"-"`
  4545  	// NullFields is a list of field names (e.g. "DashStyle") to include in API
  4546  	// requests with the JSON null value. By default, fields with empty values are
  4547  	// omitted from API requests. See
  4548  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4549  	NullFields []string `json:"-"`
  4550  }
  4551  
  4552  func (s *TableBorderProperties) MarshalJSON() ([]byte, error) {
  4553  	type NoMethod TableBorderProperties
  4554  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4555  }
  4556  
  4557  // TableBorderRow: Contents of each border row in a table.
  4558  type TableBorderRow struct {
  4559  	// TableBorderCells: Properties of each border cell. When a border's adjacent
  4560  	// table cells are merged, it is not included in the response.
  4561  	TableBorderCells []*TableBorderCell `json:"tableBorderCells,omitempty"`
  4562  	// ForceSendFields is a list of field names (e.g. "TableBorderCells") to
  4563  	// unconditionally include in API requests. By default, fields with empty or
  4564  	// default values are omitted from API requests. See
  4565  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4566  	// details.
  4567  	ForceSendFields []string `json:"-"`
  4568  	// NullFields is a list of field names (e.g. "TableBorderCells") to include in
  4569  	// API requests with the JSON null value. By default, fields with empty values
  4570  	// are omitted from API requests. See
  4571  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4572  	NullFields []string `json:"-"`
  4573  }
  4574  
  4575  func (s *TableBorderRow) MarshalJSON() ([]byte, error) {
  4576  	type NoMethod TableBorderRow
  4577  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4578  }
  4579  
  4580  // TableCell: Properties and contents of each table cell.
  4581  type TableCell struct {
  4582  	// ColumnSpan: Column span of the cell.
  4583  	ColumnSpan int64 `json:"columnSpan,omitempty"`
  4584  	// Location: The location of the cell within the table.
  4585  	Location *TableCellLocation `json:"location,omitempty"`
  4586  	// RowSpan: Row span of the cell.
  4587  	RowSpan int64 `json:"rowSpan,omitempty"`
  4588  	// TableCellProperties: The properties of the table cell.
  4589  	TableCellProperties *TableCellProperties `json:"tableCellProperties,omitempty"`
  4590  	// Text: The text content of the cell.
  4591  	Text *TextContent `json:"text,omitempty"`
  4592  	// ForceSendFields is a list of field names (e.g. "ColumnSpan") to
  4593  	// unconditionally include in API requests. By default, fields with empty or
  4594  	// default values are omitted from API requests. See
  4595  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4596  	// details.
  4597  	ForceSendFields []string `json:"-"`
  4598  	// NullFields is a list of field names (e.g. "ColumnSpan") to include in API
  4599  	// requests with the JSON null value. By default, fields with empty values are
  4600  	// omitted from API requests. See
  4601  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4602  	NullFields []string `json:"-"`
  4603  }
  4604  
  4605  func (s *TableCell) MarshalJSON() ([]byte, error) {
  4606  	type NoMethod TableCell
  4607  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4608  }
  4609  
  4610  // TableCellBackgroundFill: The table cell background fill.
  4611  type TableCellBackgroundFill struct {
  4612  	// PropertyState: The background fill property state. Updating the fill on a
  4613  	// table cell will implicitly update this field to `RENDERED`, unless another
  4614  	// value is specified in the same request. To have no fill on a table cell, set
  4615  	// this field to `NOT_RENDERED`. In this case, any other fill fields set in the
  4616  	// same request will be ignored.
  4617  	//
  4618  	// Possible values:
  4619  	//   "RENDERED" - If a property's state is RENDERED, then the element has the
  4620  	// corresponding property when rendered on a page. If the element is a
  4621  	// placeholder shape as determined by the placeholder field, and it inherits
  4622  	// from a placeholder shape, the corresponding field may be unset, meaning that
  4623  	// the property value is inherited from a parent placeholder. If the element
  4624  	// does not inherit, then the field will contain the rendered value. This is
  4625  	// the default value.
  4626  	//   "NOT_RENDERED" - If a property's state is NOT_RENDERED, then the element
  4627  	// does not have the corresponding property when rendered on a page. However,
  4628  	// the field may still be set so it can be inherited by child shapes. To remove
  4629  	// a property from a rendered element, set its property_state to NOT_RENDERED.
  4630  	//   "INHERIT" - If a property's state is INHERIT, then the property state uses
  4631  	// the value of corresponding `property_state` field on the parent shape.
  4632  	// Elements that do not inherit will never have an INHERIT property state.
  4633  	PropertyState string `json:"propertyState,omitempty"`
  4634  	// SolidFill: Solid color fill.
  4635  	SolidFill *SolidFill `json:"solidFill,omitempty"`
  4636  	// ForceSendFields is a list of field names (e.g. "PropertyState") 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. "PropertyState") to include in API
  4643  	// requests with the JSON null value. By default, fields with empty values are
  4644  	// 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 *TableCellBackgroundFill) MarshalJSON() ([]byte, error) {
  4650  	type NoMethod TableCellBackgroundFill
  4651  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4652  }
  4653  
  4654  // TableCellLocation: A location of a single table cell within a table.
  4655  type TableCellLocation struct {
  4656  	// ColumnIndex: The 0-based column index.
  4657  	ColumnIndex int64 `json:"columnIndex,omitempty"`
  4658  	// RowIndex: The 0-based row index.
  4659  	RowIndex int64 `json:"rowIndex,omitempty"`
  4660  	// ForceSendFields is a list of field names (e.g. "ColumnIndex") to
  4661  	// unconditionally include in API requests. By default, fields with empty or
  4662  	// default values are omitted from API requests. See
  4663  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4664  	// details.
  4665  	ForceSendFields []string `json:"-"`
  4666  	// NullFields is a list of field names (e.g. "ColumnIndex") to include in API
  4667  	// requests with the JSON null value. By default, fields with empty values are
  4668  	// omitted from API requests. See
  4669  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4670  	NullFields []string `json:"-"`
  4671  }
  4672  
  4673  func (s *TableCellLocation) MarshalJSON() ([]byte, error) {
  4674  	type NoMethod TableCellLocation
  4675  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4676  }
  4677  
  4678  // TableCellProperties: The properties of the TableCell.
  4679  type TableCellProperties struct {
  4680  	// ContentAlignment: The alignment of the content in the table cell. The
  4681  	// default alignment matches the alignment for newly created table cells in the
  4682  	// Slides editor.
  4683  	//
  4684  	// Possible values:
  4685  	//   "CONTENT_ALIGNMENT_UNSPECIFIED" - An unspecified content alignment. The
  4686  	// content alignment is inherited from the parent if it exists.
  4687  	//   "CONTENT_ALIGNMENT_UNSUPPORTED" - An unsupported content alignment.
  4688  	//   "TOP" - An alignment that aligns the content to the top of the content
  4689  	// holder. Corresponds to ECMA-376 ST_TextAnchoringType 't'.
  4690  	//   "MIDDLE" - An alignment that aligns the content to the middle of the
  4691  	// content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'ctr'.
  4692  	//   "BOTTOM" - An alignment that aligns the content to the bottom of the
  4693  	// content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'b'.
  4694  	ContentAlignment string `json:"contentAlignment,omitempty"`
  4695  	// TableCellBackgroundFill: The background fill of the table cell. The default
  4696  	// fill matches the fill for newly created table cells in the Slides editor.
  4697  	TableCellBackgroundFill *TableCellBackgroundFill `json:"tableCellBackgroundFill,omitempty"`
  4698  	// ForceSendFields is a list of field names (e.g. "ContentAlignment") to
  4699  	// unconditionally include in API requests. By default, fields with empty or
  4700  	// default values are omitted from API requests. See
  4701  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4702  	// details.
  4703  	ForceSendFields []string `json:"-"`
  4704  	// NullFields is a list of field names (e.g. "ContentAlignment") to include in
  4705  	// API requests with the JSON null value. By default, fields with empty values
  4706  	// are omitted from API requests. See
  4707  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4708  	NullFields []string `json:"-"`
  4709  }
  4710  
  4711  func (s *TableCellProperties) MarshalJSON() ([]byte, error) {
  4712  	type NoMethod TableCellProperties
  4713  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4714  }
  4715  
  4716  // TableColumnProperties: Properties of each column in a table.
  4717  type TableColumnProperties struct {
  4718  	// ColumnWidth: Width of a column.
  4719  	ColumnWidth *Dimension `json:"columnWidth,omitempty"`
  4720  	// ForceSendFields is a list of field names (e.g. "ColumnWidth") to
  4721  	// unconditionally include in API requests. By default, fields with empty or
  4722  	// default values are omitted from API requests. See
  4723  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4724  	// details.
  4725  	ForceSendFields []string `json:"-"`
  4726  	// NullFields is a list of field names (e.g. "ColumnWidth") to include in API
  4727  	// requests with the JSON null value. By default, fields with empty values are
  4728  	// omitted from API requests. See
  4729  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4730  	NullFields []string `json:"-"`
  4731  }
  4732  
  4733  func (s *TableColumnProperties) MarshalJSON() ([]byte, error) {
  4734  	type NoMethod TableColumnProperties
  4735  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4736  }
  4737  
  4738  // TableRange: A table range represents a reference to a subset of a table.
  4739  // It's important to note that the cells specified by a table range do not
  4740  // necessarily form a rectangle. For example, let's say we have a 3 x 3 table
  4741  // where all the cells of the last row are merged together. The table looks
  4742  // like this: [ ] A table range with location = (0, 0), row span = 3 and column
  4743  // span = 2 specifies the following cells: x x [ x x x ]
  4744  type TableRange struct {
  4745  	// ColumnSpan: The column span of the table range.
  4746  	ColumnSpan int64 `json:"columnSpan,omitempty"`
  4747  	// Location: The starting location of the table range.
  4748  	Location *TableCellLocation `json:"location,omitempty"`
  4749  	// RowSpan: The row span of the table range.
  4750  	RowSpan int64 `json:"rowSpan,omitempty"`
  4751  	// ForceSendFields is a list of field names (e.g. "ColumnSpan") to
  4752  	// unconditionally include in API requests. By default, fields with empty or
  4753  	// default values are omitted from API requests. See
  4754  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4755  	// details.
  4756  	ForceSendFields []string `json:"-"`
  4757  	// NullFields is a list of field names (e.g. "ColumnSpan") to include in API
  4758  	// requests with the JSON null value. By default, fields with empty values are
  4759  	// omitted from API requests. See
  4760  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4761  	NullFields []string `json:"-"`
  4762  }
  4763  
  4764  func (s *TableRange) MarshalJSON() ([]byte, error) {
  4765  	type NoMethod TableRange
  4766  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4767  }
  4768  
  4769  // TableRow: Properties and contents of each row in a table.
  4770  type TableRow struct {
  4771  	// RowHeight: Height of a row.
  4772  	RowHeight *Dimension `json:"rowHeight,omitempty"`
  4773  	// TableCells: Properties and contents of each cell. Cells that span multiple
  4774  	// columns are represented only once with a column_span greater than 1. As a
  4775  	// result, the length of this collection does not always match the number of
  4776  	// columns of the entire table.
  4777  	TableCells []*TableCell `json:"tableCells,omitempty"`
  4778  	// TableRowProperties: Properties of the row.
  4779  	TableRowProperties *TableRowProperties `json:"tableRowProperties,omitempty"`
  4780  	// ForceSendFields is a list of field names (e.g. "RowHeight") to
  4781  	// unconditionally include in API requests. By default, fields with empty or
  4782  	// default values are omitted from API requests. See
  4783  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4784  	// details.
  4785  	ForceSendFields []string `json:"-"`
  4786  	// NullFields is a list of field names (e.g. "RowHeight") to include in API
  4787  	// requests with the JSON null value. By default, fields with empty values are
  4788  	// omitted from API requests. See
  4789  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4790  	NullFields []string `json:"-"`
  4791  }
  4792  
  4793  func (s *TableRow) MarshalJSON() ([]byte, error) {
  4794  	type NoMethod TableRow
  4795  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4796  }
  4797  
  4798  // TableRowProperties: Properties of each row in a table.
  4799  type TableRowProperties struct {
  4800  	// MinRowHeight: Minimum height of the row. The row will be rendered in the
  4801  	// Slides editor at a height equal to or greater than this value in order to
  4802  	// show all the text in the row's cell(s).
  4803  	MinRowHeight *Dimension `json:"minRowHeight,omitempty"`
  4804  	// ForceSendFields is a list of field names (e.g. "MinRowHeight") to
  4805  	// unconditionally include in API requests. By default, fields with empty or
  4806  	// default values are omitted from API requests. See
  4807  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4808  	// details.
  4809  	ForceSendFields []string `json:"-"`
  4810  	// NullFields is a list of field names (e.g. "MinRowHeight") to include in API
  4811  	// requests with the JSON null value. By default, fields with empty values are
  4812  	// omitted from API requests. See
  4813  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4814  	NullFields []string `json:"-"`
  4815  }
  4816  
  4817  func (s *TableRowProperties) MarshalJSON() ([]byte, error) {
  4818  	type NoMethod TableRowProperties
  4819  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4820  }
  4821  
  4822  // TextContent: The general text content. The text must reside in a compatible
  4823  // shape (e.g. text box or rectangle) or a table cell in a page.
  4824  type TextContent struct {
  4825  	// Lists: The bulleted lists contained in this text, keyed by list ID.
  4826  	Lists map[string]List `json:"lists,omitempty"`
  4827  	// TextElements: The text contents broken down into its component parts,
  4828  	// including styling information. This property is read-only.
  4829  	TextElements []*TextElement `json:"textElements,omitempty"`
  4830  	// ForceSendFields is a list of field names (e.g. "Lists") to unconditionally
  4831  	// include in API requests. By default, fields with empty or default values are
  4832  	// omitted from API requests. See
  4833  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4834  	// details.
  4835  	ForceSendFields []string `json:"-"`
  4836  	// NullFields is a list of field names (e.g. "Lists") to include in API
  4837  	// requests with the JSON null value. By default, fields with empty values are
  4838  	// omitted from API requests. See
  4839  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4840  	NullFields []string `json:"-"`
  4841  }
  4842  
  4843  func (s *TextContent) MarshalJSON() ([]byte, error) {
  4844  	type NoMethod TextContent
  4845  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4846  }
  4847  
  4848  // TextElement: A TextElement describes the content of a range of indices in
  4849  // the text content of a Shape or TableCell.
  4850  type TextElement struct {
  4851  	// AutoText: A TextElement representing a spot in the text that is dynamically
  4852  	// replaced with content that can change over time.
  4853  	AutoText *AutoText `json:"autoText,omitempty"`
  4854  	// EndIndex: The zero-based end index of this text element, exclusive, in
  4855  	// Unicode code units.
  4856  	EndIndex int64 `json:"endIndex,omitempty"`
  4857  	// ParagraphMarker: A marker representing the beginning of a new paragraph. The
  4858  	// `start_index` and `end_index` of this TextElement represent the range of the
  4859  	// paragraph. Other TextElements with an index range contained inside this
  4860  	// paragraph's range are considered to be part of this paragraph. The range of
  4861  	// indices of two separate paragraphs will never overlap.
  4862  	ParagraphMarker *ParagraphMarker `json:"paragraphMarker,omitempty"`
  4863  	// StartIndex: The zero-based start index of this text element, in Unicode code
  4864  	// units.
  4865  	StartIndex int64 `json:"startIndex,omitempty"`
  4866  	// TextRun: A TextElement representing a run of text where all of the
  4867  	// characters in the run have the same TextStyle. The `start_index` and
  4868  	// `end_index` of TextRuns will always be fully contained in the index range of
  4869  	// a single `paragraph_marker` TextElement. In other words, a TextRun will
  4870  	// never span multiple paragraphs.
  4871  	TextRun *TextRun `json:"textRun,omitempty"`
  4872  	// ForceSendFields is a list of field names (e.g. "AutoText") to
  4873  	// unconditionally include in API requests. By default, fields with empty or
  4874  	// default values are omitted from API requests. See
  4875  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4876  	// details.
  4877  	ForceSendFields []string `json:"-"`
  4878  	// NullFields is a list of field names (e.g. "AutoText") to include in API
  4879  	// requests with the JSON null value. By default, fields with empty values are
  4880  	// omitted from API requests. See
  4881  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4882  	NullFields []string `json:"-"`
  4883  }
  4884  
  4885  func (s *TextElement) MarshalJSON() ([]byte, error) {
  4886  	type NoMethod TextElement
  4887  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4888  }
  4889  
  4890  // TextRun: A TextElement kind that represents a run of text that all has the
  4891  // same styling.
  4892  type TextRun struct {
  4893  	// Content: The text of this run.
  4894  	Content string `json:"content,omitempty"`
  4895  	// Style: The styling applied to this run.
  4896  	Style *TextStyle `json:"style,omitempty"`
  4897  	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
  4898  	// include in API requests. By default, fields with empty or default values are
  4899  	// omitted from API requests. See
  4900  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4901  	// details.
  4902  	ForceSendFields []string `json:"-"`
  4903  	// NullFields is a list of field names (e.g. "Content") to include in API
  4904  	// requests with the JSON null value. By default, fields with empty values are
  4905  	// omitted from API requests. See
  4906  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4907  	NullFields []string `json:"-"`
  4908  }
  4909  
  4910  func (s *TextRun) MarshalJSON() ([]byte, error) {
  4911  	type NoMethod TextRun
  4912  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4913  }
  4914  
  4915  // TextStyle: Represents the styling that can be applied to a TextRun. If this
  4916  // text is contained in a shape with a parent placeholder, then these text
  4917  // styles may be inherited from the parent. Which text styles are inherited
  4918  // depend on the nesting level of lists: * A text run in a paragraph that is
  4919  // not in a list will inherit its text style from the the newline character in
  4920  // the paragraph at the 0 nesting level of the list inside the parent
  4921  // placeholder. * A text run in a paragraph that is in a list will inherit its
  4922  // text style from the newline character in the paragraph at its corresponding
  4923  // nesting level of the list inside the parent placeholder. Inherited text
  4924  // styles are represented as unset fields in this message. If text is contained
  4925  // in a shape without a parent placeholder, unsetting these fields will revert
  4926  // the style to a value matching the defaults in the Slides editor.
  4927  type TextStyle struct {
  4928  	// BackgroundColor: The background color of the text. If set, the color is
  4929  	// either opaque or transparent, depending on if the `opaque_color` field in it
  4930  	// is set.
  4931  	BackgroundColor *OptionalColor `json:"backgroundColor,omitempty"`
  4932  	// BaselineOffset: The text's vertical offset from its normal position. Text
  4933  	// with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered
  4934  	// in a smaller font size, computed based on the `font_size` field. The
  4935  	// `font_size` itself is not affected by changes in this field.
  4936  	//
  4937  	// Possible values:
  4938  	//   "BASELINE_OFFSET_UNSPECIFIED" - The text's baseline offset is inherited
  4939  	// from the parent.
  4940  	//   "NONE" - The text is not vertically offset.
  4941  	//   "SUPERSCRIPT" - The text is vertically offset upwards (superscript).
  4942  	//   "SUBSCRIPT" - The text is vertically offset downwards (subscript).
  4943  	BaselineOffset string `json:"baselineOffset,omitempty"`
  4944  	// Bold: Whether or not the text is rendered as bold.
  4945  	Bold bool `json:"bold,omitempty"`
  4946  	// FontFamily: The font family of the text. The font family can be any font
  4947  	// from the Font menu in Slides or from [Google Fonts]
  4948  	// (https://fonts.google.com/). If the font name is unrecognized, the text is
  4949  	// rendered in `Arial`. Some fonts can affect the weight of the text. If an
  4950  	// update request specifies values for both `font_family` and `bold`, the
  4951  	// explicitly-set `bold` value is used.
  4952  	FontFamily string `json:"fontFamily,omitempty"`
  4953  	// FontSize: The size of the text's font. When read, the `font_size` will
  4954  	// specified in points.
  4955  	FontSize *Dimension `json:"fontSize,omitempty"`
  4956  	// ForegroundColor: The color of the text itself. If set, the color is either
  4957  	// opaque or transparent, depending on if the `opaque_color` field in it is
  4958  	// set.
  4959  	ForegroundColor *OptionalColor `json:"foregroundColor,omitempty"`
  4960  	// Italic: Whether or not the text is italicized.
  4961  	Italic bool `json:"italic,omitempty"`
  4962  	// Link: The hyperlink destination of the text. If unset, there is no link.
  4963  	// Links are not inherited from parent text. Changing the link in an update
  4964  	// request causes some other changes to the text style of the range: * When
  4965  	// setting a link, the text foreground color will be set to
  4966  	// ThemeColorType.HYPERLINK and the text will be underlined. If these fields
  4967  	// are modified in the same request, those values will be used instead of the
  4968  	// link defaults. * Setting a link on a text range that overlaps with an
  4969  	// existing link will also update the existing link to point to the new URL. *
  4970  	// Links are not settable on newline characters. As a result, setting a link on
  4971  	// a text range that crosses a paragraph boundary, such as "ABC\n123", will
  4972  	// separate the newline character(s) into their own text runs. The link will be
  4973  	// applied separately to the runs before and after the newline. * Removing a
  4974  	// link will update the text style of the range to match the style of the
  4975  	// preceding text (or the default text styles if the preceding text is another
  4976  	// link) unless different styles are being set in the same request.
  4977  	Link *Link `json:"link,omitempty"`
  4978  	// SmallCaps: Whether or not the text is in small capital letters.
  4979  	SmallCaps bool `json:"smallCaps,omitempty"`
  4980  	// Strikethrough: Whether or not the text is struck through.
  4981  	Strikethrough bool `json:"strikethrough,omitempty"`
  4982  	// Underline: Whether or not the text is underlined.
  4983  	Underline bool `json:"underline,omitempty"`
  4984  	// WeightedFontFamily: The font family and rendered weight of the text. This
  4985  	// field is an extension of `font_family` meant to support explicit font
  4986  	// weights without breaking backwards compatibility. As such, when reading the
  4987  	// style of a range of text, the value of `weighted_font_family#font_family`
  4988  	// will always be equal to that of `font_family`. However, when writing, if
  4989  	// both fields are included in the field mask (either explicitly or through the
  4990  	// wildcard "*"), their values are reconciled as follows: * If `font_family`
  4991  	// is set and `weighted_font_family` is not, the value of `font_family` is
  4992  	// applied with weight `400` ("normal"). * If both fields are set, the value of
  4993  	// `font_family` must match that of `weighted_font_family#font_family`. If so,
  4994  	// the font family and weight of `weighted_font_family` is applied. Otherwise,
  4995  	// a 400 bad request error is returned. * If `weighted_font_family` is set and
  4996  	// `font_family` is not, the font family and weight of `weighted_font_family`
  4997  	// is applied. * If neither field is set, the font family and weight of the
  4998  	// text inherit from the parent. Note that these properties cannot inherit
  4999  	// separately from each other. If an update request specifies values for both
  5000  	// `weighted_font_family` and `bold`, the `weighted_font_family` is applied
  5001  	// first, then `bold`. If `weighted_font_family#weight` is not set, it defaults
  5002  	// to `400`. If `weighted_font_family` is set, then
  5003  	// `weighted_font_family#font_family` must also be set with a non-empty value.
  5004  	// Otherwise, a 400 bad request error is returned.
  5005  	WeightedFontFamily *WeightedFontFamily `json:"weightedFontFamily,omitempty"`
  5006  	// ForceSendFields is a list of field names (e.g. "BackgroundColor") to
  5007  	// unconditionally include in API requests. By default, fields with empty or
  5008  	// default values are omitted from API requests. See
  5009  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5010  	// details.
  5011  	ForceSendFields []string `json:"-"`
  5012  	// NullFields is a list of field names (e.g. "BackgroundColor") to include in
  5013  	// API requests with the JSON null value. By default, fields with empty values
  5014  	// are omitted from API requests. See
  5015  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5016  	NullFields []string `json:"-"`
  5017  }
  5018  
  5019  func (s *TextStyle) MarshalJSON() ([]byte, error) {
  5020  	type NoMethod TextStyle
  5021  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5022  }
  5023  
  5024  // ThemeColorPair: A pair mapping a theme color type to the concrete color it
  5025  // represents.
  5026  type ThemeColorPair struct {
  5027  	// Color: The concrete color corresponding to the theme color type above.
  5028  	Color *RgbColor `json:"color,omitempty"`
  5029  	// Type: The type of the theme color.
  5030  	//
  5031  	// Possible values:
  5032  	//   "THEME_COLOR_TYPE_UNSPECIFIED" - Unspecified theme color. This value
  5033  	// should not be used.
  5034  	//   "DARK1" - Represents the first dark color.
  5035  	//   "LIGHT1" - Represents the first light color.
  5036  	//   "DARK2" - Represents the second dark color.
  5037  	//   "LIGHT2" - Represents the second light color.
  5038  	//   "ACCENT1" - Represents the first accent color.
  5039  	//   "ACCENT2" - Represents the second accent color.
  5040  	//   "ACCENT3" - Represents the third accent color.
  5041  	//   "ACCENT4" - Represents the fourth accent color.
  5042  	//   "ACCENT5" - Represents the fifth accent color.
  5043  	//   "ACCENT6" - Represents the sixth accent color.
  5044  	//   "HYPERLINK" - Represents the color to use for hyperlinks.
  5045  	//   "FOLLOWED_HYPERLINK" - Represents the color to use for visited hyperlinks.
  5046  	//   "TEXT1" - Represents the first text color.
  5047  	//   "BACKGROUND1" - Represents the first background color.
  5048  	//   "TEXT2" - Represents the second text color.
  5049  	//   "BACKGROUND2" - Represents the second background color.
  5050  	Type string `json:"type,omitempty"`
  5051  	// ForceSendFields is a list of field names (e.g. "Color") to unconditionally
  5052  	// include in API requests. By default, fields with empty or default values are
  5053  	// omitted from API requests. See
  5054  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5055  	// details.
  5056  	ForceSendFields []string `json:"-"`
  5057  	// NullFields is a list of field names (e.g. "Color") to include in API
  5058  	// requests with the JSON null value. By default, fields with empty values are
  5059  	// omitted from API requests. See
  5060  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5061  	NullFields []string `json:"-"`
  5062  }
  5063  
  5064  func (s *ThemeColorPair) MarshalJSON() ([]byte, error) {
  5065  	type NoMethod ThemeColorPair
  5066  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5067  }
  5068  
  5069  // Thumbnail: The thumbnail of a page.
  5070  type Thumbnail struct {
  5071  	// ContentUrl: The content URL of the thumbnail image. The URL to the image has
  5072  	// a default lifetime of 30 minutes. This URL is tagged with the account of the
  5073  	// requester. Anyone with the URL effectively accesses the image as the
  5074  	// original requester. Access to the image may be lost if the presentation's
  5075  	// sharing settings change. The mime type of the thumbnail image is the same as
  5076  	// specified in the `GetPageThumbnailRequest`.
  5077  	ContentUrl string `json:"contentUrl,omitempty"`
  5078  	// Height: The positive height in pixels of the thumbnail image.
  5079  	Height int64 `json:"height,omitempty"`
  5080  	// Width: The positive width in pixels of the thumbnail image.
  5081  	Width int64 `json:"width,omitempty"`
  5082  
  5083  	// ServerResponse contains the HTTP response code and headers from the server.
  5084  	googleapi.ServerResponse `json:"-"`
  5085  	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
  5086  	// unconditionally include in API requests. By default, fields with empty or
  5087  	// default values are 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. "ContentUrl") 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 *Thumbnail) MarshalJSON() ([]byte, error) {
  5099  	type NoMethod Thumbnail
  5100  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5101  }
  5102  
  5103  // UngroupObjectsRequest: Ungroups objects, such as groups.
  5104  type UngroupObjectsRequest struct {
  5105  	// ObjectIds: The object IDs of the objects to ungroup. Only groups that are
  5106  	// not inside other groups can be ungrouped. All the groups should be on the
  5107  	// same page. The group itself is deleted. The visual sizes and positions of
  5108  	// all the children are preserved.
  5109  	ObjectIds []string `json:"objectIds,omitempty"`
  5110  	// ForceSendFields is a list of field names (e.g. "ObjectIds") to
  5111  	// unconditionally include in API requests. By default, fields with empty or
  5112  	// default values are omitted from API requests. See
  5113  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5114  	// details.
  5115  	ForceSendFields []string `json:"-"`
  5116  	// NullFields is a list of field names (e.g. "ObjectIds") to include in API
  5117  	// requests with the JSON null value. By default, fields with empty values are
  5118  	// omitted from API requests. See
  5119  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5120  	NullFields []string `json:"-"`
  5121  }
  5122  
  5123  func (s *UngroupObjectsRequest) MarshalJSON() ([]byte, error) {
  5124  	type NoMethod UngroupObjectsRequest
  5125  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5126  }
  5127  
  5128  // UnmergeTableCellsRequest: Unmerges cells in a Table.
  5129  type UnmergeTableCellsRequest struct {
  5130  	// ObjectId: The object ID of the table.
  5131  	ObjectId string `json:"objectId,omitempty"`
  5132  	// TableRange: The table range specifying which cells of the table to unmerge.
  5133  	// All merged cells in this range will be unmerged, and cells that are already
  5134  	// unmerged will not be affected. If the range has no merged cells, the request
  5135  	// will do nothing. If there is text in any of the merged cells, the text will
  5136  	// remain in the upper-left ("head") cell of the resulting block of unmerged
  5137  	// cells.
  5138  	TableRange *TableRange `json:"tableRange,omitempty"`
  5139  	// ForceSendFields is a list of field names (e.g. "ObjectId") to
  5140  	// unconditionally include in API requests. By default, fields with empty or
  5141  	// default values are omitted from API requests. See
  5142  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5143  	// details.
  5144  	ForceSendFields []string `json:"-"`
  5145  	// NullFields is a list of field names (e.g. "ObjectId") to include in API
  5146  	// requests with the JSON null value. By default, fields with empty values are
  5147  	// omitted from API requests. See
  5148  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5149  	NullFields []string `json:"-"`
  5150  }
  5151  
  5152  func (s *UnmergeTableCellsRequest) MarshalJSON() ([]byte, error) {
  5153  	type NoMethod UnmergeTableCellsRequest
  5154  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5155  }
  5156  
  5157  // UpdateImagePropertiesRequest: Update the properties of an Image.
  5158  type UpdateImagePropertiesRequest struct {
  5159  	// Fields: The fields that should be updated. At least one field must be
  5160  	// specified. The root `imageProperties` is implied and should not be
  5161  	// specified. A single "*" can be used as short-hand for listing every field.
  5162  	// For example to update the image outline color, set `fields` to
  5163  	// "outline.outlineFill.solidFill.color". To reset a property to its default
  5164  	// value, include its field name in the field mask but leave the field itself
  5165  	// unset.
  5166  	Fields string `json:"fields,omitempty"`
  5167  	// ImageProperties: The image properties to update.
  5168  	ImageProperties *ImageProperties `json:"imageProperties,omitempty"`
  5169  	// ObjectId: The object ID of the image the updates are applied to.
  5170  	ObjectId string `json:"objectId,omitempty"`
  5171  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  5172  	// include in API requests. By default, fields with empty or default values are
  5173  	// omitted from API requests. See
  5174  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5175  	// details.
  5176  	ForceSendFields []string `json:"-"`
  5177  	// NullFields is a list of field names (e.g. "Fields") to include in API
  5178  	// requests with the JSON null value. By default, fields with empty values are
  5179  	// omitted from API requests. See
  5180  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5181  	NullFields []string `json:"-"`
  5182  }
  5183  
  5184  func (s *UpdateImagePropertiesRequest) MarshalJSON() ([]byte, error) {
  5185  	type NoMethod UpdateImagePropertiesRequest
  5186  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5187  }
  5188  
  5189  // UpdateLineCategoryRequest: Updates the category of a line.
  5190  type UpdateLineCategoryRequest struct {
  5191  	// LineCategory: The line category to update to. The exact line type is
  5192  	// determined based on the category to update to and how it's routed to connect
  5193  	// to other page elements.
  5194  	//
  5195  	// Possible values:
  5196  	//   "LINE_CATEGORY_UNSPECIFIED" - Unspecified line category.
  5197  	//   "STRAIGHT" - Straight connectors, including straight connector 1.
  5198  	//   "BENT" - Bent connectors, including bent connector 2 to 5.
  5199  	//   "CURVED" - Curved connectors, including curved connector 2 to 5.
  5200  	LineCategory string `json:"lineCategory,omitempty"`
  5201  	// ObjectId: The object ID of the line the update is applied to. Only a line
  5202  	// with a category indicating it is a "connector" can be updated. The line may
  5203  	// be rerouted after updating its category.
  5204  	ObjectId string `json:"objectId,omitempty"`
  5205  	// ForceSendFields is a list of field names (e.g. "LineCategory") to
  5206  	// unconditionally include in API requests. By default, fields with empty or
  5207  	// default values are omitted from API requests. See
  5208  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5209  	// details.
  5210  	ForceSendFields []string `json:"-"`
  5211  	// NullFields is a list of field names (e.g. "LineCategory") to include in API
  5212  	// requests with the JSON null value. By default, fields with empty values are
  5213  	// omitted from API requests. See
  5214  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5215  	NullFields []string `json:"-"`
  5216  }
  5217  
  5218  func (s *UpdateLineCategoryRequest) MarshalJSON() ([]byte, error) {
  5219  	type NoMethod UpdateLineCategoryRequest
  5220  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5221  }
  5222  
  5223  // UpdateLinePropertiesRequest: Updates the properties of a Line.
  5224  type UpdateLinePropertiesRequest struct {
  5225  	// Fields: The fields that should be updated. At least one field must be
  5226  	// specified. The root `lineProperties` is implied and should not be specified.
  5227  	// A single "*" can be used as short-hand for listing every field. For
  5228  	// example to update the line solid fill color, set `fields` to
  5229  	// "lineFill.solidFill.color". To reset a property to its default value,
  5230  	// include its field name in the field mask but leave the field itself unset.
  5231  	Fields string `json:"fields,omitempty"`
  5232  	// LineProperties: The line properties to update.
  5233  	LineProperties *LineProperties `json:"lineProperties,omitempty"`
  5234  	// ObjectId: The object ID of the line the update is applied to.
  5235  	ObjectId string `json:"objectId,omitempty"`
  5236  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  5237  	// include in API requests. By default, fields with empty or default values are
  5238  	// omitted from API requests. See
  5239  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5240  	// details.
  5241  	ForceSendFields []string `json:"-"`
  5242  	// NullFields is a list of field names (e.g. "Fields") to include in API
  5243  	// requests with the JSON null value. By default, fields with empty values are
  5244  	// omitted from API requests. See
  5245  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5246  	NullFields []string `json:"-"`
  5247  }
  5248  
  5249  func (s *UpdateLinePropertiesRequest) MarshalJSON() ([]byte, error) {
  5250  	type NoMethod UpdateLinePropertiesRequest
  5251  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5252  }
  5253  
  5254  // UpdatePageElementAltTextRequest: Updates the alt text title and/or
  5255  // description of a page element.
  5256  type UpdatePageElementAltTextRequest struct {
  5257  	// Description: The updated alt text description of the page element. If unset
  5258  	// the existing value will be maintained. The description is exposed to screen
  5259  	// readers and other accessibility interfaces. Only use human readable values
  5260  	// related to the content of the page element.
  5261  	Description string `json:"description,omitempty"`
  5262  	// ObjectId: The object ID of the page element the updates are applied to.
  5263  	ObjectId string `json:"objectId,omitempty"`
  5264  	// Title: The updated alt text title of the page element. If unset the existing
  5265  	// value will be maintained. The title is exposed to screen readers and other
  5266  	// accessibility interfaces. Only use human readable values related to the
  5267  	// content of the page element.
  5268  	Title string `json:"title,omitempty"`
  5269  	// ForceSendFields is a list of field names (e.g. "Description") to
  5270  	// unconditionally include in API requests. By default, fields with empty or
  5271  	// default values are omitted from API requests. See
  5272  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5273  	// details.
  5274  	ForceSendFields []string `json:"-"`
  5275  	// NullFields is a list of field names (e.g. "Description") to include in API
  5276  	// requests with the JSON null value. By default, fields with empty values are
  5277  	// omitted from API requests. See
  5278  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5279  	NullFields []string `json:"-"`
  5280  }
  5281  
  5282  func (s *UpdatePageElementAltTextRequest) MarshalJSON() ([]byte, error) {
  5283  	type NoMethod UpdatePageElementAltTextRequest
  5284  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5285  }
  5286  
  5287  // UpdatePageElementTransformRequest: Updates the transform of a page element.
  5288  // Updating the transform of a group will change the absolute transform of the
  5289  // page elements in that group, which can change their visual appearance. See
  5290  // the documentation for PageElement.transform for more details.
  5291  type UpdatePageElementTransformRequest struct {
  5292  	// ApplyMode: The apply mode of the transform update.
  5293  	//
  5294  	// Possible values:
  5295  	//   "APPLY_MODE_UNSPECIFIED" - Unspecified mode.
  5296  	//   "RELATIVE" - Applies the new AffineTransform matrix to the existing one,
  5297  	// and replaces the existing one with the resulting concatenation.
  5298  	//   "ABSOLUTE" - Replaces the existing AffineTransform matrix with the new
  5299  	// one.
  5300  	ApplyMode string `json:"applyMode,omitempty"`
  5301  	// ObjectId: The object ID of the page element to update.
  5302  	ObjectId string `json:"objectId,omitempty"`
  5303  	// Transform: The input transform matrix used to update the page element.
  5304  	Transform *AffineTransform `json:"transform,omitempty"`
  5305  	// ForceSendFields is a list of field names (e.g. "ApplyMode") to
  5306  	// unconditionally include in API requests. By default, fields with empty or
  5307  	// default values are omitted from API requests. See
  5308  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5309  	// details.
  5310  	ForceSendFields []string `json:"-"`
  5311  	// NullFields is a list of field names (e.g. "ApplyMode") to include in API
  5312  	// requests with the JSON null value. By default, fields with empty values are
  5313  	// omitted from API requests. See
  5314  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5315  	NullFields []string `json:"-"`
  5316  }
  5317  
  5318  func (s *UpdatePageElementTransformRequest) MarshalJSON() ([]byte, error) {
  5319  	type NoMethod UpdatePageElementTransformRequest
  5320  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5321  }
  5322  
  5323  // UpdatePageElementsZOrderRequest: Updates the Z-order of page elements.
  5324  // Z-order is an ordering of the elements on the page from back to front. The
  5325  // page element in the front may cover the elements that are behind it.
  5326  type UpdatePageElementsZOrderRequest struct {
  5327  	// Operation: The Z-order operation to apply on the page elements. When
  5328  	// applying the operation on multiple page elements, the relative Z-orders
  5329  	// within these page elements before the operation is maintained.
  5330  	//
  5331  	// Possible values:
  5332  	//   "Z_ORDER_OPERATION_UNSPECIFIED" - Unspecified operation.
  5333  	//   "BRING_TO_FRONT" - Brings the page elements to the front of the page.
  5334  	//   "BRING_FORWARD" - Brings the page elements forward on the page by one
  5335  	// element relative to the forwardmost one in the specified page elements.
  5336  	//   "SEND_BACKWARD" - Sends the page elements backward on the page by one
  5337  	// element relative to the furthest behind one in the specified page elements.
  5338  	//   "SEND_TO_BACK" - Sends the page elements to the back of the page.
  5339  	Operation string `json:"operation,omitempty"`
  5340  	// PageElementObjectIds: The object IDs of the page elements to update. All the
  5341  	// page elements must be on the same page and must not be grouped.
  5342  	PageElementObjectIds []string `json:"pageElementObjectIds,omitempty"`
  5343  	// ForceSendFields is a list of field names (e.g. "Operation") to
  5344  	// unconditionally include in API requests. By default, fields with empty or
  5345  	// default values are omitted from API requests. See
  5346  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5347  	// details.
  5348  	ForceSendFields []string `json:"-"`
  5349  	// NullFields is a list of field names (e.g. "Operation") to include in API
  5350  	// requests with the JSON null value. By default, fields with empty values are
  5351  	// omitted from API requests. See
  5352  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5353  	NullFields []string `json:"-"`
  5354  }
  5355  
  5356  func (s *UpdatePageElementsZOrderRequest) MarshalJSON() ([]byte, error) {
  5357  	type NoMethod UpdatePageElementsZOrderRequest
  5358  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5359  }
  5360  
  5361  // UpdatePagePropertiesRequest: Updates the properties of a Page.
  5362  type UpdatePagePropertiesRequest struct {
  5363  	// Fields: The fields that should be updated. At least one field must be
  5364  	// specified. The root `pageProperties` is implied and should not be specified.
  5365  	// A single "*" can be used as short-hand for listing every field. For
  5366  	// example to update the page background solid fill color, set `fields` to
  5367  	// "pageBackgroundFill.solidFill.color". To reset a property to its default
  5368  	// value, include its field name in the field mask but leave the field itself
  5369  	// unset.
  5370  	Fields string `json:"fields,omitempty"`
  5371  	// ObjectId: The object ID of the page the update is applied to.
  5372  	ObjectId string `json:"objectId,omitempty"`
  5373  	// PageProperties: The page properties to update.
  5374  	PageProperties *PageProperties `json:"pageProperties,omitempty"`
  5375  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  5376  	// include in API requests. By default, fields with empty or default values are
  5377  	// omitted from API requests. See
  5378  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5379  	// details.
  5380  	ForceSendFields []string `json:"-"`
  5381  	// NullFields is a list of field names (e.g. "Fields") to include in API
  5382  	// requests with the JSON null value. By default, fields with empty values are
  5383  	// omitted from API requests. See
  5384  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5385  	NullFields []string `json:"-"`
  5386  }
  5387  
  5388  func (s *UpdatePagePropertiesRequest) MarshalJSON() ([]byte, error) {
  5389  	type NoMethod UpdatePagePropertiesRequest
  5390  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5391  }
  5392  
  5393  // UpdateParagraphStyleRequest: Updates the styling for all of the paragraphs
  5394  // within a Shape or Table that overlap with the given text index range.
  5395  type UpdateParagraphStyleRequest struct {
  5396  	// CellLocation: The location of the cell in the table containing the
  5397  	// paragraph(s) to style. If `object_id` refers to a table, `cell_location`
  5398  	// must have a value. Otherwise, it must not.
  5399  	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
  5400  	// Fields: The fields that should be updated. At least one field must be
  5401  	// specified. The root `style` is implied and should not be specified. A single
  5402  	// "*" can be used as short-hand for listing every field. For example, to
  5403  	// update the paragraph alignment, set `fields` to "alignment". To reset a
  5404  	// property to its default value, include its field name in the field mask but
  5405  	// leave the field itself unset.
  5406  	Fields string `json:"fields,omitempty"`
  5407  	// ObjectId: The object ID of the shape or table with the text to be styled.
  5408  	ObjectId string `json:"objectId,omitempty"`
  5409  	// Style: The paragraph's style.
  5410  	Style *ParagraphStyle `json:"style,omitempty"`
  5411  	// TextRange: The range of text containing the paragraph(s) to style.
  5412  	TextRange *Range `json:"textRange,omitempty"`
  5413  	// ForceSendFields is a list of field names (e.g. "CellLocation") to
  5414  	// unconditionally include in API requests. By default, fields with empty or
  5415  	// default values are omitted from API requests. See
  5416  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5417  	// details.
  5418  	ForceSendFields []string `json:"-"`
  5419  	// NullFields is a list of field names (e.g. "CellLocation") to include in API
  5420  	// requests with the JSON null value. By default, fields with empty values are
  5421  	// omitted from API requests. See
  5422  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5423  	NullFields []string `json:"-"`
  5424  }
  5425  
  5426  func (s *UpdateParagraphStyleRequest) MarshalJSON() ([]byte, error) {
  5427  	type NoMethod UpdateParagraphStyleRequest
  5428  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5429  }
  5430  
  5431  // UpdateShapePropertiesRequest: Update the properties of a Shape.
  5432  type UpdateShapePropertiesRequest struct {
  5433  	// Fields: The fields that should be updated. At least one field must be
  5434  	// specified. The root `shapeProperties` is implied and should not be
  5435  	// specified. A single "*" can be used as short-hand for listing every field.
  5436  	// For example to update the shape background solid fill color, set `fields` to
  5437  	// "shapeBackgroundFill.solidFill.color". To reset a property to its default
  5438  	// value, include its field name in the field mask but leave the field itself
  5439  	// unset.
  5440  	Fields string `json:"fields,omitempty"`
  5441  	// ObjectId: The object ID of the shape the updates are applied to.
  5442  	ObjectId string `json:"objectId,omitempty"`
  5443  	// ShapeProperties: The shape properties to update.
  5444  	ShapeProperties *ShapeProperties `json:"shapeProperties,omitempty"`
  5445  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  5446  	// include in API requests. By default, fields with empty or default values are
  5447  	// omitted from API requests. See
  5448  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5449  	// details.
  5450  	ForceSendFields []string `json:"-"`
  5451  	// NullFields is a list of field names (e.g. "Fields") to include in API
  5452  	// requests with the JSON null value. By default, fields with empty values are
  5453  	// omitted from API requests. See
  5454  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5455  	NullFields []string `json:"-"`
  5456  }
  5457  
  5458  func (s *UpdateShapePropertiesRequest) MarshalJSON() ([]byte, error) {
  5459  	type NoMethod UpdateShapePropertiesRequest
  5460  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5461  }
  5462  
  5463  // UpdateSlidePropertiesRequest: Updates the properties of a Slide.
  5464  type UpdateSlidePropertiesRequest struct {
  5465  	// Fields: The fields that should be updated. At least one field must be
  5466  	// specified. The root 'slideProperties' is implied and should not be
  5467  	// specified. A single "*" can be used as short-hand for listing every field.
  5468  	// For example to update whether a slide is skipped, set `fields` to
  5469  	// "isSkipped". To reset a property to its default value, include its field
  5470  	// name in the field mask but leave the field itself unset.
  5471  	Fields string `json:"fields,omitempty"`
  5472  	// ObjectId: The object ID of the slide the update is applied to.
  5473  	ObjectId string `json:"objectId,omitempty"`
  5474  	// SlideProperties: The slide properties to update.
  5475  	SlideProperties *SlideProperties `json:"slideProperties,omitempty"`
  5476  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  5477  	// include in API requests. By default, fields with empty or default values are
  5478  	// omitted from API requests. See
  5479  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5480  	// details.
  5481  	ForceSendFields []string `json:"-"`
  5482  	// NullFields is a list of field names (e.g. "Fields") to include in API
  5483  	// requests with the JSON null value. By default, fields with empty values are
  5484  	// omitted from API requests. See
  5485  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5486  	NullFields []string `json:"-"`
  5487  }
  5488  
  5489  func (s *UpdateSlidePropertiesRequest) MarshalJSON() ([]byte, error) {
  5490  	type NoMethod UpdateSlidePropertiesRequest
  5491  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5492  }
  5493  
  5494  // UpdateSlidesPositionRequest: Updates the position of slides in the
  5495  // presentation.
  5496  type UpdateSlidesPositionRequest struct {
  5497  	// InsertionIndex: The index where the slides should be inserted, based on the
  5498  	// slide arrangement before the move takes place. Must be between zero and the
  5499  	// number of slides in the presentation, inclusive.
  5500  	InsertionIndex int64 `json:"insertionIndex,omitempty"`
  5501  	// SlideObjectIds: The IDs of the slides in the presentation that should be
  5502  	// moved. The slides in this list must be in existing presentation order,
  5503  	// without duplicates.
  5504  	SlideObjectIds []string `json:"slideObjectIds,omitempty"`
  5505  	// ForceSendFields is a list of field names (e.g. "InsertionIndex") to
  5506  	// unconditionally include in API requests. By default, fields with empty or
  5507  	// default values are omitted from API requests. See
  5508  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5509  	// details.
  5510  	ForceSendFields []string `json:"-"`
  5511  	// NullFields is a list of field names (e.g. "InsertionIndex") to include in
  5512  	// API requests with the JSON null value. By default, fields with empty values
  5513  	// are omitted from API requests. See
  5514  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5515  	NullFields []string `json:"-"`
  5516  }
  5517  
  5518  func (s *UpdateSlidesPositionRequest) MarshalJSON() ([]byte, error) {
  5519  	type NoMethod UpdateSlidesPositionRequest
  5520  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5521  }
  5522  
  5523  // UpdateTableBorderPropertiesRequest: Updates the properties of the table
  5524  // borders in a Table.
  5525  type UpdateTableBorderPropertiesRequest struct {
  5526  	// BorderPosition: The border position in the table range the updates should
  5527  	// apply to. If a border position is not specified, the updates will apply to
  5528  	// all borders in the table range.
  5529  	//
  5530  	// Possible values:
  5531  	//   "ALL" - All borders in the range.
  5532  	//   "BOTTOM" - Borders at the bottom of the range.
  5533  	//   "INNER" - Borders on the inside of the range.
  5534  	//   "INNER_HORIZONTAL" - Horizontal borders on the inside of the range.
  5535  	//   "INNER_VERTICAL" - Vertical borders on the inside of the range.
  5536  	//   "LEFT" - Borders at the left of the range.
  5537  	//   "OUTER" - Borders along the outside of the range.
  5538  	//   "RIGHT" - Borders at the right of the range.
  5539  	//   "TOP" - Borders at the top of the range.
  5540  	BorderPosition string `json:"borderPosition,omitempty"`
  5541  	// Fields: The fields that should be updated. At least one field must be
  5542  	// specified. The root `tableBorderProperties` is implied and should not be
  5543  	// specified. A single "*" can be used as short-hand for listing every field.
  5544  	// For example to update the table border solid fill color, set `fields` to
  5545  	// "tableBorderFill.solidFill.color". To reset a property to its default
  5546  	// value, include its field name in the field mask but leave the field itself
  5547  	// unset.
  5548  	Fields string `json:"fields,omitempty"`
  5549  	// ObjectId: The object ID of the table.
  5550  	ObjectId string `json:"objectId,omitempty"`
  5551  	// TableBorderProperties: The table border properties to update.
  5552  	TableBorderProperties *TableBorderProperties `json:"tableBorderProperties,omitempty"`
  5553  	// TableRange: The table range representing the subset of the table to which
  5554  	// the updates are applied. If a table range is not specified, the updates will
  5555  	// apply to the entire table.
  5556  	TableRange *TableRange `json:"tableRange,omitempty"`
  5557  	// ForceSendFields is a list of field names (e.g. "BorderPosition") to
  5558  	// unconditionally include in API requests. By default, fields with empty or
  5559  	// default values are omitted from API requests. See
  5560  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5561  	// details.
  5562  	ForceSendFields []string `json:"-"`
  5563  	// NullFields is a list of field names (e.g. "BorderPosition") to include in
  5564  	// API requests with the JSON null value. By default, fields with empty values
  5565  	// are omitted from API requests. See
  5566  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5567  	NullFields []string `json:"-"`
  5568  }
  5569  
  5570  func (s *UpdateTableBorderPropertiesRequest) MarshalJSON() ([]byte, error) {
  5571  	type NoMethod UpdateTableBorderPropertiesRequest
  5572  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5573  }
  5574  
  5575  // UpdateTableCellPropertiesRequest: Update the properties of a TableCell.
  5576  type UpdateTableCellPropertiesRequest struct {
  5577  	// Fields: The fields that should be updated. At least one field must be
  5578  	// specified. The root `tableCellProperties` is implied and should not be
  5579  	// specified. A single "*" can be used as short-hand for listing every field.
  5580  	// For example to update the table cell background solid fill color, set
  5581  	// `fields` to "tableCellBackgroundFill.solidFill.color". To reset a property
  5582  	// to its default value, include its field name in the field mask but leave the
  5583  	// field itself unset.
  5584  	Fields string `json:"fields,omitempty"`
  5585  	// ObjectId: The object ID of the table.
  5586  	ObjectId string `json:"objectId,omitempty"`
  5587  	// TableCellProperties: The table cell properties to update.
  5588  	TableCellProperties *TableCellProperties `json:"tableCellProperties,omitempty"`
  5589  	// TableRange: The table range representing the subset of the table to which
  5590  	// the updates are applied. If a table range is not specified, the updates will
  5591  	// apply to the entire table.
  5592  	TableRange *TableRange `json:"tableRange,omitempty"`
  5593  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  5594  	// include in API requests. By default, fields with empty or default values are
  5595  	// omitted from API requests. See
  5596  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5597  	// details.
  5598  	ForceSendFields []string `json:"-"`
  5599  	// NullFields is a list of field names (e.g. "Fields") to include in API
  5600  	// requests with the JSON null value. By default, fields with empty values are
  5601  	// omitted from API requests. See
  5602  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5603  	NullFields []string `json:"-"`
  5604  }
  5605  
  5606  func (s *UpdateTableCellPropertiesRequest) MarshalJSON() ([]byte, error) {
  5607  	type NoMethod UpdateTableCellPropertiesRequest
  5608  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5609  }
  5610  
  5611  // UpdateTableColumnPropertiesRequest: Updates the properties of a Table
  5612  // column.
  5613  type UpdateTableColumnPropertiesRequest struct {
  5614  	// ColumnIndices: The list of zero-based indices specifying which columns to
  5615  	// update. If no indices are provided, all columns in the table will be
  5616  	// updated.
  5617  	ColumnIndices []int64 `json:"columnIndices,omitempty"`
  5618  	// Fields: The fields that should be updated. At least one field must be
  5619  	// specified. The root `tableColumnProperties` is implied and should not be
  5620  	// specified. A single "*" can be used as short-hand for listing every field.
  5621  	// For example to update the column width, set `fields` to "column_width". If
  5622  	// '"column_width"' is included in the field mask but the property is left
  5623  	// unset, the column width will default to 406,400 EMU (32 points).
  5624  	Fields string `json:"fields,omitempty"`
  5625  	// ObjectId: The object ID of the table.
  5626  	ObjectId string `json:"objectId,omitempty"`
  5627  	// TableColumnProperties: The table column properties to update. If the value
  5628  	// of `table_column_properties#column_width` in the request is less than
  5629  	// 406,400 EMU (32 points), a 400 bad request error is returned.
  5630  	TableColumnProperties *TableColumnProperties `json:"tableColumnProperties,omitempty"`
  5631  	// ForceSendFields is a list of field names (e.g. "ColumnIndices") to
  5632  	// unconditionally include in API requests. By default, fields with empty or
  5633  	// default values are omitted from API requests. See
  5634  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5635  	// details.
  5636  	ForceSendFields []string `json:"-"`
  5637  	// NullFields is a list of field names (e.g. "ColumnIndices") to include in API
  5638  	// requests with the JSON null value. By default, fields with empty values are
  5639  	// omitted from API requests. See
  5640  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5641  	NullFields []string `json:"-"`
  5642  }
  5643  
  5644  func (s *UpdateTableColumnPropertiesRequest) MarshalJSON() ([]byte, error) {
  5645  	type NoMethod UpdateTableColumnPropertiesRequest
  5646  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5647  }
  5648  
  5649  // UpdateTableRowPropertiesRequest: Updates the properties of a Table row.
  5650  type UpdateTableRowPropertiesRequest struct {
  5651  	// Fields: The fields that should be updated. At least one field must be
  5652  	// specified. The root `tableRowProperties` is implied and should not be
  5653  	// specified. A single "*" can be used as short-hand for listing every field.
  5654  	// For example to update the minimum row height, set `fields` to
  5655  	// "min_row_height". If '"min_row_height"' is included in the field mask but
  5656  	// the property is left unset, the minimum row height will default to 0.
  5657  	Fields string `json:"fields,omitempty"`
  5658  	// ObjectId: The object ID of the table.
  5659  	ObjectId string `json:"objectId,omitempty"`
  5660  	// RowIndices: The list of zero-based indices specifying which rows to update.
  5661  	// If no indices are provided, all rows in the table will be updated.
  5662  	RowIndices []int64 `json:"rowIndices,omitempty"`
  5663  	// TableRowProperties: The table row properties to update.
  5664  	TableRowProperties *TableRowProperties `json:"tableRowProperties,omitempty"`
  5665  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  5666  	// include in API requests. By default, fields with empty or default values are
  5667  	// omitted from API requests. See
  5668  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5669  	// details.
  5670  	ForceSendFields []string `json:"-"`
  5671  	// NullFields is a list of field names (e.g. "Fields") to include in API
  5672  	// requests with the JSON null value. By default, fields with empty values are
  5673  	// omitted from API requests. See
  5674  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5675  	NullFields []string `json:"-"`
  5676  }
  5677  
  5678  func (s *UpdateTableRowPropertiesRequest) MarshalJSON() ([]byte, error) {
  5679  	type NoMethod UpdateTableRowPropertiesRequest
  5680  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5681  }
  5682  
  5683  // UpdateTextStyleRequest: Update the styling of text in a Shape or Table.
  5684  type UpdateTextStyleRequest struct {
  5685  	// CellLocation: The location of the cell in the table containing the text to
  5686  	// style. If `object_id` refers to a table, `cell_location` must have a value.
  5687  	// Otherwise, it must not.
  5688  	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
  5689  	// Fields: The fields that should be updated. At least one field must be
  5690  	// specified. The root `style` is implied and should not be specified. A single
  5691  	// "*" can be used as short-hand for listing every field. For example, to
  5692  	// update the text style to bold, set `fields` to "bold". To reset a property
  5693  	// to its default value, include its field name in the field mask but leave the
  5694  	// field itself unset.
  5695  	Fields string `json:"fields,omitempty"`
  5696  	// ObjectId: The object ID of the shape or table with the text to be styled.
  5697  	ObjectId string `json:"objectId,omitempty"`
  5698  	// Style: The style(s) to set on the text. If the value for a particular style
  5699  	// matches that of the parent, that style will be set to inherit. Certain text
  5700  	// style changes may cause other changes meant to mirror the behavior of the
  5701  	// Slides editor. See the documentation of TextStyle for more information.
  5702  	Style *TextStyle `json:"style,omitempty"`
  5703  	// TextRange: The range of text to style. The range may be extended to include
  5704  	// adjacent newlines. If the range fully contains a paragraph belonging to a
  5705  	// list, the paragraph's bullet is also updated with the matching text style.
  5706  	TextRange *Range `json:"textRange,omitempty"`
  5707  	// ForceSendFields is a list of field names (e.g. "CellLocation") to
  5708  	// unconditionally include in API requests. By default, fields with empty or
  5709  	// default values are omitted from API requests. See
  5710  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5711  	// details.
  5712  	ForceSendFields []string `json:"-"`
  5713  	// NullFields is a list of field names (e.g. "CellLocation") to include in API
  5714  	// requests with the JSON null value. By default, fields with empty values are
  5715  	// omitted from API requests. See
  5716  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5717  	NullFields []string `json:"-"`
  5718  }
  5719  
  5720  func (s *UpdateTextStyleRequest) MarshalJSON() ([]byte, error) {
  5721  	type NoMethod UpdateTextStyleRequest
  5722  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5723  }
  5724  
  5725  // UpdateVideoPropertiesRequest: Update the properties of a Video.
  5726  type UpdateVideoPropertiesRequest struct {
  5727  	// Fields: The fields that should be updated. At least one field must be
  5728  	// specified. The root `videoProperties` is implied and should not be
  5729  	// specified. A single "*" can be used as short-hand for listing every field.
  5730  	// For example to update the video outline color, set `fields` to
  5731  	// "outline.outlineFill.solidFill.color". To reset a property to its default
  5732  	// value, include its field name in the field mask but leave the field itself
  5733  	// unset.
  5734  	Fields string `json:"fields,omitempty"`
  5735  	// ObjectId: The object ID of the video the updates are applied to.
  5736  	ObjectId string `json:"objectId,omitempty"`
  5737  	// VideoProperties: The video properties to update.
  5738  	VideoProperties *VideoProperties `json:"videoProperties,omitempty"`
  5739  	// ForceSendFields is a list of field names (e.g. "Fields") to unconditionally
  5740  	// include in API requests. By default, fields with empty or default values are
  5741  	// omitted from API requests. See
  5742  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5743  	// details.
  5744  	ForceSendFields []string `json:"-"`
  5745  	// NullFields is a list of field names (e.g. "Fields") to include in API
  5746  	// requests with the JSON null value. By default, fields with empty values are
  5747  	// omitted from API requests. See
  5748  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5749  	NullFields []string `json:"-"`
  5750  }
  5751  
  5752  func (s *UpdateVideoPropertiesRequest) MarshalJSON() ([]byte, error) {
  5753  	type NoMethod UpdateVideoPropertiesRequest
  5754  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5755  }
  5756  
  5757  // Video: A PageElement kind representing a video.
  5758  type Video struct {
  5759  	// Id: The video source's unique identifier for this video.
  5760  	Id string `json:"id,omitempty"`
  5761  	// Source: The video source.
  5762  	//
  5763  	// Possible values:
  5764  	//   "SOURCE_UNSPECIFIED" - The video source is unspecified.
  5765  	//   "YOUTUBE" - The video source is YouTube.
  5766  	//   "DRIVE" - The video source is Google Drive.
  5767  	Source string `json:"source,omitempty"`
  5768  	// Url: An URL to a video. The URL is valid as long as the source video exists
  5769  	// and sharing settings do not change.
  5770  	Url string `json:"url,omitempty"`
  5771  	// VideoProperties: The properties of the video.
  5772  	VideoProperties *VideoProperties `json:"videoProperties,omitempty"`
  5773  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
  5774  	// include in API requests. By default, fields with empty or default values are
  5775  	// omitted from API requests. See
  5776  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5777  	// details.
  5778  	ForceSendFields []string `json:"-"`
  5779  	// NullFields is a list of field names (e.g. "Id") to include in API requests
  5780  	// with the JSON null value. By default, fields with empty values are omitted
  5781  	// from API requests. See
  5782  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5783  	NullFields []string `json:"-"`
  5784  }
  5785  
  5786  func (s *Video) MarshalJSON() ([]byte, error) {
  5787  	type NoMethod Video
  5788  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5789  }
  5790  
  5791  // VideoProperties: The properties of the Video.
  5792  type VideoProperties struct {
  5793  	// AutoPlay: Whether to enable video autoplay when the page is displayed in
  5794  	// present mode. Defaults to false.
  5795  	AutoPlay bool `json:"autoPlay,omitempty"`
  5796  	// End: The time at which to end playback, measured in seconds from the
  5797  	// beginning of the video. If set, the end time should be after the start time.
  5798  	// If not set or if you set this to a value that exceeds the video's length,
  5799  	// the video will be played until its end.
  5800  	End int64 `json:"end,omitempty"`
  5801  	// Mute: Whether to mute the audio during video playback. Defaults to false.
  5802  	Mute bool `json:"mute,omitempty"`
  5803  	// Outline: The outline of the video. The default outline matches the defaults
  5804  	// for new videos created in the Slides editor.
  5805  	Outline *Outline `json:"outline,omitempty"`
  5806  	// Start: The time at which to start playback, measured in seconds from the
  5807  	// beginning of the video. If set, the start time should be before the end
  5808  	// time. If you set this to a value that exceeds the video's length in seconds,
  5809  	// the video will be played from the last second. If not set, the video will be
  5810  	// played from the beginning.
  5811  	Start int64 `json:"start,omitempty"`
  5812  	// ForceSendFields is a list of field names (e.g. "AutoPlay") to
  5813  	// unconditionally include in API requests. By default, fields with empty or
  5814  	// default values are omitted from API requests. See
  5815  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5816  	// details.
  5817  	ForceSendFields []string `json:"-"`
  5818  	// NullFields is a list of field names (e.g. "AutoPlay") to include in API
  5819  	// requests with the JSON null value. By default, fields with empty values are
  5820  	// omitted from API requests. See
  5821  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5822  	NullFields []string `json:"-"`
  5823  }
  5824  
  5825  func (s *VideoProperties) MarshalJSON() ([]byte, error) {
  5826  	type NoMethod VideoProperties
  5827  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5828  }
  5829  
  5830  // WeightedFontFamily: Represents a font family and weight used to style a
  5831  // TextRun.
  5832  type WeightedFontFamily struct {
  5833  	// FontFamily: The font family of the text. The font family can be any font
  5834  	// from the Font menu in Slides or from [Google Fonts]
  5835  	// (https://fonts.google.com/). If the font name is unrecognized, the text is
  5836  	// rendered in `Arial`.
  5837  	FontFamily string `json:"fontFamily,omitempty"`
  5838  	// Weight: The rendered weight of the text. This field can have any value that
  5839  	// is a multiple of `100` between `100` and `900`, inclusive. This range
  5840  	// corresponds to the numerical values described in the CSS 2.1 Specification,
  5841  	// section 15.6 (https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with
  5842  	// non-numerical values disallowed. Weights greater than or equal to `700` are
  5843  	// considered bold, and weights less than `700`are not bold. The default value
  5844  	// is `400` ("normal").
  5845  	Weight int64 `json:"weight,omitempty"`
  5846  	// ForceSendFields is a list of field names (e.g. "FontFamily") to
  5847  	// unconditionally include in API requests. By default, fields with empty or
  5848  	// default values are omitted from API requests. See
  5849  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5850  	// details.
  5851  	ForceSendFields []string `json:"-"`
  5852  	// NullFields is a list of field names (e.g. "FontFamily") to include in API
  5853  	// requests with the JSON null value. By default, fields with empty values are
  5854  	// omitted from API requests. See
  5855  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5856  	NullFields []string `json:"-"`
  5857  }
  5858  
  5859  func (s *WeightedFontFamily) MarshalJSON() ([]byte, error) {
  5860  	type NoMethod WeightedFontFamily
  5861  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5862  }
  5863  
  5864  // WordArt: A PageElement kind representing word art.
  5865  type WordArt struct {
  5866  	// RenderedText: The text rendered as word art.
  5867  	RenderedText string `json:"renderedText,omitempty"`
  5868  	// ForceSendFields is a list of field names (e.g. "RenderedText") to
  5869  	// unconditionally include in API requests. By default, fields with empty or
  5870  	// default values are omitted from API requests. See
  5871  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5872  	// details.
  5873  	ForceSendFields []string `json:"-"`
  5874  	// NullFields is a list of field names (e.g. "RenderedText") to include in API
  5875  	// requests with the JSON null value. By default, fields with empty values are
  5876  	// omitted from API requests. See
  5877  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5878  	NullFields []string `json:"-"`
  5879  }
  5880  
  5881  func (s *WordArt) MarshalJSON() ([]byte, error) {
  5882  	type NoMethod WordArt
  5883  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5884  }
  5885  
  5886  // WriteControl: Provides control over how write requests are executed.
  5887  type WriteControl struct {
  5888  	// RequiredRevisionId: The revision ID of the presentation required for the
  5889  	// write request. If specified and the required revision ID doesn't match the
  5890  	// presentation's current revision ID, the request is not processed and returns
  5891  	// a 400 bad request error. When a required revision ID is returned in a
  5892  	// response, it indicates the revision ID of the document after the request was
  5893  	// applied.
  5894  	RequiredRevisionId string `json:"requiredRevisionId,omitempty"`
  5895  	// ForceSendFields is a list of field names (e.g. "RequiredRevisionId") to
  5896  	// unconditionally include in API requests. By default, fields with empty or
  5897  	// default values are omitted from API requests. See
  5898  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5899  	// details.
  5900  	ForceSendFields []string `json:"-"`
  5901  	// NullFields is a list of field names (e.g. "RequiredRevisionId") to include
  5902  	// in API requests with the JSON null value. By default, fields with empty
  5903  	// values are omitted from API requests. See
  5904  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5905  	NullFields []string `json:"-"`
  5906  }
  5907  
  5908  func (s *WriteControl) MarshalJSON() ([]byte, error) {
  5909  	type NoMethod WriteControl
  5910  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5911  }
  5912  
  5913  type PresentationsBatchUpdateCall struct {
  5914  	s                              *Service
  5915  	presentationId                 string
  5916  	batchupdatepresentationrequest *BatchUpdatePresentationRequest
  5917  	urlParams_                     gensupport.URLParams
  5918  	ctx_                           context.Context
  5919  	header_                        http.Header
  5920  }
  5921  
  5922  // BatchUpdate: Applies one or more updates to the presentation. Each request
  5923  // is validated before being applied. If any request is not valid, then the
  5924  // entire request will fail and nothing will be applied. Some requests have
  5925  // replies to give you some information about how they are applied. Other
  5926  // requests do not need to return information; these each return an empty
  5927  // reply. The order of replies matches that of the requests. For example,
  5928  // suppose you call batchUpdate with four updates, and only the third one
  5929  // returns information. The response would have two empty replies: the reply to
  5930  // the third request, and another empty reply, in that order. Because other
  5931  // users may be editing the presentation, the presentation might not exactly
  5932  // reflect your changes: your changes may be altered with respect to
  5933  // collaborator changes. If there are no collaborators, the presentation should
  5934  // reflect your changes. In any case, the updates in your request are
  5935  // guaranteed to be applied together atomically.
  5936  //
  5937  // - presentationId: The presentation to apply the updates to.
  5938  func (r *PresentationsService) BatchUpdate(presentationId string, batchupdatepresentationrequest *BatchUpdatePresentationRequest) *PresentationsBatchUpdateCall {
  5939  	c := &PresentationsBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  5940  	c.presentationId = presentationId
  5941  	c.batchupdatepresentationrequest = batchupdatepresentationrequest
  5942  	return c
  5943  }
  5944  
  5945  // Fields allows partial responses to be retrieved. See
  5946  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  5947  // details.
  5948  func (c *PresentationsBatchUpdateCall) Fields(s ...googleapi.Field) *PresentationsBatchUpdateCall {
  5949  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  5950  	return c
  5951  }
  5952  
  5953  // Context sets the context to be used in this call's Do method.
  5954  func (c *PresentationsBatchUpdateCall) Context(ctx context.Context) *PresentationsBatchUpdateCall {
  5955  	c.ctx_ = ctx
  5956  	return c
  5957  }
  5958  
  5959  // Header returns a http.Header that can be modified by the caller to add
  5960  // headers to the request.
  5961  func (c *PresentationsBatchUpdateCall) Header() http.Header {
  5962  	if c.header_ == nil {
  5963  		c.header_ = make(http.Header)
  5964  	}
  5965  	return c.header_
  5966  }
  5967  
  5968  func (c *PresentationsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
  5969  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  5970  	var body io.Reader = nil
  5971  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdatepresentationrequest)
  5972  	if err != nil {
  5973  		return nil, err
  5974  	}
  5975  	c.urlParams_.Set("alt", alt)
  5976  	c.urlParams_.Set("prettyPrint", "false")
  5977  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/presentations/{presentationId}:batchUpdate")
  5978  	urls += "?" + c.urlParams_.Encode()
  5979  	req, err := http.NewRequest("POST", urls, body)
  5980  	if err != nil {
  5981  		return nil, err
  5982  	}
  5983  	req.Header = reqHeaders
  5984  	googleapi.Expand(req.URL, map[string]string{
  5985  		"presentationId": c.presentationId,
  5986  	})
  5987  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  5988  }
  5989  
  5990  // Do executes the "slides.presentations.batchUpdate" call.
  5991  // Any non-2xx status code is an error. Response headers are in either
  5992  // *BatchUpdatePresentationResponse.ServerResponse.Header or (if a response was
  5993  // returned at all) in error.(*googleapi.Error).Header. Use
  5994  // googleapi.IsNotModified to check whether the returned error was because
  5995  // http.StatusNotModified was returned.
  5996  func (c *PresentationsBatchUpdateCall) Do(opts ...googleapi.CallOption) (*BatchUpdatePresentationResponse, error) {
  5997  	gensupport.SetOptions(c.urlParams_, opts...)
  5998  	res, err := c.doRequest("json")
  5999  	if res != nil && res.StatusCode == http.StatusNotModified {
  6000  		if res.Body != nil {
  6001  			res.Body.Close()
  6002  		}
  6003  		return nil, gensupport.WrapError(&googleapi.Error{
  6004  			Code:   res.StatusCode,
  6005  			Header: res.Header,
  6006  		})
  6007  	}
  6008  	if err != nil {
  6009  		return nil, err
  6010  	}
  6011  	defer googleapi.CloseBody(res)
  6012  	if err := googleapi.CheckResponse(res); err != nil {
  6013  		return nil, gensupport.WrapError(err)
  6014  	}
  6015  	ret := &BatchUpdatePresentationResponse{
  6016  		ServerResponse: googleapi.ServerResponse{
  6017  			Header:         res.Header,
  6018  			HTTPStatusCode: res.StatusCode,
  6019  		},
  6020  	}
  6021  	target := &ret
  6022  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6023  		return nil, err
  6024  	}
  6025  	return ret, nil
  6026  }
  6027  
  6028  type PresentationsCreateCall struct {
  6029  	s            *Service
  6030  	presentation *Presentation
  6031  	urlParams_   gensupport.URLParams
  6032  	ctx_         context.Context
  6033  	header_      http.Header
  6034  }
  6035  
  6036  // Create: Creates a blank presentation using the title given in the request.
  6037  // If a `presentationId` is provided, it is used as the ID of the new
  6038  // presentation. Otherwise, a new ID is generated. Other fields in the request,
  6039  // including any provided content, are ignored. Returns the created
  6040  // presentation.
  6041  func (r *PresentationsService) Create(presentation *Presentation) *PresentationsCreateCall {
  6042  	c := &PresentationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6043  	c.presentation = presentation
  6044  	return c
  6045  }
  6046  
  6047  // Fields allows partial responses to be retrieved. See
  6048  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6049  // details.
  6050  func (c *PresentationsCreateCall) Fields(s ...googleapi.Field) *PresentationsCreateCall {
  6051  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6052  	return c
  6053  }
  6054  
  6055  // Context sets the context to be used in this call's Do method.
  6056  func (c *PresentationsCreateCall) Context(ctx context.Context) *PresentationsCreateCall {
  6057  	c.ctx_ = ctx
  6058  	return c
  6059  }
  6060  
  6061  // Header returns a http.Header that can be modified by the caller to add
  6062  // headers to the request.
  6063  func (c *PresentationsCreateCall) Header() http.Header {
  6064  	if c.header_ == nil {
  6065  		c.header_ = make(http.Header)
  6066  	}
  6067  	return c.header_
  6068  }
  6069  
  6070  func (c *PresentationsCreateCall) doRequest(alt string) (*http.Response, error) {
  6071  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
  6072  	var body io.Reader = nil
  6073  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.presentation)
  6074  	if err != nil {
  6075  		return nil, err
  6076  	}
  6077  	c.urlParams_.Set("alt", alt)
  6078  	c.urlParams_.Set("prettyPrint", "false")
  6079  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/presentations")
  6080  	urls += "?" + c.urlParams_.Encode()
  6081  	req, err := http.NewRequest("POST", urls, body)
  6082  	if err != nil {
  6083  		return nil, err
  6084  	}
  6085  	req.Header = reqHeaders
  6086  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6087  }
  6088  
  6089  // Do executes the "slides.presentations.create" call.
  6090  // Any non-2xx status code is an error. Response headers are in either
  6091  // *Presentation.ServerResponse.Header or (if a response was returned at all)
  6092  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6093  // whether the returned error was because http.StatusNotModified was returned.
  6094  func (c *PresentationsCreateCall) Do(opts ...googleapi.CallOption) (*Presentation, error) {
  6095  	gensupport.SetOptions(c.urlParams_, opts...)
  6096  	res, err := c.doRequest("json")
  6097  	if res != nil && res.StatusCode == http.StatusNotModified {
  6098  		if res.Body != nil {
  6099  			res.Body.Close()
  6100  		}
  6101  		return nil, gensupport.WrapError(&googleapi.Error{
  6102  			Code:   res.StatusCode,
  6103  			Header: res.Header,
  6104  		})
  6105  	}
  6106  	if err != nil {
  6107  		return nil, err
  6108  	}
  6109  	defer googleapi.CloseBody(res)
  6110  	if err := googleapi.CheckResponse(res); err != nil {
  6111  		return nil, gensupport.WrapError(err)
  6112  	}
  6113  	ret := &Presentation{
  6114  		ServerResponse: googleapi.ServerResponse{
  6115  			Header:         res.Header,
  6116  			HTTPStatusCode: res.StatusCode,
  6117  		},
  6118  	}
  6119  	target := &ret
  6120  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6121  		return nil, err
  6122  	}
  6123  	return ret, nil
  6124  }
  6125  
  6126  type PresentationsGetCall struct {
  6127  	s              *Service
  6128  	presentationId string
  6129  	urlParams_     gensupport.URLParams
  6130  	ifNoneMatch_   string
  6131  	ctx_           context.Context
  6132  	header_        http.Header
  6133  }
  6134  
  6135  // Get: Gets the latest version of the specified presentation.
  6136  //
  6137  // - presentationId: The ID of the presentation to retrieve.
  6138  func (r *PresentationsService) Get(presentationId string) *PresentationsGetCall {
  6139  	c := &PresentationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6140  	c.presentationId = presentationId
  6141  	return c
  6142  }
  6143  
  6144  // Fields allows partial responses to be retrieved. See
  6145  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6146  // details.
  6147  func (c *PresentationsGetCall) Fields(s ...googleapi.Field) *PresentationsGetCall {
  6148  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6149  	return c
  6150  }
  6151  
  6152  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6153  // object's ETag matches the given value. This is useful for getting updates
  6154  // only after the object has changed since the last request.
  6155  func (c *PresentationsGetCall) IfNoneMatch(entityTag string) *PresentationsGetCall {
  6156  	c.ifNoneMatch_ = entityTag
  6157  	return c
  6158  }
  6159  
  6160  // Context sets the context to be used in this call's Do method.
  6161  func (c *PresentationsGetCall) Context(ctx context.Context) *PresentationsGetCall {
  6162  	c.ctx_ = ctx
  6163  	return c
  6164  }
  6165  
  6166  // Header returns a http.Header that can be modified by the caller to add
  6167  // headers to the request.
  6168  func (c *PresentationsGetCall) Header() http.Header {
  6169  	if c.header_ == nil {
  6170  		c.header_ = make(http.Header)
  6171  	}
  6172  	return c.header_
  6173  }
  6174  
  6175  func (c *PresentationsGetCall) doRequest(alt string) (*http.Response, error) {
  6176  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6177  	if c.ifNoneMatch_ != "" {
  6178  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6179  	}
  6180  	var body io.Reader = nil
  6181  	c.urlParams_.Set("alt", alt)
  6182  	c.urlParams_.Set("prettyPrint", "false")
  6183  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/presentations/{+presentationId}")
  6184  	urls += "?" + c.urlParams_.Encode()
  6185  	req, err := http.NewRequest("GET", urls, body)
  6186  	if err != nil {
  6187  		return nil, err
  6188  	}
  6189  	req.Header = reqHeaders
  6190  	googleapi.Expand(req.URL, map[string]string{
  6191  		"presentationId": c.presentationId,
  6192  	})
  6193  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6194  }
  6195  
  6196  // Do executes the "slides.presentations.get" call.
  6197  // Any non-2xx status code is an error. Response headers are in either
  6198  // *Presentation.ServerResponse.Header or (if a response was returned at all)
  6199  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6200  // whether the returned error was because http.StatusNotModified was returned.
  6201  func (c *PresentationsGetCall) Do(opts ...googleapi.CallOption) (*Presentation, error) {
  6202  	gensupport.SetOptions(c.urlParams_, opts...)
  6203  	res, err := c.doRequest("json")
  6204  	if res != nil && res.StatusCode == http.StatusNotModified {
  6205  		if res.Body != nil {
  6206  			res.Body.Close()
  6207  		}
  6208  		return nil, gensupport.WrapError(&googleapi.Error{
  6209  			Code:   res.StatusCode,
  6210  			Header: res.Header,
  6211  		})
  6212  	}
  6213  	if err != nil {
  6214  		return nil, err
  6215  	}
  6216  	defer googleapi.CloseBody(res)
  6217  	if err := googleapi.CheckResponse(res); err != nil {
  6218  		return nil, gensupport.WrapError(err)
  6219  	}
  6220  	ret := &Presentation{
  6221  		ServerResponse: googleapi.ServerResponse{
  6222  			Header:         res.Header,
  6223  			HTTPStatusCode: res.StatusCode,
  6224  		},
  6225  	}
  6226  	target := &ret
  6227  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6228  		return nil, err
  6229  	}
  6230  	return ret, nil
  6231  }
  6232  
  6233  type PresentationsPagesGetCall struct {
  6234  	s              *Service
  6235  	presentationId string
  6236  	pageObjectId   string
  6237  	urlParams_     gensupport.URLParams
  6238  	ifNoneMatch_   string
  6239  	ctx_           context.Context
  6240  	header_        http.Header
  6241  }
  6242  
  6243  // Get: Gets the latest version of the specified page in the presentation.
  6244  //
  6245  // - pageObjectId: The object ID of the page to retrieve.
  6246  // - presentationId: The ID of the presentation to retrieve.
  6247  func (r *PresentationsPagesService) Get(presentationId string, pageObjectId string) *PresentationsPagesGetCall {
  6248  	c := &PresentationsPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6249  	c.presentationId = presentationId
  6250  	c.pageObjectId = pageObjectId
  6251  	return c
  6252  }
  6253  
  6254  // Fields allows partial responses to be retrieved. See
  6255  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6256  // details.
  6257  func (c *PresentationsPagesGetCall) Fields(s ...googleapi.Field) *PresentationsPagesGetCall {
  6258  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6259  	return c
  6260  }
  6261  
  6262  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6263  // object's ETag matches the given value. This is useful for getting updates
  6264  // only after the object has changed since the last request.
  6265  func (c *PresentationsPagesGetCall) IfNoneMatch(entityTag string) *PresentationsPagesGetCall {
  6266  	c.ifNoneMatch_ = entityTag
  6267  	return c
  6268  }
  6269  
  6270  // Context sets the context to be used in this call's Do method.
  6271  func (c *PresentationsPagesGetCall) Context(ctx context.Context) *PresentationsPagesGetCall {
  6272  	c.ctx_ = ctx
  6273  	return c
  6274  }
  6275  
  6276  // Header returns a http.Header that can be modified by the caller to add
  6277  // headers to the request.
  6278  func (c *PresentationsPagesGetCall) Header() http.Header {
  6279  	if c.header_ == nil {
  6280  		c.header_ = make(http.Header)
  6281  	}
  6282  	return c.header_
  6283  }
  6284  
  6285  func (c *PresentationsPagesGetCall) doRequest(alt string) (*http.Response, error) {
  6286  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6287  	if c.ifNoneMatch_ != "" {
  6288  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6289  	}
  6290  	var body io.Reader = nil
  6291  	c.urlParams_.Set("alt", alt)
  6292  	c.urlParams_.Set("prettyPrint", "false")
  6293  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/presentations/{presentationId}/pages/{pageObjectId}")
  6294  	urls += "?" + c.urlParams_.Encode()
  6295  	req, err := http.NewRequest("GET", urls, body)
  6296  	if err != nil {
  6297  		return nil, err
  6298  	}
  6299  	req.Header = reqHeaders
  6300  	googleapi.Expand(req.URL, map[string]string{
  6301  		"presentationId": c.presentationId,
  6302  		"pageObjectId":   c.pageObjectId,
  6303  	})
  6304  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6305  }
  6306  
  6307  // Do executes the "slides.presentations.pages.get" call.
  6308  // Any non-2xx status code is an error. Response headers are in either
  6309  // *Page.ServerResponse.Header or (if a response was returned at all) in
  6310  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6311  // whether the returned error was because http.StatusNotModified was returned.
  6312  func (c *PresentationsPagesGetCall) Do(opts ...googleapi.CallOption) (*Page, error) {
  6313  	gensupport.SetOptions(c.urlParams_, opts...)
  6314  	res, err := c.doRequest("json")
  6315  	if res != nil && res.StatusCode == http.StatusNotModified {
  6316  		if res.Body != nil {
  6317  			res.Body.Close()
  6318  		}
  6319  		return nil, gensupport.WrapError(&googleapi.Error{
  6320  			Code:   res.StatusCode,
  6321  			Header: res.Header,
  6322  		})
  6323  	}
  6324  	if err != nil {
  6325  		return nil, err
  6326  	}
  6327  	defer googleapi.CloseBody(res)
  6328  	if err := googleapi.CheckResponse(res); err != nil {
  6329  		return nil, gensupport.WrapError(err)
  6330  	}
  6331  	ret := &Page{
  6332  		ServerResponse: googleapi.ServerResponse{
  6333  			Header:         res.Header,
  6334  			HTTPStatusCode: res.StatusCode,
  6335  		},
  6336  	}
  6337  	target := &ret
  6338  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6339  		return nil, err
  6340  	}
  6341  	return ret, nil
  6342  }
  6343  
  6344  type PresentationsPagesGetThumbnailCall struct {
  6345  	s              *Service
  6346  	presentationId string
  6347  	pageObjectId   string
  6348  	urlParams_     gensupport.URLParams
  6349  	ifNoneMatch_   string
  6350  	ctx_           context.Context
  6351  	header_        http.Header
  6352  }
  6353  
  6354  // GetThumbnail: Generates a thumbnail of the latest version of the specified
  6355  // page in the presentation and returns a URL to the thumbnail image. This
  6356  // request counts as an expensive read request (/slides/limits) for quota
  6357  // purposes.
  6358  //
  6359  // - pageObjectId: The object ID of the page whose thumbnail to retrieve.
  6360  // - presentationId: The ID of the presentation to retrieve.
  6361  func (r *PresentationsPagesService) GetThumbnail(presentationId string, pageObjectId string) *PresentationsPagesGetThumbnailCall {
  6362  	c := &PresentationsPagesGetThumbnailCall{s: r.s, urlParams_: make(gensupport.URLParams)}
  6363  	c.presentationId = presentationId
  6364  	c.pageObjectId = pageObjectId
  6365  	return c
  6366  }
  6367  
  6368  // ThumbnailPropertiesMimeType sets the optional parameter
  6369  // "thumbnailProperties.mimeType": The optional mime type of the thumbnail
  6370  // image. If you don't specify the mime type, the mime type defaults to PNG.
  6371  //
  6372  // Possible values:
  6373  //
  6374  //	"PNG" - The default mime type.
  6375  func (c *PresentationsPagesGetThumbnailCall) ThumbnailPropertiesMimeType(thumbnailPropertiesMimeType string) *PresentationsPagesGetThumbnailCall {
  6376  	c.urlParams_.Set("thumbnailProperties.mimeType", thumbnailPropertiesMimeType)
  6377  	return c
  6378  }
  6379  
  6380  // ThumbnailPropertiesThumbnailSize sets the optional parameter
  6381  // "thumbnailProperties.thumbnailSize": The optional thumbnail image size. If
  6382  // you don't specify the size, the server chooses a default size of the image.
  6383  //
  6384  // Possible values:
  6385  //
  6386  //	"THUMBNAIL_SIZE_UNSPECIFIED" - The default thumbnail image size. The
  6387  //
  6388  // unspecified thumbnail size implies that the server chooses the size of the
  6389  // image in a way that might vary in the future.
  6390  //
  6391  //	"LARGE" - The thumbnail image width of 1600px.
  6392  //	"MEDIUM" - The thumbnail image width of 800px.
  6393  //	"SMALL" - The thumbnail image width of 200px.
  6394  func (c *PresentationsPagesGetThumbnailCall) ThumbnailPropertiesThumbnailSize(thumbnailPropertiesThumbnailSize string) *PresentationsPagesGetThumbnailCall {
  6395  	c.urlParams_.Set("thumbnailProperties.thumbnailSize", thumbnailPropertiesThumbnailSize)
  6396  	return c
  6397  }
  6398  
  6399  // Fields allows partial responses to be retrieved. See
  6400  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
  6401  // details.
  6402  func (c *PresentationsPagesGetThumbnailCall) Fields(s ...googleapi.Field) *PresentationsPagesGetThumbnailCall {
  6403  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
  6404  	return c
  6405  }
  6406  
  6407  // IfNoneMatch sets an optional parameter which makes the operation fail if the
  6408  // object's ETag matches the given value. This is useful for getting updates
  6409  // only after the object has changed since the last request.
  6410  func (c *PresentationsPagesGetThumbnailCall) IfNoneMatch(entityTag string) *PresentationsPagesGetThumbnailCall {
  6411  	c.ifNoneMatch_ = entityTag
  6412  	return c
  6413  }
  6414  
  6415  // Context sets the context to be used in this call's Do method.
  6416  func (c *PresentationsPagesGetThumbnailCall) Context(ctx context.Context) *PresentationsPagesGetThumbnailCall {
  6417  	c.ctx_ = ctx
  6418  	return c
  6419  }
  6420  
  6421  // Header returns a http.Header that can be modified by the caller to add
  6422  // headers to the request.
  6423  func (c *PresentationsPagesGetThumbnailCall) Header() http.Header {
  6424  	if c.header_ == nil {
  6425  		c.header_ = make(http.Header)
  6426  	}
  6427  	return c.header_
  6428  }
  6429  
  6430  func (c *PresentationsPagesGetThumbnailCall) doRequest(alt string) (*http.Response, error) {
  6431  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
  6432  	if c.ifNoneMatch_ != "" {
  6433  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
  6434  	}
  6435  	var body io.Reader = nil
  6436  	c.urlParams_.Set("alt", alt)
  6437  	c.urlParams_.Set("prettyPrint", "false")
  6438  	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail")
  6439  	urls += "?" + c.urlParams_.Encode()
  6440  	req, err := http.NewRequest("GET", urls, body)
  6441  	if err != nil {
  6442  		return nil, err
  6443  	}
  6444  	req.Header = reqHeaders
  6445  	googleapi.Expand(req.URL, map[string]string{
  6446  		"presentationId": c.presentationId,
  6447  		"pageObjectId":   c.pageObjectId,
  6448  	})
  6449  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
  6450  }
  6451  
  6452  // Do executes the "slides.presentations.pages.getThumbnail" call.
  6453  // Any non-2xx status code is an error. Response headers are in either
  6454  // *Thumbnail.ServerResponse.Header or (if a response was returned at all) in
  6455  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
  6456  // whether the returned error was because http.StatusNotModified was returned.
  6457  func (c *PresentationsPagesGetThumbnailCall) Do(opts ...googleapi.CallOption) (*Thumbnail, error) {
  6458  	gensupport.SetOptions(c.urlParams_, opts...)
  6459  	res, err := c.doRequest("json")
  6460  	if res != nil && res.StatusCode == http.StatusNotModified {
  6461  		if res.Body != nil {
  6462  			res.Body.Close()
  6463  		}
  6464  		return nil, gensupport.WrapError(&googleapi.Error{
  6465  			Code:   res.StatusCode,
  6466  			Header: res.Header,
  6467  		})
  6468  	}
  6469  	if err != nil {
  6470  		return nil, err
  6471  	}
  6472  	defer googleapi.CloseBody(res)
  6473  	if err := googleapi.CheckResponse(res); err != nil {
  6474  		return nil, gensupport.WrapError(err)
  6475  	}
  6476  	ret := &Thumbnail{
  6477  		ServerResponse: googleapi.ServerResponse{
  6478  			Header:         res.Header,
  6479  			HTTPStatusCode: res.StatusCode,
  6480  		},
  6481  	}
  6482  	target := &ret
  6483  	if err := gensupport.DecodeResponse(target, res); err != nil {
  6484  		return nil, err
  6485  	}
  6486  	return ret, nil
  6487  }
  6488  

View as plain text