1// Copyright 2019 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// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/slides/v1"
16//   ...
17//   ctx := context.Background()
18//   slidesService, err := slides.NewService(ctx)
19//
20// In this example, Google Application Default Credentials are used for authentication.
21//
22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
23//
24// Other authentication options
25//
26// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
27//
28//   slidesService, err := slides.NewService(ctx, option.WithScopes(slides.SpreadsheetsReadonlyScope))
29//
30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
31//
32//   slidesService, err := slides.NewService(ctx, option.WithAPIKey("AIza..."))
33//
34// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
35//
36//   config := &oauth2.Config{...}
37//   // ...
38//   token, err := config.Exchange(ctx, ...)
39//   slidesService, err := slides.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
40//
41// See https://godoc.org/google.golang.org/api/option/ for details on options.
42package slides // import "google.golang.org/api/slides/v1"
43
44import (
45	"bytes"
46	"context"
47	"encoding/json"
48	"errors"
49	"fmt"
50	"io"
51	"net/http"
52	"net/url"
53	"strconv"
54	"strings"
55
56	googleapi "google.golang.org/api/googleapi"
57	gensupport "google.golang.org/api/internal/gensupport"
58	option "google.golang.org/api/option"
59	htransport "google.golang.org/api/transport/http"
60)
61
62// Always reference these packages, just in case the auto-generated code
63// below doesn't.
64var _ = bytes.NewBuffer
65var _ = strconv.Itoa
66var _ = fmt.Sprintf
67var _ = json.NewDecoder
68var _ = io.Copy
69var _ = url.Parse
70var _ = gensupport.MarshalJSON
71var _ = googleapi.Version
72var _ = errors.New
73var _ = strings.Replace
74var _ = context.Canceled
75
76const apiId = "slides:v1"
77const apiName = "slides"
78const apiVersion = "v1"
79const basePath = "https://slides.googleapis.com/"
80
81// OAuth2 scopes used by this API.
82const (
83	// See, edit, create, and delete all of your Google Drive files
84	DriveScope = "https://www.googleapis.com/auth/drive"
85
86	// View and manage Google Drive files and folders that you have opened
87	// or created with this app
88	DriveFileScope = "https://www.googleapis.com/auth/drive.file"
89
90	// See and download all your Google Drive files
91	DriveReadonlyScope = "https://www.googleapis.com/auth/drive.readonly"
92
93	// View and manage your Google Slides presentations
94	PresentationsScope = "https://www.googleapis.com/auth/presentations"
95
96	// View your Google Slides presentations
97	PresentationsReadonlyScope = "https://www.googleapis.com/auth/presentations.readonly"
98
99	// See, edit, create, and delete your spreadsheets in Google Drive
100	SpreadsheetsScope = "https://www.googleapis.com/auth/spreadsheets"
101
102	// View your Google Spreadsheets
103	SpreadsheetsReadonlyScope = "https://www.googleapis.com/auth/spreadsheets.readonly"
104)
105
106// NewService creates a new Service.
107func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
108	scopesOption := option.WithScopes(
109		"https://www.googleapis.com/auth/drive",
110		"https://www.googleapis.com/auth/drive.file",
111		"https://www.googleapis.com/auth/drive.readonly",
112		"https://www.googleapis.com/auth/presentations",
113		"https://www.googleapis.com/auth/presentations.readonly",
114		"https://www.googleapis.com/auth/spreadsheets",
115		"https://www.googleapis.com/auth/spreadsheets.readonly",
116	)
117	// NOTE: prepend, so we don't override user-specified scopes.
118	opts = append([]option.ClientOption{scopesOption}, opts...)
119	client, endpoint, err := htransport.NewClient(ctx, opts...)
120	if err != nil {
121		return nil, err
122	}
123	s, err := New(client)
124	if err != nil {
125		return nil, err
126	}
127	if endpoint != "" {
128		s.BasePath = endpoint
129	}
130	return s, nil
131}
132
133// New creates a new Service. It uses the provided http.Client for requests.
134//
135// Deprecated: please use NewService instead.
136// To provide a custom HTTP client, use option.WithHTTPClient.
137// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
138func New(client *http.Client) (*Service, error) {
139	if client == nil {
140		return nil, errors.New("client is nil")
141	}
142	s := &Service{client: client, BasePath: basePath}
143	s.Presentations = NewPresentationsService(s)
144	return s, nil
145}
146
147type Service struct {
148	client    *http.Client
149	BasePath  string // API endpoint base URL
150	UserAgent string // optional additional User-Agent fragment
151
152	Presentations *PresentationsService
153}
154
155func (s *Service) userAgent() string {
156	if s.UserAgent == "" {
157		return googleapi.UserAgent
158	}
159	return googleapi.UserAgent + " " + s.UserAgent
160}
161
162func NewPresentationsService(s *Service) *PresentationsService {
163	rs := &PresentationsService{s: s}
164	rs.Pages = NewPresentationsPagesService(s)
165	return rs
166}
167
168type PresentationsService struct {
169	s *Service
170
171	Pages *PresentationsPagesService
172}
173
174func NewPresentationsPagesService(s *Service) *PresentationsPagesService {
175	rs := &PresentationsPagesService{s: s}
176	return rs
177}
178
179type PresentationsPagesService struct {
180	s *Service
181}
182
183// AffineTransform: AffineTransform uses a 3x3 matrix with an implied
184// last row of [ 0 0 1 ]
185// to transform source coordinates (x,y) into destination coordinates
186// (x', y')
187// according to:
188//
189//       x'  x  =   shear_y  scale_y  translate_y
190//       1  [ 1 ]
191//
192// After transformation,
193//
194//      x' = scale_x * x + shear_x * y + translate_x;
195//      y' = scale_y * y + shear_y * x + translate_y;
196//
197// This message is therefore composed of these six matrix elements.
198type AffineTransform struct {
199	// ScaleX: The X coordinate scaling element.
200	ScaleX float64 `json:"scaleX,omitempty"`
201
202	// ScaleY: The Y coordinate scaling element.
203	ScaleY float64 `json:"scaleY,omitempty"`
204
205	// ShearX: The X coordinate shearing element.
206	ShearX float64 `json:"shearX,omitempty"`
207
208	// ShearY: The Y coordinate shearing element.
209	ShearY float64 `json:"shearY,omitempty"`
210
211	// TranslateX: The X coordinate translation element.
212	TranslateX float64 `json:"translateX,omitempty"`
213
214	// TranslateY: The Y coordinate translation element.
215	TranslateY float64 `json:"translateY,omitempty"`
216
217	// Unit: The units for translate elements.
218	//
219	// Possible values:
220	//   "UNIT_UNSPECIFIED" - The units are unknown.
221	//   "EMU" - An English Metric Unit (EMU) is defined as 1/360,000 of a
222	// centimeter
223	// and thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.
224	//   "PT" - A point, 1/72 of an inch.
225	Unit string `json:"unit,omitempty"`
226
227	// ForceSendFields is a list of field names (e.g. "ScaleX") to
228	// unconditionally include in API requests. By default, fields with
229	// empty values are omitted from API requests. However, any non-pointer,
230	// non-interface field appearing in ForceSendFields will be sent to the
231	// server regardless of whether the field is empty or not. This may be
232	// used to include empty fields in Patch requests.
233	ForceSendFields []string `json:"-"`
234
235	// NullFields is a list of field names (e.g. "ScaleX") to include in API
236	// requests with the JSON null value. By default, fields with empty
237	// values are omitted from API requests. However, any field with an
238	// empty value appearing in NullFields will be sent to the server as
239	// null. It is an error if a field in this list has a non-empty value.
240	// This may be used to include null fields in Patch requests.
241	NullFields []string `json:"-"`
242}
243
244func (s *AffineTransform) MarshalJSON() ([]byte, error) {
245	type NoMethod AffineTransform
246	raw := NoMethod(*s)
247	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
248}
249
250func (s *AffineTransform) UnmarshalJSON(data []byte) error {
251	type NoMethod AffineTransform
252	var s1 struct {
253		ScaleX     gensupport.JSONFloat64 `json:"scaleX"`
254		ScaleY     gensupport.JSONFloat64 `json:"scaleY"`
255		ShearX     gensupport.JSONFloat64 `json:"shearX"`
256		ShearY     gensupport.JSONFloat64 `json:"shearY"`
257		TranslateX gensupport.JSONFloat64 `json:"translateX"`
258		TranslateY gensupport.JSONFloat64 `json:"translateY"`
259		*NoMethod
260	}
261	s1.NoMethod = (*NoMethod)(s)
262	if err := json.Unmarshal(data, &s1); err != nil {
263		return err
264	}
265	s.ScaleX = float64(s1.ScaleX)
266	s.ScaleY = float64(s1.ScaleY)
267	s.ShearX = float64(s1.ShearX)
268	s.ShearY = float64(s1.ShearY)
269	s.TranslateX = float64(s1.TranslateX)
270	s.TranslateY = float64(s1.TranslateY)
271	return nil
272}
273
274// AutoText: A TextElement kind that represents auto text.
275type AutoText struct {
276	// Content: The rendered content of this auto text, if available.
277	Content string `json:"content,omitempty"`
278
279	// Style: The styling applied to this auto text.
280	Style *TextStyle `json:"style,omitempty"`
281
282	// Type: The type of this auto text.
283	//
284	// Possible values:
285	//   "TYPE_UNSPECIFIED" - An unspecified autotext type.
286	//   "SLIDE_NUMBER" - Type for autotext that represents the current
287	// slide number.
288	Type string `json:"type,omitempty"`
289
290	// ForceSendFields is a list of field names (e.g. "Content") to
291	// unconditionally include in API requests. By default, fields with
292	// empty values are omitted from API requests. However, any non-pointer,
293	// non-interface field appearing in ForceSendFields will be sent to the
294	// server regardless of whether the field is empty or not. This may be
295	// used to include empty fields in Patch requests.
296	ForceSendFields []string `json:"-"`
297
298	// NullFields is a list of field names (e.g. "Content") to include in
299	// API requests with the JSON null value. By default, fields with empty
300	// values are omitted from API requests. However, any field with an
301	// empty value appearing in NullFields will be sent to the server as
302	// null. It is an error if a field in this list has a non-empty value.
303	// This may be used to include null fields in Patch requests.
304	NullFields []string `json:"-"`
305}
306
307func (s *AutoText) MarshalJSON() ([]byte, error) {
308	type NoMethod AutoText
309	raw := NoMethod(*s)
310	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
311}
312
313// BatchUpdatePresentationRequest: Request message for
314// PresentationsService.BatchUpdatePresentation.
315type BatchUpdatePresentationRequest struct {
316	// Requests: A list of updates to apply to the presentation.
317	Requests []*Request `json:"requests,omitempty"`
318
319	// WriteControl: Provides control over how write requests are executed.
320	WriteControl *WriteControl `json:"writeControl,omitempty"`
321
322	// ForceSendFields is a list of field names (e.g. "Requests") to
323	// unconditionally include in API requests. By default, fields with
324	// empty values are omitted from API requests. However, any non-pointer,
325	// non-interface field appearing in ForceSendFields will be sent to the
326	// server regardless of whether the field is empty or not. This may be
327	// used to include empty fields in Patch requests.
328	ForceSendFields []string `json:"-"`
329
330	// NullFields is a list of field names (e.g. "Requests") to include in
331	// API requests with the JSON null value. By default, fields with empty
332	// values are omitted from API requests. However, any field with an
333	// empty value appearing in NullFields will be sent to the server as
334	// null. It is an error if a field in this list has a non-empty value.
335	// This may be used to include null fields in Patch requests.
336	NullFields []string `json:"-"`
337}
338
339func (s *BatchUpdatePresentationRequest) MarshalJSON() ([]byte, error) {
340	type NoMethod BatchUpdatePresentationRequest
341	raw := NoMethod(*s)
342	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
343}
344
345// BatchUpdatePresentationResponse: Response message from a batch
346// update.
347type BatchUpdatePresentationResponse struct {
348	// PresentationId: The presentation the updates were applied to.
349	PresentationId string `json:"presentationId,omitempty"`
350
351	// Replies: The reply of the updates.  This maps 1:1 with the updates,
352	// although
353	// replies to some requests may be empty.
354	Replies []*Response `json:"replies,omitempty"`
355
356	// WriteControl: The updated write control after applying the request.
357	WriteControl *WriteControl `json:"writeControl,omitempty"`
358
359	// ServerResponse contains the HTTP response code and headers from the
360	// server.
361	googleapi.ServerResponse `json:"-"`
362
363	// ForceSendFields is a list of field names (e.g. "PresentationId") to
364	// unconditionally include in API requests. By default, fields with
365	// empty values are omitted from API requests. However, any non-pointer,
366	// non-interface field appearing in ForceSendFields will be sent to the
367	// server regardless of whether the field is empty or not. This may be
368	// used to include empty fields in Patch requests.
369	ForceSendFields []string `json:"-"`
370
371	// NullFields is a list of field names (e.g. "PresentationId") to
372	// include in API requests with the JSON null value. By default, fields
373	// with empty values are omitted from API requests. However, any field
374	// with an empty value appearing in NullFields will be sent to the
375	// server as null. It is an error if a field in this list has a
376	// non-empty value. This may be used to include null fields in Patch
377	// requests.
378	NullFields []string `json:"-"`
379}
380
381func (s *BatchUpdatePresentationResponse) MarshalJSON() ([]byte, error) {
382	type NoMethod BatchUpdatePresentationResponse
383	raw := NoMethod(*s)
384	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
385}
386
387// Bullet: Describes the bullet of a paragraph.
388type Bullet struct {
389	// BulletStyle: The paragraph specific text style applied to this
390	// bullet.
391	BulletStyle *TextStyle `json:"bulletStyle,omitempty"`
392
393	// Glyph: The rendered bullet glyph for this paragraph.
394	Glyph string `json:"glyph,omitempty"`
395
396	// ListId: The ID of the list this paragraph belongs to.
397	ListId string `json:"listId,omitempty"`
398
399	// NestingLevel: The nesting level of this paragraph in the list.
400	NestingLevel int64 `json:"nestingLevel,omitempty"`
401
402	// ForceSendFields is a list of field names (e.g. "BulletStyle") to
403	// unconditionally include in API requests. By default, fields with
404	// empty values are omitted from API requests. However, any non-pointer,
405	// non-interface field appearing in ForceSendFields will be sent to the
406	// server regardless of whether the field is empty or not. This may be
407	// used to include empty fields in Patch requests.
408	ForceSendFields []string `json:"-"`
409
410	// NullFields is a list of field names (e.g. "BulletStyle") to include
411	// in API requests with the JSON null value. By default, fields with
412	// empty values are omitted from API requests. However, any field with
413	// an empty value appearing in NullFields will be sent to the server as
414	// null. It is an error if a field in this list has a non-empty value.
415	// This may be used to include null fields in Patch requests.
416	NullFields []string `json:"-"`
417}
418
419func (s *Bullet) MarshalJSON() ([]byte, error) {
420	type NoMethod Bullet
421	raw := NoMethod(*s)
422	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
423}
424
425// ColorScheme: The palette of predefined colors for a page.
426type ColorScheme struct {
427	// Colors: The ThemeColorType and corresponding concrete color pairs.
428	Colors []*ThemeColorPair `json:"colors,omitempty"`
429
430	// ForceSendFields is a list of field names (e.g. "Colors") to
431	// unconditionally include in API requests. By default, fields with
432	// empty values are omitted from API requests. However, any non-pointer,
433	// non-interface field appearing in ForceSendFields will be sent to the
434	// server regardless of whether the field is empty or not. This may be
435	// used to include empty fields in Patch requests.
436	ForceSendFields []string `json:"-"`
437
438	// NullFields is a list of field names (e.g. "Colors") to include in API
439	// requests with the JSON null value. By default, fields with empty
440	// values are omitted from API requests. However, any field with an
441	// empty value appearing in NullFields will be sent to the server as
442	// null. It is an error if a field in this list has a non-empty value.
443	// This may be used to include null fields in Patch requests.
444	NullFields []string `json:"-"`
445}
446
447func (s *ColorScheme) MarshalJSON() ([]byte, error) {
448	type NoMethod ColorScheme
449	raw := NoMethod(*s)
450	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
451}
452
453// ColorStop: A color and position in a gradient band.
454type ColorStop struct {
455	// Alpha: The alpha value of this color in the gradient band. Defaults
456	// to 1.0,
457	// fully opaque.
458	Alpha float64 `json:"alpha,omitempty"`
459
460	// Color: The color of the gradient stop.
461	Color *OpaqueColor `json:"color,omitempty"`
462
463	// Position: The relative position of the color stop in the gradient
464	// band measured
465	// in percentage. The value should be in the interval [0.0, 1.0].
466	Position float64 `json:"position,omitempty"`
467
468	// ForceSendFields is a list of field names (e.g. "Alpha") to
469	// unconditionally include in API requests. By default, fields with
470	// empty values are omitted from API requests. However, any non-pointer,
471	// non-interface field appearing in ForceSendFields will be sent to the
472	// server regardless of whether the field is empty or not. This may be
473	// used to include empty fields in Patch requests.
474	ForceSendFields []string `json:"-"`
475
476	// NullFields is a list of field names (e.g. "Alpha") to include in API
477	// requests with the JSON null value. By default, fields with empty
478	// values are omitted from API requests. However, any field with an
479	// empty value appearing in NullFields will be sent to the server as
480	// null. It is an error if a field in this list has a non-empty value.
481	// This may be used to include null fields in Patch requests.
482	NullFields []string `json:"-"`
483}
484
485func (s *ColorStop) MarshalJSON() ([]byte, error) {
486	type NoMethod ColorStop
487	raw := NoMethod(*s)
488	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
489}
490
491func (s *ColorStop) UnmarshalJSON(data []byte) error {
492	type NoMethod ColorStop
493	var s1 struct {
494		Alpha    gensupport.JSONFloat64 `json:"alpha"`
495		Position gensupport.JSONFloat64 `json:"position"`
496		*NoMethod
497	}
498	s1.NoMethod = (*NoMethod)(s)
499	if err := json.Unmarshal(data, &s1); err != nil {
500		return err
501	}
502	s.Alpha = float64(s1.Alpha)
503	s.Position = float64(s1.Position)
504	return nil
505}
506
507// CreateImageRequest: Creates an image.
508type CreateImageRequest struct {
509	// ElementProperties: The element properties for the image.
510	//
511	// When the aspect ratio of the provided size does not match the image
512	// aspect
513	// ratio, the image is scaled and centered with respect to the size in
514	// order
515	// to maintain aspect ratio. The provided transform is applied after
516	// this
517	// operation.
518	//
519	// The PageElementProperties.size property is
520	// optional. If you don't specify the size, the default size of the
521	// image is
522	// used.
523	//
524	// The PageElementProperties.transform property is
525	// optional. If you don't specify a transform, the image will be placed
526	// at the
527	// top left corner of the page.
528	ElementProperties *PageElementProperties `json:"elementProperties,omitempty"`
529
530	// ObjectId: A user-supplied object ID.
531	//
532	// If you specify an ID, it must be unique among all pages and page
533	// elements
534	// in the presentation. The ID must start with an alphanumeric character
535	// or an
536	// underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
537	// may include those as well as a hyphen or colon (matches
538	// regex
539	// `[a-zA-Z0-9_-:]`).
540	// The length of the ID must not be less than 5 or greater than 50.
541	//
542	// If you don't specify an ID, a unique one is generated.
543	ObjectId string `json:"objectId,omitempty"`
544
545	// Url: The image URL.
546	//
547	// The image is fetched once at insertion time and a copy is stored
548	// for
549	// display inside the presentation. Images must be less than 50MB in
550	// size,
551	// cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or
552	// GIF
553	// format.
554	//
555	// The provided URL can be at most 2 kB in length. The URL itself is
556	// saved
557	// with the image, and exposed via the Image.source_url field.
558	Url string `json:"url,omitempty"`
559
560	// ForceSendFields is a list of field names (e.g. "ElementProperties")
561	// to unconditionally include in API requests. By default, fields with
562	// empty values are omitted from API requests. However, any non-pointer,
563	// non-interface field appearing in ForceSendFields will be sent to the
564	// server regardless of whether the field is empty or not. This may be
565	// used to include empty fields in Patch requests.
566	ForceSendFields []string `json:"-"`
567
568	// NullFields is a list of field names (e.g. "ElementProperties") to
569	// include in API requests with the JSON null value. By default, fields
570	// with empty values are omitted from API requests. However, any field
571	// with an empty value appearing in NullFields will be sent to the
572	// server as null. It is an error if a field in this list has a
573	// non-empty value. This may be used to include null fields in Patch
574	// requests.
575	NullFields []string `json:"-"`
576}
577
578func (s *CreateImageRequest) MarshalJSON() ([]byte, error) {
579	type NoMethod CreateImageRequest
580	raw := NoMethod(*s)
581	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
582}
583
584// CreateImageResponse: The result of creating an image.
585type CreateImageResponse struct {
586	// ObjectId: The object ID of the created image.
587	ObjectId string `json:"objectId,omitempty"`
588
589	// ForceSendFields is a list of field names (e.g. "ObjectId") to
590	// unconditionally include in API requests. By default, fields with
591	// empty values are omitted from API requests. However, any non-pointer,
592	// non-interface field appearing in ForceSendFields will be sent to the
593	// server regardless of whether the field is empty or not. This may be
594	// used to include empty fields in Patch requests.
595	ForceSendFields []string `json:"-"`
596
597	// NullFields is a list of field names (e.g. "ObjectId") to include in
598	// API requests with the JSON null value. By default, fields with empty
599	// values are omitted from API requests. However, any field with an
600	// empty value appearing in NullFields will be sent to the server as
601	// null. It is an error if a field in this list has a non-empty value.
602	// This may be used to include null fields in Patch requests.
603	NullFields []string `json:"-"`
604}
605
606func (s *CreateImageResponse) MarshalJSON() ([]byte, error) {
607	type NoMethod CreateImageResponse
608	raw := NoMethod(*s)
609	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
610}
611
612// CreateLineRequest: Creates a line.
613type CreateLineRequest struct {
614	// Category: The category of the line to be created.
615	//
616	// The exact line type created is
617	// determined based on the category and how it's routed to connect to
618	// other
619	// page elements.
620	//
621	// If you specify both a `category` and a `line_category`, the
622	// `category`
623	// takes precedence.
624	//
625	// If you do not specify a value for `category`, but specify a value
626	// for
627	// `line_category`, then the specified `line_category` value is
628	// used.
629	//
630	// If you do not specify either, then STRAIGHT is used.
631	//
632	// Possible values:
633	//   "LINE_CATEGORY_UNSPECIFIED" - Unspecified line category.
634	//   "STRAIGHT" - Straight connectors, including straight connector 1.
635	//   "BENT" - Bent connectors, including bent connector 2 to 5.
636	//   "CURVED" - Curved connectors, including curved connector 2 to 5.
637	Category string `json:"category,omitempty"`
638
639	// ElementProperties: The element properties for the line.
640	ElementProperties *PageElementProperties `json:"elementProperties,omitempty"`
641
642	// LineCategory: The category of the line to be
643	// created.
644	//
645	// <b>Deprecated</b>: use `category` instead.
646	//
647	// The exact line type created is
648	// determined based on the category and how it's routed to connect to
649	// other
650	// page elements.
651	//
652	// If you specify both a `category` and a `line_category`, the
653	// `category`
654	// takes precedence.
655	//
656	// Possible values:
657	//   "STRAIGHT" - Straight connectors, including straight connector 1.
658	// The is the default
659	// category when one is not specified.
660	//   "BENT" - Bent connectors, including bent connector 2 to 5.
661	//   "CURVED" - Curved connectors, including curved connector 2 to 5.
662	LineCategory string `json:"lineCategory,omitempty"`
663
664	// ObjectId: A user-supplied object ID.
665	//
666	// If you specify an ID, it must be unique among all pages and page
667	// elements
668	// in the presentation. The ID must start with an alphanumeric character
669	// or an
670	// underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
671	// may include those as well as a hyphen or colon (matches
672	// regex
673	// `[a-zA-Z0-9_-:]`).
674	// The length of the ID must not be less than 5 or greater than 50.
675	//
676	// If you don't specify an ID, a unique one is generated.
677	ObjectId string `json:"objectId,omitempty"`
678
679	// ForceSendFields is a list of field names (e.g. "Category") to
680	// unconditionally include in API requests. By default, fields with
681	// empty values are omitted from API requests. However, any non-pointer,
682	// non-interface field appearing in ForceSendFields will be sent to the
683	// server regardless of whether the field is empty or not. This may be
684	// used to include empty fields in Patch requests.
685	ForceSendFields []string `json:"-"`
686
687	// NullFields is a list of field names (e.g. "Category") to include in
688	// API requests with the JSON null value. By default, fields with empty
689	// values are omitted from API requests. However, any field with an
690	// empty value appearing in NullFields will be sent to the server as
691	// null. It is an error if a field in this list has a non-empty value.
692	// This may be used to include null fields in Patch requests.
693	NullFields []string `json:"-"`
694}
695
696func (s *CreateLineRequest) MarshalJSON() ([]byte, error) {
697	type NoMethod CreateLineRequest
698	raw := NoMethod(*s)
699	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
700}
701
702// CreateLineResponse: The result of creating a line.
703type CreateLineResponse struct {
704	// ObjectId: The object ID of the created line.
705	ObjectId string `json:"objectId,omitempty"`
706
707	// ForceSendFields is a list of field names (e.g. "ObjectId") to
708	// unconditionally include in API requests. By default, fields with
709	// empty values are omitted from API requests. However, any non-pointer,
710	// non-interface field appearing in ForceSendFields will be sent to the
711	// server regardless of whether the field is empty or not. This may be
712	// used to include empty fields in Patch requests.
713	ForceSendFields []string `json:"-"`
714
715	// NullFields is a list of field names (e.g. "ObjectId") to include in
716	// API requests with the JSON null value. By default, fields with empty
717	// values are omitted from API requests. However, any field with an
718	// empty value appearing in NullFields will be sent to the server as
719	// null. It is an error if a field in this list has a non-empty value.
720	// This may be used to include null fields in Patch requests.
721	NullFields []string `json:"-"`
722}
723
724func (s *CreateLineResponse) MarshalJSON() ([]byte, error) {
725	type NoMethod CreateLineResponse
726	raw := NoMethod(*s)
727	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
728}
729
730// CreateParagraphBulletsRequest: Creates bullets for all of the
731// paragraphs that overlap with the given
732// text index range.
733//
734// The nesting level of each paragraph will be determined by counting
735// leading
736// tabs in front of each paragraph. To avoid excess space between the
737// bullet and
738// the corresponding paragraph, these leading tabs are removed by this
739// request.
740// This may change the indices of parts of the text.
741//
742// If the paragraph immediately before paragraphs being updated is in a
743// list
744// with a matching preset, the paragraphs being updated are added to
745// that
746// preceding list.
747type CreateParagraphBulletsRequest struct {
748	// BulletPreset: The kinds of bullet glyphs to be used. Defaults to
749	// the
750	// `BULLET_DISC_CIRCLE_SQUARE` preset.
751	//
752	// Possible values:
753	//   "BULLET_DISC_CIRCLE_SQUARE" - A bulleted list with a `DISC`,
754	// `CIRCLE` and `SQUARE` bullet glyph for the
755	// first 3 list nesting levels.
756	//   "BULLET_DIAMONDX_ARROW3D_SQUARE" - A bulleted list with a
757	// `DIAMONDX`, `ARROW3D` and `SQUARE` bullet glyph for
758	// the first 3 list nesting levels.
759	//   "BULLET_CHECKBOX" - A bulleted list with `CHECKBOX` bullet glyphs
760	// for all list nesting levels.
761	//   "BULLET_ARROW_DIAMOND_DISC" - A bulleted list with a `ARROW`,
762	// `DIAMOND` and `DISC` bullet glyph for
763	// the first 3 list nesting levels.
764	//   "BULLET_STAR_CIRCLE_SQUARE" - A bulleted list with a `STAR`,
765	// `CIRCLE` and `SQUARE` bullet glyph for
766	// the first 3 list nesting levels.
767	//   "BULLET_ARROW3D_CIRCLE_SQUARE" - A bulleted list with a `ARROW3D`,
768	// `CIRCLE` and `SQUARE` bullet glyph for
769	// the first 3 list nesting levels.
770	//   "BULLET_LEFTTRIANGLE_DIAMOND_DISC" - A bulleted list with a
771	// `LEFTTRIANGLE`, `DIAMOND` and `DISC` bullet glyph
772	// for the first 3 list nesting levels.
773	//   "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE" - A bulleted list with a
774	// `DIAMONDX`, `HOLLOWDIAMOND` and `SQUARE` bullet
775	// glyph for the first 3 list nesting levels.
776	//   "BULLET_DIAMOND_CIRCLE_SQUARE" - A bulleted list with a `DIAMOND`,
777	// `CIRCLE` and `SQUARE` bullet glyph
778	// for the first 3 list nesting levels.
779	//   "NUMBERED_DIGIT_ALPHA_ROMAN" - A numbered list with `DIGIT`,
780	// `ALPHA` and `ROMAN` numeric glyphs for
781	// the first 3 list nesting levels, followed by periods.
782	//   "NUMBERED_DIGIT_ALPHA_ROMAN_PARENS" - A numbered list with `DIGIT`,
783	// `ALPHA` and `ROMAN` numeric glyphs for
784	// the first 3 list nesting levels, followed by parenthesis.
785	//   "NUMBERED_DIGIT_NESTED" - A numbered list with `DIGIT` numeric
786	// glyphs separated by periods, where
787	// each nesting level uses the previous nesting level's glyph as a
788	// prefix.
789	// For example: '1.', '1.1.', '2.', '2.2.'.
790	//   "NUMBERED_UPPERALPHA_ALPHA_ROMAN" - A numbered list with
791	// `UPPERALPHA`, `ALPHA` and `ROMAN` numeric glyphs for
792	// the first 3 list nesting levels, followed by periods.
793	//   "NUMBERED_UPPERROMAN_UPPERALPHA_DIGIT" - A numbered list with
794	// `UPPERROMAN`, `UPPERALPHA` and `DIGIT` numeric glyphs
795	// for the first 3 list nesting levels, followed by periods.
796	//   "NUMBERED_ZERODIGIT_ALPHA_ROMAN" - A numbered list with
797	// `ZERODIGIT`, `ALPHA` and `ROMAN` numeric glyphs for
798	// the first 3 list nesting levels, followed by periods.
799	BulletPreset string `json:"bulletPreset,omitempty"`
800
801	// CellLocation: The optional table cell location if the text to be
802	// modified is in a table
803	// cell. If present, the object_id must refer to a table.
804	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
805
806	// ObjectId: The object ID of the shape or table containing the text to
807	// add bullets to.
808	ObjectId string `json:"objectId,omitempty"`
809
810	// TextRange: The range of text to apply the bullet presets to, based on
811	// TextElement indexes.
812	TextRange *Range `json:"textRange,omitempty"`
813
814	// ForceSendFields is a list of field names (e.g. "BulletPreset") to
815	// unconditionally include in API requests. By default, fields with
816	// empty values are omitted from API requests. However, any non-pointer,
817	// non-interface field appearing in ForceSendFields will be sent to the
818	// server regardless of whether the field is empty or not. This may be
819	// used to include empty fields in Patch requests.
820	ForceSendFields []string `json:"-"`
821
822	// NullFields is a list of field names (e.g. "BulletPreset") to include
823	// in API requests with the JSON null value. By default, fields with
824	// empty values are omitted from API requests. However, any field with
825	// an empty value appearing in NullFields will be sent to the server as
826	// null. It is an error if a field in this list has a non-empty value.
827	// This may be used to include null fields in Patch requests.
828	NullFields []string `json:"-"`
829}
830
831func (s *CreateParagraphBulletsRequest) MarshalJSON() ([]byte, error) {
832	type NoMethod CreateParagraphBulletsRequest
833	raw := NoMethod(*s)
834	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
835}
836
837// CreateShapeRequest: Creates a new shape.
838type CreateShapeRequest struct {
839	// ElementProperties: The element properties for the shape.
840	ElementProperties *PageElementProperties `json:"elementProperties,omitempty"`
841
842	// ObjectId: A user-supplied object ID.
843	//
844	// If you specify an ID, it must be unique among all pages and page
845	// elements
846	// in the presentation. The ID must start with an alphanumeric character
847	// or an
848	// underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
849	// may include those as well as a hyphen or colon (matches
850	// regex
851	// `[a-zA-Z0-9_-:]`).
852	// The length of the ID must not be less than 5 or greater than 50.
853	// If empty, a unique identifier will be generated.
854	ObjectId string `json:"objectId,omitempty"`
855
856	// ShapeType: The shape type.
857	//
858	// Possible values:
859	//   "TYPE_UNSPECIFIED" - The shape type that is not predefined.
860	//   "TEXT_BOX" - Text box shape.
861	//   "RECTANGLE" - Rectangle shape. Corresponds to ECMA-376 ST_ShapeType
862	// 'rect'.
863	//   "ROUND_RECTANGLE" - Round corner rectangle shape. Corresponds to
864	// ECMA-376 ST_ShapeType
865	// 'roundRect'
866	//   "ELLIPSE" - Ellipse shape. Corresponds to ECMA-376 ST_ShapeType
867	// 'ellipse'
868	//   "ARC" - Curved arc shape. Corresponds to ECMA-376 ST_ShapeType
869	// 'arc'
870	//   "BENT_ARROW" - Bent arrow shape. Corresponds to ECMA-376
871	// ST_ShapeType 'bentArrow'
872	//   "BENT_UP_ARROW" - Bent up arrow shape. Corresponds to ECMA-376
873	// ST_ShapeType 'bentUpArrow'
874	//   "BEVEL" - Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'
875	//   "BLOCK_ARC" - Block arc shape. Corresponds to ECMA-376 ST_ShapeType
876	// 'blockArc'
877	//   "BRACE_PAIR" - Brace pair shape. Corresponds to ECMA-376
878	// ST_ShapeType 'bracePair'
879	//   "BRACKET_PAIR" - Bracket pair shape. Corresponds to ECMA-376
880	// ST_ShapeType 'bracketPair'
881	//   "CAN" - Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'
882	//   "CHEVRON" - Chevron shape. Corresponds to ECMA-376 ST_ShapeType
883	// 'chevron'
884	//   "CHORD" - Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'
885	//   "CLOUD" - Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'
886	//   "CORNER" - Corner shape. Corresponds to ECMA-376 ST_ShapeType
887	// 'corner'
888	//   "CUBE" - Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'
889	//   "CURVED_DOWN_ARROW" - Curved down arrow shape. Corresponds to
890	// ECMA-376 ST_ShapeType
891	// 'curvedDownArrow'
892	//   "CURVED_LEFT_ARROW" - Curved left arrow shape. Corresponds to
893	// ECMA-376 ST_ShapeType
894	// 'curvedLeftArrow'
895	//   "CURVED_RIGHT_ARROW" - Curved right arrow shape. Corresponds to
896	// ECMA-376 ST_ShapeType
897	// 'curvedRightArrow'
898	//   "CURVED_UP_ARROW" - Curved up arrow shape. Corresponds to ECMA-376
899	// ST_ShapeType
900	// 'curvedUpArrow'
901	//   "DECAGON" - Decagon shape. Corresponds to ECMA-376 ST_ShapeType
902	// 'decagon'
903	//   "DIAGONAL_STRIPE" - Diagonal stripe shape. Corresponds to ECMA-376
904	// ST_ShapeType 'diagStripe'
905	//   "DIAMOND" - Diamond shape. Corresponds to ECMA-376 ST_ShapeType
906	// 'diamond'
907	//   "DODECAGON" - Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType
908	// 'dodecagon'
909	//   "DONUT" - Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'
910	//   "DOUBLE_WAVE" - Double wave shape. Corresponds to ECMA-376
911	// ST_ShapeType 'doubleWave'
912	//   "DOWN_ARROW" - Down arrow shape. Corresponds to ECMA-376
913	// ST_ShapeType 'downArrow'
914	//   "DOWN_ARROW_CALLOUT" - Callout down arrow shape. Corresponds to
915	// ECMA-376 ST_ShapeType
916	// 'downArrowCallout'
917	//   "FOLDED_CORNER" - Folded corner shape. Corresponds to ECMA-376
918	// ST_ShapeType 'foldedCorner'
919	//   "FRAME" - Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'
920	//   "HALF_FRAME" - Half frame shape. Corresponds to ECMA-376
921	// ST_ShapeType 'halfFrame'
922	//   "HEART" - Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'
923	//   "HEPTAGON" - Heptagon shape. Corresponds to ECMA-376 ST_ShapeType
924	// 'heptagon'
925	//   "HEXAGON" - Hexagon shape. Corresponds to ECMA-376 ST_ShapeType
926	// 'hexagon'
927	//   "HOME_PLATE" - Home plate shape. Corresponds to ECMA-376
928	// ST_ShapeType 'homePlate'
929	//   "HORIZONTAL_SCROLL" - Horizontal scroll shape. Corresponds to
930	// ECMA-376 ST_ShapeType
931	// 'horizontalScroll'
932	//   "IRREGULAR_SEAL_1" - Irregular seal 1 shape. Corresponds to
933	// ECMA-376 ST_ShapeType
934	// 'irregularSeal1'
935	//   "IRREGULAR_SEAL_2" - Irregular seal 2 shape. Corresponds to
936	// ECMA-376 ST_ShapeType
937	// 'irregularSeal2'
938	//   "LEFT_ARROW" - Left arrow shape. Corresponds to ECMA-376
939	// ST_ShapeType 'leftArrow'
940	//   "LEFT_ARROW_CALLOUT" - Callout left arrow shape. Corresponds to
941	// ECMA-376 ST_ShapeType
942	// 'leftArrowCallout'
943	//   "LEFT_BRACE" - Left brace shape. Corresponds to ECMA-376
944	// ST_ShapeType 'leftBrace'
945	//   "LEFT_BRACKET" - Left bracket shape. Corresponds to ECMA-376
946	// ST_ShapeType 'leftBracket'
947	//   "LEFT_RIGHT_ARROW" - Left right arrow shape. Corresponds to
948	// ECMA-376 ST_ShapeType
949	// 'leftRightArrow'
950	//   "LEFT_RIGHT_ARROW_CALLOUT" - Callout left right arrow shape.
951	// Corresponds to ECMA-376 ST_ShapeType
952	// 'leftRightArrowCallout'
953	//   "LEFT_RIGHT_UP_ARROW" - Left right up arrow shape. Corresponds to
954	// ECMA-376 ST_ShapeType
955	// 'leftRightUpArrow'
956	//   "LEFT_UP_ARROW" - Left up arrow shape. Corresponds to ECMA-376
957	// ST_ShapeType 'leftUpArrow'
958	//   "LIGHTNING_BOLT" - Lightning bolt shape. Corresponds to ECMA-376
959	// ST_ShapeType
960	// 'lightningBolt'
961	//   "MATH_DIVIDE" - Divide math shape. Corresponds to ECMA-376
962	// ST_ShapeType 'mathDivide'
963	//   "MATH_EQUAL" - Equal math shape. Corresponds to ECMA-376
964	// ST_ShapeType 'mathEqual'
965	//   "MATH_MINUS" - Minus math shape. Corresponds to ECMA-376
966	// ST_ShapeType 'mathMinus'
967	//   "MATH_MULTIPLY" - Multiply math shape. Corresponds to ECMA-376
968	// ST_ShapeType 'mathMultiply'
969	//   "MATH_NOT_EQUAL" - Not equal math shape. Corresponds to ECMA-376
970	// ST_ShapeType 'mathNotEqual'
971	//   "MATH_PLUS" - Plus math shape. Corresponds to ECMA-376 ST_ShapeType
972	// 'mathPlus'
973	//   "MOON" - Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'
974	//   "NO_SMOKING" - No smoking shape. Corresponds to ECMA-376
975	// ST_ShapeType 'noSmoking'
976	//   "NOTCHED_RIGHT_ARROW" - Notched right arrow shape. Corresponds to
977	// ECMA-376 ST_ShapeType
978	// 'notchedRightArrow'
979	//   "OCTAGON" - Octagon shape. Corresponds to ECMA-376 ST_ShapeType
980	// 'octagon'
981	//   "PARALLELOGRAM" - Parallelogram shape. Corresponds to ECMA-376
982	// ST_ShapeType 'parallelogram'
983	//   "PENTAGON" - Pentagon shape. Corresponds to ECMA-376 ST_ShapeType
984	// 'pentagon'
985	//   "PIE" - Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'
986	//   "PLAQUE" - Plaque shape. Corresponds to ECMA-376 ST_ShapeType
987	// 'plaque'
988	//   "PLUS" - Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'
989	//   "QUAD_ARROW" - Quad-arrow shape. Corresponds to ECMA-376
990	// ST_ShapeType 'quadArrow'
991	//   "QUAD_ARROW_CALLOUT" - Callout quad-arrow shape. Corresponds to
992	// ECMA-376 ST_ShapeType
993	// 'quadArrowCallout'
994	//   "RIBBON" - Ribbon shape. Corresponds to ECMA-376 ST_ShapeType
995	// 'ribbon'
996	//   "RIBBON_2" - Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType
997	// 'ribbon2'
998	//   "RIGHT_ARROW" - Right arrow shape. Corresponds to ECMA-376
999	// ST_ShapeType 'rightArrow'
1000	//   "RIGHT_ARROW_CALLOUT" - Callout right arrow shape. Corresponds to
1001	// ECMA-376 ST_ShapeType
1002	// 'rightArrowCallout'
1003	//   "RIGHT_BRACE" - Right brace shape. Corresponds to ECMA-376
1004	// ST_ShapeType 'rightBrace'
1005	//   "RIGHT_BRACKET" - Right bracket shape. Corresponds to ECMA-376
1006	// ST_ShapeType 'rightBracket'
1007	//   "ROUND_1_RECTANGLE" - One round corner rectangle shape. Corresponds
1008	// to ECMA-376 ST_ShapeType
1009	// 'round1Rect'
1010	//   "ROUND_2_DIAGONAL_RECTANGLE" - Two diagonal round corner rectangle
1011	// shape. Corresponds to ECMA-376
1012	// ST_ShapeType 'round2DiagRect'
1013	//   "ROUND_2_SAME_RECTANGLE" - Two same-side round corner rectangle
1014	// shape. Corresponds to ECMA-376
1015	// ST_ShapeType 'round2SameRect'
1016	//   "RIGHT_TRIANGLE" - Right triangle shape. Corresponds to ECMA-376
1017	// ST_ShapeType 'rtTriangle'
1018	//   "SMILEY_FACE" - Smiley face shape. Corresponds to ECMA-376
1019	// ST_ShapeType 'smileyFace'
1020	//   "SNIP_1_RECTANGLE" - One snip corner rectangle shape. Corresponds
1021	// to ECMA-376 ST_ShapeType
1022	// 'snip1Rect'
1023	//   "SNIP_2_DIAGONAL_RECTANGLE" - Two diagonal snip corner rectangle
1024	// shape. Corresponds to ECMA-376
1025	// ST_ShapeType 'snip2DiagRect'
1026	//   "SNIP_2_SAME_RECTANGLE" - Two same-side snip corner rectangle
1027	// shape. Corresponds to ECMA-376
1028	// ST_ShapeType 'snip2SameRect'
1029	//   "SNIP_ROUND_RECTANGLE" - One snip one round corner rectangle shape.
1030	// Corresponds to ECMA-376
1031	// ST_ShapeType 'snipRoundRect'
1032	//   "STAR_10" - Ten pointed star shape. Corresponds to ECMA-376
1033	// ST_ShapeType 'star10'
1034	//   "STAR_12" - Twelve pointed star shape. Corresponds to ECMA-376
1035	// ST_ShapeType 'star12'
1036	//   "STAR_16" - Sixteen pointed star shape. Corresponds to ECMA-376
1037	// ST_ShapeType 'star16'
1038	//   "STAR_24" - Twenty four pointed star shape. Corresponds to ECMA-376
1039	// ST_ShapeType
1040	// 'star24'
1041	//   "STAR_32" - Thirty two pointed star shape. Corresponds to ECMA-376
1042	// ST_ShapeType
1043	// 'star32'
1044	//   "STAR_4" - Four pointed star shape. Corresponds to ECMA-376
1045	// ST_ShapeType 'star4'
1046	//   "STAR_5" - Five pointed star shape. Corresponds to ECMA-376
1047	// ST_ShapeType 'star5'
1048	//   "STAR_6" - Six pointed star shape. Corresponds to ECMA-376
1049	// ST_ShapeType 'star6'
1050	//   "STAR_7" - Seven pointed star shape. Corresponds to ECMA-376
1051	// ST_ShapeType 'star7'
1052	//   "STAR_8" - Eight pointed star shape. Corresponds to ECMA-376
1053	// ST_ShapeType 'star8'
1054	//   "STRIPED_RIGHT_ARROW" - Striped right arrow shape. Corresponds to
1055	// ECMA-376 ST_ShapeType
1056	// 'stripedRightArrow'
1057	//   "SUN" - Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'
1058	//   "TRAPEZOID" - Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType
1059	// 'trapezoid'
1060	//   "TRIANGLE" - Triangle shape. Corresponds to ECMA-376 ST_ShapeType
1061	// 'triangle'
1062	//   "UP_ARROW" - Up arrow shape. Corresponds to ECMA-376 ST_ShapeType
1063	// 'upArrow'
1064	//   "UP_ARROW_CALLOUT" - Callout up arrow shape. Corresponds to
1065	// ECMA-376 ST_ShapeType
1066	// 'upArrowCallout'
1067	//   "UP_DOWN_ARROW" - Up down arrow shape. Corresponds to ECMA-376
1068	// ST_ShapeType 'upDownArrow'
1069	//   "UTURN_ARROW" - U-turn arrow shape. Corresponds to ECMA-376
1070	// ST_ShapeType 'uturnArrow'
1071	//   "VERTICAL_SCROLL" - Vertical scroll shape. Corresponds to ECMA-376
1072	// ST_ShapeType
1073	// 'verticalScroll'
1074	//   "WAVE" - Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'
1075	//   "WEDGE_ELLIPSE_CALLOUT" - Callout wedge ellipse shape. Corresponds
1076	// to ECMA-376 ST_ShapeType
1077	// 'wedgeEllipseCallout'
1078	//   "WEDGE_RECTANGLE_CALLOUT" - Callout wedge rectangle shape.
1079	// Corresponds to ECMA-376 ST_ShapeType
1080	// 'wedgeRectCallout'
1081	//   "WEDGE_ROUND_RECTANGLE_CALLOUT" - Callout wedge round rectangle
1082	// shape. Corresponds to ECMA-376 ST_ShapeType
1083	// 'wedgeRoundRectCallout'
1084	//   "FLOW_CHART_ALTERNATE_PROCESS" - Alternate process flow shape.
1085	// Corresponds to ECMA-376 ST_ShapeType
1086	// 'flowChartAlternateProcess'
1087	//   "FLOW_CHART_COLLATE" - Collate flow shape. Corresponds to ECMA-376
1088	// ST_ShapeType
1089	// 'flowChartCollate'
1090	//   "FLOW_CHART_CONNECTOR" - Connector flow shape. Corresponds to
1091	// ECMA-376 ST_ShapeType
1092	// 'flowChartConnector'
1093	//   "FLOW_CHART_DECISION" - Decision flow shape. Corresponds to
1094	// ECMA-376 ST_ShapeType
1095	// 'flowChartDecision'
1096	//   "FLOW_CHART_DELAY" - Delay flow shape. Corresponds to ECMA-376
1097	// ST_ShapeType 'flowChartDelay'
1098	//   "FLOW_CHART_DISPLAY" - Display flow shape. Corresponds to ECMA-376
1099	// ST_ShapeType
1100	// 'flowChartDisplay'
1101	//   "FLOW_CHART_DOCUMENT" - Document flow shape. Corresponds to
1102	// ECMA-376 ST_ShapeType
1103	// 'flowChartDocument'
1104	//   "FLOW_CHART_EXTRACT" - Extract flow shape. Corresponds to ECMA-376
1105	// ST_ShapeType
1106	// 'flowChartExtract'
1107	//   "FLOW_CHART_INPUT_OUTPUT" - Input output flow shape. Corresponds to
1108	// ECMA-376 ST_ShapeType
1109	// 'flowChartInputOutput'
1110	//   "FLOW_CHART_INTERNAL_STORAGE" - Internal storage flow shape.
1111	// Corresponds to ECMA-376 ST_ShapeType
1112	// 'flowChartInternalStorage'
1113	//   "FLOW_CHART_MAGNETIC_DISK" - Magnetic disk flow shape. Corresponds
1114	// to ECMA-376 ST_ShapeType
1115	// 'flowChartMagneticDisk'
1116	//   "FLOW_CHART_MAGNETIC_DRUM" - Magnetic drum flow shape. Corresponds
1117	// to ECMA-376 ST_ShapeType
1118	// 'flowChartMagneticDrum'
1119	//   "FLOW_CHART_MAGNETIC_TAPE" - Magnetic tape flow shape. Corresponds
1120	// to ECMA-376 ST_ShapeType
1121	// 'flowChartMagneticTape'
1122	//   "FLOW_CHART_MANUAL_INPUT" - Manual input flow shape. Corresponds to
1123	// ECMA-376 ST_ShapeType
1124	// 'flowChartManualInput'
1125	//   "FLOW_CHART_MANUAL_OPERATION" - Manual operation flow shape.
1126	// Corresponds to ECMA-376 ST_ShapeType
1127	// 'flowChartManualOperation'
1128	//   "FLOW_CHART_MERGE" - Merge flow shape. Corresponds to ECMA-376
1129	// ST_ShapeType 'flowChartMerge'
1130	//   "FLOW_CHART_MULTIDOCUMENT" - Multi-document flow shape. Corresponds
1131	// to ECMA-376 ST_ShapeType
1132	// 'flowChartMultidocument'
1133	//   "FLOW_CHART_OFFLINE_STORAGE" - Offline storage flow shape.
1134	// Corresponds to ECMA-376 ST_ShapeType
1135	// 'flowChartOfflineStorage'
1136	//   "FLOW_CHART_OFFPAGE_CONNECTOR" - Off-page connector flow shape.
1137	// Corresponds to ECMA-376 ST_ShapeType
1138	// 'flowChartOffpageConnector'
1139	//   "FLOW_CHART_ONLINE_STORAGE" - Online storage flow shape.
1140	// Corresponds to ECMA-376 ST_ShapeType
1141	// 'flowChartOnlineStorage'
1142	//   "FLOW_CHART_OR" - Or flow shape. Corresponds to ECMA-376
1143	// ST_ShapeType 'flowChartOr'
1144	//   "FLOW_CHART_PREDEFINED_PROCESS" - Predefined process flow shape.
1145	// Corresponds to ECMA-376 ST_ShapeType
1146	// 'flowChartPredefinedProcess'
1147	//   "FLOW_CHART_PREPARATION" - Preparation flow shape. Corresponds to
1148	// ECMA-376 ST_ShapeType
1149	// 'flowChartPreparation'
1150	//   "FLOW_CHART_PROCESS" - Process flow shape. Corresponds to ECMA-376
1151	// ST_ShapeType
1152	// 'flowChartProcess'
1153	//   "FLOW_CHART_PUNCHED_CARD" - Punched card flow shape. Corresponds to
1154	// ECMA-376 ST_ShapeType
1155	// 'flowChartPunchedCard'
1156	//   "FLOW_CHART_PUNCHED_TAPE" - Punched tape flow shape. Corresponds to
1157	// ECMA-376 ST_ShapeType
1158	// 'flowChartPunchedTape'
1159	//   "FLOW_CHART_SORT" - Sort flow shape. Corresponds to ECMA-376
1160	// ST_ShapeType 'flowChartSort'
1161	//   "FLOW_CHART_SUMMING_JUNCTION" - Summing junction flow shape.
1162	// Corresponds to ECMA-376 ST_ShapeType
1163	// 'flowChartSummingJunction'
1164	//   "FLOW_CHART_TERMINATOR" - Terminator flow shape. Corresponds to
1165	// ECMA-376 ST_ShapeType
1166	// 'flowChartTerminator'
1167	//   "ARROW_EAST" - East arrow shape.
1168	//   "ARROW_NORTH_EAST" - Northeast arrow shape.
1169	//   "ARROW_NORTH" - North arrow shape.
1170	//   "SPEECH" - Speech shape.
1171	//   "STARBURST" - Star burst shape.
1172	//   "TEARDROP" - Teardrop shape. Corresponds to ECMA-376 ST_ShapeType
1173	// 'teardrop'
1174	//   "ELLIPSE_RIBBON" - Ellipse ribbon shape. Corresponds to ECMA-376
1175	// ST_ShapeType
1176	// 'ellipseRibbon'
1177	//   "ELLIPSE_RIBBON_2" - Ellipse ribbon 2 shape. Corresponds to
1178	// ECMA-376 ST_ShapeType
1179	// 'ellipseRibbon2'
1180	//   "CLOUD_CALLOUT" - Callout cloud shape. Corresponds to ECMA-376
1181	// ST_ShapeType 'cloudCallout'
1182	//   "CUSTOM" - Custom shape.
1183	ShapeType string `json:"shapeType,omitempty"`
1184
1185	// ForceSendFields is a list of field names (e.g. "ElementProperties")
1186	// to unconditionally include in API requests. By default, fields with
1187	// empty values are omitted from API requests. However, any non-pointer,
1188	// non-interface field appearing in ForceSendFields will be sent to the
1189	// server regardless of whether the field is empty or not. This may be
1190	// used to include empty fields in Patch requests.
1191	ForceSendFields []string `json:"-"`
1192
1193	// NullFields is a list of field names (e.g. "ElementProperties") to
1194	// include in API requests with the JSON null value. By default, fields
1195	// with empty values are omitted from API requests. However, any field
1196	// with an empty value appearing in NullFields will be sent to the
1197	// server as null. It is an error if a field in this list has a
1198	// non-empty value. This may be used to include null fields in Patch
1199	// requests.
1200	NullFields []string `json:"-"`
1201}
1202
1203func (s *CreateShapeRequest) MarshalJSON() ([]byte, error) {
1204	type NoMethod CreateShapeRequest
1205	raw := NoMethod(*s)
1206	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1207}
1208
1209// CreateShapeResponse: The result of creating a shape.
1210type CreateShapeResponse struct {
1211	// ObjectId: The object ID of the created shape.
1212	ObjectId string `json:"objectId,omitempty"`
1213
1214	// ForceSendFields is a list of field names (e.g. "ObjectId") to
1215	// unconditionally include in API requests. By default, fields with
1216	// empty values are omitted from API requests. However, any non-pointer,
1217	// non-interface field appearing in ForceSendFields will be sent to the
1218	// server regardless of whether the field is empty or not. This may be
1219	// used to include empty fields in Patch requests.
1220	ForceSendFields []string `json:"-"`
1221
1222	// NullFields is a list of field names (e.g. "ObjectId") to include in
1223	// API requests with the JSON null value. By default, fields with empty
1224	// values are omitted from API requests. However, any field with an
1225	// empty value appearing in NullFields will be sent to the server as
1226	// null. It is an error if a field in this list has a non-empty value.
1227	// This may be used to include null fields in Patch requests.
1228	NullFields []string `json:"-"`
1229}
1230
1231func (s *CreateShapeResponse) MarshalJSON() ([]byte, error) {
1232	type NoMethod CreateShapeResponse
1233	raw := NoMethod(*s)
1234	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1235}
1236
1237// CreateSheetsChartRequest: Creates an embedded Google Sheets
1238// chart.
1239//
1240// NOTE: Chart creation requires at least one of the
1241// spreadsheets.readonly,
1242// spreadsheets, drive.readonly, drive.file, or drive OAuth scopes.
1243type CreateSheetsChartRequest struct {
1244	// ChartId: The ID of the specific chart in the Google Sheets
1245	// spreadsheet.
1246	ChartId int64 `json:"chartId,omitempty"`
1247
1248	// ElementProperties: The element properties for the chart.
1249	//
1250	// When the aspect ratio of the provided size does not match the chart
1251	// aspect
1252	// ratio, the chart is scaled and centered with respect to the size in
1253	// order
1254	// to maintain aspect ratio. The provided transform is applied after
1255	// this
1256	// operation.
1257	ElementProperties *PageElementProperties `json:"elementProperties,omitempty"`
1258
1259	// LinkingMode: The mode with which the chart is linked to the source
1260	// spreadsheet. When
1261	// not specified, the chart will be an image that is not linked.
1262	//
1263	// Possible values:
1264	//   "NOT_LINKED_IMAGE" - The chart is not associated with the source
1265	// spreadsheet and cannot be
1266	// updated. A chart that is not linked will be inserted as an image.
1267	//   "LINKED" - Linking the chart allows it to be updated, and other
1268	// collaborators will
1269	// see a link to the spreadsheet.
1270	LinkingMode string `json:"linkingMode,omitempty"`
1271
1272	// ObjectId: A user-supplied object ID.
1273	//
1274	// If specified, the ID must be unique among all pages and page elements
1275	// in
1276	// the presentation. The ID should start with a word character
1277	// [a-zA-Z0-9_]
1278	// and then followed by any number of the following characters
1279	// [a-zA-Z0-9_-:].
1280	// The length of the ID should not be less than 5 or greater than 50.
1281	// If empty, a unique identifier will be generated.
1282	ObjectId string `json:"objectId,omitempty"`
1283
1284	// SpreadsheetId: The ID of the Google Sheets spreadsheet that contains
1285	// the chart.
1286	SpreadsheetId string `json:"spreadsheetId,omitempty"`
1287
1288	// ForceSendFields is a list of field names (e.g. "ChartId") to
1289	// unconditionally include in API requests. By default, fields with
1290	// empty values are omitted from API requests. However, any non-pointer,
1291	// non-interface field appearing in ForceSendFields will be sent to the
1292	// server regardless of whether the field is empty or not. This may be
1293	// used to include empty fields in Patch requests.
1294	ForceSendFields []string `json:"-"`
1295
1296	// NullFields is a list of field names (e.g. "ChartId") to include in
1297	// API requests with the JSON null value. By default, fields with empty
1298	// values are omitted from API requests. However, any field with an
1299	// empty value appearing in NullFields will be sent to the server as
1300	// null. It is an error if a field in this list has a non-empty value.
1301	// This may be used to include null fields in Patch requests.
1302	NullFields []string `json:"-"`
1303}
1304
1305func (s *CreateSheetsChartRequest) MarshalJSON() ([]byte, error) {
1306	type NoMethod CreateSheetsChartRequest
1307	raw := NoMethod(*s)
1308	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1309}
1310
1311// CreateSheetsChartResponse: The result of creating an embedded Google
1312// Sheets chart.
1313type CreateSheetsChartResponse struct {
1314	// ObjectId: The object ID of the created chart.
1315	ObjectId string `json:"objectId,omitempty"`
1316
1317	// ForceSendFields is a list of field names (e.g. "ObjectId") to
1318	// unconditionally include in API requests. By default, fields with
1319	// empty values are omitted from API requests. However, any non-pointer,
1320	// non-interface field appearing in ForceSendFields will be sent to the
1321	// server regardless of whether the field is empty or not. This may be
1322	// used to include empty fields in Patch requests.
1323	ForceSendFields []string `json:"-"`
1324
1325	// NullFields is a list of field names (e.g. "ObjectId") to include in
1326	// API requests with the JSON null value. By default, fields with empty
1327	// values are omitted from API requests. However, any field with an
1328	// empty value appearing in NullFields will be sent to the server as
1329	// null. It is an error if a field in this list has a non-empty value.
1330	// This may be used to include null fields in Patch requests.
1331	NullFields []string `json:"-"`
1332}
1333
1334func (s *CreateSheetsChartResponse) MarshalJSON() ([]byte, error) {
1335	type NoMethod CreateSheetsChartResponse
1336	raw := NoMethod(*s)
1337	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1338}
1339
1340// CreateSlideRequest: Creates a new slide.
1341type CreateSlideRequest struct {
1342	// InsertionIndex: The optional zero-based index indicating where to
1343	// insert the slides.
1344	//
1345	// If you don't specify an index, the new slide is created at the end.
1346	InsertionIndex int64 `json:"insertionIndex,omitempty"`
1347
1348	// ObjectId: A user-supplied object ID.
1349	//
1350	// If you specify an ID, it must be unique among all pages and page
1351	// elements
1352	// in the presentation. The ID must start with an alphanumeric character
1353	// or an
1354	// underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
1355	// may include those as well as a hyphen or colon (matches
1356	// regex
1357	// `[a-zA-Z0-9_-:]`).
1358	// The length of the ID must not be less than 5 or greater than 50.
1359	//
1360	// If you don't specify an ID, a unique one is generated.
1361	ObjectId string `json:"objectId,omitempty"`
1362
1363	// PlaceholderIdMappings: An optional list of object ID mappings from
1364	// the placeholder(s) on the layout to the placeholder(s)
1365	// that will be created on the new slide from that specified layout. Can
1366	// only
1367	// be used when `slide_layout_reference` is specified.
1368	PlaceholderIdMappings []*LayoutPlaceholderIdMapping `json:"placeholderIdMappings,omitempty"`
1369
1370	// SlideLayoutReference: Layout reference of the slide to be inserted,
1371	// based on the *current
1372	// master*, which is one of the following:
1373	//
1374	// - The master of the previous slide index.
1375	// - The master of the first slide, if the insertion_index is zero.
1376	// - The first master in the presentation, if there are no slides.
1377	//
1378	// If the LayoutReference is not found in the current master, a 400
1379	// bad
1380	// request error is returned.
1381	//
1382	// If you don't specify a layout reference, then the new slide will use
1383	// the
1384	// predefined layout `BLANK`.
1385	SlideLayoutReference *LayoutReference `json:"slideLayoutReference,omitempty"`
1386
1387	// ForceSendFields is a list of field names (e.g. "InsertionIndex") to
1388	// unconditionally include in API requests. By default, fields with
1389	// empty values are omitted from API requests. However, any non-pointer,
1390	// non-interface field appearing in ForceSendFields will be sent to the
1391	// server regardless of whether the field is empty or not. This may be
1392	// used to include empty fields in Patch requests.
1393	ForceSendFields []string `json:"-"`
1394
1395	// NullFields is a list of field names (e.g. "InsertionIndex") to
1396	// include in API requests with the JSON null value. By default, fields
1397	// with empty values are omitted from API requests. However, any field
1398	// with an empty value appearing in NullFields will be sent to the
1399	// server as null. It is an error if a field in this list has a
1400	// non-empty value. This may be used to include null fields in Patch
1401	// requests.
1402	NullFields []string `json:"-"`
1403}
1404
1405func (s *CreateSlideRequest) MarshalJSON() ([]byte, error) {
1406	type NoMethod CreateSlideRequest
1407	raw := NoMethod(*s)
1408	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1409}
1410
1411// CreateSlideResponse: The result of creating a slide.
1412type CreateSlideResponse struct {
1413	// ObjectId: The object ID of the created slide.
1414	ObjectId string `json:"objectId,omitempty"`
1415
1416	// ForceSendFields is a list of field names (e.g. "ObjectId") to
1417	// unconditionally include in API requests. By default, fields with
1418	// empty values are omitted from API requests. However, any non-pointer,
1419	// non-interface field appearing in ForceSendFields will be sent to the
1420	// server regardless of whether the field is empty or not. This may be
1421	// used to include empty fields in Patch requests.
1422	ForceSendFields []string `json:"-"`
1423
1424	// NullFields is a list of field names (e.g. "ObjectId") to include in
1425	// API requests with the JSON null value. By default, fields with empty
1426	// values are omitted from API requests. However, any field with an
1427	// empty value appearing in NullFields will be sent to the server as
1428	// null. It is an error if a field in this list has a non-empty value.
1429	// This may be used to include null fields in Patch requests.
1430	NullFields []string `json:"-"`
1431}
1432
1433func (s *CreateSlideResponse) MarshalJSON() ([]byte, error) {
1434	type NoMethod CreateSlideResponse
1435	raw := NoMethod(*s)
1436	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1437}
1438
1439// CreateTableRequest: Creates a new table.
1440type CreateTableRequest struct {
1441	// Columns: Number of columns in the table.
1442	Columns int64 `json:"columns,omitempty"`
1443
1444	// ElementProperties: The element properties for the table.
1445	//
1446	// The table will be created at the provided size, subject to a minimum
1447	// size.
1448	// If no size is provided, the table will be automatically sized.
1449	//
1450	// Table transforms must have a scale of 1 and no shear components. If
1451	// no
1452	// transform is provided, the table will be centered on the page.
1453	ElementProperties *PageElementProperties `json:"elementProperties,omitempty"`
1454
1455	// ObjectId: A user-supplied object ID.
1456	//
1457	// If you specify an ID, it must be unique among all pages and page
1458	// elements
1459	// in the presentation. The ID must start with an alphanumeric character
1460	// or an
1461	// underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
1462	// may include those as well as a hyphen or colon (matches
1463	// regex
1464	// `[a-zA-Z0-9_-:]`).
1465	// The length of the ID must not be less than 5 or greater than 50.
1466	//
1467	// If you don't specify an ID, a unique one is generated.
1468	ObjectId string `json:"objectId,omitempty"`
1469
1470	// Rows: Number of rows in the table.
1471	Rows int64 `json:"rows,omitempty"`
1472
1473	// ForceSendFields is a list of field names (e.g. "Columns") to
1474	// unconditionally include in API requests. By default, fields with
1475	// empty values are omitted from API requests. However, any non-pointer,
1476	// non-interface field appearing in ForceSendFields will be sent to the
1477	// server regardless of whether the field is empty or not. This may be
1478	// used to include empty fields in Patch requests.
1479	ForceSendFields []string `json:"-"`
1480
1481	// NullFields is a list of field names (e.g. "Columns") to include in
1482	// API requests with the JSON null value. By default, fields with empty
1483	// values are omitted from API requests. However, any field with an
1484	// empty value appearing in NullFields will be sent to the server as
1485	// null. It is an error if a field in this list has a non-empty value.
1486	// This may be used to include null fields in Patch requests.
1487	NullFields []string `json:"-"`
1488}
1489
1490func (s *CreateTableRequest) MarshalJSON() ([]byte, error) {
1491	type NoMethod CreateTableRequest
1492	raw := NoMethod(*s)
1493	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1494}
1495
1496// CreateTableResponse: The result of creating a table.
1497type CreateTableResponse struct {
1498	// ObjectId: The object ID of the created table.
1499	ObjectId string `json:"objectId,omitempty"`
1500
1501	// ForceSendFields is a list of field names (e.g. "ObjectId") to
1502	// unconditionally include in API requests. By default, fields with
1503	// empty values are omitted from API requests. However, any non-pointer,
1504	// non-interface field appearing in ForceSendFields will be sent to the
1505	// server regardless of whether the field is empty or not. This may be
1506	// used to include empty fields in Patch requests.
1507	ForceSendFields []string `json:"-"`
1508
1509	// NullFields is a list of field names (e.g. "ObjectId") to include in
1510	// API requests with the JSON null value. By default, fields with empty
1511	// values are omitted from API requests. However, any field with an
1512	// empty value appearing in NullFields will be sent to the server as
1513	// null. It is an error if a field in this list has a non-empty value.
1514	// This may be used to include null fields in Patch requests.
1515	NullFields []string `json:"-"`
1516}
1517
1518func (s *CreateTableResponse) MarshalJSON() ([]byte, error) {
1519	type NoMethod CreateTableResponse
1520	raw := NoMethod(*s)
1521	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1522}
1523
1524// CreateVideoRequest: Creates a video.
1525//
1526// NOTE: Creating a video from Google Drive requires that the requesting
1527// app
1528// have at least one of the drive, drive.readonly, or drive.file OAuth
1529// scopes.
1530type CreateVideoRequest struct {
1531	// ElementProperties: The element properties for the video.
1532	//
1533	// The PageElementProperties.size property is
1534	// optional. If you don't specify a size, a default size is chosen by
1535	// the
1536	// server.
1537	//
1538	// The PageElementProperties.transform property is
1539	// optional. The transform must not have shear components.
1540	// If you don't specify a transform, the video will be placed at the top
1541	// left
1542	// corner of the page.
1543	ElementProperties *PageElementProperties `json:"elementProperties,omitempty"`
1544
1545	// Id: The video source's unique identifier for this video.
1546	//
1547	// e.g. For YouTube video
1548	// https://www.youtube.com/watch?v=7U3axjORYZ0,
1549	// the ID is 7U3axjORYZ0. For a Google Drive
1550	// video
1551	// https://drive.google.com/file/d/1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5
1552	// Q the ID
1553	// is 1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5Q.
1554	Id string `json:"id,omitempty"`
1555
1556	// ObjectId: A user-supplied object ID.
1557	//
1558	// If you specify an ID, it must be unique among all pages and page
1559	// elements
1560	// in the presentation. The ID must start with an alphanumeric character
1561	// or an
1562	// underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
1563	// may include those as well as a hyphen or colon (matches
1564	// regex
1565	// `[a-zA-Z0-9_-:]`).
1566	// The length of the ID must not be less than 5 or greater than 50.
1567	//
1568	// If you don't specify an ID, a unique one is generated.
1569	ObjectId string `json:"objectId,omitempty"`
1570
1571	// Source: The video source.
1572	//
1573	// Possible values:
1574	//   "SOURCE_UNSPECIFIED" - The video source is unspecified.
1575	//   "YOUTUBE" - The video source is YouTube.
1576	//   "DRIVE" - The video source is Google Drive.
1577	Source string `json:"source,omitempty"`
1578
1579	// ForceSendFields is a list of field names (e.g. "ElementProperties")
1580	// to unconditionally include in API requests. By default, fields with
1581	// empty values are omitted from API requests. However, any non-pointer,
1582	// non-interface field appearing in ForceSendFields will be sent to the
1583	// server regardless of whether the field is empty or not. This may be
1584	// used to include empty fields in Patch requests.
1585	ForceSendFields []string `json:"-"`
1586
1587	// NullFields is a list of field names (e.g. "ElementProperties") to
1588	// include in API requests with the JSON null value. By default, fields
1589	// with empty values are omitted from API requests. However, any field
1590	// with an empty value appearing in NullFields will be sent to the
1591	// server as null. It is an error if a field in this list has a
1592	// non-empty value. This may be used to include null fields in Patch
1593	// requests.
1594	NullFields []string `json:"-"`
1595}
1596
1597func (s *CreateVideoRequest) MarshalJSON() ([]byte, error) {
1598	type NoMethod CreateVideoRequest
1599	raw := NoMethod(*s)
1600	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1601}
1602
1603// CreateVideoResponse: The result of creating a video.
1604type CreateVideoResponse struct {
1605	// ObjectId: The object ID of the created video.
1606	ObjectId string `json:"objectId,omitempty"`
1607
1608	// ForceSendFields is a list of field names (e.g. "ObjectId") to
1609	// unconditionally include in API requests. By default, fields with
1610	// empty values are omitted from API requests. However, any non-pointer,
1611	// non-interface field appearing in ForceSendFields will be sent to the
1612	// server regardless of whether the field is empty or not. This may be
1613	// used to include empty fields in Patch requests.
1614	ForceSendFields []string `json:"-"`
1615
1616	// NullFields is a list of field names (e.g. "ObjectId") to include in
1617	// API requests with the JSON null value. By default, fields with empty
1618	// values are omitted from API requests. However, any field with an
1619	// empty value appearing in NullFields will be sent to the server as
1620	// null. It is an error if a field in this list has a non-empty value.
1621	// This may be used to include null fields in Patch requests.
1622	NullFields []string `json:"-"`
1623}
1624
1625func (s *CreateVideoResponse) MarshalJSON() ([]byte, error) {
1626	type NoMethod CreateVideoResponse
1627	raw := NoMethod(*s)
1628	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1629}
1630
1631// CropProperties: The crop properties of an object enclosed in a
1632// container. For example, an
1633// Image.
1634//
1635// The crop properties is represented by the offsets of four edges which
1636// define
1637// a crop rectangle. The offsets are measured in percentage from
1638// the
1639// corresponding edges of the object's original bounding rectangle
1640// towards
1641// inside, relative to the object's original dimensions.
1642//
1643// - If the offset is in the interval (0, 1), the corresponding edge of
1644// crop
1645// rectangle is positioned inside of the object's original bounding
1646// rectangle.
1647// - If the offset is negative or greater than 1, the corresponding edge
1648// of crop
1649// rectangle is positioned outside of the object's original bounding
1650// rectangle.
1651// - If the left edge of the crop rectangle is on the right side of its
1652// right
1653// edge, the object will be flipped horizontally.
1654// - If the top edge of the crop rectangle is below its bottom edge, the
1655// object
1656// will be flipped vertically.
1657// - If all offsets and rotation angle is 0, the object is not
1658// cropped.
1659//
1660// After cropping, the content in the crop rectangle will be stretched
1661// to fit
1662// its container.
1663type CropProperties struct {
1664	// Angle: The rotation angle of the crop window around its center, in
1665	// radians.
1666	// Rotation angle is applied after the offset.
1667	Angle float64 `json:"angle,omitempty"`
1668
1669	// BottomOffset: The offset specifies the bottom edge of the crop
1670	// rectangle that is located
1671	// above the original bounding rectangle bottom edge, relative to the
1672	// object's
1673	// original height.
1674	BottomOffset float64 `json:"bottomOffset,omitempty"`
1675
1676	// LeftOffset: The offset specifies the left edge of the crop rectangle
1677	// that is located to
1678	// the right of the original bounding rectangle left edge, relative to
1679	// the
1680	// object's original width.
1681	LeftOffset float64 `json:"leftOffset,omitempty"`
1682
1683	// RightOffset: The offset specifies the right edge of the crop
1684	// rectangle that is located
1685	// to the left of the original bounding rectangle right edge, relative
1686	// to the
1687	// object's original width.
1688	RightOffset float64 `json:"rightOffset,omitempty"`
1689
1690	// TopOffset: The offset specifies the top edge of the crop rectangle
1691	// that is located
1692	// below the original bounding rectangle top edge, relative to the
1693	// object's
1694	// original height.
1695	TopOffset float64 `json:"topOffset,omitempty"`
1696
1697	// ForceSendFields is a list of field names (e.g. "Angle") to
1698	// unconditionally include in API requests. By default, fields with
1699	// empty values are omitted from API requests. However, any non-pointer,
1700	// non-interface field appearing in ForceSendFields will be sent to the
1701	// server regardless of whether the field is empty or not. This may be
1702	// used to include empty fields in Patch requests.
1703	ForceSendFields []string `json:"-"`
1704
1705	// NullFields is a list of field names (e.g. "Angle") to include in API
1706	// requests with the JSON null value. By default, fields with empty
1707	// values are omitted from API requests. However, any field with an
1708	// empty value appearing in NullFields will be sent to the server as
1709	// null. It is an error if a field in this list has a non-empty value.
1710	// This may be used to include null fields in Patch requests.
1711	NullFields []string `json:"-"`
1712}
1713
1714func (s *CropProperties) MarshalJSON() ([]byte, error) {
1715	type NoMethod CropProperties
1716	raw := NoMethod(*s)
1717	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1718}
1719
1720func (s *CropProperties) UnmarshalJSON(data []byte) error {
1721	type NoMethod CropProperties
1722	var s1 struct {
1723		Angle        gensupport.JSONFloat64 `json:"angle"`
1724		BottomOffset gensupport.JSONFloat64 `json:"bottomOffset"`
1725		LeftOffset   gensupport.JSONFloat64 `json:"leftOffset"`
1726		RightOffset  gensupport.JSONFloat64 `json:"rightOffset"`
1727		TopOffset    gensupport.JSONFloat64 `json:"topOffset"`
1728		*NoMethod
1729	}
1730	s1.NoMethod = (*NoMethod)(s)
1731	if err := json.Unmarshal(data, &s1); err != nil {
1732		return err
1733	}
1734	s.Angle = float64(s1.Angle)
1735	s.BottomOffset = float64(s1.BottomOffset)
1736	s.LeftOffset = float64(s1.LeftOffset)
1737	s.RightOffset = float64(s1.RightOffset)
1738	s.TopOffset = float64(s1.TopOffset)
1739	return nil
1740}
1741
1742// DeleteObjectRequest: Deletes an object, either pages or
1743// page elements, from the
1744// presentation.
1745type DeleteObjectRequest struct {
1746	// ObjectId: The object ID of the page or page element to delete.
1747	//
1748	// If after a delete operation a group contains
1749	// only 1 or no page elements, the group is also deleted.
1750	//
1751	// If a placeholder is deleted on a layout, any empty inheriting shapes
1752	// are
1753	// also deleted.
1754	ObjectId string `json:"objectId,omitempty"`
1755
1756	// ForceSendFields is a list of field names (e.g. "ObjectId") to
1757	// unconditionally include in API requests. By default, fields with
1758	// empty values are omitted from API requests. However, any non-pointer,
1759	// non-interface field appearing in ForceSendFields will be sent to the
1760	// server regardless of whether the field is empty or not. This may be
1761	// used to include empty fields in Patch requests.
1762	ForceSendFields []string `json:"-"`
1763
1764	// NullFields is a list of field names (e.g. "ObjectId") to include in
1765	// API requests with the JSON null value. By default, fields with empty
1766	// values are omitted from API requests. However, any field with an
1767	// empty value appearing in NullFields will be sent to the server as
1768	// null. It is an error if a field in this list has a non-empty value.
1769	// This may be used to include null fields in Patch requests.
1770	NullFields []string `json:"-"`
1771}
1772
1773func (s *DeleteObjectRequest) MarshalJSON() ([]byte, error) {
1774	type NoMethod DeleteObjectRequest
1775	raw := NoMethod(*s)
1776	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1777}
1778
1779// DeleteParagraphBulletsRequest: Deletes bullets from all of the
1780// paragraphs that overlap with the given text
1781// index range.
1782//
1783// The nesting level of each paragraph will be visually preserved by
1784// adding
1785// indent to the start of the corresponding paragraph.
1786type DeleteParagraphBulletsRequest struct {
1787	// CellLocation: The optional table cell location if the text to be
1788	// modified is in a table
1789	// cell. If present, the object_id must refer to a table.
1790	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
1791
1792	// ObjectId: The object ID of the shape or table containing the text to
1793	// delete bullets
1794	// from.
1795	ObjectId string `json:"objectId,omitempty"`
1796
1797	// TextRange: The range of text to delete bullets from, based on
1798	// TextElement indexes.
1799	TextRange *Range `json:"textRange,omitempty"`
1800
1801	// ForceSendFields is a list of field names (e.g. "CellLocation") to
1802	// unconditionally include in API requests. By default, fields with
1803	// empty values are omitted from API requests. However, any non-pointer,
1804	// non-interface field appearing in ForceSendFields will be sent to the
1805	// server regardless of whether the field is empty or not. This may be
1806	// used to include empty fields in Patch requests.
1807	ForceSendFields []string `json:"-"`
1808
1809	// NullFields is a list of field names (e.g. "CellLocation") to include
1810	// in API requests with the JSON null value. By default, fields with
1811	// empty values are omitted from API requests. However, any field with
1812	// an empty value appearing in NullFields will be sent to the server as
1813	// null. It is an error if a field in this list has a non-empty value.
1814	// This may be used to include null fields in Patch requests.
1815	NullFields []string `json:"-"`
1816}
1817
1818func (s *DeleteParagraphBulletsRequest) MarshalJSON() ([]byte, error) {
1819	type NoMethod DeleteParagraphBulletsRequest
1820	raw := NoMethod(*s)
1821	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1822}
1823
1824// DeleteTableColumnRequest: Deletes a column from a table.
1825type DeleteTableColumnRequest struct {
1826	// CellLocation: The reference table cell location from which a column
1827	// will be deleted.
1828	//
1829	// The column this cell spans will be deleted. If this is a merged
1830	// cell,
1831	// multiple columns will be deleted. If no columns remain in the table
1832	// after
1833	// this deletion, the whole table is deleted.
1834	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
1835
1836	// TableObjectId: The table to delete columns from.
1837	TableObjectId string `json:"tableObjectId,omitempty"`
1838
1839	// ForceSendFields is a list of field names (e.g. "CellLocation") to
1840	// unconditionally include in API requests. By default, fields with
1841	// empty values are omitted from API requests. However, any non-pointer,
1842	// non-interface field appearing in ForceSendFields will be sent to the
1843	// server regardless of whether the field is empty or not. This may be
1844	// used to include empty fields in Patch requests.
1845	ForceSendFields []string `json:"-"`
1846
1847	// NullFields is a list of field names (e.g. "CellLocation") to include
1848	// in API requests with the JSON null value. By default, fields with
1849	// empty values are omitted from API requests. However, any field with
1850	// an empty value appearing in NullFields will be sent to the server as
1851	// null. It is an error if a field in this list has a non-empty value.
1852	// This may be used to include null fields in Patch requests.
1853	NullFields []string `json:"-"`
1854}
1855
1856func (s *DeleteTableColumnRequest) MarshalJSON() ([]byte, error) {
1857	type NoMethod DeleteTableColumnRequest
1858	raw := NoMethod(*s)
1859	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1860}
1861
1862// DeleteTableRowRequest: Deletes a row from a table.
1863type DeleteTableRowRequest struct {
1864	// CellLocation: The reference table cell location from which a row will
1865	// be deleted.
1866	//
1867	// The row this cell spans will be deleted. If this is a merged cell,
1868	// multiple
1869	// rows will be deleted. If no rows remain in the table after this
1870	// deletion,
1871	// the whole table is deleted.
1872	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
1873
1874	// TableObjectId: The table to delete rows from.
1875	TableObjectId string `json:"tableObjectId,omitempty"`
1876
1877	// ForceSendFields is a list of field names (e.g. "CellLocation") to
1878	// unconditionally include in API requests. By default, fields with
1879	// empty values are omitted from API requests. However, any non-pointer,
1880	// non-interface field appearing in ForceSendFields will be sent to the
1881	// server regardless of whether the field is empty or not. This may be
1882	// used to include empty fields in Patch requests.
1883	ForceSendFields []string `json:"-"`
1884
1885	// NullFields is a list of field names (e.g. "CellLocation") to include
1886	// in API requests with the JSON null value. By default, fields with
1887	// empty values are omitted from API requests. However, any field with
1888	// an empty value appearing in NullFields will be sent to the server as
1889	// null. It is an error if a field in this list has a non-empty value.
1890	// This may be used to include null fields in Patch requests.
1891	NullFields []string `json:"-"`
1892}
1893
1894func (s *DeleteTableRowRequest) MarshalJSON() ([]byte, error) {
1895	type NoMethod DeleteTableRowRequest
1896	raw := NoMethod(*s)
1897	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1898}
1899
1900// DeleteTextRequest: Deletes text from a shape or a table cell.
1901type DeleteTextRequest struct {
1902	// CellLocation: The optional table cell location if the text is to be
1903	// deleted from a table
1904	// cell. If present, the object_id must refer to a table.
1905	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
1906
1907	// ObjectId: The object ID of the shape or table from which the text
1908	// will be deleted.
1909	ObjectId string `json:"objectId,omitempty"`
1910
1911	// TextRange: The range of text to delete, based on TextElement
1912	// indexes.
1913	//
1914	// There is always an implicit newline character at the end of a shape's
1915	// or
1916	// table cell's text that cannot be deleted. `Range.Type.ALL` will use
1917	// the
1918	// correct bounds, but care must be taken when specifying explicit
1919	// bounds for
1920	// range types `FROM_START_INDEX` and `FIXED_RANGE`. For example, if the
1921	// text
1922	// is "ABC", followed by an implicit newline, then the maximum value is
1923	// 2 for
1924	// `text_range.start_index` and 3 for `text_range.end_index`.
1925	//
1926	// Deleting text that crosses a paragraph boundary may result in
1927	// changes
1928	// to paragraph styles and lists as the two paragraphs are
1929	// merged.
1930	//
1931	// Ranges that include only one code unit of a surrogate pair are
1932	// expanded to
1933	// include both code units.
1934	TextRange *Range `json:"textRange,omitempty"`
1935
1936	// ForceSendFields is a list of field names (e.g. "CellLocation") to
1937	// unconditionally include in API requests. By default, fields with
1938	// empty values are omitted from API requests. However, any non-pointer,
1939	// non-interface field appearing in ForceSendFields will be sent to the
1940	// server regardless of whether the field is empty or not. This may be
1941	// used to include empty fields in Patch requests.
1942	ForceSendFields []string `json:"-"`
1943
1944	// NullFields is a list of field names (e.g. "CellLocation") to include
1945	// in API requests with the JSON null value. By default, fields with
1946	// empty values are omitted from API requests. However, any field with
1947	// an empty value appearing in NullFields will be sent to the server as
1948	// null. It is an error if a field in this list has a non-empty value.
1949	// This may be used to include null fields in Patch requests.
1950	NullFields []string `json:"-"`
1951}
1952
1953func (s *DeleteTextRequest) MarshalJSON() ([]byte, error) {
1954	type NoMethod DeleteTextRequest
1955	raw := NoMethod(*s)
1956	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1957}
1958
1959// Dimension: A magnitude in a single direction in the specified units.
1960type Dimension struct {
1961	// Magnitude: The magnitude.
1962	Magnitude float64 `json:"magnitude,omitempty"`
1963
1964	// Unit: The units for magnitude.
1965	//
1966	// Possible values:
1967	//   "UNIT_UNSPECIFIED" - The units are unknown.
1968	//   "EMU" - An English Metric Unit (EMU) is defined as 1/360,000 of a
1969	// centimeter
1970	// and thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.
1971	//   "PT" - A point, 1/72 of an inch.
1972	Unit string `json:"unit,omitempty"`
1973
1974	// ForceSendFields is a list of field names (e.g. "Magnitude") to
1975	// unconditionally include in API requests. By default, fields with
1976	// empty values are omitted from API requests. However, any non-pointer,
1977	// non-interface field appearing in ForceSendFields will be sent to the
1978	// server regardless of whether the field is empty or not. This may be
1979	// used to include empty fields in Patch requests.
1980	ForceSendFields []string `json:"-"`
1981
1982	// NullFields is a list of field names (e.g. "Magnitude") to include in
1983	// API requests with the JSON null value. By default, fields with empty
1984	// values are omitted from API requests. However, any field with an
1985	// empty value appearing in NullFields will be sent to the server as
1986	// null. It is an error if a field in this list has a non-empty value.
1987	// This may be used to include null fields in Patch requests.
1988	NullFields []string `json:"-"`
1989}
1990
1991func (s *Dimension) MarshalJSON() ([]byte, error) {
1992	type NoMethod Dimension
1993	raw := NoMethod(*s)
1994	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1995}
1996
1997func (s *Dimension) UnmarshalJSON(data []byte) error {
1998	type NoMethod Dimension
1999	var s1 struct {
2000		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
2001		*NoMethod
2002	}
2003	s1.NoMethod = (*NoMethod)(s)
2004	if err := json.Unmarshal(data, &s1); err != nil {
2005		return err
2006	}
2007	s.Magnitude = float64(s1.Magnitude)
2008	return nil
2009}
2010
2011// DuplicateObjectRequest: Duplicates a slide or page element.
2012//
2013// When duplicating a slide, the duplicate slide will be created
2014// immediately
2015// following the specified slide. When duplicating a page element, the
2016// duplicate
2017// will be placed on the same page at the same position as the original.
2018type DuplicateObjectRequest struct {
2019	// ObjectId: The ID of the object to duplicate.
2020	ObjectId string `json:"objectId,omitempty"`
2021
2022	// ObjectIds: The object being duplicated may contain other objects, for
2023	// example when
2024	// duplicating a slide or a group page element. This map defines how the
2025	// IDs
2026	// of duplicated objects are generated: the keys are the IDs of the
2027	// original
2028	// objects and its values are the IDs that will be assigned to
2029	// the
2030	// corresponding duplicate object. The ID of the source object's
2031	// duplicate
2032	// may be specified in this map as well, using the same value of
2033	// the
2034	// `object_id` field as a key and the newly desired ID as the
2035	// value.
2036	//
2037	// All keys must correspond to existing IDs in the presentation. All
2038	// values
2039	// must be unique in the presentation and must start with an
2040	// alphanumeric
2041	// character or an underscore (matches regex `[a-zA-Z0-9_]`);
2042	// remaining
2043	// characters may include those as well as a hyphen or colon (matches
2044	// regex
2045	// `[a-zA-Z0-9_-:]`). The length of the new ID must not be less than 5
2046	// or
2047	// greater than 50.
2048	//
2049	// If any IDs of source objects are omitted from the map, a new random
2050	// ID will
2051	// be assigned. If the map is empty or unset, all duplicate objects
2052	// will
2053	// receive a new random ID.
2054	ObjectIds map[string]string `json:"objectIds,omitempty"`
2055
2056	// ForceSendFields is a list of field names (e.g. "ObjectId") to
2057	// unconditionally include in API requests. By default, fields with
2058	// empty values are omitted from API requests. However, any non-pointer,
2059	// non-interface field appearing in ForceSendFields will be sent to the
2060	// server regardless of whether the field is empty or not. This may be
2061	// used to include empty fields in Patch requests.
2062	ForceSendFields []string `json:"-"`
2063
2064	// NullFields is a list of field names (e.g. "ObjectId") to include in
2065	// API requests with the JSON null value. By default, fields with empty
2066	// values are omitted from API requests. However, any field with an
2067	// empty value appearing in NullFields will be sent to the server as
2068	// null. It is an error if a field in this list has a non-empty value.
2069	// This may be used to include null fields in Patch requests.
2070	NullFields []string `json:"-"`
2071}
2072
2073func (s *DuplicateObjectRequest) MarshalJSON() ([]byte, error) {
2074	type NoMethod DuplicateObjectRequest
2075	raw := NoMethod(*s)
2076	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2077}
2078
2079// DuplicateObjectResponse: The response of duplicating an object.
2080type DuplicateObjectResponse struct {
2081	// ObjectId: The ID of the new duplicate object.
2082	ObjectId string `json:"objectId,omitempty"`
2083
2084	// ForceSendFields is a list of field names (e.g. "ObjectId") to
2085	// unconditionally include in API requests. By default, fields with
2086	// empty values are omitted from API requests. However, any non-pointer,
2087	// non-interface field appearing in ForceSendFields will be sent to the
2088	// server regardless of whether the field is empty or not. This may be
2089	// used to include empty fields in Patch requests.
2090	ForceSendFields []string `json:"-"`
2091
2092	// NullFields is a list of field names (e.g. "ObjectId") to include in
2093	// API requests with the JSON null value. By default, fields with empty
2094	// values are omitted from API requests. However, any field with an
2095	// empty value appearing in NullFields will be sent to the server as
2096	// null. It is an error if a field in this list has a non-empty value.
2097	// This may be used to include null fields in Patch requests.
2098	NullFields []string `json:"-"`
2099}
2100
2101func (s *DuplicateObjectResponse) MarshalJSON() ([]byte, error) {
2102	type NoMethod DuplicateObjectResponse
2103	raw := NoMethod(*s)
2104	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2105}
2106
2107// Group: A PageElement kind representing a
2108// joined collection of PageElements.
2109type Group struct {
2110	// Children: The collection of elements in the group. The minimum size
2111	// of a group is 2.
2112	Children []*PageElement `json:"children,omitempty"`
2113
2114	// ForceSendFields is a list of field names (e.g. "Children") to
2115	// unconditionally include in API requests. By default, fields with
2116	// empty values are omitted from API requests. However, any non-pointer,
2117	// non-interface field appearing in ForceSendFields will be sent to the
2118	// server regardless of whether the field is empty or not. This may be
2119	// used to include empty fields in Patch requests.
2120	ForceSendFields []string `json:"-"`
2121
2122	// NullFields is a list of field names (e.g. "Children") to include in
2123	// API requests with the JSON null value. By default, fields with empty
2124	// values are omitted from API requests. However, any field with an
2125	// empty value appearing in NullFields will be sent to the server as
2126	// null. It is an error if a field in this list has a non-empty value.
2127	// This may be used to include null fields in Patch requests.
2128	NullFields []string `json:"-"`
2129}
2130
2131func (s *Group) MarshalJSON() ([]byte, error) {
2132	type NoMethod Group
2133	raw := NoMethod(*s)
2134	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2135}
2136
2137// GroupObjectsRequest: Groups objects to create an object group. For
2138// example, groups PageElements to create a Group on the same page as
2139// all the children.
2140type GroupObjectsRequest struct {
2141	// ChildrenObjectIds: The object IDs of the objects to group.
2142	//
2143	// Only page elements can be grouped. There should be at least two
2144	// page
2145	// elements on the same page that are not already in another group. Some
2146	// page
2147	// elements, such as videos, tables and placeholder shapes cannot be
2148	// grouped.
2149	ChildrenObjectIds []string `json:"childrenObjectIds,omitempty"`
2150
2151	// GroupObjectId: A user-supplied object ID for the group to be
2152	// created.
2153	//
2154	// If you specify an ID, it must be unique among all pages and page
2155	// elements
2156	// in the presentation. The ID must start with an alphanumeric character
2157	// or an
2158	// underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
2159	// may include those as well as a hyphen or colon (matches
2160	// regex
2161	// `[a-zA-Z0-9_-:]`).
2162	// The length of the ID must not be less than 5 or greater than 50.
2163	//
2164	// If you don't specify an ID, a unique one is generated.
2165	GroupObjectId string `json:"groupObjectId,omitempty"`
2166
2167	// ForceSendFields is a list of field names (e.g. "ChildrenObjectIds")
2168	// to unconditionally include in API requests. By default, fields with
2169	// empty values are omitted from API requests. However, any non-pointer,
2170	// non-interface field appearing in ForceSendFields will be sent to the
2171	// server regardless of whether the field is empty or not. This may be
2172	// used to include empty fields in Patch requests.
2173	ForceSendFields []string `json:"-"`
2174
2175	// NullFields is a list of field names (e.g. "ChildrenObjectIds") to
2176	// include in API requests with the JSON null value. By default, fields
2177	// with empty values are omitted from API requests. However, any field
2178	// with an empty value appearing in NullFields will be sent to the
2179	// server as null. It is an error if a field in this list has a
2180	// non-empty value. This may be used to include null fields in Patch
2181	// requests.
2182	NullFields []string `json:"-"`
2183}
2184
2185func (s *GroupObjectsRequest) MarshalJSON() ([]byte, error) {
2186	type NoMethod GroupObjectsRequest
2187	raw := NoMethod(*s)
2188	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2189}
2190
2191// GroupObjectsResponse: The result of grouping objects.
2192type GroupObjectsResponse struct {
2193	// ObjectId: The object ID of the created group.
2194	ObjectId string `json:"objectId,omitempty"`
2195
2196	// ForceSendFields is a list of field names (e.g. "ObjectId") to
2197	// unconditionally include in API requests. By default, fields with
2198	// empty values are omitted from API requests. However, any non-pointer,
2199	// non-interface field appearing in ForceSendFields will be sent to the
2200	// server regardless of whether the field is empty or not. This may be
2201	// used to include empty fields in Patch requests.
2202	ForceSendFields []string `json:"-"`
2203
2204	// NullFields is a list of field names (e.g. "ObjectId") to include in
2205	// API requests with the JSON null value. By default, fields with empty
2206	// values are omitted from API requests. However, any field with an
2207	// empty value appearing in NullFields will be sent to the server as
2208	// null. It is an error if a field in this list has a non-empty value.
2209	// This may be used to include null fields in Patch requests.
2210	NullFields []string `json:"-"`
2211}
2212
2213func (s *GroupObjectsResponse) MarshalJSON() ([]byte, error) {
2214	type NoMethod GroupObjectsResponse
2215	raw := NoMethod(*s)
2216	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2217}
2218
2219// Image: A PageElement kind representing an
2220// image.
2221type Image struct {
2222	// ContentUrl: An URL to an image with a default lifetime of 30
2223	// minutes.
2224	// This URL is tagged with the account of the requester. Anyone with the
2225	// URL
2226	// effectively accesses the image as the original requester. Access to
2227	// the
2228	// image may be lost if the presentation's sharing settings change.
2229	ContentUrl string `json:"contentUrl,omitempty"`
2230
2231	// ImageProperties: The properties of the image.
2232	ImageProperties *ImageProperties `json:"imageProperties,omitempty"`
2233
2234	// SourceUrl: The source URL is the URL used to insert the image. The
2235	// source URL can be
2236	// empty.
2237	SourceUrl string `json:"sourceUrl,omitempty"`
2238
2239	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
2240	// unconditionally include in API requests. By default, fields with
2241	// empty values are omitted from API requests. However, any non-pointer,
2242	// non-interface field appearing in ForceSendFields will be sent to the
2243	// server regardless of whether the field is empty or not. This may be
2244	// used to include empty fields in Patch requests.
2245	ForceSendFields []string `json:"-"`
2246
2247	// NullFields is a list of field names (e.g. "ContentUrl") to include in
2248	// API requests with the JSON null value. By default, fields with empty
2249	// values are omitted from API requests. However, any field with an
2250	// empty value appearing in NullFields will be sent to the server as
2251	// null. It is an error if a field in this list has a non-empty value.
2252	// This may be used to include null fields in Patch requests.
2253	NullFields []string `json:"-"`
2254}
2255
2256func (s *Image) MarshalJSON() ([]byte, error) {
2257	type NoMethod Image
2258	raw := NoMethod(*s)
2259	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2260}
2261
2262// ImageProperties: The properties of the Image.
2263type ImageProperties struct {
2264	// Brightness: The brightness effect of the image. The value should be
2265	// in the interval
2266	// [-1.0, 1.0], where 0 means no effect. This property is read-only.
2267	Brightness float64 `json:"brightness,omitempty"`
2268
2269	// Contrast: The contrast effect of the image. The value should be in
2270	// the interval
2271	// [-1.0, 1.0], where 0 means no effect. This property is read-only.
2272	Contrast float64 `json:"contrast,omitempty"`
2273
2274	// CropProperties: The crop properties of the image. If not set, the
2275	// image is not cropped.
2276	// This property is read-only.
2277	CropProperties *CropProperties `json:"cropProperties,omitempty"`
2278
2279	// Link: The hyperlink destination of the image. If unset, there is no
2280	// link.
2281	Link *Link `json:"link,omitempty"`
2282
2283	// Outline: The outline of the image. If not set, the image has no
2284	// outline.
2285	Outline *Outline `json:"outline,omitempty"`
2286
2287	// Recolor: The recolor effect of the image. If not set, the image is
2288	// not recolored.
2289	// This property is read-only.
2290	Recolor *Recolor `json:"recolor,omitempty"`
2291
2292	// Shadow: The shadow of the image. If not set, the image has no shadow.
2293	// This property
2294	// is read-only.
2295	Shadow *Shadow `json:"shadow,omitempty"`
2296
2297	// Transparency: The transparency effect of the image. The value should
2298	// be in the interval
2299	// [0.0, 1.0], where 0 means no effect and 1 means completely
2300	// transparent.
2301	// This property is read-only.
2302	Transparency float64 `json:"transparency,omitempty"`
2303
2304	// ForceSendFields is a list of field names (e.g. "Brightness") to
2305	// unconditionally include in API requests. By default, fields with
2306	// empty values are omitted from API requests. However, any non-pointer,
2307	// non-interface field appearing in ForceSendFields will be sent to the
2308	// server regardless of whether the field is empty or not. This may be
2309	// used to include empty fields in Patch requests.
2310	ForceSendFields []string `json:"-"`
2311
2312	// NullFields is a list of field names (e.g. "Brightness") to include in
2313	// API requests with the JSON null value. By default, fields with empty
2314	// values are omitted from API requests. However, any field with an
2315	// empty value appearing in NullFields will be sent to the server as
2316	// null. It is an error if a field in this list has a non-empty value.
2317	// This may be used to include null fields in Patch requests.
2318	NullFields []string `json:"-"`
2319}
2320
2321func (s *ImageProperties) MarshalJSON() ([]byte, error) {
2322	type NoMethod ImageProperties
2323	raw := NoMethod(*s)
2324	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2325}
2326
2327func (s *ImageProperties) UnmarshalJSON(data []byte) error {
2328	type NoMethod ImageProperties
2329	var s1 struct {
2330		Brightness   gensupport.JSONFloat64 `json:"brightness"`
2331		Contrast     gensupport.JSONFloat64 `json:"contrast"`
2332		Transparency gensupport.JSONFloat64 `json:"transparency"`
2333		*NoMethod
2334	}
2335	s1.NoMethod = (*NoMethod)(s)
2336	if err := json.Unmarshal(data, &s1); err != nil {
2337		return err
2338	}
2339	s.Brightness = float64(s1.Brightness)
2340	s.Contrast = float64(s1.Contrast)
2341	s.Transparency = float64(s1.Transparency)
2342	return nil
2343}
2344
2345// InsertTableColumnsRequest: Inserts columns into a table.
2346//
2347// Other columns in the table will be resized to fit the new column.
2348type InsertTableColumnsRequest struct {
2349	// CellLocation: The reference table cell location from which columns
2350	// will be inserted.
2351	//
2352	// A new column will be inserted to the left (or right) of the column
2353	// where
2354	// the reference cell is. If the reference cell is a merged cell, a
2355	// new
2356	// column will be inserted to the left (or right) of the merged cell.
2357	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
2358
2359	// InsertRight: Whether to insert new columns to the right of the
2360	// reference cell location.
2361	//
2362	// - `True`: insert to the right.
2363	// - `False`: insert to the left.
2364	InsertRight bool `json:"insertRight,omitempty"`
2365
2366	// Number: The number of columns to be inserted. Maximum 20 per request.
2367	Number int64 `json:"number,omitempty"`
2368
2369	// TableObjectId: The table to insert columns into.
2370	TableObjectId string `json:"tableObjectId,omitempty"`
2371
2372	// ForceSendFields is a list of field names (e.g. "CellLocation") to
2373	// unconditionally include in API requests. By default, fields with
2374	// empty values are omitted from API requests. However, any non-pointer,
2375	// non-interface field appearing in ForceSendFields will be sent to the
2376	// server regardless of whether the field is empty or not. This may be
2377	// used to include empty fields in Patch requests.
2378	ForceSendFields []string `json:"-"`
2379
2380	// NullFields is a list of field names (e.g. "CellLocation") to include
2381	// in API requests with the JSON null value. By default, fields with
2382	// empty values are omitted from API requests. However, any field with
2383	// an empty value appearing in NullFields will be sent to the server as
2384	// null. It is an error if a field in this list has a non-empty value.
2385	// This may be used to include null fields in Patch requests.
2386	NullFields []string `json:"-"`
2387}
2388
2389func (s *InsertTableColumnsRequest) MarshalJSON() ([]byte, error) {
2390	type NoMethod InsertTableColumnsRequest
2391	raw := NoMethod(*s)
2392	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2393}
2394
2395// InsertTableRowsRequest: Inserts rows into a table.
2396type InsertTableRowsRequest struct {
2397	// CellLocation: The reference table cell location from which rows will
2398	// be inserted.
2399	//
2400	// A new row will be inserted above (or below) the row where the
2401	// reference
2402	// cell is. If the reference cell is a merged cell, a new row will
2403	// be
2404	// inserted above (or below) the merged cell.
2405	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
2406
2407	// InsertBelow: Whether to insert new rows below the reference cell
2408	// location.
2409	//
2410	// - `True`: insert below the cell.
2411	// - `False`: insert above the cell.
2412	InsertBelow bool `json:"insertBelow,omitempty"`
2413
2414	// Number: The number of rows to be inserted. Maximum 20 per request.
2415	Number int64 `json:"number,omitempty"`
2416
2417	// TableObjectId: The table to insert rows into.
2418	TableObjectId string `json:"tableObjectId,omitempty"`
2419
2420	// ForceSendFields is a list of field names (e.g. "CellLocation") to
2421	// unconditionally include in API requests. By default, fields with
2422	// empty values are omitted from API requests. However, any non-pointer,
2423	// non-interface field appearing in ForceSendFields will be sent to the
2424	// server regardless of whether the field is empty or not. This may be
2425	// used to include empty fields in Patch requests.
2426	ForceSendFields []string `json:"-"`
2427
2428	// NullFields is a list of field names (e.g. "CellLocation") to include
2429	// in API requests with the JSON null value. By default, fields with
2430	// empty values are omitted from API requests. However, any field with
2431	// an empty value appearing in NullFields will be sent to the server as
2432	// null. It is an error if a field in this list has a non-empty value.
2433	// This may be used to include null fields in Patch requests.
2434	NullFields []string `json:"-"`
2435}
2436
2437func (s *InsertTableRowsRequest) MarshalJSON() ([]byte, error) {
2438	type NoMethod InsertTableRowsRequest
2439	raw := NoMethod(*s)
2440	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2441}
2442
2443// InsertTextRequest: Inserts text into a shape or a table cell.
2444type InsertTextRequest struct {
2445	// CellLocation: The optional table cell location if the text is to be
2446	// inserted into a table
2447	// cell. If present, the object_id must refer to a table.
2448	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
2449
2450	// InsertionIndex: The index where the text will be inserted, in Unicode
2451	// code units, based
2452	// on TextElement indexes.
2453	//
2454	// The index is zero-based and is computed from the start of the
2455	// string.
2456	// The index may be adjusted to prevent insertions inside Unicode
2457	// grapheme
2458	// clusters. In these cases, the text will be inserted immediately after
2459	// the
2460	// grapheme cluster.
2461	InsertionIndex int64 `json:"insertionIndex,omitempty"`
2462
2463	// ObjectId: The object ID of the shape or table where the text will be
2464	// inserted.
2465	ObjectId string `json:"objectId,omitempty"`
2466
2467	// Text: The text to be inserted.
2468	//
2469	// Inserting a newline character will implicitly create a
2470	// new
2471	// ParagraphMarker at that index.
2472	// The paragraph style of the new paragraph will be copied from the
2473	// paragraph
2474	// at the current insertion index, including lists and bullets.
2475	//
2476	// Text styles for inserted text will be determined automatically,
2477	// generally
2478	// preserving the styling of neighboring text. In most cases, the text
2479	// will be
2480	// added to the TextRun that exists at the
2481	// insertion index.
2482	//
2483	// Some control characters (U+0000-U+0008, U+000C-U+001F) and
2484	// characters
2485	// from the Unicode Basic Multilingual Plane Private Use Area
2486	// (U+E000-U+F8FF)
2487	// will be stripped out of the inserted text.
2488	Text string `json:"text,omitempty"`
2489
2490	// ForceSendFields is a list of field names (e.g. "CellLocation") to
2491	// unconditionally include in API requests. By default, fields with
2492	// empty values are omitted from API requests. However, any non-pointer,
2493	// non-interface field appearing in ForceSendFields will be sent to the
2494	// server regardless of whether the field is empty or not. This may be
2495	// used to include empty fields in Patch requests.
2496	ForceSendFields []string `json:"-"`
2497
2498	// NullFields is a list of field names (e.g. "CellLocation") to include
2499	// in API requests with the JSON null value. By default, fields with
2500	// empty values are omitted from API requests. However, any field with
2501	// an empty value appearing in NullFields will be sent to the server as
2502	// null. It is an error if a field in this list has a non-empty value.
2503	// This may be used to include null fields in Patch requests.
2504	NullFields []string `json:"-"`
2505}
2506
2507func (s *InsertTextRequest) MarshalJSON() ([]byte, error) {
2508	type NoMethod InsertTextRequest
2509	raw := NoMethod(*s)
2510	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2511}
2512
2513// LayoutPlaceholderIdMapping: The user-specified ID mapping for a
2514// placeholder that will be created on a
2515// slide from a specified layout.
2516type LayoutPlaceholderIdMapping struct {
2517	// LayoutPlaceholder: The placeholder on a layout that will be applied
2518	// to a slide. Only type and index are needed. For example, a
2519	// predefined `TITLE_AND_BODY` layout may usually have a TITLE
2520	// placeholder
2521	// with index 0 and a BODY placeholder with index 0.
2522	LayoutPlaceholder *Placeholder `json:"layoutPlaceholder,omitempty"`
2523
2524	// LayoutPlaceholderObjectId: The object ID of the placeholder on a
2525	// layout that will be applied
2526	// to a slide.
2527	LayoutPlaceholderObjectId string `json:"layoutPlaceholderObjectId,omitempty"`
2528
2529	// ObjectId: A user-supplied object ID for the placeholder identified
2530	// above that to be
2531	// created onto a slide.
2532	//
2533	// If you specify an ID, it must be unique among all pages and page
2534	// elements
2535	// in the presentation. The ID must start with an alphanumeric character
2536	// or an
2537	// underscore (matches regex `[a-zA-Z0-9_]`); remaining characters
2538	// may include those as well as a hyphen or colon (matches
2539	// regex
2540	// `[a-zA-Z0-9_-:]`).
2541	// The length of the ID must not be less than 5 or greater than 50.
2542	//
2543	// If you don't specify an ID, a unique one is generated.
2544	ObjectId string `json:"objectId,omitempty"`
2545
2546	// ForceSendFields is a list of field names (e.g. "LayoutPlaceholder")
2547	// to unconditionally include in API requests. By default, fields with
2548	// empty values are omitted from API requests. However, any non-pointer,
2549	// non-interface field appearing in ForceSendFields will be sent to the
2550	// server regardless of whether the field is empty or not. This may be
2551	// used to include empty fields in Patch requests.
2552	ForceSendFields []string `json:"-"`
2553
2554	// NullFields is a list of field names (e.g. "LayoutPlaceholder") to
2555	// include in API requests with the JSON null value. By default, fields
2556	// with empty values are omitted from API requests. However, any field
2557	// with an empty value appearing in NullFields will be sent to the
2558	// server as null. It is an error if a field in this list has a
2559	// non-empty value. This may be used to include null fields in Patch
2560	// requests.
2561	NullFields []string `json:"-"`
2562}
2563
2564func (s *LayoutPlaceholderIdMapping) MarshalJSON() ([]byte, error) {
2565	type NoMethod LayoutPlaceholderIdMapping
2566	raw := NoMethod(*s)
2567	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2568}
2569
2570// LayoutProperties: The properties of Page are only
2571// relevant for pages with page_type LAYOUT.
2572type LayoutProperties struct {
2573	// DisplayName: The human-readable name of the layout.
2574	DisplayName string `json:"displayName,omitempty"`
2575
2576	// MasterObjectId: The object ID of the master that this layout is based
2577	// on.
2578	MasterObjectId string `json:"masterObjectId,omitempty"`
2579
2580	// Name: The name of the layout.
2581	Name string `json:"name,omitempty"`
2582
2583	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2584	// unconditionally include in API requests. By default, fields with
2585	// empty values are omitted from API requests. However, any non-pointer,
2586	// non-interface field appearing in ForceSendFields will be sent to the
2587	// server regardless of whether the field is empty or not. This may be
2588	// used to include empty fields in Patch requests.
2589	ForceSendFields []string `json:"-"`
2590
2591	// NullFields is a list of field names (e.g. "DisplayName") to include
2592	// in API requests with the JSON null value. By default, fields with
2593	// empty values are omitted from API requests. However, any field with
2594	// an empty value appearing in NullFields will be sent to the server as
2595	// null. It is an error if a field in this list has a non-empty value.
2596	// This may be used to include null fields in Patch requests.
2597	NullFields []string `json:"-"`
2598}
2599
2600func (s *LayoutProperties) MarshalJSON() ([]byte, error) {
2601	type NoMethod LayoutProperties
2602	raw := NoMethod(*s)
2603	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2604}
2605
2606// LayoutReference: Slide layout reference. This may reference
2607// either:
2608//
2609// - A predefined layout
2610// - One of the layouts in the presentation.
2611type LayoutReference struct {
2612	// LayoutId: Layout ID: the object ID of one of the layouts in the
2613	// presentation.
2614	LayoutId string `json:"layoutId,omitempty"`
2615
2616	// PredefinedLayout: Predefined layout.
2617	//
2618	// Possible values:
2619	//   "PREDEFINED_LAYOUT_UNSPECIFIED" - Unspecified layout.
2620	//   "BLANK" - Blank layout, with no placeholders.
2621	//   "CAPTION_ONLY" - Layout with a caption at the bottom.
2622	//   "TITLE" - Layout with a title and a subtitle.
2623	//   "TITLE_AND_BODY" - Layout with a title and body.
2624	//   "TITLE_AND_TWO_COLUMNS" - Layout with a title and two columns.
2625	//   "TITLE_ONLY" - Layout with only a title.
2626	//   "SECTION_HEADER" - Layout with a section title.
2627	//   "SECTION_TITLE_AND_DESCRIPTION" - Layout with a title and subtitle
2628	// on one side and description on the other.
2629	//   "ONE_COLUMN_TEXT" - Layout with one title and one body, arranged in
2630	// a single column.
2631	//   "MAIN_POINT" - Layout with a main point.
2632	//   "BIG_NUMBER" - Layout with a big number heading.
2633	PredefinedLayout string `json:"predefinedLayout,omitempty"`
2634
2635	// ForceSendFields is a list of field names (e.g. "LayoutId") to
2636	// unconditionally include in API requests. By default, fields with
2637	// empty values are omitted from API requests. However, any non-pointer,
2638	// non-interface field appearing in ForceSendFields will be sent to the
2639	// server regardless of whether the field is empty or not. This may be
2640	// used to include empty fields in Patch requests.
2641	ForceSendFields []string `json:"-"`
2642
2643	// NullFields is a list of field names (e.g. "LayoutId") to include in
2644	// API requests with the JSON null value. By default, fields with empty
2645	// values are omitted from API requests. However, any field with an
2646	// empty value appearing in NullFields will be sent to the server as
2647	// null. It is an error if a field in this list has a non-empty value.
2648	// This may be used to include null fields in Patch requests.
2649	NullFields []string `json:"-"`
2650}
2651
2652func (s *LayoutReference) MarshalJSON() ([]byte, error) {
2653	type NoMethod LayoutReference
2654	raw := NoMethod(*s)
2655	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2656}
2657
2658// Line: A PageElement kind representing a
2659// non-connector line, straight connector, curved connector, or bent
2660// connector.
2661type Line struct {
2662	// LineCategory: The category of the line.
2663	//
2664	// It matches the `category` specified in CreateLineRequest, and can be
2665	// updated with
2666	// UpdateLineCategoryRequest.
2667	//
2668	// Possible values:
2669	//   "LINE_CATEGORY_UNSPECIFIED" - Unspecified line category.
2670	//   "STRAIGHT" - Straight connectors, including straight connector 1.
2671	//   "BENT" - Bent connectors, including bent connector 2 to 5.
2672	//   "CURVED" - Curved connectors, including curved connector 2 to 5.
2673	LineCategory string `json:"lineCategory,omitempty"`
2674
2675	// LineProperties: The properties of the line.
2676	LineProperties *LineProperties `json:"lineProperties,omitempty"`
2677
2678	// LineType: The type of the line.
2679	//
2680	// Possible values:
2681	//   "TYPE_UNSPECIFIED" - An unspecified line type.
2682	//   "STRAIGHT_CONNECTOR_1" - Straight connector 1 form. Corresponds to
2683	// ECMA-376 ST_ShapeType
2684	// 'straightConnector1'.
2685	//   "BENT_CONNECTOR_2" - Bent connector 2 form. Corresponds to ECMA-376
2686	// ST_ShapeType
2687	// 'bentConnector2'.
2688	//   "BENT_CONNECTOR_3" - Bent connector 3 form. Corresponds to ECMA-376
2689	// ST_ShapeType
2690	// 'bentConnector3'.
2691	//   "BENT_CONNECTOR_4" - Bent connector 4 form. Corresponds to ECMA-376
2692	// ST_ShapeType
2693	// 'bentConnector4'.
2694	//   "BENT_CONNECTOR_5" - Bent connector 5 form. Corresponds to ECMA-376
2695	// ST_ShapeType
2696	// 'bentConnector5'.
2697	//   "CURVED_CONNECTOR_2" - Curved connector 2 form. Corresponds to
2698	// ECMA-376 ST_ShapeType
2699	// 'curvedConnector2'.
2700	//   "CURVED_CONNECTOR_3" - Curved connector 3 form. Corresponds to
2701	// ECMA-376 ST_ShapeType
2702	// 'curvedConnector3'.
2703	//   "CURVED_CONNECTOR_4" - Curved connector 4 form. Corresponds to
2704	// ECMA-376 ST_ShapeType
2705	// 'curvedConnector4'.
2706	//   "CURVED_CONNECTOR_5" - Curved connector 5 form. Corresponds to
2707	// ECMA-376 ST_ShapeType
2708	// 'curvedConnector5'.
2709	//   "STRAIGHT_LINE" - Straight line. Corresponds to ECMA-376
2710	// ST_ShapeType 'line'. This line
2711	// type is not a connector.
2712	LineType string `json:"lineType,omitempty"`
2713
2714	// ForceSendFields is a list of field names (e.g. "LineCategory") to
2715	// unconditionally include in API requests. By default, fields with
2716	// empty values are omitted from API requests. However, any non-pointer,
2717	// non-interface field appearing in ForceSendFields will be sent to the
2718	// server regardless of whether the field is empty or not. This may be
2719	// used to include empty fields in Patch requests.
2720	ForceSendFields []string `json:"-"`
2721
2722	// NullFields is a list of field names (e.g. "LineCategory") to include
2723	// in API requests with the JSON null value. By default, fields with
2724	// empty values are omitted from API requests. However, any field with
2725	// an empty value appearing in NullFields will be sent to the server as
2726	// null. It is an error if a field in this list has a non-empty value.
2727	// This may be used to include null fields in Patch requests.
2728	NullFields []string `json:"-"`
2729}
2730
2731func (s *Line) MarshalJSON() ([]byte, error) {
2732	type NoMethod Line
2733	raw := NoMethod(*s)
2734	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2735}
2736
2737// LineConnection: The properties for one end of a Line
2738// connection.
2739type LineConnection struct {
2740	// ConnectedObjectId: The object ID of the connected page element.
2741	//
2742	// Some page elements, such as groups, tables, and lines
2743	// do not have connection sites and therefore cannot be connected to
2744	// a
2745	// connector line.
2746	ConnectedObjectId string `json:"connectedObjectId,omitempty"`
2747
2748	// ConnectionSiteIndex: The index of the connection site on the
2749	// connected page element.
2750	//
2751	// In most cases, it corresponds to the predefined connection site index
2752	// from
2753	// the ECMA-376 standard. More information on those connection sites can
2754	// be
2755	// found in the description of the "cnx" attribute in section 20.1.9.9
2756	// and
2757	// Annex H. "Predefined DrawingML Shape and Text Geometries" of "Office
2758	// Open
2759	// XML File Formats-Fundamentals and Markup Language Reference", part 1
2760	// of
2761	// [ECMA-376 5th
2762	// edition]
2763	// (http://www.ecma-international.org/publications/standards/Ecm
2764	// a-376.htm).
2765	//
2766	// The position of each connection site can also be viewed from Slides
2767	// editor.
2768	ConnectionSiteIndex int64 `json:"connectionSiteIndex,omitempty"`
2769
2770	// ForceSendFields is a list of field names (e.g. "ConnectedObjectId")
2771	// to unconditionally include in API requests. By default, fields with
2772	// empty values are omitted from API requests. However, any non-pointer,
2773	// non-interface field appearing in ForceSendFields will be sent to the
2774	// server regardless of whether the field is empty or not. This may be
2775	// used to include empty fields in Patch requests.
2776	ForceSendFields []string `json:"-"`
2777
2778	// NullFields is a list of field names (e.g. "ConnectedObjectId") to
2779	// include in API requests with the JSON null value. By default, fields
2780	// with empty values are omitted from API requests. However, any field
2781	// with an empty value appearing in NullFields will be sent to the
2782	// server as null. It is an error if a field in this list has a
2783	// non-empty value. This may be used to include null fields in Patch
2784	// requests.
2785	NullFields []string `json:"-"`
2786}
2787
2788func (s *LineConnection) MarshalJSON() ([]byte, error) {
2789	type NoMethod LineConnection
2790	raw := NoMethod(*s)
2791	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2792}
2793
2794// LineFill: The fill of the line.
2795type LineFill struct {
2796	// SolidFill: Solid color fill.
2797	SolidFill *SolidFill `json:"solidFill,omitempty"`
2798
2799	// ForceSendFields is a list of field names (e.g. "SolidFill") to
2800	// unconditionally include in API requests. By default, fields with
2801	// empty values are omitted from API requests. However, any non-pointer,
2802	// non-interface field appearing in ForceSendFields will be sent to the
2803	// server regardless of whether the field is empty or not. This may be
2804	// used to include empty fields in Patch requests.
2805	ForceSendFields []string `json:"-"`
2806
2807	// NullFields is a list of field names (e.g. "SolidFill") to include in
2808	// API requests with the JSON null value. By default, fields with empty
2809	// values are omitted from API requests. However, any field with an
2810	// empty value appearing in NullFields will be sent to the server as
2811	// null. It is an error if a field in this list has a non-empty value.
2812	// This may be used to include null fields in Patch requests.
2813	NullFields []string `json:"-"`
2814}
2815
2816func (s *LineFill) MarshalJSON() ([]byte, error) {
2817	type NoMethod LineFill
2818	raw := NoMethod(*s)
2819	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2820}
2821
2822// LineProperties: The properties of the Line.
2823//
2824// When unset, these fields default to values that match the appearance
2825// of
2826// new lines created in the Slides editor.
2827type LineProperties struct {
2828	// DashStyle: The dash style of the line.
2829	//
2830	// Possible values:
2831	//   "DASH_STYLE_UNSPECIFIED" - Unspecified dash style.
2832	//   "SOLID" - Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal
2833	// value 'solid'.
2834	// This is the default dash style.
2835	//   "DOT" - Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal
2836	// value 'dot'.
2837	//   "DASH" - Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal
2838	// value 'dash'.
2839	//   "DASH_DOT" - Alternating dashes and dots. Corresponds to ECMA-376
2840	// ST_PresetLineDashVal
2841	// value 'dashDot'.
2842	//   "LONG_DASH" - Line with large dashes. Corresponds to ECMA-376
2843	// ST_PresetLineDashVal
2844	// value 'lgDash'.
2845	//   "LONG_DASH_DOT" - Alternating large dashes and dots. Corresponds to
2846	// ECMA-376
2847	// ST_PresetLineDashVal value 'lgDashDot'.
2848	DashStyle string `json:"dashStyle,omitempty"`
2849
2850	// EndArrow: The style of the arrow at the end of the line.
2851	//
2852	// Possible values:
2853	//   "ARROW_STYLE_UNSPECIFIED" - An unspecified arrow style.
2854	//   "NONE" - No arrow.
2855	//   "STEALTH_ARROW" - Arrow with notched back. Corresponds to ECMA-376
2856	// ST_LineEndType value
2857	// 'stealth'.
2858	//   "FILL_ARROW" - Filled arrow. Corresponds to ECMA-376 ST_LineEndType
2859	// value 'triangle'.
2860	//   "FILL_CIRCLE" - Filled circle. Corresponds to ECMA-376
2861	// ST_LineEndType value 'oval'.
2862	//   "FILL_SQUARE" - Filled square.
2863	//   "FILL_DIAMOND" - Filled diamond. Corresponds to ECMA-376
2864	// ST_LineEndType value 'diamond'.
2865	//   "OPEN_ARROW" - Hollow arrow.
2866	//   "OPEN_CIRCLE" - Hollow circle.
2867	//   "OPEN_SQUARE" - Hollow square.
2868	//   "OPEN_DIAMOND" - Hollow diamond.
2869	EndArrow string `json:"endArrow,omitempty"`
2870
2871	// EndConnection: The connection at the end of the line. If unset, there
2872	// is no connection.
2873	//
2874	// Only lines with a Type indicating it is
2875	// a "connector" can have an `end_connection`.
2876	EndConnection *LineConnection `json:"endConnection,omitempty"`
2877
2878	// LineFill: The fill of the line. The default line fill matches the
2879	// defaults for new
2880	// lines created in the Slides editor.
2881	LineFill *LineFill `json:"lineFill,omitempty"`
2882
2883	// Link: The hyperlink destination of the line. If unset, there is no
2884	// link.
2885	Link *Link `json:"link,omitempty"`
2886
2887	// StartArrow: The style of the arrow at the beginning of the line.
2888	//
2889	// Possible values:
2890	//   "ARROW_STYLE_UNSPECIFIED" - An unspecified arrow style.
2891	//   "NONE" - No arrow.
2892	//   "STEALTH_ARROW" - Arrow with notched back. Corresponds to ECMA-376
2893	// ST_LineEndType value
2894	// 'stealth'.
2895	//   "FILL_ARROW" - Filled arrow. Corresponds to ECMA-376 ST_LineEndType
2896	// value 'triangle'.
2897	//   "FILL_CIRCLE" - Filled circle. Corresponds to ECMA-376
2898	// ST_LineEndType value 'oval'.
2899	//   "FILL_SQUARE" - Filled square.
2900	//   "FILL_DIAMOND" - Filled diamond. Corresponds to ECMA-376
2901	// ST_LineEndType value 'diamond'.
2902	//   "OPEN_ARROW" - Hollow arrow.
2903	//   "OPEN_CIRCLE" - Hollow circle.
2904	//   "OPEN_SQUARE" - Hollow square.
2905	//   "OPEN_DIAMOND" - Hollow diamond.
2906	StartArrow string `json:"startArrow,omitempty"`
2907
2908	// StartConnection: The connection at the beginning of the line. If
2909	// unset, there is no
2910	// connection.
2911	//
2912	// Only lines with a Type indicating it is
2913	// a "connector" can have a `start_connection`.
2914	StartConnection *LineConnection `json:"startConnection,omitempty"`
2915
2916	// Weight: The thickness of the line.
2917	Weight *Dimension `json:"weight,omitempty"`
2918
2919	// ForceSendFields is a list of field names (e.g. "DashStyle") to
2920	// unconditionally include in API requests. By default, fields with
2921	// empty values are omitted from API requests. However, any non-pointer,
2922	// non-interface field appearing in ForceSendFields will be sent to the
2923	// server regardless of whether the field is empty or not. This may be
2924	// used to include empty fields in Patch requests.
2925	ForceSendFields []string `json:"-"`
2926
2927	// NullFields is a list of field names (e.g. "DashStyle") to include in
2928	// API requests with the JSON null value. By default, fields with empty
2929	// values are omitted from API requests. However, any field with an
2930	// empty value appearing in NullFields will be sent to the server as
2931	// null. It is an error if a field in this list has a non-empty value.
2932	// This may be used to include null fields in Patch requests.
2933	NullFields []string `json:"-"`
2934}
2935
2936func (s *LineProperties) MarshalJSON() ([]byte, error) {
2937	type NoMethod LineProperties
2938	raw := NoMethod(*s)
2939	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2940}
2941
2942// Link: A hypertext link.
2943type Link struct {
2944	// PageObjectId: If set, indicates this is a link to the specific page
2945	// in this
2946	// presentation with this ID. A page with this ID may not exist.
2947	PageObjectId string `json:"pageObjectId,omitempty"`
2948
2949	// RelativeLink: If set, indicates this is a link to a slide in this
2950	// presentation,
2951	// addressed by its position.
2952	//
2953	// Possible values:
2954	//   "RELATIVE_SLIDE_LINK_UNSPECIFIED" - An unspecified relative slide
2955	// link.
2956	//   "NEXT_SLIDE" - A link to the next slide.
2957	//   "PREVIOUS_SLIDE" - A link to the previous slide.
2958	//   "FIRST_SLIDE" - A link to the first slide in the presentation.
2959	//   "LAST_SLIDE" - A link to the last slide in the presentation.
2960	RelativeLink string `json:"relativeLink,omitempty"`
2961
2962	// SlideIndex: If set, indicates this is a link to the slide at this
2963	// zero-based index
2964	// in the presentation. There may not be a slide at this index.
2965	SlideIndex int64 `json:"slideIndex,omitempty"`
2966
2967	// Url: If set, indicates this is a link to the external web page at
2968	// this URL.
2969	Url string `json:"url,omitempty"`
2970
2971	// ForceSendFields is a list of field names (e.g. "PageObjectId") to
2972	// unconditionally include in API requests. By default, fields with
2973	// empty values are omitted from API requests. However, any non-pointer,
2974	// non-interface field appearing in ForceSendFields will be sent to the
2975	// server regardless of whether the field is empty or not. This may be
2976	// used to include empty fields in Patch requests.
2977	ForceSendFields []string `json:"-"`
2978
2979	// NullFields is a list of field names (e.g. "PageObjectId") to include
2980	// in API requests with the JSON null value. By default, fields with
2981	// empty values are omitted from API requests. However, any field with
2982	// an empty value appearing in NullFields will be sent to the server as
2983	// null. It is an error if a field in this list has a non-empty value.
2984	// This may be used to include null fields in Patch requests.
2985	NullFields []string `json:"-"`
2986}
2987
2988func (s *Link) MarshalJSON() ([]byte, error) {
2989	type NoMethod Link
2990	raw := NoMethod(*s)
2991	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2992}
2993
2994// List: A List describes the look and feel of bullets belonging to
2995// paragraphs
2996// associated with a list. A paragraph that is part of a list has an
2997// implicit
2998// reference to that list's ID.
2999type List struct {
3000	// ListId: The ID of the list.
3001	ListId string `json:"listId,omitempty"`
3002
3003	// NestingLevel: A map of nesting levels to the properties of bullets at
3004	// the associated
3005	// level. A list has at most nine levels of nesting, so the possible
3006	// values
3007	// for the keys of this map are 0 through 8, inclusive.
3008	NestingLevel map[string]NestingLevel `json:"nestingLevel,omitempty"`
3009
3010	// ForceSendFields is a list of field names (e.g. "ListId") to
3011	// unconditionally include in API requests. By default, fields with
3012	// empty values are omitted from API requests. However, any non-pointer,
3013	// non-interface field appearing in ForceSendFields will be sent to the
3014	// server regardless of whether the field is empty or not. This may be
3015	// used to include empty fields in Patch requests.
3016	ForceSendFields []string `json:"-"`
3017
3018	// NullFields is a list of field names (e.g. "ListId") to include in API
3019	// requests with the JSON null value. By default, fields with empty
3020	// values are omitted from API requests. However, any field with an
3021	// empty value appearing in NullFields will be sent to the server as
3022	// null. It is an error if a field in this list has a non-empty value.
3023	// This may be used to include null fields in Patch requests.
3024	NullFields []string `json:"-"`
3025}
3026
3027func (s *List) MarshalJSON() ([]byte, error) {
3028	type NoMethod List
3029	raw := NoMethod(*s)
3030	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3031}
3032
3033// MasterProperties: The properties of Page that are only
3034// relevant for pages with page_type MASTER.
3035type MasterProperties struct {
3036	// DisplayName: The human-readable name of the master.
3037	DisplayName string `json:"displayName,omitempty"`
3038
3039	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3040	// unconditionally include in API requests. By default, fields with
3041	// empty values are omitted from API requests. However, any non-pointer,
3042	// non-interface field appearing in ForceSendFields will be sent to the
3043	// server regardless of whether the field is empty or not. This may be
3044	// used to include empty fields in Patch requests.
3045	ForceSendFields []string `json:"-"`
3046
3047	// NullFields is a list of field names (e.g. "DisplayName") to include
3048	// in API requests with the JSON null value. By default, fields with
3049	// empty values are omitted from API requests. However, any field with
3050	// an empty value appearing in NullFields will be sent to the server as
3051	// null. It is an error if a field in this list has a non-empty value.
3052	// This may be used to include null fields in Patch requests.
3053	NullFields []string `json:"-"`
3054}
3055
3056func (s *MasterProperties) MarshalJSON() ([]byte, error) {
3057	type NoMethod MasterProperties
3058	raw := NoMethod(*s)
3059	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3060}
3061
3062// MergeTableCellsRequest: Merges cells in a Table.
3063type MergeTableCellsRequest struct {
3064	// ObjectId: The object ID of the table.
3065	ObjectId string `json:"objectId,omitempty"`
3066
3067	// TableRange: The table range specifying which cells of the table to
3068	// merge.
3069	//
3070	// Any text in the cells being merged will be concatenated and stored in
3071	// the
3072	// upper-left ("head") cell of the range. If the range is
3073	// non-rectangular
3074	// (which can occur in some cases where the range covers cells that
3075	// are
3076	// already merged), a 400 bad request error is returned.
3077	TableRange *TableRange `json:"tableRange,omitempty"`
3078
3079	// ForceSendFields is a list of field names (e.g. "ObjectId") to
3080	// unconditionally include in API requests. By default, fields with
3081	// empty values are omitted from API requests. However, any non-pointer,
3082	// non-interface field appearing in ForceSendFields will be sent to the
3083	// server regardless of whether the field is empty or not. This may be
3084	// used to include empty fields in Patch requests.
3085	ForceSendFields []string `json:"-"`
3086
3087	// NullFields is a list of field names (e.g. "ObjectId") to include in
3088	// API requests with the JSON null value. By default, fields with empty
3089	// values are omitted from API requests. However, any field with an
3090	// empty value appearing in NullFields will be sent to the server as
3091	// null. It is an error if a field in this list has a non-empty value.
3092	// This may be used to include null fields in Patch requests.
3093	NullFields []string `json:"-"`
3094}
3095
3096func (s *MergeTableCellsRequest) MarshalJSON() ([]byte, error) {
3097	type NoMethod MergeTableCellsRequest
3098	raw := NoMethod(*s)
3099	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3100}
3101
3102// NestingLevel: Contains properties describing the look and feel of a
3103// list bullet at a given
3104// level of nesting.
3105type NestingLevel struct {
3106	// BulletStyle: The style of a bullet at this level of nesting.
3107	BulletStyle *TextStyle `json:"bulletStyle,omitempty"`
3108
3109	// ForceSendFields is a list of field names (e.g. "BulletStyle") to
3110	// unconditionally include in API requests. By default, fields with
3111	// empty values are omitted from API requests. However, any non-pointer,
3112	// non-interface field appearing in ForceSendFields will be sent to the
3113	// server regardless of whether the field is empty or not. This may be
3114	// used to include empty fields in Patch requests.
3115	ForceSendFields []string `json:"-"`
3116
3117	// NullFields is a list of field names (e.g. "BulletStyle") to include
3118	// in API requests with the JSON null value. By default, fields with
3119	// empty values are omitted from API requests. However, any field with
3120	// an empty value appearing in NullFields will be sent to the server as
3121	// null. It is an error if a field in this list has a non-empty value.
3122	// This may be used to include null fields in Patch requests.
3123	NullFields []string `json:"-"`
3124}
3125
3126func (s *NestingLevel) MarshalJSON() ([]byte, error) {
3127	type NoMethod NestingLevel
3128	raw := NoMethod(*s)
3129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3130}
3131
3132// NotesProperties: The properties of Page that are only
3133// relevant for pages with page_type NOTES.
3134type NotesProperties struct {
3135	// SpeakerNotesObjectId: The object ID of the shape on this notes page
3136	// that contains the speaker
3137	// notes for the corresponding slide.
3138	// The actual shape may not always exist on the notes page. Inserting
3139	// text
3140	// using this object ID will automatically create the shape. In this
3141	// case, the
3142	// actual shape may have different object ID. The `GetPresentation`
3143	// or
3144	// `GetPage` action will always return the latest object ID.
3145	SpeakerNotesObjectId string `json:"speakerNotesObjectId,omitempty"`
3146
3147	// ForceSendFields is a list of field names (e.g.
3148	// "SpeakerNotesObjectId") to unconditionally include in API requests.
3149	// By default, fields with empty values are omitted from API requests.
3150	// However, any non-pointer, non-interface field appearing in
3151	// ForceSendFields will be sent to the server regardless of whether the
3152	// field is empty or not. This may be used to include empty fields in
3153	// Patch requests.
3154	ForceSendFields []string `json:"-"`
3155
3156	// NullFields is a list of field names (e.g. "SpeakerNotesObjectId") to
3157	// include in API requests with the JSON null value. By default, fields
3158	// with empty values are omitted from API requests. However, any field
3159	// with an empty value appearing in NullFields will be sent to the
3160	// server as null. It is an error if a field in this list has a
3161	// non-empty value. This may be used to include null fields in Patch
3162	// requests.
3163	NullFields []string `json:"-"`
3164}
3165
3166func (s *NotesProperties) MarshalJSON() ([]byte, error) {
3167	type NoMethod NotesProperties
3168	raw := NoMethod(*s)
3169	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3170}
3171
3172// OpaqueColor: A themeable solid color value.
3173type OpaqueColor struct {
3174	// RgbColor: An opaque RGB color.
3175	RgbColor *RgbColor `json:"rgbColor,omitempty"`
3176
3177	// ThemeColor: An opaque theme color.
3178	//
3179	// Possible values:
3180	//   "THEME_COLOR_TYPE_UNSPECIFIED" - Unspecified theme color. This
3181	// value should not be used.
3182	//   "DARK1" - Represents the first dark color.
3183	//   "LIGHT1" - Represents the first light color.
3184	//   "DARK2" - Represents the second dark color.
3185	//   "LIGHT2" - Represents the second light color.
3186	//   "ACCENT1" - Represents the first accent color.
3187	//   "ACCENT2" - Represents the second accent color.
3188	//   "ACCENT3" - Represents the third accent color.
3189	//   "ACCENT4" - Represents the fourth accent color.
3190	//   "ACCENT5" - Represents the fifth accent color.
3191	//   "ACCENT6" - Represents the sixth accent color.
3192	//   "HYPERLINK" - Represents the color to use for hyperlinks.
3193	//   "FOLLOWED_HYPERLINK" - Represents the color to use for visited
3194	// hyperlinks.
3195	//   "TEXT1" - Represents the first text color.
3196	//   "BACKGROUND1" - Represents the first background color.
3197	//   "TEXT2" - Represents the second text color.
3198	//   "BACKGROUND2" - Represents the second background color.
3199	ThemeColor string `json:"themeColor,omitempty"`
3200
3201	// ForceSendFields is a list of field names (e.g. "RgbColor") to
3202	// unconditionally include in API requests. By default, fields with
3203	// empty values are omitted from API requests. However, any non-pointer,
3204	// non-interface field appearing in ForceSendFields will be sent to the
3205	// server regardless of whether the field is empty or not. This may be
3206	// used to include empty fields in Patch requests.
3207	ForceSendFields []string `json:"-"`
3208
3209	// NullFields is a list of field names (e.g. "RgbColor") to include in
3210	// API requests with the JSON null value. By default, fields with empty
3211	// values are omitted from API requests. However, any field with an
3212	// empty value appearing in NullFields will be sent to the server as
3213	// null. It is an error if a field in this list has a non-empty value.
3214	// This may be used to include null fields in Patch requests.
3215	NullFields []string `json:"-"`
3216}
3217
3218func (s *OpaqueColor) MarshalJSON() ([]byte, error) {
3219	type NoMethod OpaqueColor
3220	raw := NoMethod(*s)
3221	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3222}
3223
3224// OptionalColor: A color that can either be fully opaque or fully
3225// transparent.
3226type OptionalColor struct {
3227	// OpaqueColor: If set, this will be used as an opaque color. If unset,
3228	// this represents
3229	// a transparent color.
3230	OpaqueColor *OpaqueColor `json:"opaqueColor,omitempty"`
3231
3232	// ForceSendFields is a list of field names (e.g. "OpaqueColor") to
3233	// unconditionally include in API requests. By default, fields with
3234	// empty values are omitted from API requests. However, any non-pointer,
3235	// non-interface field appearing in ForceSendFields will be sent to the
3236	// server regardless of whether the field is empty or not. This may be
3237	// used to include empty fields in Patch requests.
3238	ForceSendFields []string `json:"-"`
3239
3240	// NullFields is a list of field names (e.g. "OpaqueColor") to include
3241	// in API requests with the JSON null value. By default, fields with
3242	// empty values are omitted from API requests. However, any field with
3243	// an empty value appearing in NullFields will be sent to the server as
3244	// null. It is an error if a field in this list has a non-empty value.
3245	// This may be used to include null fields in Patch requests.
3246	NullFields []string `json:"-"`
3247}
3248
3249func (s *OptionalColor) MarshalJSON() ([]byte, error) {
3250	type NoMethod OptionalColor
3251	raw := NoMethod(*s)
3252	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3253}
3254
3255// Outline: The outline of a PageElement.
3256//
3257// If these fields are unset, they may be inherited from a parent
3258// placeholder
3259// if it exists. If there is no parent, the fields will default to the
3260// value
3261// used for new page elements created in the Slides editor, which may
3262// depend on
3263// the page element kind.
3264type Outline struct {
3265	// DashStyle: The dash style of the outline.
3266	//
3267	// Possible values:
3268	//   "DASH_STYLE_UNSPECIFIED" - Unspecified dash style.
3269	//   "SOLID" - Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal
3270	// value 'solid'.
3271	// This is the default dash style.
3272	//   "DOT" - Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal
3273	// value 'dot'.
3274	//   "DASH" - Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal
3275	// value 'dash'.
3276	//   "DASH_DOT" - Alternating dashes and dots. Corresponds to ECMA-376
3277	// ST_PresetLineDashVal
3278	// value 'dashDot'.
3279	//   "LONG_DASH" - Line with large dashes. Corresponds to ECMA-376
3280	// ST_PresetLineDashVal
3281	// value 'lgDash'.
3282	//   "LONG_DASH_DOT" - Alternating large dashes and dots. Corresponds to
3283	// ECMA-376
3284	// ST_PresetLineDashVal value 'lgDashDot'.
3285	DashStyle string `json:"dashStyle,omitempty"`
3286
3287	// OutlineFill: The fill of the outline.
3288	OutlineFill *OutlineFill `json:"outlineFill,omitempty"`
3289
3290	// PropertyState: The outline property state.
3291	//
3292	// Updating the outline on a page element will implicitly update this
3293	// field
3294	// to `RENDERED`, unless another value is specified in the same request.
3295	// To
3296	// have no outline on a page element, set this field to `NOT_RENDERED`.
3297	// In
3298	// this case, any other outline fields set in the same request will
3299	// be
3300	// ignored.
3301	//
3302	// Possible values:
3303	//   "RENDERED" - If a property's state is RENDERED, then the element
3304	// has the corresponding
3305	// property when rendered on a page. If the element is a placeholder
3306	// shape as
3307	// determined by the placeholder
3308	// field, and it inherits from a placeholder shape, the corresponding
3309	// field
3310	// may be unset, meaning that the property value is inherited from a
3311	// parent
3312	// placeholder. If the element does not inherit, then the field will
3313	// contain
3314	// the rendered value. This is the default value.
3315	//   "NOT_RENDERED" - If a property's state is NOT_RENDERED, then the
3316	// element does not have the
3317	// corresponding property when rendered on a page. However, the field
3318	// may
3319	// still be set so it can be inherited by child shapes. To remove a
3320	// property
3321	// from a rendered element, set its property_state to NOT_RENDERED.
3322	//   "INHERIT" - If a property's state is INHERIT, then the property
3323	// state uses the value of
3324	// corresponding `property_state` field on the parent shape. Elements
3325	// that do
3326	// not inherit will never have an INHERIT property state.
3327	PropertyState string `json:"propertyState,omitempty"`
3328
3329	// Weight: The thickness of the outline.
3330	Weight *Dimension `json:"weight,omitempty"`
3331
3332	// ForceSendFields is a list of field names (e.g. "DashStyle") to
3333	// unconditionally include in API requests. By default, fields with
3334	// empty values are omitted from API requests. However, any non-pointer,
3335	// non-interface field appearing in ForceSendFields will be sent to the
3336	// server regardless of whether the field is empty or not. This may be
3337	// used to include empty fields in Patch requests.
3338	ForceSendFields []string `json:"-"`
3339
3340	// NullFields is a list of field names (e.g. "DashStyle") to include in
3341	// API requests with the JSON null value. By default, fields with empty
3342	// values are omitted from API requests. However, any field with an
3343	// empty value appearing in NullFields will be sent to the server as
3344	// null. It is an error if a field in this list has a non-empty value.
3345	// This may be used to include null fields in Patch requests.
3346	NullFields []string `json:"-"`
3347}
3348
3349func (s *Outline) MarshalJSON() ([]byte, error) {
3350	type NoMethod Outline
3351	raw := NoMethod(*s)
3352	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3353}
3354
3355// OutlineFill: The fill of the outline.
3356type OutlineFill struct {
3357	// SolidFill: Solid color fill.
3358	SolidFill *SolidFill `json:"solidFill,omitempty"`
3359
3360	// ForceSendFields is a list of field names (e.g. "SolidFill") to
3361	// unconditionally include in API requests. By default, fields with
3362	// empty values are omitted from API requests. However, any non-pointer,
3363	// non-interface field appearing in ForceSendFields will be sent to the
3364	// server regardless of whether the field is empty or not. This may be
3365	// used to include empty fields in Patch requests.
3366	ForceSendFields []string `json:"-"`
3367
3368	// NullFields is a list of field names (e.g. "SolidFill") to include in
3369	// API requests with the JSON null value. By default, fields with empty
3370	// values are omitted from API requests. However, any field with an
3371	// empty value appearing in NullFields will be sent to the server as
3372	// null. It is an error if a field in this list has a non-empty value.
3373	// This may be used to include null fields in Patch requests.
3374	NullFields []string `json:"-"`
3375}
3376
3377func (s *OutlineFill) MarshalJSON() ([]byte, error) {
3378	type NoMethod OutlineFill
3379	raw := NoMethod(*s)
3380	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3381}
3382
3383// Page: A page in a presentation.
3384type Page struct {
3385	// LayoutProperties: Layout specific properties. Only set if page_type =
3386	// LAYOUT.
3387	LayoutProperties *LayoutProperties `json:"layoutProperties,omitempty"`
3388
3389	// MasterProperties: Master specific properties. Only set if page_type =
3390	// MASTER.
3391	MasterProperties *MasterProperties `json:"masterProperties,omitempty"`
3392
3393	// NotesProperties: Notes specific properties. Only set if page_type =
3394	// NOTES.
3395	NotesProperties *NotesProperties `json:"notesProperties,omitempty"`
3396
3397	// ObjectId: The object ID for this page. Object IDs used by
3398	// Page and
3399	// PageElement share the same namespace.
3400	ObjectId string `json:"objectId,omitempty"`
3401
3402	// PageElements: The page elements rendered on the page.
3403	PageElements []*PageElement `json:"pageElements,omitempty"`
3404
3405	// PageProperties: The properties of the page.
3406	PageProperties *PageProperties `json:"pageProperties,omitempty"`
3407
3408	// PageType: The type of the page.
3409	//
3410	// Possible values:
3411	//   "SLIDE" - A slide page.
3412	//   "MASTER" - A master slide page.
3413	//   "LAYOUT" - A layout page.
3414	//   "NOTES" - A notes page.
3415	//   "NOTES_MASTER" - A notes master page.
3416	PageType string `json:"pageType,omitempty"`
3417
3418	// RevisionId: The revision ID of the presentation containing this page.
3419	// Can be used in
3420	// update requests to assert that the presentation revision hasn't
3421	// changed
3422	// since the last read operation. Only populated if the user has edit
3423	// access
3424	// to the presentation.
3425	//
3426	// The format of the revision ID may change over time, so it should be
3427	// treated
3428	// opaquely. A returned revision ID is only guaranteed to be valid for
3429	// 24
3430	// hours after it has been returned and cannot be shared across users.
3431	// If the
3432	// revision ID is unchanged between calls, then the presentation has
3433	// not
3434	// changed. Conversely, a changed ID (for the same presentation and
3435	// user)
3436	// usually means the presentation has been updated; however, a changed
3437	// ID can
3438	// also be due to internal factors such as ID format changes.
3439	RevisionId string `json:"revisionId,omitempty"`
3440
3441	// SlideProperties: Slide specific properties. Only set if page_type =
3442	// SLIDE.
3443	SlideProperties *SlideProperties `json:"slideProperties,omitempty"`
3444
3445	// ServerResponse contains the HTTP response code and headers from the
3446	// server.
3447	googleapi.ServerResponse `json:"-"`
3448
3449	// ForceSendFields is a list of field names (e.g. "LayoutProperties") to
3450	// unconditionally include in API requests. By default, fields with
3451	// empty values are omitted from API requests. However, any non-pointer,
3452	// non-interface field appearing in ForceSendFields will be sent to the
3453	// server regardless of whether the field is empty or not. This may be
3454	// used to include empty fields in Patch requests.
3455	ForceSendFields []string `json:"-"`
3456
3457	// NullFields is a list of field names (e.g. "LayoutProperties") to
3458	// include in API requests with the JSON null value. By default, fields
3459	// with empty values are omitted from API requests. However, any field
3460	// with an empty value appearing in NullFields will be sent to the
3461	// server as null. It is an error if a field in this list has a
3462	// non-empty value. This may be used to include null fields in Patch
3463	// requests.
3464	NullFields []string `json:"-"`
3465}
3466
3467func (s *Page) MarshalJSON() ([]byte, error) {
3468	type NoMethod Page
3469	raw := NoMethod(*s)
3470	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3471}
3472
3473// PageBackgroundFill: The page background fill.
3474type PageBackgroundFill struct {
3475	// PropertyState: The background fill property state.
3476	//
3477	// Updating the fill on a page will implicitly update this field
3478	// to
3479	// `RENDERED`, unless another value is specified in the same request.
3480	// To
3481	// have no fill on a page, set this field to `NOT_RENDERED`. In this
3482	// case,
3483	// any other fill fields set in the same request will be ignored.
3484	//
3485	// Possible values:
3486	//   "RENDERED" - If a property's state is RENDERED, then the element
3487	// has the corresponding
3488	// property when rendered on a page. If the element is a placeholder
3489	// shape as
3490	// determined by the placeholder
3491	// field, and it inherits from a placeholder shape, the corresponding
3492	// field
3493	// may be unset, meaning that the property value is inherited from a
3494	// parent
3495	// placeholder. If the element does not inherit, then the field will
3496	// contain
3497	// the rendered value. This is the default value.
3498	//   "NOT_RENDERED" - If a property's state is NOT_RENDERED, then the
3499	// element does not have the
3500	// corresponding property when rendered on a page. However, the field
3501	// may
3502	// still be set so it can be inherited by child shapes. To remove a
3503	// property
3504	// from a rendered element, set its property_state to NOT_RENDERED.
3505	//   "INHERIT" - If a property's state is INHERIT, then the property
3506	// state uses the value of
3507	// corresponding `property_state` field on the parent shape. Elements
3508	// that do
3509	// not inherit will never have an INHERIT property state.
3510	PropertyState string `json:"propertyState,omitempty"`
3511
3512	// SolidFill: Solid color fill.
3513	SolidFill *SolidFill `json:"solidFill,omitempty"`
3514
3515	// StretchedPictureFill: Stretched picture fill.
3516	StretchedPictureFill *StretchedPictureFill `json:"stretchedPictureFill,omitempty"`
3517
3518	// ForceSendFields is a list of field names (e.g. "PropertyState") to
3519	// unconditionally include in API requests. By default, fields with
3520	// empty values are omitted from API requests. However, any non-pointer,
3521	// non-interface field appearing in ForceSendFields will be sent to the
3522	// server regardless of whether the field is empty or not. This may be
3523	// used to include empty fields in Patch requests.
3524	ForceSendFields []string `json:"-"`
3525
3526	// NullFields is a list of field names (e.g. "PropertyState") to include
3527	// in API requests with the JSON null value. By default, fields with
3528	// empty values are omitted from API requests. However, any field with
3529	// an empty value appearing in NullFields will be sent to the server as
3530	// null. It is an error if a field in this list has a non-empty value.
3531	// This may be used to include null fields in Patch requests.
3532	NullFields []string `json:"-"`
3533}
3534
3535func (s *PageBackgroundFill) MarshalJSON() ([]byte, error) {
3536	type NoMethod PageBackgroundFill
3537	raw := NoMethod(*s)
3538	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3539}
3540
3541// PageElement: A visual element rendered on a page.
3542type PageElement struct {
3543	// Description: The description of the page element. Combined with title
3544	// to display alt
3545	// text.
3546	Description string `json:"description,omitempty"`
3547
3548	// ElementGroup: A collection of page elements joined as a single unit.
3549	ElementGroup *Group `json:"elementGroup,omitempty"`
3550
3551	// Image: An image page element.
3552	Image *Image `json:"image,omitempty"`
3553
3554	// Line: A line page element.
3555	Line *Line `json:"line,omitempty"`
3556
3557	// ObjectId: The object ID for this page element. Object IDs used
3558	// by
3559	// google.apps.slides.v1.Page and
3560	// google.apps.slides.v1.PageElement share the same namespace.
3561	ObjectId string `json:"objectId,omitempty"`
3562
3563	// Shape: A generic shape.
3564	Shape *Shape `json:"shape,omitempty"`
3565
3566	// SheetsChart: A linked chart embedded from Google Sheets. Unlinked
3567	// charts are
3568	// represented as images.
3569	SheetsChart *SheetsChart `json:"sheetsChart,omitempty"`
3570
3571	// Size: The size of the page element.
3572	Size *Size `json:"size,omitempty"`
3573
3574	// Table: A table page element.
3575	Table *Table `json:"table,omitempty"`
3576
3577	// Title: The title of the page element. Combined with description to
3578	// display alt
3579	// text.
3580	Title string `json:"title,omitempty"`
3581
3582	// Transform: The transform of the page element.
3583	//
3584	// The visual appearance of the page element is determined by its
3585	// absolute
3586	// transform. To compute the absolute transform, preconcatenate a
3587	// page
3588	// element's transform with the transforms of all of its parent groups.
3589	// If the
3590	// page element is not in a group, its absolute transform is the same as
3591	// the
3592	// value in this field.
3593	//
3594	// The initial transform for the newly created Group is always the
3595	// identity transform.
3596	Transform *AffineTransform `json:"transform,omitempty"`
3597
3598	// Video: A video page element.
3599	Video *Video `json:"video,omitempty"`
3600
3601	// WordArt: A word art page element.
3602	WordArt *WordArt `json:"wordArt,omitempty"`
3603
3604	// ForceSendFields is a list of field names (e.g. "Description") to
3605	// unconditionally include in API requests. By default, fields with
3606	// empty values are omitted from API requests. However, any non-pointer,
3607	// non-interface field appearing in ForceSendFields will be sent to the
3608	// server regardless of whether the field is empty or not. This may be
3609	// used to include empty fields in Patch requests.
3610	ForceSendFields []string `json:"-"`
3611
3612	// NullFields is a list of field names (e.g. "Description") to include
3613	// in API requests with the JSON null value. By default, fields with
3614	// empty values are omitted from API requests. However, any field with
3615	// an empty value appearing in NullFields will be sent to the server as
3616	// null. It is an error if a field in this list has a non-empty value.
3617	// This may be used to include null fields in Patch requests.
3618	NullFields []string `json:"-"`
3619}
3620
3621func (s *PageElement) MarshalJSON() ([]byte, error) {
3622	type NoMethod PageElement
3623	raw := NoMethod(*s)
3624	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3625}
3626
3627// PageElementProperties: Common properties for a page element.
3628//
3629// Note: When you initially create a
3630// PageElement, the API may modify
3631// the values of both `size` and `transform`, but the
3632// visual size will be unchanged.
3633type PageElementProperties struct {
3634	// PageObjectId: The object ID of the page where the element is located.
3635	PageObjectId string `json:"pageObjectId,omitempty"`
3636
3637	// Size: The size of the element.
3638	Size *Size `json:"size,omitempty"`
3639
3640	// Transform: The transform for the element.
3641	Transform *AffineTransform `json:"transform,omitempty"`
3642
3643	// ForceSendFields is a list of field names (e.g. "PageObjectId") to
3644	// unconditionally include in API requests. By default, fields with
3645	// empty values are omitted from API requests. However, any non-pointer,
3646	// non-interface field appearing in ForceSendFields will be sent to the
3647	// server regardless of whether the field is empty or not. This may be
3648	// used to include empty fields in Patch requests.
3649	ForceSendFields []string `json:"-"`
3650
3651	// NullFields is a list of field names (e.g. "PageObjectId") to include
3652	// in API requests with the JSON null value. By default, fields with
3653	// empty values are omitted from API requests. However, any field with
3654	// an empty value appearing in NullFields will be sent to the server as
3655	// null. It is an error if a field in this list has a non-empty value.
3656	// This may be used to include null fields in Patch requests.
3657	NullFields []string `json:"-"`
3658}
3659
3660func (s *PageElementProperties) MarshalJSON() ([]byte, error) {
3661	type NoMethod PageElementProperties
3662	raw := NoMethod(*s)
3663	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3664}
3665
3666// PageProperties: The properties of the Page.
3667//
3668// The page will inherit properties from the parent page. Depending on
3669// the page
3670// type the hierarchy is defined in either
3671// SlideProperties or
3672// LayoutProperties.
3673type PageProperties struct {
3674	// ColorScheme: The color scheme of the page. If unset, the color scheme
3675	// is inherited from
3676	// a parent page. If the page has no parent, the color scheme uses a
3677	// default
3678	// Slides color scheme, matching the defaults in the Slides
3679	// editor.
3680	//
3681	// Only the concrete colors of the first 12 ThemeColorTypes are
3682	// editable. In addition, only
3683	// the color scheme on `Master` pages can be updated. To update the
3684	// field, a
3685	// color scheme containing mappings from all the first 12
3686	// ThemeColorTypes to
3687	// their concrete colors must be provided. Colors for the
3688	// remaining
3689	// ThemeColorTypes will be ignored.
3690	ColorScheme *ColorScheme `json:"colorScheme,omitempty"`
3691
3692	// PageBackgroundFill: The background fill of the page. If unset, the
3693	// background fill is inherited
3694	// from a parent page if it exists. If the page has no parent, then
3695	// the
3696	// background fill defaults to the corresponding fill in the Slides
3697	// editor.
3698	PageBackgroundFill *PageBackgroundFill `json:"pageBackgroundFill,omitempty"`
3699
3700	// ForceSendFields is a list of field names (e.g. "ColorScheme") to
3701	// unconditionally include in API requests. By default, fields with
3702	// empty values are omitted from API requests. However, any non-pointer,
3703	// non-interface field appearing in ForceSendFields will be sent to the
3704	// server regardless of whether the field is empty or not. This may be
3705	// used to include empty fields in Patch requests.
3706	ForceSendFields []string `json:"-"`
3707
3708	// NullFields is a list of field names (e.g. "ColorScheme") to include
3709	// in API requests with the JSON null value. By default, fields with
3710	// empty values are omitted from API requests. However, any field with
3711	// an empty value appearing in NullFields will be sent to the server as
3712	// null. It is an error if a field in this list has a non-empty value.
3713	// This may be used to include null fields in Patch requests.
3714	NullFields []string `json:"-"`
3715}
3716
3717func (s *PageProperties) MarshalJSON() ([]byte, error) {
3718	type NoMethod PageProperties
3719	raw := NoMethod(*s)
3720	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3721}
3722
3723// ParagraphMarker: A TextElement kind that represents the beginning of
3724// a new paragraph.
3725type ParagraphMarker struct {
3726	// Bullet: The bullet for this paragraph. If not present, the paragraph
3727	// does not
3728	// belong to a list.
3729	Bullet *Bullet `json:"bullet,omitempty"`
3730
3731	// Style: The paragraph's style
3732	Style *ParagraphStyle `json:"style,omitempty"`
3733
3734	// ForceSendFields is a list of field names (e.g. "Bullet") to
3735	// unconditionally include in API requests. By default, fields with
3736	// empty values are omitted from API requests. However, any non-pointer,
3737	// non-interface field appearing in ForceSendFields will be sent to the
3738	// server regardless of whether the field is empty or not. This may be
3739	// used to include empty fields in Patch requests.
3740	ForceSendFields []string `json:"-"`
3741
3742	// NullFields is a list of field names (e.g. "Bullet") to include in API
3743	// requests with the JSON null value. By default, fields with empty
3744	// values are omitted from API requests. However, any field with an
3745	// empty value appearing in NullFields will be sent to the server as
3746	// null. It is an error if a field in this list has a non-empty value.
3747	// This may be used to include null fields in Patch requests.
3748	NullFields []string `json:"-"`
3749}
3750
3751func (s *ParagraphMarker) MarshalJSON() ([]byte, error) {
3752	type NoMethod ParagraphMarker
3753	raw := NoMethod(*s)
3754	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3755}
3756
3757// ParagraphStyle: Styles that apply to a whole paragraph.
3758//
3759// If this text is contained in a shape with a parent placeholder, then
3760// these paragraph styles may be
3761// inherited from the parent. Which paragraph styles are inherited
3762// depend on the
3763// nesting level of lists:
3764//
3765// * A paragraph not in a list will inherit its paragraph style from
3766// the
3767//   paragraph at the 0 nesting level of the list inside the parent
3768// placeholder.
3769// * A paragraph in a list will inherit its paragraph style from the
3770// paragraph
3771//   at its corresponding nesting level of the list inside the parent
3772//   placeholder.
3773//
3774// Inherited paragraph styles are represented as unset fields in this
3775// message.
3776type ParagraphStyle struct {
3777	// Alignment: The text alignment for this paragraph.
3778	//
3779	// Possible values:
3780	//   "ALIGNMENT_UNSPECIFIED" - The paragraph alignment is inherited from
3781	// the parent.
3782	//   "START" - The paragraph is aligned to the start of the line.
3783	// Left-aligned for
3784	// LTR text, right-aligned otherwise.
3785	//   "CENTER" - The paragraph is centered.
3786	//   "END" - The paragraph is aligned to the end of the line.
3787	// Right-aligned for
3788	// LTR text, left-aligned otherwise.
3789	//   "JUSTIFIED" - The paragraph is justified.
3790	Alignment string `json:"alignment,omitempty"`
3791
3792	// Direction: The text direction of this paragraph. If unset, the value
3793	// defaults to
3794	// LEFT_TO_RIGHT since
3795	// text direction is not inherited.
3796	//
3797	// Possible values:
3798	//   "TEXT_DIRECTION_UNSPECIFIED" - The text direction is inherited from
3799	// the parent.
3800	//   "LEFT_TO_RIGHT" - The text goes from left to right.
3801	//   "RIGHT_TO_LEFT" - The text goes from right to left.
3802	Direction string `json:"direction,omitempty"`
3803
3804	// IndentEnd: The amount indentation for the paragraph on the side that
3805	// corresponds to
3806	// the end of the text, based on the current text direction. If unset,
3807	// the
3808	// value is inherited from the parent.
3809	IndentEnd *Dimension `json:"indentEnd,omitempty"`
3810
3811	// IndentFirstLine: The amount of indentation for the start of the first
3812	// line of the paragraph.
3813	// If unset, the value is inherited from the parent.
3814	IndentFirstLine *Dimension `json:"indentFirstLine,omitempty"`
3815
3816	// IndentStart: The amount indentation for the paragraph on the side
3817	// that corresponds to
3818	// the start of the text, based on the current text direction. If unset,
3819	// the
3820	// value is inherited from the parent.
3821	IndentStart *Dimension `json:"indentStart,omitempty"`
3822
3823	// LineSpacing: The amount of space between lines, as a percentage of
3824	// normal, where normal
3825	// is represented as 100.0. If unset, the value is inherited from the
3826	// parent.
3827	LineSpacing float64 `json:"lineSpacing,omitempty"`
3828
3829	// SpaceAbove: The amount of extra space above the paragraph. If unset,
3830	// the value is
3831	// inherited from the parent.
3832	SpaceAbove *Dimension `json:"spaceAbove,omitempty"`
3833
3834	// SpaceBelow: The amount of extra space below the paragraph. If unset,
3835	// the value is
3836	// inherited from the parent.
3837	SpaceBelow *Dimension `json:"spaceBelow,omitempty"`
3838
3839	// SpacingMode: The spacing mode for the paragraph.
3840	//
3841	// Possible values:
3842	//   "SPACING_MODE_UNSPECIFIED" - The spacing mode is inherited from the
3843	// parent.
3844	//   "NEVER_COLLAPSE" - Paragraph spacing is always rendered.
3845	//   "COLLAPSE_LISTS" - Paragraph spacing is skipped between list
3846	// elements.
3847	SpacingMode string `json:"spacingMode,omitempty"`
3848
3849	// ForceSendFields is a list of field names (e.g. "Alignment") to
3850	// unconditionally include in API requests. By default, fields with
3851	// empty values are omitted from API requests. However, any non-pointer,
3852	// non-interface field appearing in ForceSendFields will be sent to the
3853	// server regardless of whether the field is empty or not. This may be
3854	// used to include empty fields in Patch requests.
3855	ForceSendFields []string `json:"-"`
3856
3857	// NullFields is a list of field names (e.g. "Alignment") to include in
3858	// API requests with the JSON null value. By default, fields with empty
3859	// values are omitted from API requests. However, any field with an
3860	// empty value appearing in NullFields will be sent to the server as
3861	// null. It is an error if a field in this list has a non-empty value.
3862	// This may be used to include null fields in Patch requests.
3863	NullFields []string `json:"-"`
3864}
3865
3866func (s *ParagraphStyle) MarshalJSON() ([]byte, error) {
3867	type NoMethod ParagraphStyle
3868	raw := NoMethod(*s)
3869	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3870}
3871
3872func (s *ParagraphStyle) UnmarshalJSON(data []byte) error {
3873	type NoMethod ParagraphStyle
3874	var s1 struct {
3875		LineSpacing gensupport.JSONFloat64 `json:"lineSpacing"`
3876		*NoMethod
3877	}
3878	s1.NoMethod = (*NoMethod)(s)
3879	if err := json.Unmarshal(data, &s1); err != nil {
3880		return err
3881	}
3882	s.LineSpacing = float64(s1.LineSpacing)
3883	return nil
3884}
3885
3886// Placeholder: The placeholder information that uniquely identifies a
3887// placeholder shape.
3888type Placeholder struct {
3889	// Index: The index of the placeholder. If the same placeholder types
3890	// are present in
3891	// the same page, they would have different index values.
3892	Index int64 `json:"index,omitempty"`
3893
3894	// ParentObjectId: The object ID of this shape's parent placeholder.
3895	// If unset, the parent placeholder shape does not exist, so the shape
3896	// does
3897	// not inherit properties from any other shape.
3898	ParentObjectId string `json:"parentObjectId,omitempty"`
3899
3900	// Type: The type of the placeholder.
3901	//
3902	// Possible values:
3903	//   "NONE" - Default value, signifies it is not a placeholder.
3904	//   "BODY" - Body text.
3905	//   "CHART" - Chart or graph.
3906	//   "CLIP_ART" - Clip art image.
3907	//   "CENTERED_TITLE" - Title centered.
3908	//   "DIAGRAM" - Diagram.
3909	//   "DATE_AND_TIME" - Date and time.
3910	//   "FOOTER" - Footer text.
3911	//   "HEADER" - Header text.
3912	//   "MEDIA" - Multimedia.
3913	//   "OBJECT" - Any content type.
3914	//   "PICTURE" - Picture.
3915	//   "SLIDE_NUMBER" - Number of a slide.
3916	//   "SUBTITLE" - Subtitle.
3917	//   "TABLE" - Table.
3918	//   "TITLE" - Slide title.
3919	//   "SLIDE_IMAGE" - Slide image.
3920	Type string `json:"type,omitempty"`
3921
3922	// ForceSendFields is a list of field names (e.g. "Index") to
3923	// unconditionally include in API requests. By default, fields with
3924	// empty values are omitted from API requests. However, any non-pointer,
3925	// non-interface field appearing in ForceSendFields will be sent to the
3926	// server regardless of whether the field is empty or not. This may be
3927	// used to include empty fields in Patch requests.
3928	ForceSendFields []string `json:"-"`
3929
3930	// NullFields is a list of field names (e.g. "Index") to include in API
3931	// requests with the JSON null value. By default, fields with empty
3932	// values are omitted from API requests. However, any field with an
3933	// empty value appearing in NullFields will be sent to the server as
3934	// null. It is an error if a field in this list has a non-empty value.
3935	// This may be used to include null fields in Patch requests.
3936	NullFields []string `json:"-"`
3937}
3938
3939func (s *Placeholder) MarshalJSON() ([]byte, error) {
3940	type NoMethod Placeholder
3941	raw := NoMethod(*s)
3942	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3943}
3944
3945// Presentation: A Google Slides presentation.
3946type Presentation struct {
3947	// Layouts: The layouts in the presentation. A layout is a template that
3948	// determines
3949	// how content is arranged and styled on the slides that inherit from
3950	// that
3951	// layout.
3952	Layouts []*Page `json:"layouts,omitempty"`
3953
3954	// Locale: The locale of the presentation, as an IETF BCP 47 language
3955	// tag.
3956	Locale string `json:"locale,omitempty"`
3957
3958	// Masters: The slide masters in the presentation. A slide master
3959	// contains all common
3960	// page elements and the common properties for a set of layouts. They
3961	// serve
3962	// three purposes:
3963	//
3964	// - Placeholder shapes on a master contain the default text styles and
3965	// shape
3966	//   properties of all placeholder shapes on pages that use that
3967	// master.
3968	// - The master page properties define the common page properties
3969	// inherited by
3970	//   its layouts.
3971	// - Any other shapes on the master slide will appear on all slides
3972	// using that
3973	//   master, regardless of their layout.
3974	Masters []*Page `json:"masters,omitempty"`
3975
3976	// NotesMaster: The notes master in the presentation. It serves three
3977	// purposes:
3978	//
3979	// - Placeholder shapes on a notes master contain the default text
3980	// styles and
3981	//   shape properties of all placeholder shapes on notes pages.
3982	// Specifically,
3983	//   a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and
3984	// a
3985	//   `BODY` placeholder shape contains the speaker notes.
3986	// - The notes master page properties define the common page properties
3987	//   inherited by all notes pages.
3988	// - Any other shapes on the notes master will appear on all notes
3989	// pages.
3990	//
3991	// The notes master is read-only.
3992	NotesMaster *Page `json:"notesMaster,omitempty"`
3993
3994	// PageSize: The size of pages in the presentation.
3995	PageSize *Size `json:"pageSize,omitempty"`
3996
3997	// PresentationId: The ID of the presentation.
3998	PresentationId string `json:"presentationId,omitempty"`
3999
4000	// RevisionId: The revision ID of the presentation. Can be used in
4001	// update requests
4002	// to assert that the presentation revision hasn't changed since the
4003	// last
4004	// read operation. Only populated if the user has edit access to
4005	// the
4006	// presentation.
4007	//
4008	// The format of the revision ID may change over time, so it should be
4009	// treated
4010	// opaquely. A returned revision ID is only guaranteed to be valid for
4011	// 24
4012	// hours after it has been returned and cannot be shared across users.
4013	// If the
4014	// revision ID is unchanged between calls, then the presentation has
4015	// not
4016	// changed. Conversely, a changed ID (for the same presentation and
4017	// user)
4018	// usually means the presentation has been updated; however, a changed
4019	// ID can
4020	// also be due to internal factors such as ID format changes.
4021	RevisionId string `json:"revisionId,omitempty"`
4022
4023	// Slides: The slides in the presentation.
4024	// A slide inherits properties from a slide layout.
4025	Slides []*Page `json:"slides,omitempty"`
4026
4027	// Title: The title of the presentation.
4028	Title string `json:"title,omitempty"`
4029
4030	// ServerResponse contains the HTTP response code and headers from the
4031	// server.
4032	googleapi.ServerResponse `json:"-"`
4033
4034	// ForceSendFields is a list of field names (e.g. "Layouts") to
4035	// unconditionally include in API requests. By default, fields with
4036	// empty values are omitted from API requests. However, any non-pointer,
4037	// non-interface field appearing in ForceSendFields will be sent to the
4038	// server regardless of whether the field is empty or not. This may be
4039	// used to include empty fields in Patch requests.
4040	ForceSendFields []string `json:"-"`
4041
4042	// NullFields is a list of field names (e.g. "Layouts") to include in
4043	// API requests with the JSON null value. By default, fields with empty
4044	// values are omitted from API requests. However, any field with an
4045	// empty value appearing in NullFields will be sent to the server as
4046	// null. It is an error if a field in this list has a non-empty value.
4047	// This may be used to include null fields in Patch requests.
4048	NullFields []string `json:"-"`
4049}
4050
4051func (s *Presentation) MarshalJSON() ([]byte, error) {
4052	type NoMethod Presentation
4053	raw := NoMethod(*s)
4054	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4055}
4056
4057// Range: Specifies a contiguous range of an indexed collection, such as
4058// characters in
4059// text.
4060type Range struct {
4061	// EndIndex: The optional zero-based index of the end of the
4062	// collection.
4063	// Required for `FIXED_RANGE` ranges.
4064	EndIndex int64 `json:"endIndex,omitempty"`
4065
4066	// StartIndex: The optional zero-based index of the beginning of the
4067	// collection.
4068	// Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges.
4069	StartIndex int64 `json:"startIndex,omitempty"`
4070
4071	// Type: The type of range.
4072	//
4073	// Possible values:
4074	//   "RANGE_TYPE_UNSPECIFIED" - Unspecified range type. This value must
4075	// not be used.
4076	//   "FIXED_RANGE" - A fixed range. Both the `start_index`
4077	// and
4078	// `end_index` must be specified.
4079	//   "FROM_START_INDEX" - Starts the range at `start_index` and
4080	// continues until the
4081	// end of the collection. The `end_index` must not be specified.
4082	//   "ALL" - Sets the range to be the whole length of the collection.
4083	// Both the
4084	// `start_index` and the `end_index` must not be
4085	// specified.
4086	Type string `json:"type,omitempty"`
4087
4088	// ForceSendFields is a list of field names (e.g. "EndIndex") to
4089	// unconditionally include in API requests. By default, fields with
4090	// empty values are omitted from API requests. However, any non-pointer,
4091	// non-interface field appearing in ForceSendFields will be sent to the
4092	// server regardless of whether the field is empty or not. This may be
4093	// used to include empty fields in Patch requests.
4094	ForceSendFields []string `json:"-"`
4095
4096	// NullFields is a list of field names (e.g. "EndIndex") to include in
4097	// API requests with the JSON null value. By default, fields with empty
4098	// values are omitted from API requests. However, any field with an
4099	// empty value appearing in NullFields will be sent to the server as
4100	// null. It is an error if a field in this list has a non-empty value.
4101	// This may be used to include null fields in Patch requests.
4102	NullFields []string `json:"-"`
4103}
4104
4105func (s *Range) MarshalJSON() ([]byte, error) {
4106	type NoMethod Range
4107	raw := NoMethod(*s)
4108	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4109}
4110
4111// Recolor: A recolor effect applied on an image.
4112type Recolor struct {
4113	// Name: The name of the recolor effect.
4114	//
4115	// The name is determined from the `recolor_stops` by matching the
4116	// gradient
4117	// against the colors in the page's current color scheme. This property
4118	// is
4119	// read-only.
4120	//
4121	// Possible values:
4122	//   "NONE" - No recolor effect. The default value.
4123	//   "LIGHT1" - A recolor effect that lightens the image using the
4124	// page's first available
4125	// color from its color scheme.
4126	//   "LIGHT2" - A recolor effect that lightens the image using the
4127	// page's second
4128	// available color from its color scheme.
4129	//   "LIGHT3" - A recolor effect that lightens the image using the
4130	// page's third available
4131	// color from its color scheme.
4132	//   "LIGHT4" - A recolor effect that lightens the image using the
4133	// page's forth available
4134	// color from its color scheme.
4135	//   "LIGHT5" - A recolor effect that lightens the image using the
4136	// page's fifth available
4137	// color from its color scheme.
4138	//   "LIGHT6" - A recolor effect that lightens the image using the
4139	// page's sixth available
4140	// color from its color scheme.
4141	//   "LIGHT7" - A recolor effect that lightens the image using the
4142	// page's seventh
4143	// available color from its color scheme.
4144	//   "LIGHT8" - A recolor effect that lightens the image using the
4145	// page's eighth
4146	// available color from its color scheme.
4147	//   "LIGHT9" - A recolor effect that lightens the image using the
4148	// page's ninth available
4149	// color from its color scheme.
4150	//   "LIGHT10" - A recolor effect that lightens the image using the
4151	// page's tenth available
4152	// color from its color scheme.
4153	//   "DARK1" - A recolor effect that darkens the image using the page's
4154	// first available
4155	// color from its color scheme.
4156	//   "DARK2" - A recolor effect that darkens the image using the page's
4157	// second available
4158	// color from its color scheme.
4159	//   "DARK3" - A recolor effect that darkens the image using the page's
4160	// third available
4161	// color from its color scheme.
4162	//   "DARK4" - A recolor effect that darkens the image using the page's
4163	// fourth available
4164	// color from its color scheme.
4165	//   "DARK5" - A recolor effect that darkens the image using the page's
4166	// fifth available
4167	// color from its color scheme.
4168	//   "DARK6" - A recolor effect that darkens the image using the page's
4169	// sixth available
4170	// color from its color scheme.
4171	//   "DARK7" - A recolor effect that darkens the image using the page's
4172	// seventh
4173	// available color from its color scheme.
4174	//   "DARK8" - A recolor effect that darkens the image using the page's
4175	// eighth available
4176	// color from its color scheme.
4177	//   "DARK9" - A recolor effect that darkens the image using the page's
4178	// ninth available
4179	// color from its color scheme.
4180	//   "DARK10" - A recolor effect that darkens the image using the page's
4181	// tenth available
4182	// color from its color scheme.
4183	//   "GRAYSCALE" - A recolor effect that recolors the image to
4184	// grayscale.
4185	//   "NEGATIVE" - A recolor effect that recolors the image to negative
4186	// grayscale.
4187	//   "SEPIA" - A recolor effect that recolors the image using the sepia
4188	// color.
4189	//   "CUSTOM" - Custom recolor effect. Refer to `recolor_stops` for the
4190	// concrete
4191	// gradient.
4192	Name string `json:"name,omitempty"`
4193
4194	// RecolorStops: The recolor effect is represented by a gradient, which
4195	// is a list of color
4196	// stops.
4197	//
4198	// The colors in the gradient will replace the corresponding colors
4199	// at
4200	// the same position in the color palette and apply to the image.
4201	// This
4202	// property is read-only.
4203	RecolorStops []*ColorStop `json:"recolorStops,omitempty"`
4204
4205	// ForceSendFields is a list of field names (e.g. "Name") to
4206	// unconditionally include in API requests. By default, fields with
4207	// empty values are omitted from API requests. However, any non-pointer,
4208	// non-interface field appearing in ForceSendFields will be sent to the
4209	// server regardless of whether the field is empty or not. This may be
4210	// used to include empty fields in Patch requests.
4211	ForceSendFields []string `json:"-"`
4212
4213	// NullFields is a list of field names (e.g. "Name") to include in API
4214	// requests with the JSON null value. By default, fields with empty
4215	// values are omitted from API requests. However, any field with an
4216	// empty value appearing in NullFields will be sent to the server as
4217	// null. It is an error if a field in this list has a non-empty value.
4218	// This may be used to include null fields in Patch requests.
4219	NullFields []string `json:"-"`
4220}
4221
4222func (s *Recolor) MarshalJSON() ([]byte, error) {
4223	type NoMethod Recolor
4224	raw := NoMethod(*s)
4225	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4226}
4227
4228// RefreshSheetsChartRequest: Refreshes an embedded Google Sheets chart
4229// by replacing it with the latest
4230// version of the chart from Google Sheets.
4231//
4232// NOTE: Refreshing charts requires  at least one of the
4233// spreadsheets.readonly,
4234// spreadsheets, drive.readonly, or drive OAuth scopes.
4235type RefreshSheetsChartRequest struct {
4236	// ObjectId: The object ID of the chart to refresh.
4237	ObjectId string `json:"objectId,omitempty"`
4238
4239	// ForceSendFields is a list of field names (e.g. "ObjectId") to
4240	// unconditionally include in API requests. By default, fields with
4241	// empty values are omitted from API requests. However, any non-pointer,
4242	// non-interface field appearing in ForceSendFields will be sent to the
4243	// server regardless of whether the field is empty or not. This may be
4244	// used to include empty fields in Patch requests.
4245	ForceSendFields []string `json:"-"`
4246
4247	// NullFields is a list of field names (e.g. "ObjectId") to include in
4248	// API requests with the JSON null value. By default, fields with empty
4249	// values are omitted from API requests. However, any field with an
4250	// empty value appearing in NullFields will be sent to the server as
4251	// null. It is an error if a field in this list has a non-empty value.
4252	// This may be used to include null fields in Patch requests.
4253	NullFields []string `json:"-"`
4254}
4255
4256func (s *RefreshSheetsChartRequest) MarshalJSON() ([]byte, error) {
4257	type NoMethod RefreshSheetsChartRequest
4258	raw := NoMethod(*s)
4259	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4260}
4261
4262// ReplaceAllShapesWithImageRequest: Replaces all shapes that match the
4263// given criteria with the provided image.
4264//
4265// The images replacing the shapes are rectangular after being inserted
4266// into
4267// the presentation and do not take on the forms of the shapes.
4268type ReplaceAllShapesWithImageRequest struct {
4269	// ContainsText: If set, this request will replace all of the shapes
4270	// that contain the
4271	// given text.
4272	ContainsText *SubstringMatchCriteria `json:"containsText,omitempty"`
4273
4274	// ImageReplaceMethod: The image replace method.
4275	//
4276	// If you specify both a `replace_method` and an `image_replace_method`,
4277	// the
4278	// `image_replace_method` takes precedence.
4279	//
4280	// If you do not specify a value for `image_replace_method`, but specify
4281	// a
4282	// value for `replace_method`, then the specified `replace_method` value
4283	// is
4284	// used.
4285	//
4286	// If you do not specify either, then CENTER_INSIDE is used.
4287	//
4288	// Possible values:
4289	//   "IMAGE_REPLACE_METHOD_UNSPECIFIED" - Unspecified image replace
4290	// method. This value must not be used.
4291	//   "CENTER_INSIDE" - Scales and centers the image to fit within the
4292	// bounds of the original
4293	// shape and maintains the image's aspect ratio. The rendered size of
4294	// the
4295	// image may be smaller than the size of the shape. This is the
4296	// default
4297	// method when one is not specified.
4298	//   "CENTER_CROP" - Scales and centers the image to fill the bounds of
4299	// the original shape.
4300	// The image may be cropped in order to fill the shape. The rendered
4301	// size of
4302	// the image will be the same as that of the original shape.
4303	ImageReplaceMethod string `json:"imageReplaceMethod,omitempty"`
4304
4305	// ImageUrl: The image URL.
4306	//
4307	// The image is fetched once at insertion time and a copy is stored
4308	// for
4309	// display inside the presentation. Images must be less than 50MB in
4310	// size,
4311	// cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or
4312	// GIF
4313	// format.
4314	//
4315	// The provided URL can be at most 2 kB in length. The URL itself is
4316	// saved
4317	// with the image, and exposed via the Image.source_url field.
4318	ImageUrl string `json:"imageUrl,omitempty"`
4319
4320	// PageObjectIds: If non-empty, limits the matches to page elements only
4321	// on the given pages.
4322	//
4323	// Returns a 400 bad request error if given the page object ID of
4324	// a
4325	// notes page or a
4326	// notes master, or if a
4327	// page with that object ID doesn't exist in the presentation.
4328	PageObjectIds []string `json:"pageObjectIds,omitempty"`
4329
4330	// ReplaceMethod: The replace method.
4331	//
4332	// <b>Deprecated</b>: use `image_replace_method` instead.
4333	//
4334	// If you specify both a `replace_method` and an `image_replace_method`,
4335	// the
4336	// `image_replace_method` takes precedence.
4337	//
4338	// Possible values:
4339	//   "CENTER_INSIDE" - Scales and centers the image to fit within the
4340	// bounds of the original
4341	// shape and maintains the image's aspect ratio. The rendered size of
4342	// the
4343	// image may be smaller than the size of the shape. This is the
4344	// default
4345	// method when one is not specified.
4346	//   "CENTER_CROP" - Scales and centers the image to fill the bounds of
4347	// the original shape.
4348	// The image may be cropped in order to fill the shape. The rendered
4349	// size of
4350	// the image will be the same as that of the original shape.
4351	ReplaceMethod string `json:"replaceMethod,omitempty"`
4352
4353	// ForceSendFields is a list of field names (e.g. "ContainsText") to
4354	// unconditionally include in API requests. By default, fields with
4355	// empty values are omitted from API requests. However, any non-pointer,
4356	// non-interface field appearing in ForceSendFields will be sent to the
4357	// server regardless of whether the field is empty or not. This may be
4358	// used to include empty fields in Patch requests.
4359	ForceSendFields []string `json:"-"`
4360
4361	// NullFields is a list of field names (e.g. "ContainsText") to include
4362	// in API requests with the JSON null value. By default, fields with
4363	// empty values are omitted from API requests. However, any field with
4364	// an empty value appearing in NullFields will be sent to the server as
4365	// null. It is an error if a field in this list has a non-empty value.
4366	// This may be used to include null fields in Patch requests.
4367	NullFields []string `json:"-"`
4368}
4369
4370func (s *ReplaceAllShapesWithImageRequest) MarshalJSON() ([]byte, error) {
4371	type NoMethod ReplaceAllShapesWithImageRequest
4372	raw := NoMethod(*s)
4373	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4374}
4375
4376// ReplaceAllShapesWithImageResponse: The result of replacing shapes
4377// with an image.
4378type ReplaceAllShapesWithImageResponse struct {
4379	// OccurrencesChanged: The number of shapes replaced with images.
4380	OccurrencesChanged int64 `json:"occurrencesChanged,omitempty"`
4381
4382	// ForceSendFields is a list of field names (e.g. "OccurrencesChanged")
4383	// to unconditionally include in API requests. By default, fields with
4384	// empty values are omitted from API requests. However, any non-pointer,
4385	// non-interface field appearing in ForceSendFields will be sent to the
4386	// server regardless of whether the field is empty or not. This may be
4387	// used to include empty fields in Patch requests.
4388	ForceSendFields []string `json:"-"`
4389
4390	// NullFields is a list of field names (e.g. "OccurrencesChanged") to
4391	// include in API requests with the JSON null value. By default, fields
4392	// with empty values are omitted from API requests. However, any field
4393	// with an empty value appearing in NullFields will be sent to the
4394	// server as null. It is an error if a field in this list has a
4395	// non-empty value. This may be used to include null fields in Patch
4396	// requests.
4397	NullFields []string `json:"-"`
4398}
4399
4400func (s *ReplaceAllShapesWithImageResponse) MarshalJSON() ([]byte, error) {
4401	type NoMethod ReplaceAllShapesWithImageResponse
4402	raw := NoMethod(*s)
4403	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4404}
4405
4406// ReplaceAllShapesWithSheetsChartRequest: Replaces all shapes that
4407// match the given criteria with the provided Google
4408// Sheets chart. The chart will be scaled and centered to fit within the
4409// bounds
4410// of the original shape.
4411//
4412// NOTE: Replacing shapes with a chart requires at least one of
4413// the
4414// spreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth
4415// scopes.
4416type ReplaceAllShapesWithSheetsChartRequest struct {
4417	// ChartId: The ID of the specific chart in the Google Sheets
4418	// spreadsheet.
4419	ChartId int64 `json:"chartId,omitempty"`
4420
4421	// ContainsText: The criteria that the shapes must match in order to be
4422	// replaced. The
4423	// request will replace all of the shapes that contain the given text.
4424	ContainsText *SubstringMatchCriteria `json:"containsText,omitempty"`
4425
4426	// LinkingMode: The mode with which the chart is linked to the source
4427	// spreadsheet. When
4428	// not specified, the chart will be an image that is not linked.
4429	//
4430	// Possible values:
4431	//   "NOT_LINKED_IMAGE" - The chart is not associated with the source
4432	// spreadsheet and cannot be
4433	// updated. A chart that is not linked will be inserted as an image.
4434	//   "LINKED" - Linking the chart allows it to be updated, and other
4435	// collaborators will
4436	// see a link to the spreadsheet.
4437	LinkingMode string `json:"linkingMode,omitempty"`
4438
4439	// PageObjectIds: If non-empty, limits the matches to page elements only
4440	// on the given pages.
4441	//
4442	// Returns a 400 bad request error if given the page object ID of
4443	// a
4444	// notes page or a
4445	// notes master, or if a
4446	// page with that object ID doesn't exist in the presentation.
4447	PageObjectIds []string `json:"pageObjectIds,omitempty"`
4448
4449	// SpreadsheetId: The ID of the Google Sheets spreadsheet that contains
4450	// the chart.
4451	SpreadsheetId string `json:"spreadsheetId,omitempty"`
4452
4453	// ForceSendFields is a list of field names (e.g. "ChartId") to
4454	// unconditionally include in API requests. By default, fields with
4455	// empty values are omitted from API requests. However, any non-pointer,
4456	// non-interface field appearing in ForceSendFields will be sent to the
4457	// server regardless of whether the field is empty or not. This may be
4458	// used to include empty fields in Patch requests.
4459	ForceSendFields []string `json:"-"`
4460
4461	// NullFields is a list of field names (e.g. "ChartId") to include in
4462	// API requests with the JSON null value. By default, fields with empty
4463	// values are omitted from API requests. However, any field with an
4464	// empty value appearing in NullFields will be sent to the server as
4465	// null. It is an error if a field in this list has a non-empty value.
4466	// This may be used to include null fields in Patch requests.
4467	NullFields []string `json:"-"`
4468}
4469
4470func (s *ReplaceAllShapesWithSheetsChartRequest) MarshalJSON() ([]byte, error) {
4471	type NoMethod ReplaceAllShapesWithSheetsChartRequest
4472	raw := NoMethod(*s)
4473	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4474}
4475
4476// ReplaceAllShapesWithSheetsChartResponse: The result of replacing
4477// shapes with a Google Sheets chart.
4478type ReplaceAllShapesWithSheetsChartResponse struct {
4479	// OccurrencesChanged: The number of shapes replaced with charts.
4480	OccurrencesChanged int64 `json:"occurrencesChanged,omitempty"`
4481
4482	// ForceSendFields is a list of field names (e.g. "OccurrencesChanged")
4483	// to unconditionally include in API requests. By default, fields with
4484	// empty values are omitted from API requests. However, any non-pointer,
4485	// non-interface field appearing in ForceSendFields will be sent to the
4486	// server regardless of whether the field is empty or not. This may be
4487	// used to include empty fields in Patch requests.
4488	ForceSendFields []string `json:"-"`
4489
4490	// NullFields is a list of field names (e.g. "OccurrencesChanged") to
4491	// include in API requests with the JSON null value. By default, fields
4492	// with empty values are omitted from API requests. However, any field
4493	// with an empty value appearing in NullFields will be sent to the
4494	// server as null. It is an error if a field in this list has a
4495	// non-empty value. This may be used to include null fields in Patch
4496	// requests.
4497	NullFields []string `json:"-"`
4498}
4499
4500func (s *ReplaceAllShapesWithSheetsChartResponse) MarshalJSON() ([]byte, error) {
4501	type NoMethod ReplaceAllShapesWithSheetsChartResponse
4502	raw := NoMethod(*s)
4503	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4504}
4505
4506// ReplaceAllTextRequest: Replaces all instances of text matching a
4507// criteria with replace text.
4508type ReplaceAllTextRequest struct {
4509	// ContainsText: Finds text in a shape matching this substring.
4510	ContainsText *SubstringMatchCriteria `json:"containsText,omitempty"`
4511
4512	// PageObjectIds: If non-empty, limits the matches to page elements only
4513	// on the given pages.
4514	//
4515	// Returns a 400 bad request error if given the page object ID of
4516	// a
4517	// notes master,
4518	// or if a page with that object ID doesn't exist in the presentation.
4519	PageObjectIds []string `json:"pageObjectIds,omitempty"`
4520
4521	// ReplaceText: The text that will replace the matched text.
4522	ReplaceText string `json:"replaceText,omitempty"`
4523
4524	// ForceSendFields is a list of field names (e.g. "ContainsText") to
4525	// unconditionally include in API requests. By default, fields with
4526	// empty values are omitted from API requests. However, any non-pointer,
4527	// non-interface field appearing in ForceSendFields will be sent to the
4528	// server regardless of whether the field is empty or not. This may be
4529	// used to include empty fields in Patch requests.
4530	ForceSendFields []string `json:"-"`
4531
4532	// NullFields is a list of field names (e.g. "ContainsText") to include
4533	// in API requests with the JSON null value. By default, fields with
4534	// empty values are omitted from API requests. However, any field with
4535	// an empty value appearing in NullFields will be sent to the server as
4536	// null. It is an error if a field in this list has a non-empty value.
4537	// This may be used to include null fields in Patch requests.
4538	NullFields []string `json:"-"`
4539}
4540
4541func (s *ReplaceAllTextRequest) MarshalJSON() ([]byte, error) {
4542	type NoMethod ReplaceAllTextRequest
4543	raw := NoMethod(*s)
4544	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4545}
4546
4547// ReplaceAllTextResponse: The result of replacing text.
4548type ReplaceAllTextResponse struct {
4549	// OccurrencesChanged: The number of occurrences changed by replacing
4550	// all text.
4551	OccurrencesChanged int64 `json:"occurrencesChanged,omitempty"`
4552
4553	// ForceSendFields is a list of field names (e.g. "OccurrencesChanged")
4554	// to unconditionally include in API requests. By default, fields with
4555	// empty values are omitted from API requests. However, any non-pointer,
4556	// non-interface field appearing in ForceSendFields will be sent to the
4557	// server regardless of whether the field is empty or not. This may be
4558	// used to include empty fields in Patch requests.
4559	ForceSendFields []string `json:"-"`
4560
4561	// NullFields is a list of field names (e.g. "OccurrencesChanged") to
4562	// include in API requests with the JSON null value. By default, fields
4563	// with empty values are omitted from API requests. However, any field
4564	// with an empty value appearing in NullFields will be sent to the
4565	// server as null. It is an error if a field in this list has a
4566	// non-empty value. This may be used to include null fields in Patch
4567	// requests.
4568	NullFields []string `json:"-"`
4569}
4570
4571func (s *ReplaceAllTextResponse) MarshalJSON() ([]byte, error) {
4572	type NoMethod ReplaceAllTextResponse
4573	raw := NoMethod(*s)
4574	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4575}
4576
4577// ReplaceImageRequest: Replaces an existing image with a new
4578// image.
4579//
4580// Replacing an image removes some image effects from the existing
4581// image.
4582type ReplaceImageRequest struct {
4583	// ImageObjectId: The ID of the existing image that will be replaced.
4584	ImageObjectId string `json:"imageObjectId,omitempty"`
4585
4586	// ImageReplaceMethod: The replacement method.
4587	//
4588	// Possible values:
4589	//   "IMAGE_REPLACE_METHOD_UNSPECIFIED" - Unspecified image replace
4590	// method. This value must not be used.
4591	//   "CENTER_INSIDE" - Scales and centers the image to fit within the
4592	// bounds of the original
4593	// shape and maintains the image's aspect ratio. The rendered size of
4594	// the
4595	// image may be smaller than the size of the shape. This is the
4596	// default
4597	// method when one is not specified.
4598	//   "CENTER_CROP" - Scales and centers the image to fill the bounds of
4599	// the original shape.
4600	// The image may be cropped in order to fill the shape. The rendered
4601	// size of
4602	// the image will be the same as that of the original shape.
4603	ImageReplaceMethod string `json:"imageReplaceMethod,omitempty"`
4604
4605	// Url: The image URL.
4606	//
4607	// The image is fetched once at insertion time and a copy is stored
4608	// for
4609	// display inside the presentation. Images must be less than 50MB in
4610	// size,
4611	// cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or
4612	// GIF
4613	// format.
4614	//
4615	// The provided URL can be at most 2 kB in length. The URL itself is
4616	// saved
4617	// with the image, and exposed via the Image.source_url field.
4618	Url string `json:"url,omitempty"`
4619
4620	// ForceSendFields is a list of field names (e.g. "ImageObjectId") to
4621	// unconditionally include in API requests. By default, fields with
4622	// empty values are omitted from API requests. However, any non-pointer,
4623	// non-interface field appearing in ForceSendFields will be sent to the
4624	// server regardless of whether the field is empty or not. This may be
4625	// used to include empty fields in Patch requests.
4626	ForceSendFields []string `json:"-"`
4627
4628	// NullFields is a list of field names (e.g. "ImageObjectId") to include
4629	// in API requests with the JSON null value. By default, fields with
4630	// empty values are omitted from API requests. However, any field with
4631	// an empty value appearing in NullFields will be sent to the server as
4632	// null. It is an error if a field in this list has a non-empty value.
4633	// This may be used to include null fields in Patch requests.
4634	NullFields []string `json:"-"`
4635}
4636
4637func (s *ReplaceImageRequest) MarshalJSON() ([]byte, error) {
4638	type NoMethod ReplaceImageRequest
4639	raw := NoMethod(*s)
4640	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4641}
4642
4643// Request: A single kind of update to apply to a presentation.
4644type Request struct {
4645	// CreateImage: Creates an image.
4646	CreateImage *CreateImageRequest `json:"createImage,omitempty"`
4647
4648	// CreateLine: Creates a line.
4649	CreateLine *CreateLineRequest `json:"createLine,omitempty"`
4650
4651	// CreateParagraphBullets: Creates bullets for paragraphs.
4652	CreateParagraphBullets *CreateParagraphBulletsRequest `json:"createParagraphBullets,omitempty"`
4653
4654	// CreateShape: Creates a new shape.
4655	CreateShape *CreateShapeRequest `json:"createShape,omitempty"`
4656
4657	// CreateSheetsChart: Creates an embedded Google Sheets chart.
4658	CreateSheetsChart *CreateSheetsChartRequest `json:"createSheetsChart,omitempty"`
4659
4660	// CreateSlide: Creates a new slide.
4661	CreateSlide *CreateSlideRequest `json:"createSlide,omitempty"`
4662
4663	// CreateTable: Creates a new table.
4664	CreateTable *CreateTableRequest `json:"createTable,omitempty"`
4665
4666	// CreateVideo: Creates a video.
4667	CreateVideo *CreateVideoRequest `json:"createVideo,omitempty"`
4668
4669	// DeleteObject: Deletes a page or page element from the presentation.
4670	DeleteObject *DeleteObjectRequest `json:"deleteObject,omitempty"`
4671
4672	// DeleteParagraphBullets: Deletes bullets from paragraphs.
4673	DeleteParagraphBullets *DeleteParagraphBulletsRequest `json:"deleteParagraphBullets,omitempty"`
4674
4675	// DeleteTableColumn: Deletes a column from a table.
4676	DeleteTableColumn *DeleteTableColumnRequest `json:"deleteTableColumn,omitempty"`
4677
4678	// DeleteTableRow: Deletes a row from a table.
4679	DeleteTableRow *DeleteTableRowRequest `json:"deleteTableRow,omitempty"`
4680
4681	// DeleteText: Deletes text from a shape or a table cell.
4682	DeleteText *DeleteTextRequest `json:"deleteText,omitempty"`
4683
4684	// DuplicateObject: Duplicates a slide or page element.
4685	DuplicateObject *DuplicateObjectRequest `json:"duplicateObject,omitempty"`
4686
4687	// GroupObjects: Groups objects, such as page elements.
4688	GroupObjects *GroupObjectsRequest `json:"groupObjects,omitempty"`
4689
4690	// InsertTableColumns: Inserts columns into a table.
4691	InsertTableColumns *InsertTableColumnsRequest `json:"insertTableColumns,omitempty"`
4692
4693	// InsertTableRows: Inserts rows into a table.
4694	InsertTableRows *InsertTableRowsRequest `json:"insertTableRows,omitempty"`
4695
4696	// InsertText: Inserts text into a shape or table cell.
4697	InsertText *InsertTextRequest `json:"insertText,omitempty"`
4698
4699	// MergeTableCells: Merges cells in a Table.
4700	MergeTableCells *MergeTableCellsRequest `json:"mergeTableCells,omitempty"`
4701
4702	// RefreshSheetsChart: Refreshes a Google Sheets chart.
4703	RefreshSheetsChart *RefreshSheetsChartRequest `json:"refreshSheetsChart,omitempty"`
4704
4705	// ReplaceAllShapesWithImage: Replaces all shapes matching some criteria
4706	// with an image.
4707	ReplaceAllShapesWithImage *ReplaceAllShapesWithImageRequest `json:"replaceAllShapesWithImage,omitempty"`
4708
4709	// ReplaceAllShapesWithSheetsChart: Replaces all shapes matching some
4710	// criteria with a Google Sheets chart.
4711	ReplaceAllShapesWithSheetsChart *ReplaceAllShapesWithSheetsChartRequest `json:"replaceAllShapesWithSheetsChart,omitempty"`
4712
4713	// ReplaceAllText: Replaces all instances of specified text.
4714	ReplaceAllText *ReplaceAllTextRequest `json:"replaceAllText,omitempty"`
4715
4716	// ReplaceImage: Replaces an existing image with a new image.
4717	ReplaceImage *ReplaceImageRequest `json:"replaceImage,omitempty"`
4718
4719	// RerouteLine: Reroutes a line such that it's connected
4720	// at the two closest connection sites on the connected page elements.
4721	RerouteLine *RerouteLineRequest `json:"rerouteLine,omitempty"`
4722
4723	// UngroupObjects: Ungroups objects, such as groups.
4724	UngroupObjects *UngroupObjectsRequest `json:"ungroupObjects,omitempty"`
4725
4726	// UnmergeTableCells: Unmerges cells in a Table.
4727	UnmergeTableCells *UnmergeTableCellsRequest `json:"unmergeTableCells,omitempty"`
4728
4729	// UpdateImageProperties: Updates the properties of an Image.
4730	UpdateImageProperties *UpdateImagePropertiesRequest `json:"updateImageProperties,omitempty"`
4731
4732	// UpdateLineCategory: Updates the category of a line.
4733	UpdateLineCategory *UpdateLineCategoryRequest `json:"updateLineCategory,omitempty"`
4734
4735	// UpdateLineProperties: Updates the properties of a Line.
4736	UpdateLineProperties *UpdateLinePropertiesRequest `json:"updateLineProperties,omitempty"`
4737
4738	// UpdatePageElementAltText: Updates the alt text title and/or
4739	// description of a
4740	// page element.
4741	UpdatePageElementAltText *UpdatePageElementAltTextRequest `json:"updatePageElementAltText,omitempty"`
4742
4743	// UpdatePageElementTransform: Updates the transform of a page element.
4744	UpdatePageElementTransform *UpdatePageElementTransformRequest `json:"updatePageElementTransform,omitempty"`
4745
4746	// UpdatePageElementsZOrder: Updates the Z-order of page elements.
4747	UpdatePageElementsZOrder *UpdatePageElementsZOrderRequest `json:"updatePageElementsZOrder,omitempty"`
4748
4749	// UpdatePageProperties: Updates the properties of a Page.
4750	UpdatePageProperties *UpdatePagePropertiesRequest `json:"updatePageProperties,omitempty"`
4751
4752	// UpdateParagraphStyle: Updates the styling of paragraphs within a
4753	// Shape or Table.
4754	UpdateParagraphStyle *UpdateParagraphStyleRequest `json:"updateParagraphStyle,omitempty"`
4755
4756	// UpdateShapeProperties: Updates the properties of a Shape.
4757	UpdateShapeProperties *UpdateShapePropertiesRequest `json:"updateShapeProperties,omitempty"`
4758
4759	// UpdateSlidesPosition: Updates the position of a set of slides in the
4760	// presentation.
4761	UpdateSlidesPosition *UpdateSlidesPositionRequest `json:"updateSlidesPosition,omitempty"`
4762
4763	// UpdateTableBorderProperties: Updates the properties of the table
4764	// borders in a Table.
4765	UpdateTableBorderProperties *UpdateTableBorderPropertiesRequest `json:"updateTableBorderProperties,omitempty"`
4766
4767	// UpdateTableCellProperties: Updates the properties of a TableCell.
4768	UpdateTableCellProperties *UpdateTableCellPropertiesRequest `json:"updateTableCellProperties,omitempty"`
4769
4770	// UpdateTableColumnProperties: Updates the properties of a
4771	// Table
4772	// column.
4773	UpdateTableColumnProperties *UpdateTableColumnPropertiesRequest `json:"updateTableColumnProperties,omitempty"`
4774
4775	// UpdateTableRowProperties: Updates the properties of a Table row.
4776	UpdateTableRowProperties *UpdateTableRowPropertiesRequest `json:"updateTableRowProperties,omitempty"`
4777
4778	// UpdateTextStyle: Updates the styling of text within a Shape or Table.
4779	UpdateTextStyle *UpdateTextStyleRequest `json:"updateTextStyle,omitempty"`
4780
4781	// UpdateVideoProperties: Updates the properties of a Video.
4782	UpdateVideoProperties *UpdateVideoPropertiesRequest `json:"updateVideoProperties,omitempty"`
4783
4784	// ForceSendFields is a list of field names (e.g. "CreateImage") to
4785	// unconditionally include in API requests. By default, fields with
4786	// empty values are omitted from API requests. However, any non-pointer,
4787	// non-interface field appearing in ForceSendFields will be sent to the
4788	// server regardless of whether the field is empty or not. This may be
4789	// used to include empty fields in Patch requests.
4790	ForceSendFields []string `json:"-"`
4791
4792	// NullFields is a list of field names (e.g. "CreateImage") to include
4793	// in API requests with the JSON null value. By default, fields with
4794	// empty values are omitted from API requests. However, any field with
4795	// an empty value appearing in NullFields will be sent to the server as
4796	// null. It is an error if a field in this list has a non-empty value.
4797	// This may be used to include null fields in Patch requests.
4798	NullFields []string `json:"-"`
4799}
4800
4801func (s *Request) MarshalJSON() ([]byte, error) {
4802	type NoMethod Request
4803	raw := NoMethod(*s)
4804	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4805}
4806
4807// RerouteLineRequest: Reroutes a line such that it's connected at
4808// the
4809// two closest connection sites on the connected page elements.
4810type RerouteLineRequest struct {
4811	// ObjectId: The object ID of the line to reroute.
4812	//
4813	// Only a line with a category
4814	// indicating it is a "connector" can be rerouted. The start and
4815	// end
4816	// connections of the line must be on different page elements.
4817	ObjectId string `json:"objectId,omitempty"`
4818
4819	// ForceSendFields is a list of field names (e.g. "ObjectId") to
4820	// unconditionally include in API requests. By default, fields with
4821	// empty values are omitted from API requests. However, any non-pointer,
4822	// non-interface field appearing in ForceSendFields will be sent to the
4823	// server regardless of whether the field is empty or not. This may be
4824	// used to include empty fields in Patch requests.
4825	ForceSendFields []string `json:"-"`
4826
4827	// NullFields is a list of field names (e.g. "ObjectId") to include in
4828	// API requests with the JSON null value. By default, fields with empty
4829	// values are omitted from API requests. However, any field with an
4830	// empty value appearing in NullFields will be sent to the server as
4831	// null. It is an error if a field in this list has a non-empty value.
4832	// This may be used to include null fields in Patch requests.
4833	NullFields []string `json:"-"`
4834}
4835
4836func (s *RerouteLineRequest) MarshalJSON() ([]byte, error) {
4837	type NoMethod RerouteLineRequest
4838	raw := NoMethod(*s)
4839	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4840}
4841
4842// Response: A single response from an update.
4843type Response struct {
4844	// CreateImage: The result of creating an image.
4845	CreateImage *CreateImageResponse `json:"createImage,omitempty"`
4846
4847	// CreateLine: The result of creating a line.
4848	CreateLine *CreateLineResponse `json:"createLine,omitempty"`
4849
4850	// CreateShape: The result of creating a shape.
4851	CreateShape *CreateShapeResponse `json:"createShape,omitempty"`
4852
4853	// CreateSheetsChart: The result of creating a Google Sheets chart.
4854	CreateSheetsChart *CreateSheetsChartResponse `json:"createSheetsChart,omitempty"`
4855
4856	// CreateSlide: The result of creating a slide.
4857	CreateSlide *CreateSlideResponse `json:"createSlide,omitempty"`
4858
4859	// CreateTable: The result of creating a table.
4860	CreateTable *CreateTableResponse `json:"createTable,omitempty"`
4861
4862	// CreateVideo: The result of creating a video.
4863	CreateVideo *CreateVideoResponse `json:"createVideo,omitempty"`
4864
4865	// DuplicateObject: The result of duplicating an object.
4866	DuplicateObject *DuplicateObjectResponse `json:"duplicateObject,omitempty"`
4867
4868	// GroupObjects: The result of grouping objects.
4869	GroupObjects *GroupObjectsResponse `json:"groupObjects,omitempty"`
4870
4871	// ReplaceAllShapesWithImage: The result of replacing all shapes
4872	// matching some criteria with an
4873	// image.
4874	ReplaceAllShapesWithImage *ReplaceAllShapesWithImageResponse `json:"replaceAllShapesWithImage,omitempty"`
4875
4876	// ReplaceAllShapesWithSheetsChart: The result of replacing all shapes
4877	// matching some criteria with a Google
4878	// Sheets chart.
4879	ReplaceAllShapesWithSheetsChart *ReplaceAllShapesWithSheetsChartResponse `json:"replaceAllShapesWithSheetsChart,omitempty"`
4880
4881	// ReplaceAllText: The result of replacing text.
4882	ReplaceAllText *ReplaceAllTextResponse `json:"replaceAllText,omitempty"`
4883
4884	// ForceSendFields is a list of field names (e.g. "CreateImage") to
4885	// unconditionally include in API requests. By default, fields with
4886	// empty values are omitted from API requests. However, any non-pointer,
4887	// non-interface field appearing in ForceSendFields will be sent to the
4888	// server regardless of whether the field is empty or not. This may be
4889	// used to include empty fields in Patch requests.
4890	ForceSendFields []string `json:"-"`
4891
4892	// NullFields is a list of field names (e.g. "CreateImage") to include
4893	// in API requests with the JSON null value. By default, fields with
4894	// empty values are omitted from API requests. However, any field with
4895	// an empty value appearing in NullFields will be sent to the server as
4896	// null. It is an error if a field in this list has a non-empty value.
4897	// This may be used to include null fields in Patch requests.
4898	NullFields []string `json:"-"`
4899}
4900
4901func (s *Response) MarshalJSON() ([]byte, error) {
4902	type NoMethod Response
4903	raw := NoMethod(*s)
4904	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4905}
4906
4907// RgbColor: An RGB color.
4908type RgbColor struct {
4909	// Blue: The blue component of the color, from 0.0 to 1.0.
4910	Blue float64 `json:"blue,omitempty"`
4911
4912	// Green: The green component of the color, from 0.0 to 1.0.
4913	Green float64 `json:"green,omitempty"`
4914
4915	// Red: The red component of the color, from 0.0 to 1.0.
4916	Red float64 `json:"red,omitempty"`
4917
4918	// ForceSendFields is a list of field names (e.g. "Blue") to
4919	// unconditionally include in API requests. By default, fields with
4920	// empty values are omitted from API requests. However, any non-pointer,
4921	// non-interface field appearing in ForceSendFields will be sent to the
4922	// server regardless of whether the field is empty or not. This may be
4923	// used to include empty fields in Patch requests.
4924	ForceSendFields []string `json:"-"`
4925
4926	// NullFields is a list of field names (e.g. "Blue") to include in API
4927	// requests with the JSON null value. By default, fields with empty
4928	// values are omitted from API requests. However, any field with an
4929	// empty value appearing in NullFields will be sent to the server as
4930	// null. It is an error if a field in this list has a non-empty value.
4931	// This may be used to include null fields in Patch requests.
4932	NullFields []string `json:"-"`
4933}
4934
4935func (s *RgbColor) MarshalJSON() ([]byte, error) {
4936	type NoMethod RgbColor
4937	raw := NoMethod(*s)
4938	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4939}
4940
4941func (s *RgbColor) UnmarshalJSON(data []byte) error {
4942	type NoMethod RgbColor
4943	var s1 struct {
4944		Blue  gensupport.JSONFloat64 `json:"blue"`
4945		Green gensupport.JSONFloat64 `json:"green"`
4946		Red   gensupport.JSONFloat64 `json:"red"`
4947		*NoMethod
4948	}
4949	s1.NoMethod = (*NoMethod)(s)
4950	if err := json.Unmarshal(data, &s1); err != nil {
4951		return err
4952	}
4953	s.Blue = float64(s1.Blue)
4954	s.Green = float64(s1.Green)
4955	s.Red = float64(s1.Red)
4956	return nil
4957}
4958
4959// Shadow: The shadow properties of a page element.
4960//
4961// If these fields are unset, they may be inherited from a parent
4962// placeholder
4963// if it exists. If there is no parent, the fields will default to the
4964// value
4965// used for new page elements created in the Slides editor, which may
4966// depend on
4967// the page element kind.
4968type Shadow struct {
4969	// Alignment: The alignment point of the shadow, that sets the origin
4970	// for translate,
4971	// scale and skew of the shadow. This property is read-only.
4972	//
4973	// Possible values:
4974	//   "RECTANGLE_POSITION_UNSPECIFIED" - Unspecified.
4975	//   "TOP_LEFT" - Top left.
4976	//   "TOP_CENTER" - Top center.
4977	//   "TOP_RIGHT" - Top right.
4978	//   "LEFT_CENTER" - Left center.
4979	//   "CENTER" - Center.
4980	//   "RIGHT_CENTER" - Right center.
4981	//   "BOTTOM_LEFT" - Bottom left.
4982	//   "BOTTOM_CENTER" - Bottom center.
4983	//   "BOTTOM_RIGHT" - Bottom right.
4984	Alignment string `json:"alignment,omitempty"`
4985
4986	// Alpha: The alpha of the shadow's color, from 0.0 to 1.0.
4987	Alpha float64 `json:"alpha,omitempty"`
4988
4989	// BlurRadius: The radius of the shadow blur. The larger the radius, the
4990	// more diffuse the
4991	// shadow becomes.
4992	BlurRadius *Dimension `json:"blurRadius,omitempty"`
4993
4994	// Color: The shadow color value.
4995	Color *OpaqueColor `json:"color,omitempty"`
4996
4997	// PropertyState: The shadow property state.
4998	//
4999	// Updating the shadow on a page element will implicitly update this
5000	// field to
5001	// `RENDERED`, unless another value is specified in the same request. To
5002	// have
5003	// no shadow on a page element, set this field to `NOT_RENDERED`. In
5004	// this
5005	// case, any other shadow fields set in the same request will be
5006	// ignored.
5007	//
5008	// Possible values:
5009	//   "RENDERED" - If a property's state is RENDERED, then the element
5010	// has the corresponding
5011	// property when rendered on a page. If the element is a placeholder
5012	// shape as
5013	// determined by the placeholder
5014	// field, and it inherits from a placeholder shape, the corresponding
5015	// field
5016	// may be unset, meaning that the property value is inherited from a
5017	// parent
5018	// placeholder. If the element does not inherit, then the field will
5019	// contain
5020	// the rendered value. This is the default value.
5021	//   "NOT_RENDERED" - If a property's state is NOT_RENDERED, then the
5022	// element does not have the
5023	// corresponding property when rendered on a page. However, the field
5024	// may
5025	// still be set so it can be inherited by child shapes. To remove a
5026	// property
5027	// from a rendered element, set its property_state to NOT_RENDERED.
5028	//   "INHERIT" - If a property's state is INHERIT, then the property
5029	// state uses the value of
5030	// corresponding `property_state` field on the parent shape. Elements
5031	// that do
5032	// not inherit will never have an INHERIT property state.
5033	PropertyState string `json:"propertyState,omitempty"`
5034
5035	// RotateWithShape: Whether the shadow should rotate with the shape.
5036	// This property is
5037	// read-only.
5038	RotateWithShape bool `json:"rotateWithShape,omitempty"`
5039
5040	// Transform: Transform that encodes the translate, scale, and skew of
5041	// the shadow,
5042	// relative to the alignment position.
5043	Transform *AffineTransform `json:"transform,omitempty"`
5044
5045	// Type: The type of the shadow. This property is read-only.
5046	//
5047	// Possible values:
5048	//   "SHADOW_TYPE_UNSPECIFIED" - Unspecified shadow type.
5049	//   "OUTER" - Outer shadow.
5050	Type string `json:"type,omitempty"`
5051
5052	// ForceSendFields is a list of field names (e.g. "Alignment") to
5053	// unconditionally include in API requests. By default, fields with
5054	// empty values are omitted from API requests. However, any non-pointer,
5055	// non-interface field appearing in ForceSendFields will be sent to the
5056	// server regardless of whether the field is empty or not. This may be
5057	// used to include empty fields in Patch requests.
5058	ForceSendFields []string `json:"-"`
5059
5060	// NullFields is a list of field names (e.g. "Alignment") to include in
5061	// API requests with the JSON null value. By default, fields with empty
5062	// values are omitted from API requests. However, any field with an
5063	// empty value appearing in NullFields will be sent to the server as
5064	// null. It is an error if a field in this list has a non-empty value.
5065	// This may be used to include null fields in Patch requests.
5066	NullFields []string `json:"-"`
5067}
5068
5069func (s *Shadow) MarshalJSON() ([]byte, error) {
5070	type NoMethod Shadow
5071	raw := NoMethod(*s)
5072	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5073}
5074
5075func (s *Shadow) UnmarshalJSON(data []byte) error {
5076	type NoMethod Shadow
5077	var s1 struct {
5078		Alpha gensupport.JSONFloat64 `json:"alpha"`
5079		*NoMethod
5080	}
5081	s1.NoMethod = (*NoMethod)(s)
5082	if err := json.Unmarshal(data, &s1); err != nil {
5083		return err
5084	}
5085	s.Alpha = float64(s1.Alpha)
5086	return nil
5087}
5088
5089// Shape: A PageElement kind representing a
5090// generic shape that does not have a more specific classification.
5091type Shape struct {
5092	// Placeholder: Placeholders are shapes that are inherit from
5093	// corresponding placeholders on
5094	// layouts and masters.
5095	//
5096	// If set, the shape is a placeholder shape and any inherited
5097	// properties
5098	// can be resolved by looking at the parent placeholder identified by
5099	// the
5100	// Placeholder.parent_object_id field.
5101	Placeholder *Placeholder `json:"placeholder,omitempty"`
5102
5103	// ShapeProperties: The properties of the shape.
5104	ShapeProperties *ShapeProperties `json:"shapeProperties,omitempty"`
5105
5106	// ShapeType: The type of the shape.
5107	//
5108	// Possible values:
5109	//   "TYPE_UNSPECIFIED" - The shape type that is not predefined.
5110	//   "TEXT_BOX" - Text box shape.
5111	//   "RECTANGLE" - Rectangle shape. Corresponds to ECMA-376 ST_ShapeType
5112	// 'rect'.
5113	//   "ROUND_RECTANGLE" - Round corner rectangle shape. Corresponds to
5114	// ECMA-376 ST_ShapeType
5115	// 'roundRect'
5116	//   "ELLIPSE" - Ellipse shape. Corresponds to ECMA-376 ST_ShapeType
5117	// 'ellipse'
5118	//   "ARC" - Curved arc shape. Corresponds to ECMA-376 ST_ShapeType
5119	// 'arc'
5120	//   "BENT_ARROW" - Bent arrow shape. Corresponds to ECMA-376
5121	// ST_ShapeType 'bentArrow'
5122	//   "BENT_UP_ARROW" - Bent up arrow shape. Corresponds to ECMA-376
5123	// ST_ShapeType 'bentUpArrow'
5124	//   "BEVEL" - Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'
5125	//   "BLOCK_ARC" - Block arc shape. Corresponds to ECMA-376 ST_ShapeType
5126	// 'blockArc'
5127	//   "BRACE_PAIR" - Brace pair shape. Corresponds to ECMA-376
5128	// ST_ShapeType 'bracePair'
5129	//   "BRACKET_PAIR" - Bracket pair shape. Corresponds to ECMA-376
5130	// ST_ShapeType 'bracketPair'
5131	//   "CAN" - Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'
5132	//   "CHEVRON" - Chevron shape. Corresponds to ECMA-376 ST_ShapeType
5133	// 'chevron'
5134	//   "CHORD" - Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'
5135	//   "CLOUD" - Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'
5136	//   "CORNER" - Corner shape. Corresponds to ECMA-376 ST_ShapeType
5137	// 'corner'
5138	//   "CUBE" - Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'
5139	//   "CURVED_DOWN_ARROW" - Curved down arrow shape. Corresponds to
5140	// ECMA-376 ST_ShapeType
5141	// 'curvedDownArrow'
5142	//   "CURVED_LEFT_ARROW" - Curved left arrow shape. Corresponds to
5143	// ECMA-376 ST_ShapeType
5144	// 'curvedLeftArrow'
5145	//   "CURVED_RIGHT_ARROW" - Curved right arrow shape. Corresponds to
5146	// ECMA-376 ST_ShapeType
5147	// 'curvedRightArrow'
5148	//   "CURVED_UP_ARROW" - Curved up arrow shape. Corresponds to ECMA-376
5149	// ST_ShapeType
5150	// 'curvedUpArrow'
5151	//   "DECAGON" - Decagon shape. Corresponds to ECMA-376 ST_ShapeType
5152	// 'decagon'
5153	//   "DIAGONAL_STRIPE" - Diagonal stripe shape. Corresponds to ECMA-376
5154	// ST_ShapeType 'diagStripe'
5155	//   "DIAMOND" - Diamond shape. Corresponds to ECMA-376 ST_ShapeType
5156	// 'diamond'
5157	//   "DODECAGON" - Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType
5158	// 'dodecagon'
5159	//   "DONUT" - Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'
5160	//   "DOUBLE_WAVE" - Double wave shape. Corresponds to ECMA-376
5161	// ST_ShapeType 'doubleWave'
5162	//   "DOWN_ARROW" - Down arrow shape. Corresponds to ECMA-376
5163	// ST_ShapeType 'downArrow'
5164	//   "DOWN_ARROW_CALLOUT" - Callout down arrow shape. Corresponds to
5165	// ECMA-376 ST_ShapeType
5166	// 'downArrowCallout'
5167	//   "FOLDED_CORNER" - Folded corner shape. Corresponds to ECMA-376
5168	// ST_ShapeType 'foldedCorner'
5169	//   "FRAME" - Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'
5170	//   "HALF_FRAME" - Half frame shape. Corresponds to ECMA-376
5171	// ST_ShapeType 'halfFrame'
5172	//   "HEART" - Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'
5173	//   "HEPTAGON" - Heptagon shape. Corresponds to ECMA-376 ST_ShapeType
5174	// 'heptagon'
5175	//   "HEXAGON" - Hexagon shape. Corresponds to ECMA-376 ST_ShapeType
5176	// 'hexagon'
5177	//   "HOME_PLATE" - Home plate shape. Corresponds to ECMA-376
5178	// ST_ShapeType 'homePlate'
5179	//   "HORIZONTAL_SCROLL" - Horizontal scroll shape. Corresponds to
5180	// ECMA-376 ST_ShapeType
5181	// 'horizontalScroll'
5182	//   "IRREGULAR_SEAL_1" - Irregular seal 1 shape. Corresponds to
5183	// ECMA-376 ST_ShapeType
5184	// 'irregularSeal1'
5185	//   "IRREGULAR_SEAL_2" - Irregular seal 2 shape. Corresponds to
5186	// ECMA-376 ST_ShapeType
5187	// 'irregularSeal2'
5188	//   "LEFT_ARROW" - Left arrow shape. Corresponds to ECMA-376
5189	// ST_ShapeType 'leftArrow'
5190	//   "LEFT_ARROW_CALLOUT" - Callout left arrow shape. Corresponds to
5191	// ECMA-376 ST_ShapeType
5192	// 'leftArrowCallout'
5193	//   "LEFT_BRACE" - Left brace shape. Corresponds to ECMA-376
5194	// ST_ShapeType 'leftBrace'
5195	//   "LEFT_BRACKET" - Left bracket shape. Corresponds to ECMA-376
5196	// ST_ShapeType 'leftBracket'
5197	//   "LEFT_RIGHT_ARROW" - Left right arrow shape. Corresponds to
5198	// ECMA-376 ST_ShapeType
5199	// 'leftRightArrow'
5200	//   "LEFT_RIGHT_ARROW_CALLOUT" - Callout left right arrow shape.
5201	// Corresponds to ECMA-376 ST_ShapeType
5202	// 'leftRightArrowCallout'
5203	//   "LEFT_RIGHT_UP_ARROW" - Left right up arrow shape. Corresponds to
5204	// ECMA-376 ST_ShapeType
5205	// 'leftRightUpArrow'
5206	//   "LEFT_UP_ARROW" - Left up arrow shape. Corresponds to ECMA-376
5207	// ST_ShapeType 'leftUpArrow'
5208	//   "LIGHTNING_BOLT" - Lightning bolt shape. Corresponds to ECMA-376
5209	// ST_ShapeType
5210	// 'lightningBolt'
5211	//   "MATH_DIVIDE" - Divide math shape. Corresponds to ECMA-376
5212	// ST_ShapeType 'mathDivide'
5213	//   "MATH_EQUAL" - Equal math shape. Corresponds to ECMA-376
5214	// ST_ShapeType 'mathEqual'
5215	//   "MATH_MINUS" - Minus math shape. Corresponds to ECMA-376
5216	// ST_ShapeType 'mathMinus'
5217	//   "MATH_MULTIPLY" - Multiply math shape. Corresponds to ECMA-376
5218	// ST_ShapeType 'mathMultiply'
5219	//   "MATH_NOT_EQUAL" - Not equal math shape. Corresponds to ECMA-376
5220	// ST_ShapeType 'mathNotEqual'
5221	//   "MATH_PLUS" - Plus math shape. Corresponds to ECMA-376 ST_ShapeType
5222	// 'mathPlus'
5223	//   "MOON" - Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'
5224	//   "NO_SMOKING" - No smoking shape. Corresponds to ECMA-376
5225	// ST_ShapeType 'noSmoking'
5226	//   "NOTCHED_RIGHT_ARROW" - Notched right arrow shape. Corresponds to
5227	// ECMA-376 ST_ShapeType
5228	// 'notchedRightArrow'
5229	//   "OCTAGON" - Octagon shape. Corresponds to ECMA-376 ST_ShapeType
5230	// 'octagon'
5231	//   "PARALLELOGRAM" - Parallelogram shape. Corresponds to ECMA-376
5232	// ST_ShapeType 'parallelogram'
5233	//   "PENTAGON" - Pentagon shape. Corresponds to ECMA-376 ST_ShapeType
5234	// 'pentagon'
5235	//   "PIE" - Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'
5236	//   "PLAQUE" - Plaque shape. Corresponds to ECMA-376 ST_ShapeType
5237	// 'plaque'
5238	//   "PLUS" - Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'
5239	//   "QUAD_ARROW" - Quad-arrow shape. Corresponds to ECMA-376
5240	// ST_ShapeType 'quadArrow'
5241	//   "QUAD_ARROW_CALLOUT" - Callout quad-arrow shape. Corresponds to
5242	// ECMA-376 ST_ShapeType
5243	// 'quadArrowCallout'
5244	//   "RIBBON" - Ribbon shape. Corresponds to ECMA-376 ST_ShapeType
5245	// 'ribbon'
5246	//   "RIBBON_2" - Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType
5247	// 'ribbon2'
5248	//   "RIGHT_ARROW" - Right arrow shape. Corresponds to ECMA-376
5249	// ST_ShapeType 'rightArrow'
5250	//   "RIGHT_ARROW_CALLOUT" - Callout right arrow shape. Corresponds to
5251	// ECMA-376 ST_ShapeType
5252	// 'rightArrowCallout'
5253	//   "RIGHT_BRACE" - Right brace shape. Corresponds to ECMA-376
5254	// ST_ShapeType 'rightBrace'
5255	//   "RIGHT_BRACKET" - Right bracket shape. Corresponds to ECMA-376
5256	// ST_ShapeType 'rightBracket'
5257	//   "ROUND_1_RECTANGLE" - One round corner rectangle shape. Corresponds
5258	// to ECMA-376 ST_ShapeType
5259	// 'round1Rect'
5260	//   "ROUND_2_DIAGONAL_RECTANGLE" - Two diagonal round corner rectangle
5261	// shape. Corresponds to ECMA-376
5262	// ST_ShapeType 'round2DiagRect'
5263	//   "ROUND_2_SAME_RECTANGLE" - Two same-side round corner rectangle
5264	// shape. Corresponds to ECMA-376
5265	// ST_ShapeType 'round2SameRect'
5266	//   "RIGHT_TRIANGLE" - Right triangle shape. Corresponds to ECMA-376
5267	// ST_ShapeType 'rtTriangle'
5268	//   "SMILEY_FACE" - Smiley face shape. Corresponds to ECMA-376
5269	// ST_ShapeType 'smileyFace'
5270	//   "SNIP_1_RECTANGLE" - One snip corner rectangle shape. Corresponds
5271	// to ECMA-376 ST_ShapeType
5272	// 'snip1Rect'
5273	//   "SNIP_2_DIAGONAL_RECTANGLE" - Two diagonal snip corner rectangle
5274	// shape. Corresponds to ECMA-376
5275	// ST_ShapeType 'snip2DiagRect'
5276	//   "SNIP_2_SAME_RECTANGLE" - Two same-side snip corner rectangle
5277	// shape. Corresponds to ECMA-376
5278	// ST_ShapeType 'snip2SameRect'
5279	//   "SNIP_ROUND_RECTANGLE" - One snip one round corner rectangle shape.
5280	// Corresponds to ECMA-376
5281	// ST_ShapeType 'snipRoundRect'
5282	//   "STAR_10" - Ten pointed star shape. Corresponds to ECMA-376
5283	// ST_ShapeType 'star10'
5284	//   "STAR_12" - Twelve pointed star shape. Corresponds to ECMA-376
5285	// ST_ShapeType 'star12'
5286	//   "STAR_16" - Sixteen pointed star shape. Corresponds to ECMA-376
5287	// ST_ShapeType 'star16'
5288	//   "STAR_24" - Twenty four pointed star shape. Corresponds to ECMA-376
5289	// ST_ShapeType
5290	// 'star24'
5291	//   "STAR_32" - Thirty two pointed star shape. Corresponds to ECMA-376
5292	// ST_ShapeType
5293	// 'star32'
5294	//   "STAR_4" - Four pointed star shape. Corresponds to ECMA-376
5295	// ST_ShapeType 'star4'
5296	//   "STAR_5" - Five pointed star shape. Corresponds to ECMA-376
5297	// ST_ShapeType 'star5'
5298	//   "STAR_6" - Six pointed star shape. Corresponds to ECMA-376
5299	// ST_ShapeType 'star6'
5300	//   "STAR_7" - Seven pointed star shape. Corresponds to ECMA-376
5301	// ST_ShapeType 'star7'
5302	//   "STAR_8" - Eight pointed star shape. Corresponds to ECMA-376
5303	// ST_ShapeType 'star8'
5304	//   "STRIPED_RIGHT_ARROW" - Striped right arrow shape. Corresponds to
5305	// ECMA-376 ST_ShapeType
5306	// 'stripedRightArrow'
5307	//   "SUN" - Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'
5308	//   "TRAPEZOID" - Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType
5309	// 'trapezoid'
5310	//   "TRIANGLE" - Triangle shape. Corresponds to ECMA-376 ST_ShapeType
5311	// 'triangle'
5312	//   "UP_ARROW" - Up arrow shape. Corresponds to ECMA-376 ST_ShapeType
5313	// 'upArrow'
5314	//   "UP_ARROW_CALLOUT" - Callout up arrow shape. Corresponds to
5315	// ECMA-376 ST_ShapeType
5316	// 'upArrowCallout'
5317	//   "UP_DOWN_ARROW" - Up down arrow shape. Corresponds to ECMA-376
5318	// ST_ShapeType 'upDownArrow'
5319	//   "UTURN_ARROW" - U-turn arrow shape. Corresponds to ECMA-376
5320	// ST_ShapeType 'uturnArrow'
5321	//   "VERTICAL_SCROLL" - Vertical scroll shape. Corresponds to ECMA-376
5322	// ST_ShapeType
5323	// 'verticalScroll'
5324	//   "WAVE" - Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'
5325	//   "WEDGE_ELLIPSE_CALLOUT" - Callout wedge ellipse shape. Corresponds
5326	// to ECMA-376 ST_ShapeType
5327	// 'wedgeEllipseCallout'
5328	//   "WEDGE_RECTANGLE_CALLOUT" - Callout wedge rectangle shape.
5329	// Corresponds to ECMA-376 ST_ShapeType
5330	// 'wedgeRectCallout'
5331	//   "WEDGE_ROUND_RECTANGLE_CALLOUT" - Callout wedge round rectangle
5332	// shape. Corresponds to ECMA-376 ST_ShapeType
5333	// 'wedgeRoundRectCallout'
5334	//   "FLOW_CHART_ALTERNATE_PROCESS" - Alternate process flow shape.
5335	// Corresponds to ECMA-376 ST_ShapeType
5336	// 'flowChartAlternateProcess'
5337	//   "FLOW_CHART_COLLATE" - Collate flow shape. Corresponds to ECMA-376
5338	// ST_ShapeType
5339	// 'flowChartCollate'
5340	//   "FLOW_CHART_CONNECTOR" - Connector flow shape. Corresponds to
5341	// ECMA-376 ST_ShapeType
5342	// 'flowChartConnector'
5343	//   "FLOW_CHART_DECISION" - Decision flow shape. Corresponds to
5344	// ECMA-376 ST_ShapeType
5345	// 'flowChartDecision'
5346	//   "FLOW_CHART_DELAY" - Delay flow shape. Corresponds to ECMA-376
5347	// ST_ShapeType 'flowChartDelay'
5348	//   "FLOW_CHART_DISPLAY" - Display flow shape. Corresponds to ECMA-376
5349	// ST_ShapeType
5350	// 'flowChartDisplay'
5351	//   "FLOW_CHART_DOCUMENT" - Document flow shape. Corresponds to
5352	// ECMA-376 ST_ShapeType
5353	// 'flowChartDocument'
5354	//   "FLOW_CHART_EXTRACT" - Extract flow shape. Corresponds to ECMA-376
5355	// ST_ShapeType
5356	// 'flowChartExtract'
5357	//   "FLOW_CHART_INPUT_OUTPUT" - Input output flow shape. Corresponds to
5358	// ECMA-376 ST_ShapeType
5359	// 'flowChartInputOutput'
5360	//   "FLOW_CHART_INTERNAL_STORAGE" - Internal storage flow shape.
5361	// Corresponds to ECMA-376 ST_ShapeType
5362	// 'flowChartInternalStorage'
5363	//   "FLOW_CHART_MAGNETIC_DISK" - Magnetic disk flow shape. Corresponds
5364	// to ECMA-376 ST_ShapeType
5365	// 'flowChartMagneticDisk'
5366	//   "FLOW_CHART_MAGNETIC_DRUM" - Magnetic drum flow shape. Corresponds
5367	// to ECMA-376 ST_ShapeType
5368	// 'flowChartMagneticDrum'
5369	//   "FLOW_CHART_MAGNETIC_TAPE" - Magnetic tape flow shape. Corresponds
5370	// to ECMA-376 ST_ShapeType
5371	// 'flowChartMagneticTape'
5372	//   "FLOW_CHART_MANUAL_INPUT" - Manual input flow shape. Corresponds to
5373	// ECMA-376 ST_ShapeType
5374	// 'flowChartManualInput'
5375	//   "FLOW_CHART_MANUAL_OPERATION" - Manual operation flow shape.
5376	// Corresponds to ECMA-376 ST_ShapeType
5377	// 'flowChartManualOperation'
5378	//   "FLOW_CHART_MERGE" - Merge flow shape. Corresponds to ECMA-376
5379	// ST_ShapeType 'flowChartMerge'
5380	//   "FLOW_CHART_MULTIDOCUMENT" - Multi-document flow shape. Corresponds
5381	// to ECMA-376 ST_ShapeType
5382	// 'flowChartMultidocument'
5383	//   "FLOW_CHART_OFFLINE_STORAGE" - Offline storage flow shape.
5384	// Corresponds to ECMA-376 ST_ShapeType
5385	// 'flowChartOfflineStorage'
5386	//   "FLOW_CHART_OFFPAGE_CONNECTOR" - Off-page connector flow shape.
5387	// Corresponds to ECMA-376 ST_ShapeType
5388	// 'flowChartOffpageConnector'
5389	//   "FLOW_CHART_ONLINE_STORAGE" - Online storage flow shape.
5390	// Corresponds to ECMA-376 ST_ShapeType
5391	// 'flowChartOnlineStorage'
5392	//   "FLOW_CHART_OR" - Or flow shape. Corresponds to ECMA-376
5393	// ST_ShapeType 'flowChartOr'
5394	//   "FLOW_CHART_PREDEFINED_PROCESS" - Predefined process flow shape.
5395	// Corresponds to ECMA-376 ST_ShapeType
5396	// 'flowChartPredefinedProcess'
5397	//   "FLOW_CHART_PREPARATION" - Preparation flow shape. Corresponds to
5398	// ECMA-376 ST_ShapeType
5399	// 'flowChartPreparation'
5400	//   "FLOW_CHART_PROCESS" - Process flow shape. Corresponds to ECMA-376
5401	// ST_ShapeType
5402	// 'flowChartProcess'
5403	//   "FLOW_CHART_PUNCHED_CARD" - Punched card flow shape. Corresponds to
5404	// ECMA-376 ST_ShapeType
5405	// 'flowChartPunchedCard'
5406	//   "FLOW_CHART_PUNCHED_TAPE" - Punched tape flow shape. Corresponds to
5407	// ECMA-376 ST_ShapeType
5408	// 'flowChartPunchedTape'
5409	//   "FLOW_CHART_SORT" - Sort flow shape. Corresponds to ECMA-376
5410	// ST_ShapeType 'flowChartSort'
5411	//   "FLOW_CHART_SUMMING_JUNCTION" - Summing junction flow shape.
5412	// Corresponds to ECMA-376 ST_ShapeType
5413	// 'flowChartSummingJunction'
5414	//   "FLOW_CHART_TERMINATOR" - Terminator flow shape. Corresponds to
5415	// ECMA-376 ST_ShapeType
5416	// 'flowChartTerminator'
5417	//   "ARROW_EAST" - East arrow shape.
5418	//   "ARROW_NORTH_EAST" - Northeast arrow shape.
5419	//   "ARROW_NORTH" - North arrow shape.
5420	//   "SPEECH" - Speech shape.
5421	//   "STARBURST" - Star burst shape.
5422	//   "TEARDROP" - Teardrop shape. Corresponds to ECMA-376 ST_ShapeType
5423	// 'teardrop'
5424	//   "ELLIPSE_RIBBON" - Ellipse ribbon shape. Corresponds to ECMA-376
5425	// ST_ShapeType
5426	// 'ellipseRibbon'
5427	//   "ELLIPSE_RIBBON_2" - Ellipse ribbon 2 shape. Corresponds to
5428	// ECMA-376 ST_ShapeType
5429	// 'ellipseRibbon2'
5430	//   "CLOUD_CALLOUT" - Callout cloud shape. Corresponds to ECMA-376
5431	// ST_ShapeType 'cloudCallout'
5432	//   "CUSTOM" - Custom shape.
5433	ShapeType string `json:"shapeType,omitempty"`
5434
5435	// Text: The text content of the shape.
5436	Text *TextContent `json:"text,omitempty"`
5437
5438	// ForceSendFields is a list of field names (e.g. "Placeholder") to
5439	// unconditionally include in API requests. By default, fields with
5440	// empty values are omitted from API requests. However, any non-pointer,
5441	// non-interface field appearing in ForceSendFields will be sent to the
5442	// server regardless of whether the field is empty or not. This may be
5443	// used to include empty fields in Patch requests.
5444	ForceSendFields []string `json:"-"`
5445
5446	// NullFields is a list of field names (e.g. "Placeholder") to include
5447	// in API requests with the JSON null value. By default, fields with
5448	// empty values are omitted from API requests. However, any field with
5449	// an empty value appearing in NullFields will be sent to the server as
5450	// null. It is an error if a field in this list has a non-empty value.
5451	// This may be used to include null fields in Patch requests.
5452	NullFields []string `json:"-"`
5453}
5454
5455func (s *Shape) MarshalJSON() ([]byte, error) {
5456	type NoMethod Shape
5457	raw := NoMethod(*s)
5458	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5459}
5460
5461// ShapeBackgroundFill: The shape background fill.
5462type ShapeBackgroundFill struct {
5463	// PropertyState: The background fill property state.
5464	//
5465	// Updating the fill on a shape will implicitly update this field
5466	// to
5467	// `RENDERED`, unless another value is specified in the same request.
5468	// To
5469	// have no fill on a shape, set this field to `NOT_RENDERED`. In this
5470	// case,
5471	// any other fill fields set in the same request will be ignored.
5472	//
5473	// Possible values:
5474	//   "RENDERED" - If a property's state is RENDERED, then the element
5475	// has the corresponding
5476	// property when rendered on a page. If the element is a placeholder
5477	// shape as
5478	// determined by the placeholder
5479	// field, and it inherits from a placeholder shape, the corresponding
5480	// field
5481	// may be unset, meaning that the property value is inherited from a
5482	// parent
5483	// placeholder. If the element does not inherit, then the field will
5484	// contain
5485	// the rendered value. This is the default value.
5486	//   "NOT_RENDERED" - If a property's state is NOT_RENDERED, then the
5487	// element does not have the
5488	// corresponding property when rendered on a page. However, the field
5489	// may
5490	// still be set so it can be inherited by child shapes. To remove a
5491	// property
5492	// from a rendered element, set its property_state to NOT_RENDERED.
5493	//   "INHERIT" - If a property's state is INHERIT, then the property
5494	// state uses the value of
5495	// corresponding `property_state` field on the parent shape. Elements
5496	// that do
5497	// not inherit will never have an INHERIT property state.
5498	PropertyState string `json:"propertyState,omitempty"`
5499
5500	// SolidFill: Solid color fill.
5501	SolidFill *SolidFill `json:"solidFill,omitempty"`
5502
5503	// ForceSendFields is a list of field names (e.g. "PropertyState") to
5504	// unconditionally include in API requests. By default, fields with
5505	// empty values are omitted from API requests. However, any non-pointer,
5506	// non-interface field appearing in ForceSendFields will be sent to the
5507	// server regardless of whether the field is empty or not. This may be
5508	// used to include empty fields in Patch requests.
5509	ForceSendFields []string `json:"-"`
5510
5511	// NullFields is a list of field names (e.g. "PropertyState") to include
5512	// in API requests with the JSON null value. By default, fields with
5513	// empty values are omitted from API requests. However, any field with
5514	// an empty value appearing in NullFields will be sent to the server as
5515	// null. It is an error if a field in this list has a non-empty value.
5516	// This may be used to include null fields in Patch requests.
5517	NullFields []string `json:"-"`
5518}
5519
5520func (s *ShapeBackgroundFill) MarshalJSON() ([]byte, error) {
5521	type NoMethod ShapeBackgroundFill
5522	raw := NoMethod(*s)
5523	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5524}
5525
5526// ShapeProperties: The properties of a Shape.
5527//
5528// If the shape is a placeholder shape as determined by the
5529// placeholder field, then these
5530// properties may be inherited from a parent placeholder
5531// shape.
5532// Determining the rendered value of the property depends on the
5533// corresponding
5534// property_state field value.
5535type ShapeProperties struct {
5536	// ContentAlignment: The alignment of the content in the shape. If
5537	// unspecified,
5538	// the alignment is inherited from a parent placeholder if it exists. If
5539	// the
5540	// shape has no parent, the default alignment matches the alignment for
5541	// new
5542	// shapes created in the Slides editor.
5543	//
5544	// Possible values:
5545	//   "CONTENT_ALIGNMENT_UNSPECIFIED" - An unspecified content alignment.
5546	// The content alignment is inherited from
5547	// the parent if it exists.
5548	//   "CONTENT_ALIGNMENT_UNSUPPORTED" - An unsupported content alignment.
5549	//   "TOP" - An alignment that aligns the content to the top of the
5550	// content holder.
5551	// Corresponds to ECMA-376 ST_TextAnchoringType 't'.
5552	//   "MIDDLE" - An alignment that aligns the content to the middle of
5553	// the content
5554	// holder. Corresponds to ECMA-376 ST_TextAnchoringType 'ctr'.
5555	//   "BOTTOM" - An alignment that aligns the content to the bottom of
5556	// the content
5557	// holder. Corresponds to ECMA-376 ST_TextAnchoringType 'b'.
5558	ContentAlignment string `json:"contentAlignment,omitempty"`
5559
5560	// Link: The hyperlink destination of the shape. If unset, there is no
5561	// link. Links
5562	// are not inherited from parent placeholders.
5563	Link *Link `json:"link,omitempty"`
5564
5565	// Outline: The outline of the shape. If unset, the outline is inherited
5566	// from a
5567	// parent placeholder if it exists. If the shape has no parent, then
5568	// the
5569	// default outline depends on the shape type, matching the defaults
5570	// for
5571	// new shapes created in the Slides editor.
5572	Outline *Outline `json:"outline,omitempty"`
5573
5574	// Shadow: The shadow properties of the shape. If unset, the shadow is
5575	// inherited from
5576	// a parent placeholder if it exists. If the shape has no parent, then
5577	// the
5578	// default shadow matches the defaults for new shapes created in the
5579	// Slides
5580	// editor. This property is read-only.
5581	Shadow *Shadow `json:"shadow,omitempty"`
5582
5583	// ShapeBackgroundFill: The background fill of the shape. If unset, the
5584	// background fill is
5585	// inherited from a parent placeholder if it exists. If the shape has
5586	// no
5587	// parent, then the default background fill depends on the shape
5588	// type,
5589	// matching the defaults for new shapes created in the Slides editor.
5590	ShapeBackgroundFill *ShapeBackgroundFill `json:"shapeBackgroundFill,omitempty"`
5591
5592	// ForceSendFields is a list of field names (e.g. "ContentAlignment") to
5593	// unconditionally include in API requests. By default, fields with
5594	// empty values are omitted from API requests. However, any non-pointer,
5595	// non-interface field appearing in ForceSendFields will be sent to the
5596	// server regardless of whether the field is empty or not. This may be
5597	// used to include empty fields in Patch requests.
5598	ForceSendFields []string `json:"-"`
5599
5600	// NullFields is a list of field names (e.g. "ContentAlignment") to
5601	// include in API requests with the JSON null value. By default, fields
5602	// with empty values are omitted from API requests. However, any field
5603	// with an empty value appearing in NullFields will be sent to the
5604	// server as null. It is an error if a field in this list has a
5605	// non-empty value. This may be used to include null fields in Patch
5606	// requests.
5607	NullFields []string `json:"-"`
5608}
5609
5610func (s *ShapeProperties) MarshalJSON() ([]byte, error) {
5611	type NoMethod ShapeProperties
5612	raw := NoMethod(*s)
5613	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5614}
5615
5616// SheetsChart: A PageElement kind representing
5617// a linked chart embedded from Google Sheets.
5618type SheetsChart struct {
5619	// ChartId: The ID of the specific chart in the Google Sheets
5620	// spreadsheet that is
5621	// embedded.
5622	ChartId int64 `json:"chartId,omitempty"`
5623
5624	// ContentUrl: The URL of an image of the embedded chart, with a default
5625	// lifetime of 30
5626	// minutes. This URL is tagged with the account of the requester. Anyone
5627	// with
5628	// the URL effectively accesses the image as the original requester.
5629	// Access to
5630	// the image may be lost if the presentation's sharing settings change.
5631	ContentUrl string `json:"contentUrl,omitempty"`
5632
5633	// SheetsChartProperties: The properties of the Sheets chart.
5634	SheetsChartProperties *SheetsChartProperties `json:"sheetsChartProperties,omitempty"`
5635
5636	// SpreadsheetId: The ID of the Google Sheets spreadsheet that contains
5637	// the source chart.
5638	SpreadsheetId string `json:"spreadsheetId,omitempty"`
5639
5640	// ForceSendFields is a list of field names (e.g. "ChartId") to
5641	// unconditionally include in API requests. By default, fields with
5642	// empty values are omitted from API requests. However, any non-pointer,
5643	// non-interface field appearing in ForceSendFields will be sent to the
5644	// server regardless of whether the field is empty or not. This may be
5645	// used to include empty fields in Patch requests.
5646	ForceSendFields []string `json:"-"`
5647
5648	// NullFields is a list of field names (e.g. "ChartId") to include in
5649	// API requests with the JSON null value. By default, fields with empty
5650	// values are omitted from API requests. However, any field with an
5651	// empty value appearing in NullFields will be sent to the server as
5652	// null. It is an error if a field in this list has a non-empty value.
5653	// This may be used to include null fields in Patch requests.
5654	NullFields []string `json:"-"`
5655}
5656
5657func (s *SheetsChart) MarshalJSON() ([]byte, error) {
5658	type NoMethod SheetsChart
5659	raw := NoMethod(*s)
5660	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5661}
5662
5663// SheetsChartProperties: The properties of the SheetsChart.
5664type SheetsChartProperties struct {
5665	// ChartImageProperties: The properties of the embedded chart image.
5666	ChartImageProperties *ImageProperties `json:"chartImageProperties,omitempty"`
5667
5668	// ForceSendFields is a list of field names (e.g.
5669	// "ChartImageProperties") to unconditionally include in API requests.
5670	// By default, fields with empty values are omitted from API requests.
5671	// However, any non-pointer, non-interface field appearing in
5672	// ForceSendFields will be sent to the server regardless of whether the
5673	// field is empty or not. This may be used to include empty fields in
5674	// Patch requests.
5675	ForceSendFields []string `json:"-"`
5676
5677	// NullFields is a list of field names (e.g. "ChartImageProperties") to
5678	// include in API requests with the JSON null value. By default, fields
5679	// with empty values are omitted from API requests. However, any field
5680	// with an empty value appearing in NullFields will be sent to the
5681	// server as null. It is an error if a field in this list has a
5682	// non-empty value. This may be used to include null fields in Patch
5683	// requests.
5684	NullFields []string `json:"-"`
5685}
5686
5687func (s *SheetsChartProperties) MarshalJSON() ([]byte, error) {
5688	type NoMethod SheetsChartProperties
5689	raw := NoMethod(*s)
5690	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5691}
5692
5693// Size: A width and height.
5694type Size struct {
5695	// Height: The height of the object.
5696	Height *Dimension `json:"height,omitempty"`
5697
5698	// Width: The width of the object.
5699	Width *Dimension `json:"width,omitempty"`
5700
5701	// ForceSendFields is a list of field names (e.g. "Height") to
5702	// unconditionally include in API requests. By default, fields with
5703	// empty values are omitted from API requests. However, any non-pointer,
5704	// non-interface field appearing in ForceSendFields will be sent to the
5705	// server regardless of whether the field is empty or not. This may be
5706	// used to include empty fields in Patch requests.
5707	ForceSendFields []string `json:"-"`
5708
5709	// NullFields is a list of field names (e.g. "Height") to include in API
5710	// requests with the JSON null value. By default, fields with empty
5711	// values are omitted from API requests. However, any field with an
5712	// empty value appearing in NullFields will be sent to the server as
5713	// null. It is an error if a field in this list has a non-empty value.
5714	// This may be used to include null fields in Patch requests.
5715	NullFields []string `json:"-"`
5716}
5717
5718func (s *Size) MarshalJSON() ([]byte, error) {
5719	type NoMethod Size
5720	raw := NoMethod(*s)
5721	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5722}
5723
5724// SlideProperties: The properties of Page that are only
5725// relevant for pages with page_type SLIDE.
5726type SlideProperties struct {
5727	// LayoutObjectId: The object ID of the layout that this slide is based
5728	// on. This property is
5729	// read-only.
5730	LayoutObjectId string `json:"layoutObjectId,omitempty"`
5731
5732	// MasterObjectId: The object ID of the master that this slide is based
5733	// on. This property is
5734	// read-only.
5735	MasterObjectId string `json:"masterObjectId,omitempty"`
5736
5737	// NotesPage: The notes page that this slide is associated with. It
5738	// defines the visual
5739	// appearance of a notes page when printing or exporting slides with
5740	// speaker
5741	// notes. A notes page inherits properties from the
5742	// notes master.
5743	// The placeholder shape with type BODY on the notes page contains the
5744	// speaker
5745	// notes for this slide. The ID of this shape is identified by
5746	// the
5747	// speakerNotesObjectId field.
5748	// The notes page is read-only except for the text content and styles of
5749	// the
5750	// speaker notes shape. This property is read-only.
5751	NotesPage *Page `json:"notesPage,omitempty"`
5752
5753	// ForceSendFields is a list of field names (e.g. "LayoutObjectId") to
5754	// unconditionally include in API requests. By default, fields with
5755	// empty values are omitted from API requests. However, any non-pointer,
5756	// non-interface field appearing in ForceSendFields will be sent to the
5757	// server regardless of whether the field is empty or not. This may be
5758	// used to include empty fields in Patch requests.
5759	ForceSendFields []string `json:"-"`
5760
5761	// NullFields is a list of field names (e.g. "LayoutObjectId") to
5762	// include in API requests with the JSON null value. By default, fields
5763	// with empty values are omitted from API requests. However, any field
5764	// with an empty value appearing in NullFields will be sent to the
5765	// server as null. It is an error if a field in this list has a
5766	// non-empty value. This may be used to include null fields in Patch
5767	// requests.
5768	NullFields []string `json:"-"`
5769}
5770
5771func (s *SlideProperties) MarshalJSON() ([]byte, error) {
5772	type NoMethod SlideProperties
5773	raw := NoMethod(*s)
5774	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5775}
5776
5777// SolidFill: A solid color fill. The page or page element is filled
5778// entirely with the
5779// specified color value.
5780//
5781// If any field is unset, its value may be inherited from a parent
5782// placeholder
5783// if it exists.
5784type SolidFill struct {
5785	// Alpha: The fraction of this `color` that should be applied to the
5786	// pixel.
5787	// That is, the final pixel color is defined by the equation:
5788	//
5789	//   pixel color = alpha * (color) + (1.0 - alpha) * (background
5790	// color)
5791	//
5792	// This means that a value of 1.0 corresponds to a solid color,
5793	// whereas
5794	// a value of 0.0 corresponds to a completely transparent color.
5795	Alpha float64 `json:"alpha,omitempty"`
5796
5797	// Color: The color value of the solid fill.
5798	Color *OpaqueColor `json:"color,omitempty"`
5799
5800	// ForceSendFields is a list of field names (e.g. "Alpha") to
5801	// unconditionally include in API requests. By default, fields with
5802	// empty values are omitted from API requests. However, any non-pointer,
5803	// non-interface field appearing in ForceSendFields will be sent to the
5804	// server regardless of whether the field is empty or not. This may be
5805	// used to include empty fields in Patch requests.
5806	ForceSendFields []string `json:"-"`
5807
5808	// NullFields is a list of field names (e.g. "Alpha") to include in API
5809	// requests with the JSON null value. By default, fields with empty
5810	// values are omitted from API requests. However, any field with an
5811	// empty value appearing in NullFields will be sent to the server as
5812	// null. It is an error if a field in this list has a non-empty value.
5813	// This may be used to include null fields in Patch requests.
5814	NullFields []string `json:"-"`
5815}
5816
5817func (s *SolidFill) MarshalJSON() ([]byte, error) {
5818	type NoMethod SolidFill
5819	raw := NoMethod(*s)
5820	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5821}
5822
5823func (s *SolidFill) UnmarshalJSON(data []byte) error {
5824	type NoMethod SolidFill
5825	var s1 struct {
5826		Alpha gensupport.JSONFloat64 `json:"alpha"`
5827		*NoMethod
5828	}
5829	s1.NoMethod = (*NoMethod)(s)
5830	if err := json.Unmarshal(data, &s1); err != nil {
5831		return err
5832	}
5833	s.Alpha = float64(s1.Alpha)
5834	return nil
5835}
5836
5837// StretchedPictureFill: The stretched picture fill. The page or page
5838// element is filled entirely with
5839// the specified picture. The picture is stretched to fit its container.
5840type StretchedPictureFill struct {
5841	// ContentUrl: Reading the content_url:
5842	//
5843	// An URL to a picture with a default lifetime of 30 minutes.
5844	// This URL is tagged with the account of the requester. Anyone with the
5845	// URL
5846	// effectively accesses the picture as the original requester. Access to
5847	// the
5848	// picture may be lost if the presentation's sharing settings
5849	// change.
5850	//
5851	// Writing the content_url:
5852	//
5853	// The picture is fetched once at insertion time and a copy is stored
5854	// for
5855	// display inside the presentation. Pictures must be less than 50MB in
5856	// size,
5857	// cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or
5858	// GIF
5859	// format.
5860	//
5861	// The provided URL can be at most 2 kB in length.
5862	ContentUrl string `json:"contentUrl,omitempty"`
5863
5864	// Size: The original size of the picture fill. This field is read-only.
5865	Size *Size `json:"size,omitempty"`
5866
5867	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
5868	// unconditionally include in API requests. By default, fields with
5869	// empty values are omitted from API requests. However, any non-pointer,
5870	// non-interface field appearing in ForceSendFields will be sent to the
5871	// server regardless of whether the field is empty or not. This may be
5872	// used to include empty fields in Patch requests.
5873	ForceSendFields []string `json:"-"`
5874
5875	// NullFields is a list of field names (e.g. "ContentUrl") to include in
5876	// API requests with the JSON null value. By default, fields with empty
5877	// values are omitted from API requests. However, any field with an
5878	// empty value appearing in NullFields will be sent to the server as
5879	// null. It is an error if a field in this list has a non-empty value.
5880	// This may be used to include null fields in Patch requests.
5881	NullFields []string `json:"-"`
5882}
5883
5884func (s *StretchedPictureFill) MarshalJSON() ([]byte, error) {
5885	type NoMethod StretchedPictureFill
5886	raw := NoMethod(*s)
5887	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5888}
5889
5890// SubstringMatchCriteria: A criteria that matches a specific string of
5891// text in a shape or table.
5892type SubstringMatchCriteria struct {
5893	// MatchCase: Indicates whether the search should respect case:
5894	//
5895	// - `True`: the search is case sensitive.
5896	// - `False`: the search is case insensitive.
5897	MatchCase bool `json:"matchCase,omitempty"`
5898
5899	// Text: The text to search for in the shape or table.
5900	Text string `json:"text,omitempty"`
5901
5902	// ForceSendFields is a list of field names (e.g. "MatchCase") to
5903	// unconditionally include in API requests. By default, fields with
5904	// empty values are omitted from API requests. However, any non-pointer,
5905	// non-interface field appearing in ForceSendFields will be sent to the
5906	// server regardless of whether the field is empty or not. This may be
5907	// used to include empty fields in Patch requests.
5908	ForceSendFields []string `json:"-"`
5909
5910	// NullFields is a list of field names (e.g. "MatchCase") to include in
5911	// API requests with the JSON null value. By default, fields with empty
5912	// values are omitted from API requests. However, any field with an
5913	// empty value appearing in NullFields will be sent to the server as
5914	// null. It is an error if a field in this list has a non-empty value.
5915	// This may be used to include null fields in Patch requests.
5916	NullFields []string `json:"-"`
5917}
5918
5919func (s *SubstringMatchCriteria) MarshalJSON() ([]byte, error) {
5920	type NoMethod SubstringMatchCriteria
5921	raw := NoMethod(*s)
5922	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5923}
5924
5925// Table: A PageElement kind representing a
5926// table.
5927type Table struct {
5928	// Columns: Number of columns in the table.
5929	Columns int64 `json:"columns,omitempty"`
5930
5931	// HorizontalBorderRows: Properties of horizontal cell borders.
5932	//
5933	// A table's horizontal cell borders are represented as a grid. The grid
5934	// has
5935	// one more row than the number of rows in the table and the same number
5936	// of
5937	// columns as the table. For example, if the table is 3 x 3, its
5938	// horizontal
5939	// borders will be represented as a grid with 4 rows and 3 columns.
5940	HorizontalBorderRows []*TableBorderRow `json:"horizontalBorderRows,omitempty"`
5941
5942	// Rows: Number of rows in the table.
5943	Rows int64 `json:"rows,omitempty"`
5944
5945	// TableColumns: Properties of each column.
5946	TableColumns []*TableColumnProperties `json:"tableColumns,omitempty"`
5947
5948	// TableRows: Properties and contents of each row.
5949	//
5950	// Cells that span multiple rows are contained in only one of these rows
5951	// and
5952	// have a row_span greater
5953	// than 1.
5954	TableRows []*TableRow `json:"tableRows,omitempty"`
5955
5956	// VerticalBorderRows: Properties of vertical cell borders.
5957	//
5958	// A table's vertical cell borders are represented as a grid. The grid
5959	// has the
5960	// same number of rows as the table and one more column than the number
5961	// of
5962	// columns in the table. For example, if the table is 3 x 3, its
5963	// vertical
5964	// borders will be represented as a grid with 3 rows and 4 columns.
5965	VerticalBorderRows []*TableBorderRow `json:"verticalBorderRows,omitempty"`
5966
5967	// ForceSendFields is a list of field names (e.g. "Columns") to
5968	// unconditionally include in API requests. By default, fields with
5969	// empty values are omitted from API requests. However, any non-pointer,
5970	// non-interface field appearing in ForceSendFields will be sent to the
5971	// server regardless of whether the field is empty or not. This may be
5972	// used to include empty fields in Patch requests.
5973	ForceSendFields []string `json:"-"`
5974
5975	// NullFields is a list of field names (e.g. "Columns") to include in
5976	// API requests with the JSON null value. By default, fields with empty
5977	// values are omitted from API requests. However, any field with an
5978	// empty value appearing in NullFields will be sent to the server as
5979	// null. It is an error if a field in this list has a non-empty value.
5980	// This may be used to include null fields in Patch requests.
5981	NullFields []string `json:"-"`
5982}
5983
5984func (s *Table) MarshalJSON() ([]byte, error) {
5985	type NoMethod Table
5986	raw := NoMethod(*s)
5987	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5988}
5989
5990// TableBorderCell: The properties of each border cell.
5991type TableBorderCell struct {
5992	// Location: The location of the border within the border table.
5993	Location *TableCellLocation `json:"location,omitempty"`
5994
5995	// TableBorderProperties: The border properties.
5996	TableBorderProperties *TableBorderProperties `json:"tableBorderProperties,omitempty"`
5997
5998	// ForceSendFields is a list of field names (e.g. "Location") to
5999	// unconditionally include in API requests. By default, fields with
6000	// empty values are omitted from API requests. However, any non-pointer,
6001	// non-interface field appearing in ForceSendFields will be sent to the
6002	// server regardless of whether the field is empty or not. This may be
6003	// used to include empty fields in Patch requests.
6004	ForceSendFields []string `json:"-"`
6005
6006	// NullFields is a list of field names (e.g. "Location") to include in
6007	// API requests with the JSON null value. By default, fields with empty
6008	// values are omitted from API requests. However, any field with an
6009	// empty value appearing in NullFields will be sent to the server as
6010	// null. It is an error if a field in this list has a non-empty value.
6011	// This may be used to include null fields in Patch requests.
6012	NullFields []string `json:"-"`
6013}
6014
6015func (s *TableBorderCell) MarshalJSON() ([]byte, error) {
6016	type NoMethod TableBorderCell
6017	raw := NoMethod(*s)
6018	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6019}
6020
6021// TableBorderFill: The fill of the border.
6022type TableBorderFill struct {
6023	// SolidFill: Solid fill.
6024	SolidFill *SolidFill `json:"solidFill,omitempty"`
6025
6026	// ForceSendFields is a list of field names (e.g. "SolidFill") to
6027	// unconditionally include in API requests. By default, fields with
6028	// empty values are omitted from API requests. However, any non-pointer,
6029	// non-interface field appearing in ForceSendFields will be sent to the
6030	// server regardless of whether the field is empty or not. This may be
6031	// used to include empty fields in Patch requests.
6032	ForceSendFields []string `json:"-"`
6033
6034	// NullFields is a list of field names (e.g. "SolidFill") to include in
6035	// API requests with the JSON null value. By default, fields with empty
6036	// values are omitted from API requests. However, any field with an
6037	// empty value appearing in NullFields will be sent to the server as
6038	// null. It is an error if a field in this list has a non-empty value.
6039	// This may be used to include null fields in Patch requests.
6040	NullFields []string `json:"-"`
6041}
6042
6043func (s *TableBorderFill) MarshalJSON() ([]byte, error) {
6044	type NoMethod TableBorderFill
6045	raw := NoMethod(*s)
6046	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6047}
6048
6049// TableBorderProperties: The border styling properties of
6050// the
6051// TableBorderCell.
6052type TableBorderProperties struct {
6053	// DashStyle: The dash style of the border.
6054	//
6055	// Possible values:
6056	//   "DASH_STYLE_UNSPECIFIED" - Unspecified dash style.
6057	//   "SOLID" - Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal
6058	// value 'solid'.
6059	// This is the default dash style.
6060	//   "DOT" - Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal
6061	// value 'dot'.
6062	//   "DASH" - Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal
6063	// value 'dash'.
6064	//   "DASH_DOT" - Alternating dashes and dots. Corresponds to ECMA-376
6065	// ST_PresetLineDashVal
6066	// value 'dashDot'.
6067	//   "LONG_DASH" - Line with large dashes. Corresponds to ECMA-376
6068	// ST_PresetLineDashVal
6069	// value 'lgDash'.
6070	//   "LONG_DASH_DOT" - Alternating large dashes and dots. Corresponds to
6071	// ECMA-376
6072	// ST_PresetLineDashVal value 'lgDashDot'.
6073	DashStyle string `json:"dashStyle,omitempty"`
6074
6075	// TableBorderFill: The fill of the table border.
6076	TableBorderFill *TableBorderFill `json:"tableBorderFill,omitempty"`
6077
6078	// Weight: The thickness of the border.
6079	Weight *Dimension `json:"weight,omitempty"`
6080
6081	// ForceSendFields is a list of field names (e.g. "DashStyle") to
6082	// unconditionally include in API requests. By default, fields with
6083	// empty values are omitted from API requests. However, any non-pointer,
6084	// non-interface field appearing in ForceSendFields will be sent to the
6085	// server regardless of whether the field is empty or not. This may be
6086	// used to include empty fields in Patch requests.
6087	ForceSendFields []string `json:"-"`
6088
6089	// NullFields is a list of field names (e.g. "DashStyle") to include in
6090	// API requests with the JSON null value. By default, fields with empty
6091	// values are omitted from API requests. However, any field with an
6092	// empty value appearing in NullFields will be sent to the server as
6093	// null. It is an error if a field in this list has a non-empty value.
6094	// This may be used to include null fields in Patch requests.
6095	NullFields []string `json:"-"`
6096}
6097
6098func (s *TableBorderProperties) MarshalJSON() ([]byte, error) {
6099	type NoMethod TableBorderProperties
6100	raw := NoMethod(*s)
6101	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6102}
6103
6104// TableBorderRow: Contents of each border row in a table.
6105type TableBorderRow struct {
6106	// TableBorderCells: Properties of each border cell. When a border's
6107	// adjacent table cells are
6108	// merged, it is not included in the response.
6109	TableBorderCells []*TableBorderCell `json:"tableBorderCells,omitempty"`
6110
6111	// ForceSendFields is a list of field names (e.g. "TableBorderCells") to
6112	// unconditionally include in API requests. By default, fields with
6113	// empty values are omitted from API requests. However, any non-pointer,
6114	// non-interface field appearing in ForceSendFields will be sent to the
6115	// server regardless of whether the field is empty or not. This may be
6116	// used to include empty fields in Patch requests.
6117	ForceSendFields []string `json:"-"`
6118
6119	// NullFields is a list of field names (e.g. "TableBorderCells") to
6120	// include in API requests with the JSON null value. By default, fields
6121	// with empty values are omitted from API requests. However, any field
6122	// with an empty value appearing in NullFields will be sent to the
6123	// server as null. It is an error if a field in this list has a
6124	// non-empty value. This may be used to include null fields in Patch
6125	// requests.
6126	NullFields []string `json:"-"`
6127}
6128
6129func (s *TableBorderRow) MarshalJSON() ([]byte, error) {
6130	type NoMethod TableBorderRow
6131	raw := NoMethod(*s)
6132	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6133}
6134
6135// TableCell: Properties and contents of each table cell.
6136type TableCell struct {
6137	// ColumnSpan: Column span of the cell.
6138	ColumnSpan int64 `json:"columnSpan,omitempty"`
6139
6140	// Location: The location of the cell within the table.
6141	Location *TableCellLocation `json:"location,omitempty"`
6142
6143	// RowSpan: Row span of the cell.
6144	RowSpan int64 `json:"rowSpan,omitempty"`
6145
6146	// TableCellProperties: The properties of the table cell.
6147	TableCellProperties *TableCellProperties `json:"tableCellProperties,omitempty"`
6148
6149	// Text: The text content of the cell.
6150	Text *TextContent `json:"text,omitempty"`
6151
6152	// ForceSendFields is a list of field names (e.g. "ColumnSpan") to
6153	// unconditionally include in API requests. By default, fields with
6154	// empty values are omitted from API requests. However, any non-pointer,
6155	// non-interface field appearing in ForceSendFields will be sent to the
6156	// server regardless of whether the field is empty or not. This may be
6157	// used to include empty fields in Patch requests.
6158	ForceSendFields []string `json:"-"`
6159
6160	// NullFields is a list of field names (e.g. "ColumnSpan") to include in
6161	// API requests with the JSON null value. By default, fields with empty
6162	// values are omitted from API requests. However, any field with an
6163	// empty value appearing in NullFields will be sent to the server as
6164	// null. It is an error if a field in this list has a non-empty value.
6165	// This may be used to include null fields in Patch requests.
6166	NullFields []string `json:"-"`
6167}
6168
6169func (s *TableCell) MarshalJSON() ([]byte, error) {
6170	type NoMethod TableCell
6171	raw := NoMethod(*s)
6172	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6173}
6174
6175// TableCellBackgroundFill: The table cell background fill.
6176type TableCellBackgroundFill struct {
6177	// PropertyState: The background fill property state.
6178	//
6179	// Updating the fill on a table cell will implicitly update this
6180	// field
6181	// to `RENDERED`, unless another value is specified in the same request.
6182	// To
6183	// have no fill on a table cell, set this field to `NOT_RENDERED`. In
6184	// this
6185	// case, any other fill fields set in the same request will be ignored.
6186	//
6187	// Possible values:
6188	//   "RENDERED" - If a property's state is RENDERED, then the element
6189	// has the corresponding
6190	// property when rendered on a page. If the element is a placeholder
6191	// shape as
6192	// determined by the placeholder
6193	// field, and it inherits from a placeholder shape, the corresponding
6194	// field
6195	// may be unset, meaning that the property value is inherited from a
6196	// parent
6197	// placeholder. If the element does not inherit, then the field will
6198	// contain
6199	// the rendered value. This is the default value.
6200	//   "NOT_RENDERED" - If a property's state is NOT_RENDERED, then the
6201	// element does not have the
6202	// corresponding property when rendered on a page. However, the field
6203	// may
6204	// still be set so it can be inherited by child shapes. To remove a
6205	// property
6206	// from a rendered element, set its property_state to NOT_RENDERED.
6207	//   "INHERIT" - If a property's state is INHERIT, then the property
6208	// state uses the value of
6209	// corresponding `property_state` field on the parent shape. Elements
6210	// that do
6211	// not inherit will never have an INHERIT property state.
6212	PropertyState string `json:"propertyState,omitempty"`
6213
6214	// SolidFill: Solid color fill.
6215	SolidFill *SolidFill `json:"solidFill,omitempty"`
6216
6217	// ForceSendFields is a list of field names (e.g. "PropertyState") to
6218	// unconditionally include in API requests. By default, fields with
6219	// empty values are omitted from API requests. However, any non-pointer,
6220	// non-interface field appearing in ForceSendFields will be sent to the
6221	// server regardless of whether the field is empty or not. This may be
6222	// used to include empty fields in Patch requests.
6223	ForceSendFields []string `json:"-"`
6224
6225	// NullFields is a list of field names (e.g. "PropertyState") to include
6226	// in API requests with the JSON null value. By default, fields with
6227	// empty values are omitted from API requests. However, any field with
6228	// an empty value appearing in NullFields will be sent to the server as
6229	// null. It is an error if a field in this list has a non-empty value.
6230	// This may be used to include null fields in Patch requests.
6231	NullFields []string `json:"-"`
6232}
6233
6234func (s *TableCellBackgroundFill) MarshalJSON() ([]byte, error) {
6235	type NoMethod TableCellBackgroundFill
6236	raw := NoMethod(*s)
6237	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6238}
6239
6240// TableCellLocation: A location of a single table cell within a table.
6241type TableCellLocation struct {
6242	// ColumnIndex: The 0-based column index.
6243	ColumnIndex int64 `json:"columnIndex,omitempty"`
6244
6245	// RowIndex: The 0-based row index.
6246	RowIndex int64 `json:"rowIndex,omitempty"`
6247
6248	// ForceSendFields is a list of field names (e.g. "ColumnIndex") to
6249	// unconditionally include in API requests. By default, fields with
6250	// empty values are omitted from API requests. However, any non-pointer,
6251	// non-interface field appearing in ForceSendFields will be sent to the
6252	// server regardless of whether the field is empty or not. This may be
6253	// used to include empty fields in Patch requests.
6254	ForceSendFields []string `json:"-"`
6255
6256	// NullFields is a list of field names (e.g. "ColumnIndex") to include
6257	// in API requests with the JSON null value. By default, fields with
6258	// empty values are omitted from API requests. However, any field with
6259	// an empty value appearing in NullFields will be sent to the server as
6260	// null. It is an error if a field in this list has a non-empty value.
6261	// This may be used to include null fields in Patch requests.
6262	NullFields []string `json:"-"`
6263}
6264
6265func (s *TableCellLocation) MarshalJSON() ([]byte, error) {
6266	type NoMethod TableCellLocation
6267	raw := NoMethod(*s)
6268	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6269}
6270
6271// TableCellProperties: The properties of the TableCell.
6272type TableCellProperties struct {
6273	// ContentAlignment: The alignment of the content in the table cell. The
6274	// default alignment
6275	// matches the alignment for newly created table cells in the Slides
6276	// editor.
6277	//
6278	// Possible values:
6279	//   "CONTENT_ALIGNMENT_UNSPECIFIED" - An unspecified content alignment.
6280	// The content alignment is inherited from
6281	// the parent if it exists.
6282	//   "CONTENT_ALIGNMENT_UNSUPPORTED" - An unsupported content alignment.
6283	//   "TOP" - An alignment that aligns the content to the top of the
6284	// content holder.
6285	// Corresponds to ECMA-376 ST_TextAnchoringType 't'.
6286	//   "MIDDLE" - An alignment that aligns the content to the middle of
6287	// the content
6288	// holder. Corresponds to ECMA-376 ST_TextAnchoringType 'ctr'.
6289	//   "BOTTOM" - An alignment that aligns the content to the bottom of
6290	// the content
6291	// holder. Corresponds to ECMA-376 ST_TextAnchoringType 'b'.
6292	ContentAlignment string `json:"contentAlignment,omitempty"`
6293
6294	// TableCellBackgroundFill: The background fill of the table cell. The
6295	// default fill matches the fill
6296	// for newly created table cells in the Slides editor.
6297	TableCellBackgroundFill *TableCellBackgroundFill `json:"tableCellBackgroundFill,omitempty"`
6298
6299	// ForceSendFields is a list of field names (e.g. "ContentAlignment") to
6300	// unconditionally include in API requests. By default, fields with
6301	// empty values are omitted from API requests. However, any non-pointer,
6302	// non-interface field appearing in ForceSendFields will be sent to the
6303	// server regardless of whether the field is empty or not. This may be
6304	// used to include empty fields in Patch requests.
6305	ForceSendFields []string `json:"-"`
6306
6307	// NullFields is a list of field names (e.g. "ContentAlignment") to
6308	// include in API requests with the JSON null value. By default, fields
6309	// with empty values are omitted from API requests. However, any field
6310	// with an empty value appearing in NullFields will be sent to the
6311	// server as null. It is an error if a field in this list has a
6312	// non-empty value. This may be used to include null fields in Patch
6313	// requests.
6314	NullFields []string `json:"-"`
6315}
6316
6317func (s *TableCellProperties) MarshalJSON() ([]byte, error) {
6318	type NoMethod TableCellProperties
6319	raw := NoMethod(*s)
6320	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6321}
6322
6323// TableColumnProperties: Properties of each column in a table.
6324type TableColumnProperties struct {
6325	// ColumnWidth: Width of a column.
6326	ColumnWidth *Dimension `json:"columnWidth,omitempty"`
6327
6328	// ForceSendFields is a list of field names (e.g. "ColumnWidth") to
6329	// unconditionally include in API requests. By default, fields with
6330	// empty values are omitted from API requests. However, any non-pointer,
6331	// non-interface field appearing in ForceSendFields will be sent to the
6332	// server regardless of whether the field is empty or not. This may be
6333	// used to include empty fields in Patch requests.
6334	ForceSendFields []string `json:"-"`
6335
6336	// NullFields is a list of field names (e.g. "ColumnWidth") to include
6337	// in API requests with the JSON null value. By default, fields with
6338	// empty values are omitted from API requests. However, any field with
6339	// an empty value appearing in NullFields will be sent to the server as
6340	// null. It is an error if a field in this list has a non-empty value.
6341	// This may be used to include null fields in Patch requests.
6342	NullFields []string `json:"-"`
6343}
6344
6345func (s *TableColumnProperties) MarshalJSON() ([]byte, error) {
6346	type NoMethod TableColumnProperties
6347	raw := NoMethod(*s)
6348	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6349}
6350
6351// TableRange: A table range represents a reference to a subset of a
6352// table.
6353//
6354// It's important to note that the cells specified by a table range do
6355// not
6356// necessarily form a rectangle. For example, let's say we have a 3 x 3
6357// table
6358// where all the cells of the last row are merged together. The table
6359// looks
6360// like this:
6361//
6362//
6363//      [             ]
6364//
6365// A table range with location = (0, 0), row span = 3 and column span =
6366// 2
6367// specifies the following cells:
6368//
6369//       x     x
6370//      [ x    x    x ]
6371type TableRange struct {
6372	// ColumnSpan: The column span of the table range.
6373	ColumnSpan int64 `json:"columnSpan,omitempty"`
6374
6375	// Location: The starting location of the table range.
6376	Location *TableCellLocation `json:"location,omitempty"`
6377
6378	// RowSpan: The row span of the table range.
6379	RowSpan int64 `json:"rowSpan,omitempty"`
6380
6381	// ForceSendFields is a list of field names (e.g. "ColumnSpan") to
6382	// unconditionally include in API requests. By default, fields with
6383	// empty values are omitted from API requests. However, any non-pointer,
6384	// non-interface field appearing in ForceSendFields will be sent to the
6385	// server regardless of whether the field is empty or not. This may be
6386	// used to include empty fields in Patch requests.
6387	ForceSendFields []string `json:"-"`
6388
6389	// NullFields is a list of field names (e.g. "ColumnSpan") to include in
6390	// API requests with the JSON null value. By default, fields with empty
6391	// values are omitted from API requests. However, any field with an
6392	// empty value appearing in NullFields will be sent to the server as
6393	// null. It is an error if a field in this list has a non-empty value.
6394	// This may be used to include null fields in Patch requests.
6395	NullFields []string `json:"-"`
6396}
6397
6398func (s *TableRange) MarshalJSON() ([]byte, error) {
6399	type NoMethod TableRange
6400	raw := NoMethod(*s)
6401	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6402}
6403
6404// TableRow: Properties and contents of each row in a table.
6405type TableRow struct {
6406	// RowHeight: Height of a row.
6407	RowHeight *Dimension `json:"rowHeight,omitempty"`
6408
6409	// TableCells: Properties and contents of each cell.
6410	//
6411	// Cells that span multiple columns are represented only once with
6412	// a
6413	// column_span greater
6414	// than 1. As a result, the length of this collection does not always
6415	// match
6416	// the number of columns of the entire table.
6417	TableCells []*TableCell `json:"tableCells,omitempty"`
6418
6419	// TableRowProperties: Properties of the row.
6420	TableRowProperties *TableRowProperties `json:"tableRowProperties,omitempty"`
6421
6422	// ForceSendFields is a list of field names (e.g. "RowHeight") to
6423	// unconditionally include in API requests. By default, fields with
6424	// empty values are omitted from API requests. However, any non-pointer,
6425	// non-interface field appearing in ForceSendFields will be sent to the
6426	// server regardless of whether the field is empty or not. This may be
6427	// used to include empty fields in Patch requests.
6428	ForceSendFields []string `json:"-"`
6429
6430	// NullFields is a list of field names (e.g. "RowHeight") to include in
6431	// API requests with the JSON null value. By default, fields with empty
6432	// values are omitted from API requests. However, any field with an
6433	// empty value appearing in NullFields will be sent to the server as
6434	// null. It is an error if a field in this list has a non-empty value.
6435	// This may be used to include null fields in Patch requests.
6436	NullFields []string `json:"-"`
6437}
6438
6439func (s *TableRow) MarshalJSON() ([]byte, error) {
6440	type NoMethod TableRow
6441	raw := NoMethod(*s)
6442	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6443}
6444
6445// TableRowProperties: Properties of each row in a table.
6446type TableRowProperties struct {
6447	// MinRowHeight: Minimum height of the row. The row will be rendered in
6448	// the Slides editor at
6449	// a height equal to or greater than this value in order to show all the
6450	// text
6451	// in the row's cell(s).
6452	MinRowHeight *Dimension `json:"minRowHeight,omitempty"`
6453
6454	// ForceSendFields is a list of field names (e.g. "MinRowHeight") to
6455	// unconditionally include in API requests. By default, fields with
6456	// empty values are omitted from API requests. However, any non-pointer,
6457	// non-interface field appearing in ForceSendFields will be sent to the
6458	// server regardless of whether the field is empty or not. This may be
6459	// used to include empty fields in Patch requests.
6460	ForceSendFields []string `json:"-"`
6461
6462	// NullFields is a list of field names (e.g. "MinRowHeight") to include
6463	// in API requests with the JSON null value. By default, fields with
6464	// empty values are omitted from API requests. However, any field with
6465	// an empty value appearing in NullFields will be sent to the server as
6466	// null. It is an error if a field in this list has a non-empty value.
6467	// This may be used to include null fields in Patch requests.
6468	NullFields []string `json:"-"`
6469}
6470
6471func (s *TableRowProperties) MarshalJSON() ([]byte, error) {
6472	type NoMethod TableRowProperties
6473	raw := NoMethod(*s)
6474	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6475}
6476
6477// TextContent: The general text content. The text must reside in a
6478// compatible shape (e.g.
6479// text box or rectangle) or a table cell in a page.
6480type TextContent struct {
6481	// Lists: The bulleted lists contained in this text, keyed by list ID.
6482	Lists map[string]List `json:"lists,omitempty"`
6483
6484	// TextElements: The text contents broken down into its component parts,
6485	// including styling
6486	// information. This property is read-only.
6487	TextElements []*TextElement `json:"textElements,omitempty"`
6488
6489	// ForceSendFields is a list of field names (e.g. "Lists") to
6490	// unconditionally include in API requests. By default, fields with
6491	// empty values are omitted from API requests. However, any non-pointer,
6492	// non-interface field appearing in ForceSendFields will be sent to the
6493	// server regardless of whether the field is empty or not. This may be
6494	// used to include empty fields in Patch requests.
6495	ForceSendFields []string `json:"-"`
6496
6497	// NullFields is a list of field names (e.g. "Lists") to include in API
6498	// requests with the JSON null value. By default, fields with empty
6499	// values are omitted from API requests. However, any field with an
6500	// empty value appearing in NullFields will be sent to the server as
6501	// null. It is an error if a field in this list has a non-empty value.
6502	// This may be used to include null fields in Patch requests.
6503	NullFields []string `json:"-"`
6504}
6505
6506func (s *TextContent) MarshalJSON() ([]byte, error) {
6507	type NoMethod TextContent
6508	raw := NoMethod(*s)
6509	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6510}
6511
6512// TextElement: A TextElement describes the content of a range of
6513// indices in the text content
6514// of a Shape or TableCell.
6515type TextElement struct {
6516	// AutoText: A TextElement representing a spot in the text that is
6517	// dynamically
6518	// replaced with content that can change over time.
6519	AutoText *AutoText `json:"autoText,omitempty"`
6520
6521	// EndIndex: The zero-based end index of this text element, exclusive,
6522	// in Unicode code
6523	// units.
6524	EndIndex int64 `json:"endIndex,omitempty"`
6525
6526	// ParagraphMarker: A marker representing the beginning of a new
6527	// paragraph.
6528	//
6529	// The `start_index` and `end_index` of this TextElement represent
6530	// the
6531	// range of the paragraph. Other TextElements with an index range
6532	// contained
6533	// inside this paragraph's range are considered to be part of
6534	// this
6535	// paragraph. The range of indices of two separate paragraphs will
6536	// never
6537	// overlap.
6538	ParagraphMarker *ParagraphMarker `json:"paragraphMarker,omitempty"`
6539
6540	// StartIndex: The zero-based start index of this text element, in
6541	// Unicode code units.
6542	StartIndex int64 `json:"startIndex,omitempty"`
6543
6544	// TextRun: A TextElement representing a run of text where all of the
6545	// characters
6546	// in the run have the same TextStyle.
6547	//
6548	// The `start_index` and `end_index` of TextRuns will always be
6549	// fully
6550	// contained in the index range of a single `paragraph_marker`
6551	// TextElement.
6552	// In other words, a TextRun will never span multiple paragraphs.
6553	TextRun *TextRun `json:"textRun,omitempty"`
6554
6555	// ForceSendFields is a list of field names (e.g. "AutoText") to
6556	// unconditionally include in API requests. By default, fields with
6557	// empty values are omitted from API requests. However, any non-pointer,
6558	// non-interface field appearing in ForceSendFields will be sent to the
6559	// server regardless of whether the field is empty or not. This may be
6560	// used to include empty fields in Patch requests.
6561	ForceSendFields []string `json:"-"`
6562
6563	// NullFields is a list of field names (e.g. "AutoText") to include in
6564	// API requests with the JSON null value. By default, fields with empty
6565	// values are omitted from API requests. However, any field with an
6566	// empty value appearing in NullFields will be sent to the server as
6567	// null. It is an error if a field in this list has a non-empty value.
6568	// This may be used to include null fields in Patch requests.
6569	NullFields []string `json:"-"`
6570}
6571
6572func (s *TextElement) MarshalJSON() ([]byte, error) {
6573	type NoMethod TextElement
6574	raw := NoMethod(*s)
6575	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6576}
6577
6578// TextRun: A TextElement kind that represents a run of text that all
6579// has the same
6580// styling.
6581type TextRun struct {
6582	// Content: The text of this run.
6583	Content string `json:"content,omitempty"`
6584
6585	// Style: The styling applied to this run.
6586	Style *TextStyle `json:"style,omitempty"`
6587
6588	// ForceSendFields is a list of field names (e.g. "Content") to
6589	// unconditionally include in API requests. By default, fields with
6590	// empty values are omitted from API requests. However, any non-pointer,
6591	// non-interface field appearing in ForceSendFields will be sent to the
6592	// server regardless of whether the field is empty or not. This may be
6593	// used to include empty fields in Patch requests.
6594	ForceSendFields []string `json:"-"`
6595
6596	// NullFields is a list of field names (e.g. "Content") to include in
6597	// API requests with the JSON null value. By default, fields with empty
6598	// values are omitted from API requests. However, any field with an
6599	// empty value appearing in NullFields will be sent to the server as
6600	// null. It is an error if a field in this list has a non-empty value.
6601	// This may be used to include null fields in Patch requests.
6602	NullFields []string `json:"-"`
6603}
6604
6605func (s *TextRun) MarshalJSON() ([]byte, error) {
6606	type NoMethod TextRun
6607	raw := NoMethod(*s)
6608	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6609}
6610
6611// TextStyle: Represents the styling that can be applied to a
6612// TextRun.
6613//
6614// If this text is contained in a shape with a parent placeholder, then
6615// these text styles may be
6616// inherited from the parent. Which text styles are inherited depend on
6617// the
6618// nesting level of lists:
6619//
6620// * A text run in a paragraph that is not in a list will inherit its
6621// text style
6622//   from the the newline character in the paragraph at the 0 nesting
6623// level of
6624//   the list inside the parent placeholder.
6625// * A text run in a paragraph that is in a list will inherit its text
6626// style
6627//   from the newline character in the paragraph at its corresponding
6628// nesting
6629//   level of the list inside the parent placeholder.
6630//
6631// Inherited text styles are represented as unset fields in this
6632// message. If
6633// text is contained in a shape without a parent placeholder, unsetting
6634// these
6635// fields will revert the style to a value matching the defaults in the
6636// Slides
6637// editor.
6638type TextStyle struct {
6639	// BackgroundColor: The background color of the text. If set, the color
6640	// is either opaque or
6641	// transparent, depending on if the `opaque_color` field in it is set.
6642	BackgroundColor *OptionalColor `json:"backgroundColor,omitempty"`
6643
6644	// BaselineOffset: The text's vertical offset from its normal
6645	// position.
6646	//
6647	// Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is
6648	// automatically
6649	// rendered in a smaller font size, computed based on the `font_size`
6650	// field.
6651	// The `font_size` itself is not affected by changes in this field.
6652	//
6653	// Possible values:
6654	//   "BASELINE_OFFSET_UNSPECIFIED" - The text's baseline offset is
6655	// inherited from the parent.
6656	//   "NONE" - The text is not vertically offset.
6657	//   "SUPERSCRIPT" - The text is vertically offset upwards
6658	// (superscript).
6659	//   "SUBSCRIPT" - The text is vertically offset downwards (subscript).
6660	BaselineOffset string `json:"baselineOffset,omitempty"`
6661
6662	// Bold: Whether or not the text is rendered as bold.
6663	Bold bool `json:"bold,omitempty"`
6664
6665	// FontFamily: The font family of the text.
6666	//
6667	// The font family can be any font from the Font menu in Slides or
6668	// from
6669	// [Google Fonts] (https://fonts.google.com/). If the font name
6670	// is
6671	// unrecognized, the text is rendered in `Arial`.
6672	//
6673	// Some fonts can affect the weight of the text. If an update
6674	// request
6675	// specifies values for both `font_family` and `bold`, the
6676	// explicitly-set
6677	// `bold` value is used.
6678	FontFamily string `json:"fontFamily,omitempty"`
6679
6680	// FontSize: The size of the text's font. When read, the `font_size`
6681	// will specified in
6682	// points.
6683	FontSize *Dimension `json:"fontSize,omitempty"`
6684
6685	// ForegroundColor: The color of the text itself. If set, the color is
6686	// either opaque or
6687	// transparent, depending on if the `opaque_color` field in it is set.
6688	ForegroundColor *OptionalColor `json:"foregroundColor,omitempty"`
6689
6690	// Italic: Whether or not the text is italicized.
6691	Italic bool `json:"italic,omitempty"`
6692
6693	// Link: The hyperlink destination of the text. If unset, there is no
6694	// link. Links
6695	// are not inherited from parent text.
6696	//
6697	// Changing the link in an update request causes some other changes to
6698	// the
6699	// text style of the range:
6700	//
6701	// * When setting a link, the text foreground color will be set to
6702	//   ThemeColorType.HYPERLINK and the text will
6703	//   be underlined. If these fields are modified in the same
6704	//   request, those values will be used instead of the link defaults.
6705	// * Setting a link on a text range that overlaps with an existing link
6706	// will
6707	//   also update the existing link to point to the new URL.
6708	// * Links are not settable on newline characters. As a result, setting
6709	// a link
6710	//   on a text range that crosses a paragraph boundary, such as
6711	// "ABC\n123",
6712	//   will separate the newline character(s) into their own text runs.
6713	// The
6714	//   link will be applied separately to the runs before and after the
6715	// newline.
6716	// * Removing a link will update the text style of the range to match
6717	// the
6718	//   style of the preceding text (or the default text styles if the
6719	// preceding
6720	//   text is another link) unless different styles are being set in the
6721	// same
6722	//   request.
6723	Link *Link `json:"link,omitempty"`
6724
6725	// SmallCaps: Whether or not the text is in small capital letters.
6726	SmallCaps bool `json:"smallCaps,omitempty"`
6727
6728	// Strikethrough: Whether or not the text is struck through.
6729	Strikethrough bool `json:"strikethrough,omitempty"`
6730
6731	// Underline: Whether or not the text is underlined.
6732	Underline bool `json:"underline,omitempty"`
6733
6734	// WeightedFontFamily: The font family and rendered weight of the
6735	// text.
6736	//
6737	// This field is an extension of `font_family` meant to support explicit
6738	// font
6739	// weights without breaking backwards compatibility. As such, when
6740	// reading the
6741	// style of a range of text, the value of
6742	// `weighted_font_family#font_family`
6743	// will always be equal to that of `font_family`. However, when writing,
6744	// if
6745	// both fields are included in the field mask (either explicitly or
6746	// through
6747	// the wildcard "*"), their values are reconciled as follows:
6748	//
6749	// * If `font_family` is set and `weighted_font_family` is not, the
6750	// value of
6751	//   `font_family` is applied with weight `400` ("normal").
6752	// * If both fields are set, the value of `font_family` must match that
6753	// of
6754	//   `weighted_font_family#font_family`. If so, the font family and
6755	// weight of
6756	//   `weighted_font_family` is applied. Otherwise, a 400 bad request
6757	// error is
6758	//   returned.
6759	// * If `weighted_font_family` is set and `font_family` is not, the
6760	// font
6761	//   family and weight of `weighted_font_family` is applied.
6762	// * If neither field is set, the font family and weight of the text
6763	// inherit
6764	//   from the parent. Note that these properties cannot inherit
6765	// separately
6766	//   from each other.
6767	//
6768	// If an update request specifies values for both `weighted_font_family`
6769	// and
6770	// `bold`, the `weighted_font_family` is applied first, then `bold`.
6771	//
6772	// If `weighted_font_family#weight` is not set, it defaults to
6773	// `400`.
6774	//
6775	// If `weighted_font_family` is set, then
6776	// `weighted_font_family#font_family`
6777	// must also be set with a non-empty value. Otherwise, a 400 bad request
6778	// error
6779	// is returned.
6780	WeightedFontFamily *WeightedFontFamily `json:"weightedFontFamily,omitempty"`
6781
6782	// ForceSendFields is a list of field names (e.g. "BackgroundColor") to
6783	// unconditionally include in API requests. By default, fields with
6784	// empty values are omitted from API requests. However, any non-pointer,
6785	// non-interface field appearing in ForceSendFields will be sent to the
6786	// server regardless of whether the field is empty or not. This may be
6787	// used to include empty fields in Patch requests.
6788	ForceSendFields []string `json:"-"`
6789
6790	// NullFields is a list of field names (e.g. "BackgroundColor") to
6791	// include in API requests with the JSON null value. By default, fields
6792	// with empty values are omitted from API requests. However, any field
6793	// with an empty value appearing in NullFields will be sent to the
6794	// server as null. It is an error if a field in this list has a
6795	// non-empty value. This may be used to include null fields in Patch
6796	// requests.
6797	NullFields []string `json:"-"`
6798}
6799
6800func (s *TextStyle) MarshalJSON() ([]byte, error) {
6801	type NoMethod TextStyle
6802	raw := NoMethod(*s)
6803	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6804}
6805
6806// ThemeColorPair: A pair mapping a theme color type to the concrete
6807// color it represents.
6808type ThemeColorPair struct {
6809	// Color: The concrete color corresponding to the theme color type
6810	// above.
6811	Color *RgbColor `json:"color,omitempty"`
6812
6813	// Type: The type of the theme color.
6814	//
6815	// Possible values:
6816	//   "THEME_COLOR_TYPE_UNSPECIFIED" - Unspecified theme color. This
6817	// value should not be used.
6818	//   "DARK1" - Represents the first dark color.
6819	//   "LIGHT1" - Represents the first light color.
6820	//   "DARK2" - Represents the second dark color.
6821	//   "LIGHT2" - Represents the second light color.
6822	//   "ACCENT1" - Represents the first accent color.
6823	//   "ACCENT2" - Represents the second accent color.
6824	//   "ACCENT3" - Represents the third accent color.
6825	//   "ACCENT4" - Represents the fourth accent color.
6826	//   "ACCENT5" - Represents the fifth accent color.
6827	//   "ACCENT6" - Represents the sixth accent color.
6828	//   "HYPERLINK" - Represents the color to use for hyperlinks.
6829	//   "FOLLOWED_HYPERLINK" - Represents the color to use for visited
6830	// hyperlinks.
6831	//   "TEXT1" - Represents the first text color.
6832	//   "BACKGROUND1" - Represents the first background color.
6833	//   "TEXT2" - Represents the second text color.
6834	//   "BACKGROUND2" - Represents the second background color.
6835	Type string `json:"type,omitempty"`
6836
6837	// ForceSendFields is a list of field names (e.g. "Color") to
6838	// unconditionally include in API requests. By default, fields with
6839	// empty values are omitted from API requests. However, any non-pointer,
6840	// non-interface field appearing in ForceSendFields will be sent to the
6841	// server regardless of whether the field is empty or not. This may be
6842	// used to include empty fields in Patch requests.
6843	ForceSendFields []string `json:"-"`
6844
6845	// NullFields is a list of field names (e.g. "Color") to include in API
6846	// requests with the JSON null value. By default, fields with empty
6847	// values are omitted from API requests. However, any field with an
6848	// empty value appearing in NullFields will be sent to the server as
6849	// null. It is an error if a field in this list has a non-empty value.
6850	// This may be used to include null fields in Patch requests.
6851	NullFields []string `json:"-"`
6852}
6853
6854func (s *ThemeColorPair) MarshalJSON() ([]byte, error) {
6855	type NoMethod ThemeColorPair
6856	raw := NoMethod(*s)
6857	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6858}
6859
6860// Thumbnail: The thumbnail of a page.
6861type Thumbnail struct {
6862	// ContentUrl: The content URL of the thumbnail image.
6863	//
6864	// The URL to the image has a default lifetime of 30 minutes.
6865	// This URL is tagged with the account of the requester. Anyone with the
6866	// URL
6867	// effectively accesses the image as the original requester. Access to
6868	// the
6869	// image may be lost if the presentation's sharing settings change.
6870	// The mime type of the thumbnail image is the same as specified in
6871	// the
6872	// `GetPageThumbnailRequest`.
6873	ContentUrl string `json:"contentUrl,omitempty"`
6874
6875	// Height: The positive height in pixels of the thumbnail image.
6876	Height int64 `json:"height,omitempty"`
6877
6878	// Width: The positive width in pixels of the thumbnail image.
6879	Width int64 `json:"width,omitempty"`
6880
6881	// ServerResponse contains the HTTP response code and headers from the
6882	// server.
6883	googleapi.ServerResponse `json:"-"`
6884
6885	// ForceSendFields is a list of field names (e.g. "ContentUrl") to
6886	// unconditionally include in API requests. By default, fields with
6887	// empty values are omitted from API requests. However, any non-pointer,
6888	// non-interface field appearing in ForceSendFields will be sent to the
6889	// server regardless of whether the field is empty or not. This may be
6890	// used to include empty fields in Patch requests.
6891	ForceSendFields []string `json:"-"`
6892
6893	// NullFields is a list of field names (e.g. "ContentUrl") to include in
6894	// API requests with the JSON null value. By default, fields with empty
6895	// values are omitted from API requests. However, any field with an
6896	// empty value appearing in NullFields will be sent to the server as
6897	// null. It is an error if a field in this list has a non-empty value.
6898	// This may be used to include null fields in Patch requests.
6899	NullFields []string `json:"-"`
6900}
6901
6902func (s *Thumbnail) MarshalJSON() ([]byte, error) {
6903	type NoMethod Thumbnail
6904	raw := NoMethod(*s)
6905	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6906}
6907
6908// UngroupObjectsRequest: Ungroups objects, such as groups.
6909type UngroupObjectsRequest struct {
6910	// ObjectIds: The object IDs of the objects to ungroup.
6911	//
6912	// Only groups that are not inside other
6913	// groups can be ungrouped. All the groups
6914	// should be on the same page. The group itself is deleted. The visual
6915	// sizes
6916	// and positions of all the children are preserved.
6917	ObjectIds []string `json:"objectIds,omitempty"`
6918
6919	// ForceSendFields is a list of field names (e.g. "ObjectIds") to
6920	// unconditionally include in API requests. By default, fields with
6921	// empty values are omitted from API requests. However, any non-pointer,
6922	// non-interface field appearing in ForceSendFields will be sent to the
6923	// server regardless of whether the field is empty or not. This may be
6924	// used to include empty fields in Patch requests.
6925	ForceSendFields []string `json:"-"`
6926
6927	// NullFields is a list of field names (e.g. "ObjectIds") to include in
6928	// API requests with the JSON null value. By default, fields with empty
6929	// values are omitted from API requests. However, any field with an
6930	// empty value appearing in NullFields will be sent to the server as
6931	// null. It is an error if a field in this list has a non-empty value.
6932	// This may be used to include null fields in Patch requests.
6933	NullFields []string `json:"-"`
6934}
6935
6936func (s *UngroupObjectsRequest) MarshalJSON() ([]byte, error) {
6937	type NoMethod UngroupObjectsRequest
6938	raw := NoMethod(*s)
6939	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6940}
6941
6942// UnmergeTableCellsRequest: Unmerges cells in a Table.
6943type UnmergeTableCellsRequest struct {
6944	// ObjectId: The object ID of the table.
6945	ObjectId string `json:"objectId,omitempty"`
6946
6947	// TableRange: The table range specifying which cells of the table to
6948	// unmerge.
6949	//
6950	// All merged cells in this range will be unmerged, and cells that are
6951	// already
6952	// unmerged will not be affected. If the range has no merged cells,
6953	// the
6954	// request will do nothing. If there is text in any of the merged cells,
6955	// the
6956	// text will remain in the upper-left ("head") cell of the resulting
6957	// block of
6958	// unmerged cells.
6959	TableRange *TableRange `json:"tableRange,omitempty"`
6960
6961	// ForceSendFields is a list of field names (e.g. "ObjectId") to
6962	// unconditionally include in API requests. By default, fields with
6963	// empty values are omitted from API requests. However, any non-pointer,
6964	// non-interface field appearing in ForceSendFields will be sent to the
6965	// server regardless of whether the field is empty or not. This may be
6966	// used to include empty fields in Patch requests.
6967	ForceSendFields []string `json:"-"`
6968
6969	// NullFields is a list of field names (e.g. "ObjectId") to include in
6970	// API requests with the JSON null value. By default, fields with empty
6971	// values are omitted from API requests. However, any field with an
6972	// empty value appearing in NullFields will be sent to the server as
6973	// null. It is an error if a field in this list has a non-empty value.
6974	// This may be used to include null fields in Patch requests.
6975	NullFields []string `json:"-"`
6976}
6977
6978func (s *UnmergeTableCellsRequest) MarshalJSON() ([]byte, error) {
6979	type NoMethod UnmergeTableCellsRequest
6980	raw := NoMethod(*s)
6981	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6982}
6983
6984// UpdateImagePropertiesRequest: Update the properties of an Image.
6985type UpdateImagePropertiesRequest struct {
6986	// Fields: The fields that should be updated.
6987	//
6988	// At least one field must be specified. The root `imageProperties`
6989	// is
6990	// implied and should not be specified. A single "*" can be used
6991	// as
6992	// short-hand for listing every field.
6993	//
6994	// For example to update the image outline color, set `fields`
6995	// to
6996	// "outline.outlineFill.solidFill.color".
6997	//
6998	// To reset a property to its default value, include its field name in
6999	// the
7000	// field mask but leave the field itself unset.
7001	Fields string `json:"fields,omitempty"`
7002
7003	// ImageProperties: The image properties to update.
7004	ImageProperties *ImageProperties `json:"imageProperties,omitempty"`
7005
7006	// ObjectId: The object ID of the image the updates are applied to.
7007	ObjectId string `json:"objectId,omitempty"`
7008
7009	// ForceSendFields is a list of field names (e.g. "Fields") to
7010	// unconditionally include in API requests. By default, fields with
7011	// empty values are omitted from API requests. However, any non-pointer,
7012	// non-interface field appearing in ForceSendFields will be sent to the
7013	// server regardless of whether the field is empty or not. This may be
7014	// used to include empty fields in Patch requests.
7015	ForceSendFields []string `json:"-"`
7016
7017	// NullFields is a list of field names (e.g. "Fields") to include in API
7018	// requests with the JSON null value. By default, fields with empty
7019	// values are omitted from API requests. However, any field with an
7020	// empty value appearing in NullFields will be sent to the server as
7021	// null. It is an error if a field in this list has a non-empty value.
7022	// This may be used to include null fields in Patch requests.
7023	NullFields []string `json:"-"`
7024}
7025
7026func (s *UpdateImagePropertiesRequest) MarshalJSON() ([]byte, error) {
7027	type NoMethod UpdateImagePropertiesRequest
7028	raw := NoMethod(*s)
7029	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7030}
7031
7032// UpdateLineCategoryRequest: Updates the category of a line.
7033type UpdateLineCategoryRequest struct {
7034	// LineCategory: The line category to update to.
7035	//
7036	// The exact line type is determined based
7037	// on the category to update to and how it's routed to connect to other
7038	// page
7039	// elements.
7040	//
7041	// Possible values:
7042	//   "LINE_CATEGORY_UNSPECIFIED" - Unspecified line category.
7043	//   "STRAIGHT" - Straight connectors, including straight connector 1.
7044	//   "BENT" - Bent connectors, including bent connector 2 to 5.
7045	//   "CURVED" - Curved connectors, including curved connector 2 to 5.
7046	LineCategory string `json:"lineCategory,omitempty"`
7047
7048	// ObjectId: The object ID of the line the update is applied to.
7049	//
7050	// Only a line with a category
7051	// indicating it is a "connector" can be updated.
7052	//
7053	// The line may be rerouted after updating its category.
7054	ObjectId string `json:"objectId,omitempty"`
7055
7056	// ForceSendFields is a list of field names (e.g. "LineCategory") to
7057	// unconditionally include in API requests. By default, fields with
7058	// empty values are omitted from API requests. However, any non-pointer,
7059	// non-interface field appearing in ForceSendFields will be sent to the
7060	// server regardless of whether the field is empty or not. This may be
7061	// used to include empty fields in Patch requests.
7062	ForceSendFields []string `json:"-"`
7063
7064	// NullFields is a list of field names (e.g. "LineCategory") to include
7065	// in API requests with the JSON null value. By default, fields with
7066	// empty values are omitted from API requests. However, any field with
7067	// an empty value appearing in NullFields will be sent to the server as
7068	// null. It is an error if a field in this list has a non-empty value.
7069	// This may be used to include null fields in Patch requests.
7070	NullFields []string `json:"-"`
7071}
7072
7073func (s *UpdateLineCategoryRequest) MarshalJSON() ([]byte, error) {
7074	type NoMethod UpdateLineCategoryRequest
7075	raw := NoMethod(*s)
7076	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7077}
7078
7079// UpdateLinePropertiesRequest: Updates the properties of a Line.
7080type UpdateLinePropertiesRequest struct {
7081	// Fields: The fields that should be updated.
7082	//
7083	// At least one field must be specified. The root `lineProperties`
7084	// is
7085	// implied and should not be specified. A single "*" can be used
7086	// as
7087	// short-hand for listing every field.
7088	//
7089	// For example to update the line solid fill color, set `fields`
7090	// to
7091	// "lineFill.solidFill.color".
7092	//
7093	// To reset a property to its default value, include its field name in
7094	// the
7095	// field mask but leave the field itself unset.
7096	Fields string `json:"fields,omitempty"`
7097
7098	// LineProperties: The line properties to update.
7099	LineProperties *LineProperties `json:"lineProperties,omitempty"`
7100
7101	// ObjectId: The object ID of the line the update is applied to.
7102	ObjectId string `json:"objectId,omitempty"`
7103
7104	// ForceSendFields is a list of field names (e.g. "Fields") to
7105	// unconditionally include in API requests. By default, fields with
7106	// empty values are omitted from API requests. However, any non-pointer,
7107	// non-interface field appearing in ForceSendFields will be sent to the
7108	// server regardless of whether the field is empty or not. This may be
7109	// used to include empty fields in Patch requests.
7110	ForceSendFields []string `json:"-"`
7111
7112	// NullFields is a list of field names (e.g. "Fields") to include in API
7113	// requests with the JSON null value. By default, fields with empty
7114	// values are omitted from API requests. However, any field with an
7115	// empty value appearing in NullFields will be sent to the server as
7116	// null. It is an error if a field in this list has a non-empty value.
7117	// This may be used to include null fields in Patch requests.
7118	NullFields []string `json:"-"`
7119}
7120
7121func (s *UpdateLinePropertiesRequest) MarshalJSON() ([]byte, error) {
7122	type NoMethod UpdateLinePropertiesRequest
7123	raw := NoMethod(*s)
7124	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7125}
7126
7127// UpdatePageElementAltTextRequest: Updates the alt text title and/or
7128// description of a
7129// page element.
7130type UpdatePageElementAltTextRequest struct {
7131	// Description: The updated alt text description of the page element. If
7132	// unset the existing
7133	// value will be maintained. The description is exposed to screen
7134	// readers
7135	// and other accessibility interfaces. Only use human readable values
7136	// related
7137	// to the content of the page element.
7138	Description string `json:"description,omitempty"`
7139
7140	// ObjectId: The object ID of the page element the updates are applied
7141	// to.
7142	ObjectId string `json:"objectId,omitempty"`
7143
7144	// Title: The updated alt text title of the page element. If unset
7145	// the
7146	// existing value will be maintained. The title is exposed to screen
7147	// readers
7148	// and other accessibility interfaces. Only use human readable values
7149	// related
7150	// to the content of the page element.
7151	Title string `json:"title,omitempty"`
7152
7153	// ForceSendFields is a list of field names (e.g. "Description") to
7154	// unconditionally include in API requests. By default, fields with
7155	// empty values are omitted from API requests. However, any non-pointer,
7156	// non-interface field appearing in ForceSendFields will be sent to the
7157	// server regardless of whether the field is empty or not. This may be
7158	// used to include empty fields in Patch requests.
7159	ForceSendFields []string `json:"-"`
7160
7161	// NullFields is a list of field names (e.g. "Description") to include
7162	// in API requests with the JSON null value. By default, fields with
7163	// empty values are omitted from API requests. However, any field with
7164	// an empty value appearing in NullFields will be sent to the server as
7165	// null. It is an error if a field in this list has a non-empty value.
7166	// This may be used to include null fields in Patch requests.
7167	NullFields []string `json:"-"`
7168}
7169
7170func (s *UpdatePageElementAltTextRequest) MarshalJSON() ([]byte, error) {
7171	type NoMethod UpdatePageElementAltTextRequest
7172	raw := NoMethod(*s)
7173	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7174}
7175
7176// UpdatePageElementTransformRequest: Updates the transform of a page
7177// element.
7178//
7179// Updating the transform of a group will change the absolute transform
7180// of the
7181// page elements in that group, which can change their visual
7182// appearance. See
7183// the documentation for PageElement.transform for more details.
7184type UpdatePageElementTransformRequest struct {
7185	// ApplyMode: The apply mode of the transform update.
7186	//
7187	// Possible values:
7188	//   "APPLY_MODE_UNSPECIFIED" - Unspecified mode.
7189	//   "RELATIVE" - Applies the new AffineTransform matrix to the existing
7190	// one, and
7191	// replaces the existing one with the resulting concatenation.
7192	//   "ABSOLUTE" - Replaces the existing AffineTransform matrix with the
7193	// new one.
7194	ApplyMode string `json:"applyMode,omitempty"`
7195
7196	// ObjectId: The object ID of the page element to update.
7197	ObjectId string `json:"objectId,omitempty"`
7198
7199	// Transform: The input transform matrix used to update the page
7200	// element.
7201	Transform *AffineTransform `json:"transform,omitempty"`
7202
7203	// ForceSendFields is a list of field names (e.g. "ApplyMode") to
7204	// unconditionally include in API requests. By default, fields with
7205	// empty values are omitted from API requests. However, any non-pointer,
7206	// non-interface field appearing in ForceSendFields will be sent to the
7207	// server regardless of whether the field is empty or not. This may be
7208	// used to include empty fields in Patch requests.
7209	ForceSendFields []string `json:"-"`
7210
7211	// NullFields is a list of field names (e.g. "ApplyMode") to include in
7212	// API requests with the JSON null value. By default, fields with empty
7213	// values are omitted from API requests. However, any field with an
7214	// empty value appearing in NullFields will be sent to the server as
7215	// null. It is an error if a field in this list has a non-empty value.
7216	// This may be used to include null fields in Patch requests.
7217	NullFields []string `json:"-"`
7218}
7219
7220func (s *UpdatePageElementTransformRequest) MarshalJSON() ([]byte, error) {
7221	type NoMethod UpdatePageElementTransformRequest
7222	raw := NoMethod(*s)
7223	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7224}
7225
7226// UpdatePageElementsZOrderRequest: Updates the Z-order of page
7227// elements. Z-order is an ordering of the elements
7228// on the page from back to front. The page element in the front may
7229// cover the
7230// elements that are behind it.
7231type UpdatePageElementsZOrderRequest struct {
7232	// Operation: The Z-order operation to apply on the page elements.
7233	//
7234	// When applying the operation on multiple page elements, the
7235	// relative
7236	// Z-orders within these page elements before the operation is
7237	// maintained.
7238	//
7239	// Possible values:
7240	//   "Z_ORDER_OPERATION_UNSPECIFIED" - Unspecified operation.
7241	//   "BRING_TO_FRONT" - Brings the page elements to the front of the
7242	// page.
7243	//   "BRING_FORWARD" - Brings the page elements forward on the page by
7244	// one element relative to the
7245	// forwardmost one in the specified page elements.
7246	//   "SEND_BACKWARD" - Sends the page elements backward on the page by
7247	// one element relative to the
7248	// furthest behind one in the specified page elements.
7249	//   "SEND_TO_BACK" - Sends the page elements to the back of the page.
7250	Operation string `json:"operation,omitempty"`
7251
7252	// PageElementObjectIds: The object IDs of the page elements to
7253	// update.
7254	//
7255	// All the page elements must be on the same page and must not be
7256	// grouped.
7257	PageElementObjectIds []string `json:"pageElementObjectIds,omitempty"`
7258
7259	// ForceSendFields is a list of field names (e.g. "Operation") to
7260	// unconditionally include in API requests. By default, fields with
7261	// empty values are omitted from API requests. However, any non-pointer,
7262	// non-interface field appearing in ForceSendFields will be sent to the
7263	// server regardless of whether the field is empty or not. This may be
7264	// used to include empty fields in Patch requests.
7265	ForceSendFields []string `json:"-"`
7266
7267	// NullFields is a list of field names (e.g. "Operation") to include in
7268	// API requests with the JSON null value. By default, fields with empty
7269	// values are omitted from API requests. However, any field with an
7270	// empty value appearing in NullFields will be sent to the server as
7271	// null. It is an error if a field in this list has a non-empty value.
7272	// This may be used to include null fields in Patch requests.
7273	NullFields []string `json:"-"`
7274}
7275
7276func (s *UpdatePageElementsZOrderRequest) MarshalJSON() ([]byte, error) {
7277	type NoMethod UpdatePageElementsZOrderRequest
7278	raw := NoMethod(*s)
7279	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7280}
7281
7282// UpdatePagePropertiesRequest: Updates the properties of a Page.
7283type UpdatePagePropertiesRequest struct {
7284	// Fields: The fields that should be updated.
7285	//
7286	// At least one field must be specified. The root `pageProperties`
7287	// is
7288	// implied and should not be specified. A single "*" can be used
7289	// as
7290	// short-hand for listing every field.
7291	//
7292	// For example to update the page background solid fill color, set
7293	// `fields`
7294	// to "pageBackgroundFill.solidFill.color".
7295	//
7296	// To reset a property to its default value, include its field name in
7297	// the
7298	// field mask but leave the field itself unset.
7299	Fields string `json:"fields,omitempty"`
7300
7301	// ObjectId: The object ID of the page the update is applied to.
7302	ObjectId string `json:"objectId,omitempty"`
7303
7304	// PageProperties: The page properties to update.
7305	PageProperties *PageProperties `json:"pageProperties,omitempty"`
7306
7307	// ForceSendFields is a list of field names (e.g. "Fields") to
7308	// unconditionally include in API requests. By default, fields with
7309	// empty values are omitted from API requests. However, any non-pointer,
7310	// non-interface field appearing in ForceSendFields will be sent to the
7311	// server regardless of whether the field is empty or not. This may be
7312	// used to include empty fields in Patch requests.
7313	ForceSendFields []string `json:"-"`
7314
7315	// NullFields is a list of field names (e.g. "Fields") to include in API
7316	// requests with the JSON null value. By default, fields with empty
7317	// values are omitted from API requests. However, any field with an
7318	// empty value appearing in NullFields will be sent to the server as
7319	// null. It is an error if a field in this list has a non-empty value.
7320	// This may be used to include null fields in Patch requests.
7321	NullFields []string `json:"-"`
7322}
7323
7324func (s *UpdatePagePropertiesRequest) MarshalJSON() ([]byte, error) {
7325	type NoMethod UpdatePagePropertiesRequest
7326	raw := NoMethod(*s)
7327	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7328}
7329
7330// UpdateParagraphStyleRequest: Updates the styling for all of the
7331// paragraphs within a Shape or Table that
7332// overlap with the given text index range.
7333type UpdateParagraphStyleRequest struct {
7334	// CellLocation: The location of the cell in the table containing the
7335	// paragraph(s) to
7336	// style. If `object_id` refers to a table, `cell_location` must have a
7337	// value.
7338	// Otherwise, it must not.
7339	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
7340
7341	// Fields: The fields that should be updated.
7342	//
7343	// At least one field must be specified. The root `style` is implied
7344	// and
7345	// should not be specified. A single "*" can be used as short-hand
7346	// for
7347	// listing every field.
7348	//
7349	// For example, to update the paragraph alignment, set `fields`
7350	// to
7351	// "alignment".
7352	//
7353	// To reset a property to its default value, include its field name in
7354	// the
7355	// field mask but leave the field itself unset.
7356	Fields string `json:"fields,omitempty"`
7357
7358	// ObjectId: The object ID of the shape or table with the text to be
7359	// styled.
7360	ObjectId string `json:"objectId,omitempty"`
7361
7362	// Style: The paragraph's style.
7363	Style *ParagraphStyle `json:"style,omitempty"`
7364
7365	// TextRange: The range of text containing the paragraph(s) to style.
7366	TextRange *Range `json:"textRange,omitempty"`
7367
7368	// ForceSendFields is a list of field names (e.g. "CellLocation") to
7369	// unconditionally include in API requests. By default, fields with
7370	// empty values are omitted from API requests. However, any non-pointer,
7371	// non-interface field appearing in ForceSendFields will be sent to the
7372	// server regardless of whether the field is empty or not. This may be
7373	// used to include empty fields in Patch requests.
7374	ForceSendFields []string `json:"-"`
7375
7376	// NullFields is a list of field names (e.g. "CellLocation") to include
7377	// in API requests with the JSON null value. By default, fields with
7378	// empty values are omitted from API requests. However, any field with
7379	// an empty value appearing in NullFields will be sent to the server as
7380	// null. It is an error if a field in this list has a non-empty value.
7381	// This may be used to include null fields in Patch requests.
7382	NullFields []string `json:"-"`
7383}
7384
7385func (s *UpdateParagraphStyleRequest) MarshalJSON() ([]byte, error) {
7386	type NoMethod UpdateParagraphStyleRequest
7387	raw := NoMethod(*s)
7388	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7389}
7390
7391// UpdateShapePropertiesRequest: Update the properties of a Shape.
7392type UpdateShapePropertiesRequest struct {
7393	// Fields: The fields that should be updated.
7394	//
7395	// At least one field must be specified. The root `shapeProperties`
7396	// is
7397	// implied and should not be specified. A single "*" can be used
7398	// as
7399	// short-hand for listing every field.
7400	//
7401	// For example to update the shape background solid fill color, set
7402	// `fields`
7403	// to "shapeBackgroundFill.solidFill.color".
7404	//
7405	// To reset a property to its default value, include its field name in
7406	// the
7407	// field mask but leave the field itself unset.
7408	Fields string `json:"fields,omitempty"`
7409
7410	// ObjectId: The object ID of the shape the updates are applied to.
7411	ObjectId string `json:"objectId,omitempty"`
7412
7413	// ShapeProperties: The shape properties to update.
7414	ShapeProperties *ShapeProperties `json:"shapeProperties,omitempty"`
7415
7416	// ForceSendFields is a list of field names (e.g. "Fields") to
7417	// unconditionally include in API requests. By default, fields with
7418	// empty values are omitted from API requests. However, any non-pointer,
7419	// non-interface field appearing in ForceSendFields will be sent to the
7420	// server regardless of whether the field is empty or not. This may be
7421	// used to include empty fields in Patch requests.
7422	ForceSendFields []string `json:"-"`
7423
7424	// NullFields is a list of field names (e.g. "Fields") to include in API
7425	// requests with the JSON null value. By default, fields with empty
7426	// values are omitted from API requests. However, any field with an
7427	// empty value appearing in NullFields will be sent to the server as
7428	// null. It is an error if a field in this list has a non-empty value.
7429	// This may be used to include null fields in Patch requests.
7430	NullFields []string `json:"-"`
7431}
7432
7433func (s *UpdateShapePropertiesRequest) MarshalJSON() ([]byte, error) {
7434	type NoMethod UpdateShapePropertiesRequest
7435	raw := NoMethod(*s)
7436	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7437}
7438
7439// UpdateSlidesPositionRequest: Updates the position of slides in the
7440// presentation.
7441type UpdateSlidesPositionRequest struct {
7442	// InsertionIndex: The index where the slides should be inserted, based
7443	// on the slide
7444	// arrangement before the move takes place. Must be between zero and
7445	// the
7446	// number of slides in the presentation, inclusive.
7447	InsertionIndex int64 `json:"insertionIndex,omitempty"`
7448
7449	// SlideObjectIds: The IDs of the slides in the presentation that should
7450	// be moved.
7451	// The slides in this list must be in existing presentation order,
7452	// without
7453	// duplicates.
7454	SlideObjectIds []string `json:"slideObjectIds,omitempty"`
7455
7456	// ForceSendFields is a list of field names (e.g. "InsertionIndex") to
7457	// unconditionally include in API requests. By default, fields with
7458	// empty values are omitted from API requests. However, any non-pointer,
7459	// non-interface field appearing in ForceSendFields will be sent to the
7460	// server regardless of whether the field is empty or not. This may be
7461	// used to include empty fields in Patch requests.
7462	ForceSendFields []string `json:"-"`
7463
7464	// NullFields is a list of field names (e.g. "InsertionIndex") to
7465	// include in API requests with the JSON null value. By default, fields
7466	// with empty values are omitted from API requests. However, any field
7467	// with an empty value appearing in NullFields will be sent to the
7468	// server as null. It is an error if a field in this list has a
7469	// non-empty value. This may be used to include null fields in Patch
7470	// requests.
7471	NullFields []string `json:"-"`
7472}
7473
7474func (s *UpdateSlidesPositionRequest) MarshalJSON() ([]byte, error) {
7475	type NoMethod UpdateSlidesPositionRequest
7476	raw := NoMethod(*s)
7477	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7478}
7479
7480// UpdateTableBorderPropertiesRequest: Updates the properties of the
7481// table borders in a Table.
7482type UpdateTableBorderPropertiesRequest struct {
7483	// BorderPosition: The border position in the table range the updates
7484	// should apply to. If a
7485	// border position is not specified, the updates will apply to all
7486	// borders in
7487	// the table range.
7488	//
7489	// Possible values:
7490	//   "ALL" - All borders in the range.
7491	//   "BOTTOM" - Borders at the bottom of the range.
7492	//   "INNER" - Borders on the inside of the range.
7493	//   "INNER_HORIZONTAL" - Horizontal borders on the inside of the range.
7494	//   "INNER_VERTICAL" - Vertical borders on the inside of the range.
7495	//   "LEFT" - Borders at the left of the range.
7496	//   "OUTER" - Borders along the outside of the range.
7497	//   "RIGHT" - Borders at the right of the range.
7498	//   "TOP" - Borders at the top of the range.
7499	BorderPosition string `json:"borderPosition,omitempty"`
7500
7501	// Fields: The fields that should be updated.
7502	//
7503	// At least one field must be specified. The root
7504	// `tableBorderProperties` is
7505	// implied and should not be specified. A single "*" can be used
7506	// as
7507	// short-hand for listing every field.
7508	//
7509	// For example to update the table border solid fill color, set
7510	// `fields` to "tableBorderFill.solidFill.color".
7511	//
7512	// To reset a property to its default value, include its field name in
7513	// the
7514	// field mask but leave the field itself unset.
7515	Fields string `json:"fields,omitempty"`
7516
7517	// ObjectId: The object ID of the table.
7518	ObjectId string `json:"objectId,omitempty"`
7519
7520	// TableBorderProperties: The table border properties to update.
7521	TableBorderProperties *TableBorderProperties `json:"tableBorderProperties,omitempty"`
7522
7523	// TableRange: The table range representing the subset of the table to
7524	// which the updates
7525	// are applied. If a table range is not specified, the updates will
7526	// apply to
7527	// the entire table.
7528	TableRange *TableRange `json:"tableRange,omitempty"`
7529
7530	// ForceSendFields is a list of field names (e.g. "BorderPosition") to
7531	// unconditionally include in API requests. By default, fields with
7532	// empty values are omitted from API requests. However, any non-pointer,
7533	// non-interface field appearing in ForceSendFields will be sent to the
7534	// server regardless of whether the field is empty or not. This may be
7535	// used to include empty fields in Patch requests.
7536	ForceSendFields []string `json:"-"`
7537
7538	// NullFields is a list of field names (e.g. "BorderPosition") to
7539	// include in API requests with the JSON null value. By default, fields
7540	// with empty values are omitted from API requests. However, any field
7541	// with an empty value appearing in NullFields will be sent to the
7542	// server as null. It is an error if a field in this list has a
7543	// non-empty value. This may be used to include null fields in Patch
7544	// requests.
7545	NullFields []string `json:"-"`
7546}
7547
7548func (s *UpdateTableBorderPropertiesRequest) MarshalJSON() ([]byte, error) {
7549	type NoMethod UpdateTableBorderPropertiesRequest
7550	raw := NoMethod(*s)
7551	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7552}
7553
7554// UpdateTableCellPropertiesRequest: Update the properties of a
7555// TableCell.
7556type UpdateTableCellPropertiesRequest struct {
7557	// Fields: The fields that should be updated.
7558	//
7559	// At least one field must be specified. The root `tableCellProperties`
7560	// is
7561	// implied and should not be specified. A single "*" can be used
7562	// as
7563	// short-hand for listing every field.
7564	//
7565	// For example to update the table cell background solid fill color,
7566	// set
7567	// `fields` to "tableCellBackgroundFill.solidFill.color".
7568	//
7569	// To reset a property to its default value, include its field name in
7570	// the
7571	// field mask but leave the field itself unset.
7572	Fields string `json:"fields,omitempty"`
7573
7574	// ObjectId: The object ID of the table.
7575	ObjectId string `json:"objectId,omitempty"`
7576
7577	// TableCellProperties: The table cell properties to update.
7578	TableCellProperties *TableCellProperties `json:"tableCellProperties,omitempty"`
7579
7580	// TableRange: The table range representing the subset of the table to
7581	// which the updates
7582	// are applied. If a table range is not specified, the updates will
7583	// apply to
7584	// the entire table.
7585	TableRange *TableRange `json:"tableRange,omitempty"`
7586
7587	// ForceSendFields is a list of field names (e.g. "Fields") to
7588	// unconditionally include in API requests. By default, fields with
7589	// empty values are omitted from API requests. However, any non-pointer,
7590	// non-interface field appearing in ForceSendFields will be sent to the
7591	// server regardless of whether the field is empty or not. This may be
7592	// used to include empty fields in Patch requests.
7593	ForceSendFields []string `json:"-"`
7594
7595	// NullFields is a list of field names (e.g. "Fields") to include in API
7596	// requests with the JSON null value. By default, fields with empty
7597	// values are omitted from API requests. However, any field with an
7598	// empty value appearing in NullFields will be sent to the server as
7599	// null. It is an error if a field in this list has a non-empty value.
7600	// This may be used to include null fields in Patch requests.
7601	NullFields []string `json:"-"`
7602}
7603
7604func (s *UpdateTableCellPropertiesRequest) MarshalJSON() ([]byte, error) {
7605	type NoMethod UpdateTableCellPropertiesRequest
7606	raw := NoMethod(*s)
7607	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7608}
7609
7610// UpdateTableColumnPropertiesRequest: Updates the properties of a Table
7611// column.
7612type UpdateTableColumnPropertiesRequest struct {
7613	// ColumnIndices: The list of zero-based indices specifying which
7614	// columns to update. If no
7615	// indices are provided, all columns in the table will be updated.
7616	ColumnIndices []int64 `json:"columnIndices,omitempty"`
7617
7618	// Fields: The fields that should be updated.
7619	//
7620	// At least one field must be specified. The root
7621	// `tableColumnProperties` is
7622	// implied and should not be specified. A single "*" can be used
7623	// as
7624	// short-hand for listing every field.
7625	//
7626	// For example to update the column width, set `fields` to
7627	// "column_width".
7628	//
7629	// If '"column_width"' is included in the field mask but the property is
7630	// left
7631	// unset, the column width will default to 406,400 EMU (32 points).
7632	Fields string `json:"fields,omitempty"`
7633
7634	// ObjectId: The object ID of the table.
7635	ObjectId string `json:"objectId,omitempty"`
7636
7637	// TableColumnProperties: The table column properties to update.
7638	//
7639	// If the value of `table_column_properties#column_width` in the request
7640	// is
7641	// less than 406,400 EMU (32 points), a 400 bad request error is
7642	// returned.
7643	TableColumnProperties *TableColumnProperties `json:"tableColumnProperties,omitempty"`
7644
7645	// ForceSendFields is a list of field names (e.g. "ColumnIndices") to
7646	// unconditionally include in API requests. By default, fields with
7647	// empty values are omitted from API requests. However, any non-pointer,
7648	// non-interface field appearing in ForceSendFields will be sent to the
7649	// server regardless of whether the field is empty or not. This may be
7650	// used to include empty fields in Patch requests.
7651	ForceSendFields []string `json:"-"`
7652
7653	// NullFields is a list of field names (e.g. "ColumnIndices") to include
7654	// in API requests with the JSON null value. By default, fields with
7655	// empty values are omitted from API requests. However, any field with
7656	// an empty value appearing in NullFields will be sent to the server as
7657	// null. It is an error if a field in this list has a non-empty value.
7658	// This may be used to include null fields in Patch requests.
7659	NullFields []string `json:"-"`
7660}
7661
7662func (s *UpdateTableColumnPropertiesRequest) MarshalJSON() ([]byte, error) {
7663	type NoMethod UpdateTableColumnPropertiesRequest
7664	raw := NoMethod(*s)
7665	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7666}
7667
7668// UpdateTableRowPropertiesRequest: Updates the properties of a Table
7669// row.
7670type UpdateTableRowPropertiesRequest struct {
7671	// Fields: The fields that should be updated.
7672	//
7673	// At least one field must be specified. The root `tableRowProperties`
7674	// is
7675	// implied and should not be specified. A single "*" can be used
7676	// as
7677	// short-hand for listing every field.
7678	//
7679	// For example to update the minimum row height, set `fields`
7680	// to
7681	// "min_row_height".
7682	//
7683	// If '"min_row_height"' is included in the field mask but the property
7684	// is
7685	// left unset, the minimum row height will default to 0.
7686	Fields string `json:"fields,omitempty"`
7687
7688	// ObjectId: The object ID of the table.
7689	ObjectId string `json:"objectId,omitempty"`
7690
7691	// RowIndices: The list of zero-based indices specifying which rows to
7692	// update. If no
7693	// indices are provided, all rows in the table will be updated.
7694	RowIndices []int64 `json:"rowIndices,omitempty"`
7695
7696	// TableRowProperties: The table row properties to update.
7697	TableRowProperties *TableRowProperties `json:"tableRowProperties,omitempty"`
7698
7699	// ForceSendFields is a list of field names (e.g. "Fields") to
7700	// unconditionally include in API requests. By default, fields with
7701	// empty values are omitted from API requests. However, any non-pointer,
7702	// non-interface field appearing in ForceSendFields will be sent to the
7703	// server regardless of whether the field is empty or not. This may be
7704	// used to include empty fields in Patch requests.
7705	ForceSendFields []string `json:"-"`
7706
7707	// NullFields is a list of field names (e.g. "Fields") to include in API
7708	// requests with the JSON null value. By default, fields with empty
7709	// values are omitted from API requests. However, any field with an
7710	// empty value appearing in NullFields will be sent to the server as
7711	// null. It is an error if a field in this list has a non-empty value.
7712	// This may be used to include null fields in Patch requests.
7713	NullFields []string `json:"-"`
7714}
7715
7716func (s *UpdateTableRowPropertiesRequest) MarshalJSON() ([]byte, error) {
7717	type NoMethod UpdateTableRowPropertiesRequest
7718	raw := NoMethod(*s)
7719	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7720}
7721
7722// UpdateTextStyleRequest: Update the styling of text in a Shape
7723// or
7724// Table.
7725type UpdateTextStyleRequest struct {
7726	// CellLocation: The location of the cell in the table containing the
7727	// text to style. If
7728	// `object_id` refers to a table, `cell_location` must have a
7729	// value.
7730	// Otherwise, it must not.
7731	CellLocation *TableCellLocation `json:"cellLocation,omitempty"`
7732
7733	// Fields: The fields that should be updated.
7734	//
7735	// At least one field must be specified. The root `style` is implied
7736	// and
7737	// should not be specified. A single "*" can be used as short-hand
7738	// for
7739	// listing every field.
7740	//
7741	// For example, to update the text style to bold, set `fields` to
7742	// "bold".
7743	//
7744	// To reset a property to its default value, include its field name in
7745	// the
7746	// field mask but leave the field itself unset.
7747	Fields string `json:"fields,omitempty"`
7748
7749	// ObjectId: The object ID of the shape or table with the text to be
7750	// styled.
7751	ObjectId string `json:"objectId,omitempty"`
7752
7753	// Style: The style(s) to set on the text.
7754	//
7755	// If the value for a particular style matches that of the parent, that
7756	// style
7757	// will be set to inherit.
7758	//
7759	// Certain text style changes may cause other changes meant to mirror
7760	// the
7761	// behavior of the Slides editor. See the documentation of
7762	// TextStyle for more information.
7763	Style *TextStyle `json:"style,omitempty"`
7764
7765	// TextRange: The range of text to style.
7766	//
7767	// The range may be extended to include adjacent newlines.
7768	//
7769	// If the range fully contains a paragraph belonging to a list,
7770	// the
7771	// paragraph's bullet is also updated with the matching text style.
7772	TextRange *Range `json:"textRange,omitempty"`
7773
7774	// ForceSendFields is a list of field names (e.g. "CellLocation") to
7775	// unconditionally include in API requests. By default, fields with
7776	// empty values are omitted from API requests. However, any non-pointer,
7777	// non-interface field appearing in ForceSendFields will be sent to the
7778	// server regardless of whether the field is empty or not. This may be
7779	// used to include empty fields in Patch requests.
7780	ForceSendFields []string `json:"-"`
7781
7782	// NullFields is a list of field names (e.g. "CellLocation") to include
7783	// in API requests with the JSON null value. By default, fields with
7784	// empty values are omitted from API requests. However, any field with
7785	// an empty value appearing in NullFields will be sent to the server as
7786	// null. It is an error if a field in this list has a non-empty value.
7787	// This may be used to include null fields in Patch requests.
7788	NullFields []string `json:"-"`
7789}
7790
7791func (s *UpdateTextStyleRequest) MarshalJSON() ([]byte, error) {
7792	type NoMethod UpdateTextStyleRequest
7793	raw := NoMethod(*s)
7794	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7795}
7796
7797// UpdateVideoPropertiesRequest: Update the properties of a Video.
7798type UpdateVideoPropertiesRequest struct {
7799	// Fields: The fields that should be updated.
7800	//
7801	// At least one field must be specified. The root `videoProperties`
7802	// is
7803	// implied and should not be specified. A single "*" can be used
7804	// as
7805	// short-hand for listing every field.
7806	//
7807	// For example to update the video outline color, set `fields`
7808	// to
7809	// "outline.outlineFill.solidFill.color".
7810	//
7811	// To reset a property to its default value, include its field name in
7812	// the
7813	// field mask but leave the field itself unset.
7814	Fields string `json:"fields,omitempty"`
7815
7816	// ObjectId: The object ID of the video the updates are applied to.
7817	ObjectId string `json:"objectId,omitempty"`
7818
7819	// VideoProperties: The video properties to update.
7820	VideoProperties *VideoProperties `json:"videoProperties,omitempty"`
7821
7822	// ForceSendFields is a list of field names (e.g. "Fields") to
7823	// unconditionally include in API requests. By default, fields with
7824	// empty values are omitted from API requests. However, any non-pointer,
7825	// non-interface field appearing in ForceSendFields will be sent to the
7826	// server regardless of whether the field is empty or not. This may be
7827	// used to include empty fields in Patch requests.
7828	ForceSendFields []string `json:"-"`
7829
7830	// NullFields is a list of field names (e.g. "Fields") to include in API
7831	// requests with the JSON null value. By default, fields with empty
7832	// values are omitted from API requests. However, any field with an
7833	// empty value appearing in NullFields will be sent to the server as
7834	// null. It is an error if a field in this list has a non-empty value.
7835	// This may be used to include null fields in Patch requests.
7836	NullFields []string `json:"-"`
7837}
7838
7839func (s *UpdateVideoPropertiesRequest) MarshalJSON() ([]byte, error) {
7840	type NoMethod UpdateVideoPropertiesRequest
7841	raw := NoMethod(*s)
7842	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7843}
7844
7845// Video: A PageElement kind representing a
7846// video.
7847type Video struct {
7848	// Id: The video source's unique identifier for this video.
7849	Id string `json:"id,omitempty"`
7850
7851	// Source: The video source.
7852	//
7853	// Possible values:
7854	//   "SOURCE_UNSPECIFIED" - The video source is unspecified.
7855	//   "YOUTUBE" - The video source is YouTube.
7856	//   "DRIVE" - The video source is Google Drive.
7857	Source string `json:"source,omitempty"`
7858
7859	// Url: An URL to a video. The URL is valid as long as the source video
7860	// exists and
7861	// sharing settings do not change.
7862	Url string `json:"url,omitempty"`
7863
7864	// VideoProperties: The properties of the video.
7865	VideoProperties *VideoProperties `json:"videoProperties,omitempty"`
7866
7867	// ForceSendFields is a list of field names (e.g. "Id") to
7868	// unconditionally include in API requests. By default, fields with
7869	// empty values are omitted from API requests. However, any non-pointer,
7870	// non-interface field appearing in ForceSendFields will be sent to the
7871	// server regardless of whether the field is empty or not. This may be
7872	// used to include empty fields in Patch requests.
7873	ForceSendFields []string `json:"-"`
7874
7875	// NullFields is a list of field names (e.g. "Id") to include in API
7876	// requests with the JSON null value. By default, fields with empty
7877	// values are omitted from API requests. However, any field with an
7878	// empty value appearing in NullFields will be sent to the server as
7879	// null. It is an error if a field in this list has a non-empty value.
7880	// This may be used to include null fields in Patch requests.
7881	NullFields []string `json:"-"`
7882}
7883
7884func (s *Video) MarshalJSON() ([]byte, error) {
7885	type NoMethod Video
7886	raw := NoMethod(*s)
7887	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7888}
7889
7890// VideoProperties: The properties of the Video.
7891type VideoProperties struct {
7892	// AutoPlay: Whether to enable video autoplay when the page is displayed
7893	// in present
7894	// mode. Defaults to false.
7895	AutoPlay bool `json:"autoPlay,omitempty"`
7896
7897	// End: The time at which to end playback, measured in seconds from the
7898	// beginning
7899	// of the video.
7900	// If set, the end time should be after the start time.
7901	// If not set or if you set this to a value that exceeds the video's
7902	// length,
7903	// the video will be played until its end.
7904	End int64 `json:"end,omitempty"`
7905
7906	// Mute: Whether to mute the audio during video playback. Defaults to
7907	// false.
7908	Mute bool `json:"mute,omitempty"`
7909
7910	// Outline: The outline of the video. The default outline matches the
7911	// defaults for new
7912	// videos created in the Slides editor.
7913	Outline *Outline `json:"outline,omitempty"`
7914
7915	// Start: The time at which to start playback, measured in seconds from
7916	// the beginning
7917	// of the video.
7918	// If set, the start time should be before the end time.
7919	// If you set this to a value that exceeds the video's length in
7920	// seconds, the
7921	// video will be played from the last second.
7922	// If not set, the video will be played from the beginning.
7923	Start int64 `json:"start,omitempty"`
7924
7925	// ForceSendFields is a list of field names (e.g. "AutoPlay") to
7926	// unconditionally include in API requests. By default, fields with
7927	// empty values are omitted from API requests. However, any non-pointer,
7928	// non-interface field appearing in ForceSendFields will be sent to the
7929	// server regardless of whether the field is empty or not. This may be
7930	// used to include empty fields in Patch requests.
7931	ForceSendFields []string `json:"-"`
7932
7933	// NullFields is a list of field names (e.g. "AutoPlay") to include in
7934	// API requests with the JSON null value. By default, fields with empty
7935	// values are omitted from API requests. However, any field with an
7936	// empty value appearing in NullFields will be sent to the server as
7937	// null. It is an error if a field in this list has a non-empty value.
7938	// This may be used to include null fields in Patch requests.
7939	NullFields []string `json:"-"`
7940}
7941
7942func (s *VideoProperties) MarshalJSON() ([]byte, error) {
7943	type NoMethod VideoProperties
7944	raw := NoMethod(*s)
7945	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7946}
7947
7948// WeightedFontFamily: Represents a font family and weight used to style
7949// a TextRun.
7950type WeightedFontFamily struct {
7951	// FontFamily: The font family of the text.
7952	//
7953	// The font family can be any font from the Font menu in Slides or
7954	// from
7955	// [Google Fonts] (https://fonts.google.com/). If the font name
7956	// is
7957	// unrecognized, the text is rendered in `Arial`.
7958	FontFamily string `json:"fontFamily,omitempty"`
7959
7960	// Weight: The rendered weight of the text. This field can have any
7961	// value that is a
7962	// multiple of `100` between `100` and `900`, inclusive. This
7963	// range
7964	// corresponds to the numerical values described in the CSS
7965	// 2.1
7966	// Specification,
7967	// [section
7968	// 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),
7969	// with non-numerical values disallowed. Weights greater than or equal
7970	// to
7971	// `700` are considered bold, and weights less than `700`are not bold.
7972	// The
7973	// default value is `400` ("normal").
7974	Weight int64 `json:"weight,omitempty"`
7975
7976	// ForceSendFields is a list of field names (e.g. "FontFamily") to
7977	// unconditionally include in API requests. By default, fields with
7978	// empty values are omitted from API requests. However, any non-pointer,
7979	// non-interface field appearing in ForceSendFields will be sent to the
7980	// server regardless of whether the field is empty or not. This may be
7981	// used to include empty fields in Patch requests.
7982	ForceSendFields []string `json:"-"`
7983
7984	// NullFields is a list of field names (e.g. "FontFamily") to include in
7985	// API requests with the JSON null value. By default, fields with empty
7986	// values are omitted from API requests. However, any field with an
7987	// empty value appearing in NullFields will be sent to the server as
7988	// null. It is an error if a field in this list has a non-empty value.
7989	// This may be used to include null fields in Patch requests.
7990	NullFields []string `json:"-"`
7991}
7992
7993func (s *WeightedFontFamily) MarshalJSON() ([]byte, error) {
7994	type NoMethod WeightedFontFamily
7995	raw := NoMethod(*s)
7996	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7997}
7998
7999// WordArt: A PageElement kind representing
8000// word art.
8001type WordArt struct {
8002	// RenderedText: The text rendered as word art.
8003	RenderedText string `json:"renderedText,omitempty"`
8004
8005	// ForceSendFields is a list of field names (e.g. "RenderedText") to
8006	// unconditionally include in API requests. By default, fields with
8007	// empty values are omitted from API requests. However, any non-pointer,
8008	// non-interface field appearing in ForceSendFields will be sent to the
8009	// server regardless of whether the field is empty or not. This may be
8010	// used to include empty fields in Patch requests.
8011	ForceSendFields []string `json:"-"`
8012
8013	// NullFields is a list of field names (e.g. "RenderedText") to include
8014	// in API requests with the JSON null value. By default, fields with
8015	// empty values are omitted from API requests. However, any field with
8016	// an empty value appearing in NullFields will be sent to the server as
8017	// null. It is an error if a field in this list has a non-empty value.
8018	// This may be used to include null fields in Patch requests.
8019	NullFields []string `json:"-"`
8020}
8021
8022func (s *WordArt) MarshalJSON() ([]byte, error) {
8023	type NoMethod WordArt
8024	raw := NoMethod(*s)
8025	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8026}
8027
8028// WriteControl: Provides control over how write requests are executed.
8029type WriteControl struct {
8030	// RequiredRevisionId: The revision ID of the presentation required for
8031	// the write request. If
8032	// specified and the `required_revision_id` doesn't exactly match
8033	// the
8034	// presentation's current `revision_id`, the request will not be
8035	// processed and
8036	// will return a 400 bad request error.
8037	RequiredRevisionId string `json:"requiredRevisionId,omitempty"`
8038
8039	// ForceSendFields is a list of field names (e.g. "RequiredRevisionId")
8040	// to unconditionally include in API requests. By default, fields with
8041	// empty values are omitted from API requests. However, any non-pointer,
8042	// non-interface field appearing in ForceSendFields will be sent to the
8043	// server regardless of whether the field is empty or not. This may be
8044	// used to include empty fields in Patch requests.
8045	ForceSendFields []string `json:"-"`
8046
8047	// NullFields is a list of field names (e.g. "RequiredRevisionId") to
8048	// include in API requests with the JSON null value. By default, fields
8049	// with empty values are omitted from API requests. However, any field
8050	// with an empty value appearing in NullFields will be sent to the
8051	// server as null. It is an error if a field in this list has a
8052	// non-empty value. This may be used to include null fields in Patch
8053	// requests.
8054	NullFields []string `json:"-"`
8055}
8056
8057func (s *WriteControl) MarshalJSON() ([]byte, error) {
8058	type NoMethod WriteControl
8059	raw := NoMethod(*s)
8060	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8061}
8062
8063// method id "slides.presentations.batchUpdate":
8064
8065type PresentationsBatchUpdateCall struct {
8066	s                              *Service
8067	presentationId                 string
8068	batchupdatepresentationrequest *BatchUpdatePresentationRequest
8069	urlParams_                     gensupport.URLParams
8070	ctx_                           context.Context
8071	header_                        http.Header
8072}
8073
8074// BatchUpdate: Applies one or more updates to the presentation.
8075//
8076// Each request is validated before
8077// being applied. If any request is not valid, then the entire request
8078// will
8079// fail and nothing will be applied.
8080//
8081// Some requests have replies to
8082// give you some information about how they are applied. Other requests
8083// do
8084// not need to return information; these each return an empty reply.
8085// The order of replies matches that of the requests.
8086//
8087// For example, suppose you call batchUpdate with four updates, and only
8088// the
8089// third one returns information. The response would have two empty
8090// replies:
8091// the reply to the third request, and another empty reply, in that
8092// order.
8093//
8094// Because other users may be editing the presentation, the
8095// presentation
8096// might not exactly reflect your changes: your changes may
8097// be altered with respect to collaborator changes. If there are
8098// no
8099// collaborators, the presentation should reflect your changes. In any
8100// case,
8101// the updates in your request are guaranteed to be applied
8102// together
8103// atomically.
8104func (r *PresentationsService) BatchUpdate(presentationId string, batchupdatepresentationrequest *BatchUpdatePresentationRequest) *PresentationsBatchUpdateCall {
8105	c := &PresentationsBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8106	c.presentationId = presentationId
8107	c.batchupdatepresentationrequest = batchupdatepresentationrequest
8108	return c
8109}
8110
8111// Fields allows partial responses to be retrieved. See
8112// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8113// for more information.
8114func (c *PresentationsBatchUpdateCall) Fields(s ...googleapi.Field) *PresentationsBatchUpdateCall {
8115	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8116	return c
8117}
8118
8119// Context sets the context to be used in this call's Do method. Any
8120// pending HTTP request will be aborted if the provided context is
8121// canceled.
8122func (c *PresentationsBatchUpdateCall) Context(ctx context.Context) *PresentationsBatchUpdateCall {
8123	c.ctx_ = ctx
8124	return c
8125}
8126
8127// Header returns an http.Header that can be modified by the caller to
8128// add HTTP headers to the request.
8129func (c *PresentationsBatchUpdateCall) Header() http.Header {
8130	if c.header_ == nil {
8131		c.header_ = make(http.Header)
8132	}
8133	return c.header_
8134}
8135
8136func (c *PresentationsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
8137	reqHeaders := make(http.Header)
8138	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.4 gdcl/20191114")
8139	for k, v := range c.header_ {
8140		reqHeaders[k] = v
8141	}
8142	reqHeaders.Set("User-Agent", c.s.userAgent())
8143	var body io.Reader = nil
8144	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdatepresentationrequest)
8145	if err != nil {
8146		return nil, err
8147	}
8148	reqHeaders.Set("Content-Type", "application/json")
8149	c.urlParams_.Set("alt", alt)
8150	c.urlParams_.Set("prettyPrint", "false")
8151	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/presentations/{presentationId}:batchUpdate")
8152	urls += "?" + c.urlParams_.Encode()
8153	req, err := http.NewRequest("POST", urls, body)
8154	if err != nil {
8155		return nil, err
8156	}
8157	req.Header = reqHeaders
8158	googleapi.Expand(req.URL, map[string]string{
8159		"presentationId": c.presentationId,
8160	})
8161	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8162}
8163
8164// Do executes the "slides.presentations.batchUpdate" call.
8165// Exactly one of *BatchUpdatePresentationResponse or error will be
8166// non-nil. Any non-2xx status code is an error. Response headers are in
8167// either *BatchUpdatePresentationResponse.ServerResponse.Header or (if
8168// a response was returned at all) in error.(*googleapi.Error).Header.
8169// Use googleapi.IsNotModified to check whether the returned error was
8170// because http.StatusNotModified was returned.
8171func (c *PresentationsBatchUpdateCall) Do(opts ...googleapi.CallOption) (*BatchUpdatePresentationResponse, error) {
8172	gensupport.SetOptions(c.urlParams_, opts...)
8173	res, err := c.doRequest("json")
8174	if res != nil && res.StatusCode == http.StatusNotModified {
8175		if res.Body != nil {
8176			res.Body.Close()
8177		}
8178		return nil, &googleapi.Error{
8179			Code:   res.StatusCode,
8180			Header: res.Header,
8181		}
8182	}
8183	if err != nil {
8184		return nil, err
8185	}
8186	defer googleapi.CloseBody(res)
8187	if err := googleapi.CheckResponse(res); err != nil {
8188		return nil, err
8189	}
8190	ret := &BatchUpdatePresentationResponse{
8191		ServerResponse: googleapi.ServerResponse{
8192			Header:         res.Header,
8193			HTTPStatusCode: res.StatusCode,
8194		},
8195	}
8196	target := &ret
8197	if err := gensupport.DecodeResponse(target, res); err != nil {
8198		return nil, err
8199	}
8200	return ret, nil
8201	// {
8202	//   "description": "Applies one or more updates to the presentation.\n\nEach request is validated before\nbeing applied. If any request is not valid, then the entire request will\nfail and nothing will be applied.\n\nSome requests have replies to\ngive you some information about how they are applied. Other requests do\nnot need to return information; these each return an empty reply.\nThe order of replies matches that of the requests.\n\nFor example, suppose you call batchUpdate with four updates, and only the\nthird one returns information. The response would have two empty replies:\nthe reply to the third request, and another empty reply, in that order.\n\nBecause other users may be editing the presentation, the presentation\nmight not exactly reflect your changes: your changes may\nbe altered with respect to collaborator changes. If there are no\ncollaborators, the presentation should reflect your changes. In any case,\nthe updates in your request are guaranteed to be applied together\natomically.",
8203	//   "flatPath": "v1/presentations/{presentationId}:batchUpdate",
8204	//   "httpMethod": "POST",
8205	//   "id": "slides.presentations.batchUpdate",
8206	//   "parameterOrder": [
8207	//     "presentationId"
8208	//   ],
8209	//   "parameters": {
8210	//     "presentationId": {
8211	//       "description": "The presentation to apply the updates to.",
8212	//       "location": "path",
8213	//       "required": true,
8214	//       "type": "string"
8215	//     }
8216	//   },
8217	//   "path": "v1/presentations/{presentationId}:batchUpdate",
8218	//   "request": {
8219	//     "$ref": "BatchUpdatePresentationRequest"
8220	//   },
8221	//   "response": {
8222	//     "$ref": "BatchUpdatePresentationResponse"
8223	//   },
8224	//   "scopes": [
8225	//     "https://www.googleapis.com/auth/drive",
8226	//     "https://www.googleapis.com/auth/drive.file",
8227	//     "https://www.googleapis.com/auth/drive.readonly",
8228	//     "https://www.googleapis.com/auth/presentations",
8229	//     "https://www.googleapis.com/auth/spreadsheets",
8230	//     "https://www.googleapis.com/auth/spreadsheets.readonly"
8231	//   ]
8232	// }
8233
8234}
8235
8236// method id "slides.presentations.create":
8237
8238type PresentationsCreateCall struct {
8239	s            *Service
8240	presentation *Presentation
8241	urlParams_   gensupport.URLParams
8242	ctx_         context.Context
8243	header_      http.Header
8244}
8245
8246// Create: Creates a blank presentation using the title given in the
8247// request. If a
8248// `presentationId` is provided, it is used as the ID of the new
8249// presentation.
8250// Otherwise, a new ID is generated. Other fields in the request,
8251// including
8252// any provided content, are ignored.
8253// Returns the created presentation.
8254func (r *PresentationsService) Create(presentation *Presentation) *PresentationsCreateCall {
8255	c := &PresentationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8256	c.presentation = presentation
8257	return c
8258}
8259
8260// Fields allows partial responses to be retrieved. See
8261// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8262// for more information.
8263func (c *PresentationsCreateCall) Fields(s ...googleapi.Field) *PresentationsCreateCall {
8264	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8265	return c
8266}
8267
8268// Context sets the context to be used in this call's Do method. Any
8269// pending HTTP request will be aborted if the provided context is
8270// canceled.
8271func (c *PresentationsCreateCall) Context(ctx context.Context) *PresentationsCreateCall {
8272	c.ctx_ = ctx
8273	return c
8274}
8275
8276// Header returns an http.Header that can be modified by the caller to
8277// add HTTP headers to the request.
8278func (c *PresentationsCreateCall) Header() http.Header {
8279	if c.header_ == nil {
8280		c.header_ = make(http.Header)
8281	}
8282	return c.header_
8283}
8284
8285func (c *PresentationsCreateCall) doRequest(alt string) (*http.Response, error) {
8286	reqHeaders := make(http.Header)
8287	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.4 gdcl/20191114")
8288	for k, v := range c.header_ {
8289		reqHeaders[k] = v
8290	}
8291	reqHeaders.Set("User-Agent", c.s.userAgent())
8292	var body io.Reader = nil
8293	body, err := googleapi.WithoutDataWrapper.JSONReader(c.presentation)
8294	if err != nil {
8295		return nil, err
8296	}
8297	reqHeaders.Set("Content-Type", "application/json")
8298	c.urlParams_.Set("alt", alt)
8299	c.urlParams_.Set("prettyPrint", "false")
8300	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/presentations")
8301	urls += "?" + c.urlParams_.Encode()
8302	req, err := http.NewRequest("POST", urls, body)
8303	if err != nil {
8304		return nil, err
8305	}
8306	req.Header = reqHeaders
8307	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8308}
8309
8310// Do executes the "slides.presentations.create" call.
8311// Exactly one of *Presentation or error will be non-nil. Any non-2xx
8312// status code is an error. Response headers are in either
8313// *Presentation.ServerResponse.Header or (if a response was returned at
8314// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8315// to check whether the returned error was because
8316// http.StatusNotModified was returned.
8317func (c *PresentationsCreateCall) Do(opts ...googleapi.CallOption) (*Presentation, error) {
8318	gensupport.SetOptions(c.urlParams_, opts...)
8319	res, err := c.doRequest("json")
8320	if res != nil && res.StatusCode == http.StatusNotModified {
8321		if res.Body != nil {
8322			res.Body.Close()
8323		}
8324		return nil, &googleapi.Error{
8325			Code:   res.StatusCode,
8326			Header: res.Header,
8327		}
8328	}
8329	if err != nil {
8330		return nil, err
8331	}
8332	defer googleapi.CloseBody(res)
8333	if err := googleapi.CheckResponse(res); err != nil {
8334		return nil, err
8335	}
8336	ret := &Presentation{
8337		ServerResponse: googleapi.ServerResponse{
8338			Header:         res.Header,
8339			HTTPStatusCode: res.StatusCode,
8340		},
8341	}
8342	target := &ret
8343	if err := gensupport.DecodeResponse(target, res); err != nil {
8344		return nil, err
8345	}
8346	return ret, nil
8347	// {
8348	//   "description": "Creates a blank presentation using the title given in the request. If a\n`presentationId` is provided, it is used as the ID of the new presentation.\nOtherwise, a new ID is generated. Other fields in the request, including\nany provided content, are ignored.\nReturns the created presentation.",
8349	//   "flatPath": "v1/presentations",
8350	//   "httpMethod": "POST",
8351	//   "id": "slides.presentations.create",
8352	//   "parameterOrder": [],
8353	//   "parameters": {},
8354	//   "path": "v1/presentations",
8355	//   "request": {
8356	//     "$ref": "Presentation"
8357	//   },
8358	//   "response": {
8359	//     "$ref": "Presentation"
8360	//   },
8361	//   "scopes": [
8362	//     "https://www.googleapis.com/auth/drive",
8363	//     "https://www.googleapis.com/auth/drive.file",
8364	//     "https://www.googleapis.com/auth/presentations"
8365	//   ]
8366	// }
8367
8368}
8369
8370// method id "slides.presentations.get":
8371
8372type PresentationsGetCall struct {
8373	s              *Service
8374	presentationId string
8375	urlParams_     gensupport.URLParams
8376	ifNoneMatch_   string
8377	ctx_           context.Context
8378	header_        http.Header
8379}
8380
8381// Get: Gets the latest version of the specified presentation.
8382func (r *PresentationsService) Get(presentationId string) *PresentationsGetCall {
8383	c := &PresentationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8384	c.presentationId = presentationId
8385	return c
8386}
8387
8388// Fields allows partial responses to be retrieved. See
8389// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8390// for more information.
8391func (c *PresentationsGetCall) Fields(s ...googleapi.Field) *PresentationsGetCall {
8392	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8393	return c
8394}
8395
8396// IfNoneMatch sets the optional parameter which makes the operation
8397// fail if the object's ETag matches the given value. This is useful for
8398// getting updates only after the object has changed since the last
8399// request. Use googleapi.IsNotModified to check whether the response
8400// error from Do is the result of In-None-Match.
8401func (c *PresentationsGetCall) IfNoneMatch(entityTag string) *PresentationsGetCall {
8402	c.ifNoneMatch_ = entityTag
8403	return c
8404}
8405
8406// Context sets the context to be used in this call's Do method. Any
8407// pending HTTP request will be aborted if the provided context is
8408// canceled.
8409func (c *PresentationsGetCall) Context(ctx context.Context) *PresentationsGetCall {
8410	c.ctx_ = ctx
8411	return c
8412}
8413
8414// Header returns an http.Header that can be modified by the caller to
8415// add HTTP headers to the request.
8416func (c *PresentationsGetCall) Header() http.Header {
8417	if c.header_ == nil {
8418		c.header_ = make(http.Header)
8419	}
8420	return c.header_
8421}
8422
8423func (c *PresentationsGetCall) doRequest(alt string) (*http.Response, error) {
8424	reqHeaders := make(http.Header)
8425	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.4 gdcl/20191114")
8426	for k, v := range c.header_ {
8427		reqHeaders[k] = v
8428	}
8429	reqHeaders.Set("User-Agent", c.s.userAgent())
8430	if c.ifNoneMatch_ != "" {
8431		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8432	}
8433	var body io.Reader = nil
8434	c.urlParams_.Set("alt", alt)
8435	c.urlParams_.Set("prettyPrint", "false")
8436	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/presentations/{+presentationId}")
8437	urls += "?" + c.urlParams_.Encode()
8438	req, err := http.NewRequest("GET", urls, body)
8439	if err != nil {
8440		return nil, err
8441	}
8442	req.Header = reqHeaders
8443	googleapi.Expand(req.URL, map[string]string{
8444		"presentationId": c.presentationId,
8445	})
8446	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8447}
8448
8449// Do executes the "slides.presentations.get" call.
8450// Exactly one of *Presentation or error will be non-nil. Any non-2xx
8451// status code is an error. Response headers are in either
8452// *Presentation.ServerResponse.Header or (if a response was returned at
8453// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8454// to check whether the returned error was because
8455// http.StatusNotModified was returned.
8456func (c *PresentationsGetCall) Do(opts ...googleapi.CallOption) (*Presentation, error) {
8457	gensupport.SetOptions(c.urlParams_, opts...)
8458	res, err := c.doRequest("json")
8459	if res != nil && res.StatusCode == http.StatusNotModified {
8460		if res.Body != nil {
8461			res.Body.Close()
8462		}
8463		return nil, &googleapi.Error{
8464			Code:   res.StatusCode,
8465			Header: res.Header,
8466		}
8467	}
8468	if err != nil {
8469		return nil, err
8470	}
8471	defer googleapi.CloseBody(res)
8472	if err := googleapi.CheckResponse(res); err != nil {
8473		return nil, err
8474	}
8475	ret := &Presentation{
8476		ServerResponse: googleapi.ServerResponse{
8477			Header:         res.Header,
8478			HTTPStatusCode: res.StatusCode,
8479		},
8480	}
8481	target := &ret
8482	if err := gensupport.DecodeResponse(target, res); err != nil {
8483		return nil, err
8484	}
8485	return ret, nil
8486	// {
8487	//   "description": "Gets the latest version of the specified presentation.",
8488	//   "flatPath": "v1/presentations/{presentationsId}",
8489	//   "httpMethod": "GET",
8490	//   "id": "slides.presentations.get",
8491	//   "parameterOrder": [
8492	//     "presentationId"
8493	//   ],
8494	//   "parameters": {
8495	//     "presentationId": {
8496	//       "description": "The ID of the presentation to retrieve.",
8497	//       "location": "path",
8498	//       "pattern": "^[^/]+$",
8499	//       "required": true,
8500	//       "type": "string"
8501	//     }
8502	//   },
8503	//   "path": "v1/presentations/{+presentationId}",
8504	//   "response": {
8505	//     "$ref": "Presentation"
8506	//   },
8507	//   "scopes": [
8508	//     "https://www.googleapis.com/auth/drive",
8509	//     "https://www.googleapis.com/auth/drive.file",
8510	//     "https://www.googleapis.com/auth/drive.readonly",
8511	//     "https://www.googleapis.com/auth/presentations",
8512	//     "https://www.googleapis.com/auth/presentations.readonly"
8513	//   ]
8514	// }
8515
8516}
8517
8518// method id "slides.presentations.pages.get":
8519
8520type PresentationsPagesGetCall struct {
8521	s              *Service
8522	presentationId string
8523	pageObjectId   string
8524	urlParams_     gensupport.URLParams
8525	ifNoneMatch_   string
8526	ctx_           context.Context
8527	header_        http.Header
8528}
8529
8530// Get: Gets the latest version of the specified page in the
8531// presentation.
8532func (r *PresentationsPagesService) Get(presentationId string, pageObjectId string) *PresentationsPagesGetCall {
8533	c := &PresentationsPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8534	c.presentationId = presentationId
8535	c.pageObjectId = pageObjectId
8536	return c
8537}
8538
8539// Fields allows partial responses to be retrieved. See
8540// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8541// for more information.
8542func (c *PresentationsPagesGetCall) Fields(s ...googleapi.Field) *PresentationsPagesGetCall {
8543	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8544	return c
8545}
8546
8547// IfNoneMatch sets the optional parameter which makes the operation
8548// fail if the object's ETag matches the given value. This is useful for
8549// getting updates only after the object has changed since the last
8550// request. Use googleapi.IsNotModified to check whether the response
8551// error from Do is the result of In-None-Match.
8552func (c *PresentationsPagesGetCall) IfNoneMatch(entityTag string) *PresentationsPagesGetCall {
8553	c.ifNoneMatch_ = entityTag
8554	return c
8555}
8556
8557// Context sets the context to be used in this call's Do method. Any
8558// pending HTTP request will be aborted if the provided context is
8559// canceled.
8560func (c *PresentationsPagesGetCall) Context(ctx context.Context) *PresentationsPagesGetCall {
8561	c.ctx_ = ctx
8562	return c
8563}
8564
8565// Header returns an http.Header that can be modified by the caller to
8566// add HTTP headers to the request.
8567func (c *PresentationsPagesGetCall) Header() http.Header {
8568	if c.header_ == nil {
8569		c.header_ = make(http.Header)
8570	}
8571	return c.header_
8572}
8573
8574func (c *PresentationsPagesGetCall) doRequest(alt string) (*http.Response, error) {
8575	reqHeaders := make(http.Header)
8576	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.4 gdcl/20191114")
8577	for k, v := range c.header_ {
8578		reqHeaders[k] = v
8579	}
8580	reqHeaders.Set("User-Agent", c.s.userAgent())
8581	if c.ifNoneMatch_ != "" {
8582		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8583	}
8584	var body io.Reader = nil
8585	c.urlParams_.Set("alt", alt)
8586	c.urlParams_.Set("prettyPrint", "false")
8587	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/presentations/{presentationId}/pages/{pageObjectId}")
8588	urls += "?" + c.urlParams_.Encode()
8589	req, err := http.NewRequest("GET", urls, body)
8590	if err != nil {
8591		return nil, err
8592	}
8593	req.Header = reqHeaders
8594	googleapi.Expand(req.URL, map[string]string{
8595		"presentationId": c.presentationId,
8596		"pageObjectId":   c.pageObjectId,
8597	})
8598	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8599}
8600
8601// Do executes the "slides.presentations.pages.get" call.
8602// Exactly one of *Page or error will be non-nil. Any non-2xx status
8603// code is an error. Response headers are in either
8604// *Page.ServerResponse.Header or (if a response was returned at all) in
8605// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
8606// whether the returned error was because http.StatusNotModified was
8607// returned.
8608func (c *PresentationsPagesGetCall) Do(opts ...googleapi.CallOption) (*Page, error) {
8609	gensupport.SetOptions(c.urlParams_, opts...)
8610	res, err := c.doRequest("json")
8611	if res != nil && res.StatusCode == http.StatusNotModified {
8612		if res.Body != nil {
8613			res.Body.Close()
8614		}
8615		return nil, &googleapi.Error{
8616			Code:   res.StatusCode,
8617			Header: res.Header,
8618		}
8619	}
8620	if err != nil {
8621		return nil, err
8622	}
8623	defer googleapi.CloseBody(res)
8624	if err := googleapi.CheckResponse(res); err != nil {
8625		return nil, err
8626	}
8627	ret := &Page{
8628		ServerResponse: googleapi.ServerResponse{
8629			Header:         res.Header,
8630			HTTPStatusCode: res.StatusCode,
8631		},
8632	}
8633	target := &ret
8634	if err := gensupport.DecodeResponse(target, res); err != nil {
8635		return nil, err
8636	}
8637	return ret, nil
8638	// {
8639	//   "description": "Gets the latest version of the specified page in the presentation.",
8640	//   "flatPath": "v1/presentations/{presentationId}/pages/{pageObjectId}",
8641	//   "httpMethod": "GET",
8642	//   "id": "slides.presentations.pages.get",
8643	//   "parameterOrder": [
8644	//     "presentationId",
8645	//     "pageObjectId"
8646	//   ],
8647	//   "parameters": {
8648	//     "pageObjectId": {
8649	//       "description": "The object ID of the page to retrieve.",
8650	//       "location": "path",
8651	//       "required": true,
8652	//       "type": "string"
8653	//     },
8654	//     "presentationId": {
8655	//       "description": "The ID of the presentation to retrieve.",
8656	//       "location": "path",
8657	//       "required": true,
8658	//       "type": "string"
8659	//     }
8660	//   },
8661	//   "path": "v1/presentations/{presentationId}/pages/{pageObjectId}",
8662	//   "response": {
8663	//     "$ref": "Page"
8664	//   },
8665	//   "scopes": [
8666	//     "https://www.googleapis.com/auth/drive",
8667	//     "https://www.googleapis.com/auth/drive.file",
8668	//     "https://www.googleapis.com/auth/drive.readonly",
8669	//     "https://www.googleapis.com/auth/presentations",
8670	//     "https://www.googleapis.com/auth/presentations.readonly"
8671	//   ]
8672	// }
8673
8674}
8675
8676// method id "slides.presentations.pages.getThumbnail":
8677
8678type PresentationsPagesGetThumbnailCall struct {
8679	s              *Service
8680	presentationId string
8681	pageObjectId   string
8682	urlParams_     gensupport.URLParams
8683	ifNoneMatch_   string
8684	ctx_           context.Context
8685	header_        http.Header
8686}
8687
8688// GetThumbnail: Generates a thumbnail of the latest version of the
8689// specified page in the
8690// presentation and returns a URL to the thumbnail image.
8691//
8692// This request counts as an [expensive read request](/slides/limits)
8693// for
8694// quota purposes.
8695func (r *PresentationsPagesService) GetThumbnail(presentationId string, pageObjectId string) *PresentationsPagesGetThumbnailCall {
8696	c := &PresentationsPagesGetThumbnailCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8697	c.presentationId = presentationId
8698	c.pageObjectId = pageObjectId
8699	return c
8700}
8701
8702// ThumbnailPropertiesMimeType sets the optional parameter
8703// "thumbnailProperties.mimeType": The optional mime type of the
8704// thumbnail image.
8705//
8706// If you don't specify the mime type, the default mime type will be
8707// PNG.
8708//
8709// Possible values:
8710//   "PNG"
8711func (c *PresentationsPagesGetThumbnailCall) ThumbnailPropertiesMimeType(thumbnailPropertiesMimeType string) *PresentationsPagesGetThumbnailCall {
8712	c.urlParams_.Set("thumbnailProperties.mimeType", thumbnailPropertiesMimeType)
8713	return c
8714}
8715
8716// ThumbnailPropertiesThumbnailSize sets the optional parameter
8717// "thumbnailProperties.thumbnailSize": The optional thumbnail image
8718// size.
8719//
8720// If you don't specify the size, the server chooses a default size of
8721// the
8722// image.
8723//
8724// Possible values:
8725//   "THUMBNAIL_SIZE_UNSPECIFIED"
8726//   "LARGE"
8727//   "MEDIUM"
8728//   "SMALL"
8729func (c *PresentationsPagesGetThumbnailCall) ThumbnailPropertiesThumbnailSize(thumbnailPropertiesThumbnailSize string) *PresentationsPagesGetThumbnailCall {
8730	c.urlParams_.Set("thumbnailProperties.thumbnailSize", thumbnailPropertiesThumbnailSize)
8731	return c
8732}
8733
8734// Fields allows partial responses to be retrieved. See
8735// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8736// for more information.
8737func (c *PresentationsPagesGetThumbnailCall) Fields(s ...googleapi.Field) *PresentationsPagesGetThumbnailCall {
8738	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8739	return c
8740}
8741
8742// IfNoneMatch sets the optional parameter which makes the operation
8743// fail if the object's ETag matches the given value. This is useful for
8744// getting updates only after the object has changed since the last
8745// request. Use googleapi.IsNotModified to check whether the response
8746// error from Do is the result of In-None-Match.
8747func (c *PresentationsPagesGetThumbnailCall) IfNoneMatch(entityTag string) *PresentationsPagesGetThumbnailCall {
8748	c.ifNoneMatch_ = entityTag
8749	return c
8750}
8751
8752// Context sets the context to be used in this call's Do method. Any
8753// pending HTTP request will be aborted if the provided context is
8754// canceled.
8755func (c *PresentationsPagesGetThumbnailCall) Context(ctx context.Context) *PresentationsPagesGetThumbnailCall {
8756	c.ctx_ = ctx
8757	return c
8758}
8759
8760// Header returns an http.Header that can be modified by the caller to
8761// add HTTP headers to the request.
8762func (c *PresentationsPagesGetThumbnailCall) Header() http.Header {
8763	if c.header_ == nil {
8764		c.header_ = make(http.Header)
8765	}
8766	return c.header_
8767}
8768
8769func (c *PresentationsPagesGetThumbnailCall) doRequest(alt string) (*http.Response, error) {
8770	reqHeaders := make(http.Header)
8771	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.4 gdcl/20191114")
8772	for k, v := range c.header_ {
8773		reqHeaders[k] = v
8774	}
8775	reqHeaders.Set("User-Agent", c.s.userAgent())
8776	if c.ifNoneMatch_ != "" {
8777		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8778	}
8779	var body io.Reader = nil
8780	c.urlParams_.Set("alt", alt)
8781	c.urlParams_.Set("prettyPrint", "false")
8782	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail")
8783	urls += "?" + c.urlParams_.Encode()
8784	req, err := http.NewRequest("GET", urls, body)
8785	if err != nil {
8786		return nil, err
8787	}
8788	req.Header = reqHeaders
8789	googleapi.Expand(req.URL, map[string]string{
8790		"presentationId": c.presentationId,
8791		"pageObjectId":   c.pageObjectId,
8792	})
8793	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8794}
8795
8796// Do executes the "slides.presentations.pages.getThumbnail" call.
8797// Exactly one of *Thumbnail or error will be non-nil. Any non-2xx
8798// status code is an error. Response headers are in either
8799// *Thumbnail.ServerResponse.Header or (if a response was returned at
8800// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8801// to check whether the returned error was because
8802// http.StatusNotModified was returned.
8803func (c *PresentationsPagesGetThumbnailCall) Do(opts ...googleapi.CallOption) (*Thumbnail, error) {
8804	gensupport.SetOptions(c.urlParams_, opts...)
8805	res, err := c.doRequest("json")
8806	if res != nil && res.StatusCode == http.StatusNotModified {
8807		if res.Body != nil {
8808			res.Body.Close()
8809		}
8810		return nil, &googleapi.Error{
8811			Code:   res.StatusCode,
8812			Header: res.Header,
8813		}
8814	}
8815	if err != nil {
8816		return nil, err
8817	}
8818	defer googleapi.CloseBody(res)
8819	if err := googleapi.CheckResponse(res); err != nil {
8820		return nil, err
8821	}
8822	ret := &Thumbnail{
8823		ServerResponse: googleapi.ServerResponse{
8824			Header:         res.Header,
8825			HTTPStatusCode: res.StatusCode,
8826		},
8827	}
8828	target := &ret
8829	if err := gensupport.DecodeResponse(target, res); err != nil {
8830		return nil, err
8831	}
8832	return ret, nil
8833	// {
8834	//   "description": "Generates a thumbnail of the latest version of the specified page in the\npresentation and returns a URL to the thumbnail image.\n\nThis request counts as an [expensive read request](/slides/limits) for\nquota purposes.",
8835	//   "flatPath": "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail",
8836	//   "httpMethod": "GET",
8837	//   "id": "slides.presentations.pages.getThumbnail",
8838	//   "parameterOrder": [
8839	//     "presentationId",
8840	//     "pageObjectId"
8841	//   ],
8842	//   "parameters": {
8843	//     "pageObjectId": {
8844	//       "description": "The object ID of the page whose thumbnail to retrieve.",
8845	//       "location": "path",
8846	//       "required": true,
8847	//       "type": "string"
8848	//     },
8849	//     "presentationId": {
8850	//       "description": "The ID of the presentation to retrieve.",
8851	//       "location": "path",
8852	//       "required": true,
8853	//       "type": "string"
8854	//     },
8855	//     "thumbnailProperties.mimeType": {
8856	//       "description": "The optional mime type of the thumbnail image.\n\nIf you don't specify the mime type, the default mime type will be PNG.",
8857	//       "enum": [
8858	//         "PNG"
8859	//       ],
8860	//       "location": "query",
8861	//       "type": "string"
8862	//     },
8863	//     "thumbnailProperties.thumbnailSize": {
8864	//       "description": "The optional thumbnail image size.\n\nIf you don't specify the size, the server chooses a default size of the\nimage.",
8865	//       "enum": [
8866	//         "THUMBNAIL_SIZE_UNSPECIFIED",
8867	//         "LARGE",
8868	//         "MEDIUM",
8869	//         "SMALL"
8870	//       ],
8871	//       "location": "query",
8872	//       "type": "string"
8873	//     }
8874	//   },
8875	//   "path": "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail",
8876	//   "response": {
8877	//     "$ref": "Thumbnail"
8878	//   },
8879	//   "scopes": [
8880	//     "https://www.googleapis.com/auth/drive",
8881	//     "https://www.googleapis.com/auth/drive.file",
8882	//     "https://www.googleapis.com/auth/drive.readonly",
8883	//     "https://www.googleapis.com/auth/presentations",
8884	//     "https://www.googleapis.com/auth/presentations.readonly"
8885	//   ]
8886	// }
8887
8888}
8889