1// Copyright 2021 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 docs provides access to the Google Docs API.
8//
9// For product documentation, see: https://developers.google.com/docs/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/docs/v1"
16//   ...
17//   ctx := context.Background()
18//   docsService, err := docs.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//   docsService, err := docs.NewService(ctx, option.WithScopes(docs.DriveReadonlyScope))
29//
30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
31//
32//   docsService, err := docs.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//   docsService, err := docs.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
40//
41// See https://godoc.org/google.golang.org/api/option/ for details on options.
42package docs // import "google.golang.org/api/docs/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	internaloption "google.golang.org/api/option/internaloption"
60	htransport "google.golang.org/api/transport/http"
61)
62
63// Always reference these packages, just in case the auto-generated code
64// below doesn't.
65var _ = bytes.NewBuffer
66var _ = strconv.Itoa
67var _ = fmt.Sprintf
68var _ = json.NewDecoder
69var _ = io.Copy
70var _ = url.Parse
71var _ = gensupport.MarshalJSON
72var _ = googleapi.Version
73var _ = errors.New
74var _ = strings.Replace
75var _ = context.Canceled
76var _ = internaloption.WithDefaultEndpoint
77
78const apiId = "docs:v1"
79const apiName = "docs"
80const apiVersion = "v1"
81const basePath = "https://docs.googleapis.com/"
82const mtlsBasePath = "https://docs.mtls.googleapis.com/"
83
84// OAuth2 scopes used by this API.
85const (
86	// See, edit, create, and delete all your Google Docs documents
87	DocumentsScope = "https://www.googleapis.com/auth/documents"
88
89	// See all your Google Docs documents
90	DocumentsReadonlyScope = "https://www.googleapis.com/auth/documents.readonly"
91
92	// See, edit, create, and delete all of your Google Drive files
93	DriveScope = "https://www.googleapis.com/auth/drive"
94
95	// See, edit, create, and delete only the specific Google Drive files
96	// you use with this app
97	DriveFileScope = "https://www.googleapis.com/auth/drive.file"
98
99	// See and download all your Google Drive files
100	DriveReadonlyScope = "https://www.googleapis.com/auth/drive.readonly"
101)
102
103// NewService creates a new Service.
104func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
105	scopesOption := option.WithScopes(
106		"https://www.googleapis.com/auth/documents",
107		"https://www.googleapis.com/auth/documents.readonly",
108		"https://www.googleapis.com/auth/drive",
109		"https://www.googleapis.com/auth/drive.file",
110		"https://www.googleapis.com/auth/drive.readonly",
111	)
112	// NOTE: prepend, so we don't override user-specified scopes.
113	opts = append([]option.ClientOption{scopesOption}, opts...)
114	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
115	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
116	client, endpoint, err := htransport.NewClient(ctx, opts...)
117	if err != nil {
118		return nil, err
119	}
120	s, err := New(client)
121	if err != nil {
122		return nil, err
123	}
124	if endpoint != "" {
125		s.BasePath = endpoint
126	}
127	return s, nil
128}
129
130// New creates a new Service. It uses the provided http.Client for requests.
131//
132// Deprecated: please use NewService instead.
133// To provide a custom HTTP client, use option.WithHTTPClient.
134// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
135func New(client *http.Client) (*Service, error) {
136	if client == nil {
137		return nil, errors.New("client is nil")
138	}
139	s := &Service{client: client, BasePath: basePath}
140	s.Documents = NewDocumentsService(s)
141	return s, nil
142}
143
144type Service struct {
145	client    *http.Client
146	BasePath  string // API endpoint base URL
147	UserAgent string // optional additional User-Agent fragment
148
149	Documents *DocumentsService
150}
151
152func (s *Service) userAgent() string {
153	if s.UserAgent == "" {
154		return googleapi.UserAgent
155	}
156	return googleapi.UserAgent + " " + s.UserAgent
157}
158
159func NewDocumentsService(s *Service) *DocumentsService {
160	rs := &DocumentsService{s: s}
161	return rs
162}
163
164type DocumentsService struct {
165	s *Service
166}
167
168// AutoText: A ParagraphElement representing a spot in the text that is
169// dynamically replaced with content that can change over time, like a
170// page number.
171type AutoText struct {
172	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
173	// there are no suggested deletions of this content.
174	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
175
176	// SuggestedInsertionIds: The suggested insertion IDs. An AutoText may
177	// have multiple insertion IDs if it is a nested suggested change. If
178	// empty, then this is not a suggested insertion.
179	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
180
181	// SuggestedTextStyleChanges: The suggested text style changes to this
182	// AutoText, keyed by suggestion ID.
183	SuggestedTextStyleChanges map[string]SuggestedTextStyle `json:"suggestedTextStyleChanges,omitempty"`
184
185	// TextStyle: The text style of this AutoText.
186	TextStyle *TextStyle `json:"textStyle,omitempty"`
187
188	// Type: The type of this auto text.
189	//
190	// Possible values:
191	//   "TYPE_UNSPECIFIED" - An unspecified auto text type.
192	//   "PAGE_NUMBER" - Type for auto text that represents the current page
193	// number.
194	//   "PAGE_COUNT" - Type for auto text that represents the total number
195	// of pages in the document.
196	Type string `json:"type,omitempty"`
197
198	// ForceSendFields is a list of field names (e.g.
199	// "SuggestedDeletionIds") to unconditionally include in API requests.
200	// By default, fields with empty or default values are omitted from API
201	// requests. However, any non-pointer, non-interface field appearing in
202	// ForceSendFields will be sent to the server regardless of whether the
203	// field is empty or not. This may be used to include empty fields in
204	// Patch requests.
205	ForceSendFields []string `json:"-"`
206
207	// NullFields is a list of field names (e.g. "SuggestedDeletionIds") to
208	// include in API requests with the JSON null value. By default, fields
209	// with empty values are omitted from API requests. However, any field
210	// with an empty value appearing in NullFields will be sent to the
211	// server as null. It is an error if a field in this list has a
212	// non-empty value. This may be used to include null fields in Patch
213	// requests.
214	NullFields []string `json:"-"`
215}
216
217func (s *AutoText) MarshalJSON() ([]byte, error) {
218	type NoMethod AutoText
219	raw := NoMethod(*s)
220	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
221}
222
223// Background: Represents the background of a document.
224type Background struct {
225	// Color: The background color.
226	Color *OptionalColor `json:"color,omitempty"`
227
228	// ForceSendFields is a list of field names (e.g. "Color") to
229	// unconditionally include in API requests. By default, fields with
230	// empty or default values are omitted from API requests. However, any
231	// non-pointer, non-interface field appearing in ForceSendFields will be
232	// sent to the server regardless of whether the field is empty or not.
233	// This may be used to include empty fields in Patch requests.
234	ForceSendFields []string `json:"-"`
235
236	// NullFields is a list of field names (e.g. "Color") to include in API
237	// requests with the JSON null value. By default, fields with empty
238	// values are omitted from API requests. However, any field with an
239	// empty value appearing in NullFields will be sent to the server as
240	// null. It is an error if a field in this list has a non-empty value.
241	// This may be used to include null fields in Patch requests.
242	NullFields []string `json:"-"`
243}
244
245func (s *Background) MarshalJSON() ([]byte, error) {
246	type NoMethod Background
247	raw := NoMethod(*s)
248	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
249}
250
251// BackgroundSuggestionState: A mask that indicates which of the fields
252// on the base Background have been changed in this suggestion. For any
253// field set to true, the Backgound has a new suggested value.
254type BackgroundSuggestionState struct {
255	// BackgroundColorSuggested: Indicates whether the current background
256	// color has been modified in this suggestion.
257	BackgroundColorSuggested bool `json:"backgroundColorSuggested,omitempty"`
258
259	// ForceSendFields is a list of field names (e.g.
260	// "BackgroundColorSuggested") to unconditionally include in API
261	// requests. By default, fields with empty or default values are omitted
262	// from API requests. However, any non-pointer, non-interface field
263	// appearing in ForceSendFields will be sent to the server regardless of
264	// whether the field is empty or not. This may be used to include empty
265	// fields in Patch requests.
266	ForceSendFields []string `json:"-"`
267
268	// NullFields is a list of field names (e.g. "BackgroundColorSuggested")
269	// to include in API requests with the JSON null value. By default,
270	// fields with empty values are omitted from API requests. However, any
271	// field with an empty value appearing in NullFields will be sent to the
272	// server as null. It is an error if a field in this list has a
273	// non-empty value. This may be used to include null fields in Patch
274	// requests.
275	NullFields []string `json:"-"`
276}
277
278func (s *BackgroundSuggestionState) MarshalJSON() ([]byte, error) {
279	type NoMethod BackgroundSuggestionState
280	raw := NoMethod(*s)
281	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
282}
283
284// BatchUpdateDocumentRequest: Request message for BatchUpdateDocument.
285type BatchUpdateDocumentRequest struct {
286	// Requests: A list of updates to apply to the document.
287	Requests []*Request `json:"requests,omitempty"`
288
289	// WriteControl: Provides control over how write requests are executed.
290	WriteControl *WriteControl `json:"writeControl,omitempty"`
291
292	// ForceSendFields is a list of field names (e.g. "Requests") to
293	// unconditionally include in API requests. By default, fields with
294	// empty or default values are omitted from API requests. However, any
295	// non-pointer, non-interface field appearing in ForceSendFields will be
296	// sent to the server regardless of whether the field is empty or not.
297	// This may be used to include empty fields in Patch requests.
298	ForceSendFields []string `json:"-"`
299
300	// NullFields is a list of field names (e.g. "Requests") to include in
301	// API requests with the JSON null value. By default, fields with empty
302	// values are omitted from API requests. However, any field with an
303	// empty value appearing in NullFields will be sent to the server as
304	// null. It is an error if a field in this list has a non-empty value.
305	// This may be used to include null fields in Patch requests.
306	NullFields []string `json:"-"`
307}
308
309func (s *BatchUpdateDocumentRequest) MarshalJSON() ([]byte, error) {
310	type NoMethod BatchUpdateDocumentRequest
311	raw := NoMethod(*s)
312	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
313}
314
315// BatchUpdateDocumentResponse: Response message from a
316// BatchUpdateDocument request.
317type BatchUpdateDocumentResponse struct {
318	// DocumentId: The ID of the document to which the updates were applied
319	// to.
320	DocumentId string `json:"documentId,omitempty"`
321
322	// Replies: The reply of the updates. This maps 1:1 with the updates,
323	// although replies to some requests may be empty.
324	Replies []*Response `json:"replies,omitempty"`
325
326	// WriteControl: The updated write control after applying the request.
327	WriteControl *WriteControl `json:"writeControl,omitempty"`
328
329	// ServerResponse contains the HTTP response code and headers from the
330	// server.
331	googleapi.ServerResponse `json:"-"`
332
333	// ForceSendFields is a list of field names (e.g. "DocumentId") to
334	// unconditionally include in API requests. By default, fields with
335	// empty or default values are omitted from API requests. However, any
336	// non-pointer, non-interface field appearing in ForceSendFields will be
337	// sent to the server regardless of whether the field is empty or not.
338	// This may be used to include empty fields in Patch requests.
339	ForceSendFields []string `json:"-"`
340
341	// NullFields is a list of field names (e.g. "DocumentId") to include in
342	// API requests with the JSON null value. By default, fields with empty
343	// values are omitted from API requests. However, any field with an
344	// empty value appearing in NullFields will be sent to the server as
345	// null. It is an error if a field in this list has a non-empty value.
346	// This may be used to include null fields in Patch requests.
347	NullFields []string `json:"-"`
348}
349
350func (s *BatchUpdateDocumentResponse) MarshalJSON() ([]byte, error) {
351	type NoMethod BatchUpdateDocumentResponse
352	raw := NoMethod(*s)
353	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
354}
355
356// Body: The document body. The body typically contains the full
357// document contents except for headers, footers and footnotes.
358type Body struct {
359	// Content: The contents of the body. The indexes for the body's content
360	// begin at zero.
361	Content []*StructuralElement `json:"content,omitempty"`
362
363	// ForceSendFields is a list of field names (e.g. "Content") to
364	// unconditionally include in API requests. By default, fields with
365	// empty or default values are omitted from API requests. However, any
366	// non-pointer, non-interface field appearing in ForceSendFields will be
367	// sent to the server regardless of whether the field is empty or not.
368	// This may be used to include empty fields in Patch requests.
369	ForceSendFields []string `json:"-"`
370
371	// NullFields is a list of field names (e.g. "Content") to include in
372	// API requests with the JSON null value. By default, fields with empty
373	// values are omitted from API requests. However, any field with an
374	// empty value appearing in NullFields will be sent to the server as
375	// null. It is an error if a field in this list has a non-empty value.
376	// This may be used to include null fields in Patch requests.
377	NullFields []string `json:"-"`
378}
379
380func (s *Body) MarshalJSON() ([]byte, error) {
381	type NoMethod Body
382	raw := NoMethod(*s)
383	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
384}
385
386// Bullet: Describes the bullet of a paragraph.
387type Bullet struct {
388	// ListId: The ID of the list this paragraph belongs to.
389	ListId string `json:"listId,omitempty"`
390
391	// NestingLevel: The nesting level of this paragraph in the list.
392	NestingLevel int64 `json:"nestingLevel,omitempty"`
393
394	// TextStyle: The paragraph specific text style applied to this bullet.
395	TextStyle *TextStyle `json:"textStyle,omitempty"`
396
397	// ForceSendFields is a list of field names (e.g. "ListId") to
398	// unconditionally include in API requests. By default, fields with
399	// empty or default values are omitted from API requests. However, any
400	// non-pointer, non-interface field appearing in ForceSendFields will be
401	// sent to the server regardless of whether the field is empty or not.
402	// This may be used to include empty fields in Patch requests.
403	ForceSendFields []string `json:"-"`
404
405	// NullFields is a list of field names (e.g. "ListId") to include in API
406	// requests with the JSON null value. By default, fields with empty
407	// values are omitted from API requests. However, any field with an
408	// empty value appearing in NullFields will be sent to the server as
409	// null. It is an error if a field in this list has a non-empty value.
410	// This may be used to include null fields in Patch requests.
411	NullFields []string `json:"-"`
412}
413
414func (s *Bullet) MarshalJSON() ([]byte, error) {
415	type NoMethod Bullet
416	raw := NoMethod(*s)
417	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
418}
419
420// BulletSuggestionState: A mask that indicates which of the fields on
421// the base Bullet have been changed in this suggestion. For any field
422// set to true, there is a new suggested value.
423type BulletSuggestionState struct {
424	// ListIdSuggested: Indicates if there was a suggested change to the
425	// list_id.
426	ListIdSuggested bool `json:"listIdSuggested,omitempty"`
427
428	// NestingLevelSuggested: Indicates if there was a suggested change to
429	// the nesting_level.
430	NestingLevelSuggested bool `json:"nestingLevelSuggested,omitempty"`
431
432	// TextStyleSuggestionState: A mask that indicates which of the fields
433	// in text style have been changed in this suggestion.
434	TextStyleSuggestionState *TextStyleSuggestionState `json:"textStyleSuggestionState,omitempty"`
435
436	// ForceSendFields is a list of field names (e.g. "ListIdSuggested") to
437	// unconditionally include in API requests. By default, fields with
438	// empty or default values are omitted from API requests. However, any
439	// non-pointer, non-interface field appearing in ForceSendFields will be
440	// sent to the server regardless of whether the field is empty or not.
441	// This may be used to include empty fields in Patch requests.
442	ForceSendFields []string `json:"-"`
443
444	// NullFields is a list of field names (e.g. "ListIdSuggested") to
445	// include in API requests with the JSON null value. By default, fields
446	// with empty values are omitted from API requests. However, any field
447	// with an empty value appearing in NullFields will be sent to the
448	// server as null. It is an error if a field in this list has a
449	// non-empty value. This may be used to include null fields in Patch
450	// requests.
451	NullFields []string `json:"-"`
452}
453
454func (s *BulletSuggestionState) MarshalJSON() ([]byte, error) {
455	type NoMethod BulletSuggestionState
456	raw := NoMethod(*s)
457	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
458}
459
460// Color: A solid color.
461type Color struct {
462	// RgbColor: The RGB color value.
463	RgbColor *RgbColor `json:"rgbColor,omitempty"`
464
465	// ForceSendFields is a list of field names (e.g. "RgbColor") to
466	// unconditionally include in API requests. By default, fields with
467	// empty or default values are omitted from API requests. However, any
468	// non-pointer, non-interface field appearing in ForceSendFields will be
469	// sent to the server regardless of whether the field is empty or not.
470	// This may be used to include empty fields in Patch requests.
471	ForceSendFields []string `json:"-"`
472
473	// NullFields is a list of field names (e.g. "RgbColor") to include in
474	// API requests with the JSON null value. By default, fields with empty
475	// values are omitted from API requests. However, any field with an
476	// empty value appearing in NullFields will be sent to the server as
477	// null. It is an error if a field in this list has a non-empty value.
478	// This may be used to include null fields in Patch requests.
479	NullFields []string `json:"-"`
480}
481
482func (s *Color) MarshalJSON() ([]byte, error) {
483	type NoMethod Color
484	raw := NoMethod(*s)
485	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
486}
487
488// ColumnBreak: A ParagraphElement representing a column break. A column
489// break makes the subsequent text start at the top of the next column.
490type ColumnBreak struct {
491	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
492	// there are no suggested deletions of this content.
493	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
494
495	// SuggestedInsertionIds: The suggested insertion IDs. A ColumnBreak may
496	// have multiple insertion IDs if it is a nested suggested change. If
497	// empty, then this is not a suggested insertion.
498	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
499
500	// SuggestedTextStyleChanges: The suggested text style changes to this
501	// ColumnBreak, keyed by suggestion ID.
502	SuggestedTextStyleChanges map[string]SuggestedTextStyle `json:"suggestedTextStyleChanges,omitempty"`
503
504	// TextStyle: The text style of this ColumnBreak. Similar to text
505	// content, like text runs and footnote references, the text style of a
506	// column break can affect content layout as well as the styling of text
507	// inserted adjacent to it.
508	TextStyle *TextStyle `json:"textStyle,omitempty"`
509
510	// ForceSendFields is a list of field names (e.g.
511	// "SuggestedDeletionIds") to unconditionally include in API requests.
512	// By default, fields with empty or default values are omitted from API
513	// requests. However, any non-pointer, non-interface field appearing in
514	// ForceSendFields will be sent to the server regardless of whether the
515	// field is empty or not. This may be used to include empty fields in
516	// Patch requests.
517	ForceSendFields []string `json:"-"`
518
519	// NullFields is a list of field names (e.g. "SuggestedDeletionIds") to
520	// include in API requests with the JSON null value. By default, fields
521	// with empty values are omitted from API requests. However, any field
522	// with an empty value appearing in NullFields will be sent to the
523	// server as null. It is an error if a field in this list has a
524	// non-empty value. This may be used to include null fields in Patch
525	// requests.
526	NullFields []string `json:"-"`
527}
528
529func (s *ColumnBreak) MarshalJSON() ([]byte, error) {
530	type NoMethod ColumnBreak
531	raw := NoMethod(*s)
532	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
533}
534
535// CreateFooterRequest: Creates a Footer. The new footer is applied to
536// the SectionStyle at the location of the SectionBreak if specificed,
537// otherwise it is applied to the DocumentStyle. If a footer of the
538// specified type already exists, a 400 bad request error is returned.
539type CreateFooterRequest struct {
540	// SectionBreakLocation: The location of the SectionBreak immediately
541	// preceding the section whose SectionStyle this footer should belong
542	// to. If this is unset or refers to the first section break in the
543	// document, the footer applies to the document style.
544	SectionBreakLocation *Location `json:"sectionBreakLocation,omitempty"`
545
546	// Type: The type of footer to create.
547	//
548	// Possible values:
549	//   "HEADER_FOOTER_TYPE_UNSPECIFIED" - The header/footer type is
550	// unspecified.
551	//   "DEFAULT" - A default header/footer.
552	Type string `json:"type,omitempty"`
553
554	// ForceSendFields is a list of field names (e.g.
555	// "SectionBreakLocation") to unconditionally include in API requests.
556	// By default, fields with empty or default values are omitted from API
557	// requests. However, any non-pointer, non-interface field appearing in
558	// ForceSendFields will be sent to the server regardless of whether the
559	// field is empty or not. This may be used to include empty fields in
560	// Patch requests.
561	ForceSendFields []string `json:"-"`
562
563	// NullFields is a list of field names (e.g. "SectionBreakLocation") to
564	// include in API requests with the JSON null value. By default, fields
565	// with empty values are omitted from API requests. However, any field
566	// with an empty value appearing in NullFields will be sent to the
567	// server as null. It is an error if a field in this list has a
568	// non-empty value. This may be used to include null fields in Patch
569	// requests.
570	NullFields []string `json:"-"`
571}
572
573func (s *CreateFooterRequest) MarshalJSON() ([]byte, error) {
574	type NoMethod CreateFooterRequest
575	raw := NoMethod(*s)
576	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
577}
578
579// CreateFooterResponse: The result of creating a footer.
580type CreateFooterResponse struct {
581	// FooterId: The ID of the created footer.
582	FooterId string `json:"footerId,omitempty"`
583
584	// ForceSendFields is a list of field names (e.g. "FooterId") to
585	// unconditionally include in API requests. By default, fields with
586	// empty or default values are omitted from API requests. However, any
587	// non-pointer, non-interface field appearing in ForceSendFields will be
588	// sent to the server regardless of whether the field is empty or not.
589	// This may be used to include empty fields in Patch requests.
590	ForceSendFields []string `json:"-"`
591
592	// NullFields is a list of field names (e.g. "FooterId") to include in
593	// API requests with the JSON null value. By default, fields with empty
594	// values are omitted from API requests. However, any field with an
595	// empty value appearing in NullFields will be sent to the server as
596	// null. It is an error if a field in this list has a non-empty value.
597	// This may be used to include null fields in Patch requests.
598	NullFields []string `json:"-"`
599}
600
601func (s *CreateFooterResponse) MarshalJSON() ([]byte, error) {
602	type NoMethod CreateFooterResponse
603	raw := NoMethod(*s)
604	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
605}
606
607// CreateFootnoteRequest: Creates a Footnote segment and inserts a new
608// FootnoteReference to it at the given location. The new Footnote
609// segment will contain a space followed by a newline character.
610type CreateFootnoteRequest struct {
611	// EndOfSegmentLocation: Inserts the footnote reference at the end of
612	// the document body. Footnote references cannot be inserted inside a
613	// header, footer or footnote. Since footnote references can only be
614	// inserted in the body, the segment ID field must be empty.
615	EndOfSegmentLocation *EndOfSegmentLocation `json:"endOfSegmentLocation,omitempty"`
616
617	// Location: Inserts the footnote reference at a specific index in the
618	// document. The footnote reference must be inserted inside the bounds
619	// of an existing Paragraph. For instance, it cannot be inserted at a
620	// table's start index (i.e. between the table and its preceding
621	// paragraph). Footnote references cannot be inserted inside an
622	// equation, header, footer or footnote. Since footnote references can
623	// only be inserted in the body, the segment ID field must be empty.
624	Location *Location `json:"location,omitempty"`
625
626	// ForceSendFields is a list of field names (e.g.
627	// "EndOfSegmentLocation") to unconditionally include in API requests.
628	// By default, fields with empty or default values are omitted from API
629	// requests. However, any non-pointer, non-interface field appearing in
630	// ForceSendFields will be sent to the server regardless of whether the
631	// field is empty or not. This may be used to include empty fields in
632	// Patch requests.
633	ForceSendFields []string `json:"-"`
634
635	// NullFields is a list of field names (e.g. "EndOfSegmentLocation") to
636	// include in API requests with the JSON null value. By default, fields
637	// with empty values are omitted from API requests. However, any field
638	// with an empty value appearing in NullFields will be sent to the
639	// server as null. It is an error if a field in this list has a
640	// non-empty value. This may be used to include null fields in Patch
641	// requests.
642	NullFields []string `json:"-"`
643}
644
645func (s *CreateFootnoteRequest) MarshalJSON() ([]byte, error) {
646	type NoMethod CreateFootnoteRequest
647	raw := NoMethod(*s)
648	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
649}
650
651// CreateFootnoteResponse: The result of creating a footnote.
652type CreateFootnoteResponse struct {
653	// FootnoteId: The ID of the created footnote.
654	FootnoteId string `json:"footnoteId,omitempty"`
655
656	// ForceSendFields is a list of field names (e.g. "FootnoteId") to
657	// unconditionally include in API requests. By default, fields with
658	// empty or default values are omitted from API requests. However, any
659	// non-pointer, non-interface field appearing in ForceSendFields will be
660	// sent to the server regardless of whether the field is empty or not.
661	// This may be used to include empty fields in Patch requests.
662	ForceSendFields []string `json:"-"`
663
664	// NullFields is a list of field names (e.g. "FootnoteId") to include in
665	// API requests with the JSON null value. By default, fields with empty
666	// values are omitted from API requests. However, any field with an
667	// empty value appearing in NullFields will be sent to the server as
668	// null. It is an error if a field in this list has a non-empty value.
669	// This may be used to include null fields in Patch requests.
670	NullFields []string `json:"-"`
671}
672
673func (s *CreateFootnoteResponse) MarshalJSON() ([]byte, error) {
674	type NoMethod CreateFootnoteResponse
675	raw := NoMethod(*s)
676	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
677}
678
679// CreateHeaderRequest: Creates a Header. The new header is applied to
680// the SectionStyle at the location of the SectionBreak if specificed,
681// otherwise it is applied to the DocumentStyle. If a header of the
682// specified type already exists, a 400 bad request error is returned.
683type CreateHeaderRequest struct {
684	// SectionBreakLocation: The location of the SectionBreak which begins
685	// the section this header should belong to. If `section_break_location'
686	// is unset or if it refers to the first section break in the document
687	// body, the header applies to the DocumentStyle
688	SectionBreakLocation *Location `json:"sectionBreakLocation,omitempty"`
689
690	// Type: The type of header to create.
691	//
692	// Possible values:
693	//   "HEADER_FOOTER_TYPE_UNSPECIFIED" - The header/footer type is
694	// unspecified.
695	//   "DEFAULT" - A default header/footer.
696	Type string `json:"type,omitempty"`
697
698	// ForceSendFields is a list of field names (e.g.
699	// "SectionBreakLocation") to unconditionally include in API requests.
700	// By default, fields with empty or default values are omitted from API
701	// requests. However, any non-pointer, non-interface field appearing in
702	// ForceSendFields will be sent to the server regardless of whether the
703	// field is empty or not. This may be used to include empty fields in
704	// Patch requests.
705	ForceSendFields []string `json:"-"`
706
707	// NullFields is a list of field names (e.g. "SectionBreakLocation") to
708	// include in API requests with the JSON null value. By default, fields
709	// with empty values are omitted from API requests. However, any field
710	// with an empty value appearing in NullFields will be sent to the
711	// server as null. It is an error if a field in this list has a
712	// non-empty value. This may be used to include null fields in Patch
713	// requests.
714	NullFields []string `json:"-"`
715}
716
717func (s *CreateHeaderRequest) MarshalJSON() ([]byte, error) {
718	type NoMethod CreateHeaderRequest
719	raw := NoMethod(*s)
720	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
721}
722
723// CreateHeaderResponse: The result of creating a header.
724type CreateHeaderResponse struct {
725	// HeaderId: The ID of the created header.
726	HeaderId string `json:"headerId,omitempty"`
727
728	// ForceSendFields is a list of field names (e.g. "HeaderId") to
729	// unconditionally include in API requests. By default, fields with
730	// empty or default values are omitted from API requests. However, any
731	// non-pointer, non-interface field appearing in ForceSendFields will be
732	// sent to the server regardless of whether the field is empty or not.
733	// This may be used to include empty fields in Patch requests.
734	ForceSendFields []string `json:"-"`
735
736	// NullFields is a list of field names (e.g. "HeaderId") to include in
737	// API requests with the JSON null value. By default, fields with empty
738	// values are omitted from API requests. However, any field with an
739	// empty value appearing in NullFields will be sent to the server as
740	// null. It is an error if a field in this list has a non-empty value.
741	// This may be used to include null fields in Patch requests.
742	NullFields []string `json:"-"`
743}
744
745func (s *CreateHeaderResponse) MarshalJSON() ([]byte, error) {
746	type NoMethod CreateHeaderResponse
747	raw := NoMethod(*s)
748	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
749}
750
751// CreateNamedRangeRequest: Creates a NamedRange referencing the given
752// range.
753type CreateNamedRangeRequest struct {
754	// Name: The name of the NamedRange. Names do not need to be unique.
755	// Names must be at least 1 character and no more than 256 characters,
756	// measured in UTF-16 code units.
757	Name string `json:"name,omitempty"`
758
759	// Range: The range to apply the name to.
760	Range *Range `json:"range,omitempty"`
761
762	// ForceSendFields is a list of field names (e.g. "Name") to
763	// unconditionally include in API requests. By default, fields with
764	// empty or default values are omitted from API requests. However, any
765	// non-pointer, non-interface field appearing in ForceSendFields will be
766	// sent to the server regardless of whether the field is empty or not.
767	// This may be used to include empty fields in Patch requests.
768	ForceSendFields []string `json:"-"`
769
770	// NullFields is a list of field names (e.g. "Name") to include in API
771	// requests with the JSON null value. By default, fields with empty
772	// values are omitted from API requests. However, any field with an
773	// empty value appearing in NullFields will be sent to the server as
774	// null. It is an error if a field in this list has a non-empty value.
775	// This may be used to include null fields in Patch requests.
776	NullFields []string `json:"-"`
777}
778
779func (s *CreateNamedRangeRequest) MarshalJSON() ([]byte, error) {
780	type NoMethod CreateNamedRangeRequest
781	raw := NoMethod(*s)
782	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
783}
784
785// CreateNamedRangeResponse: The result of creating a named range.
786type CreateNamedRangeResponse struct {
787	// NamedRangeId: The ID of the created named range.
788	NamedRangeId string `json:"namedRangeId,omitempty"`
789
790	// ForceSendFields is a list of field names (e.g. "NamedRangeId") to
791	// unconditionally include in API requests. By default, fields with
792	// empty or default values are omitted from API requests. However, any
793	// non-pointer, non-interface field appearing in ForceSendFields will be
794	// sent to the server regardless of whether the field is empty or not.
795	// This may be used to include empty fields in Patch requests.
796	ForceSendFields []string `json:"-"`
797
798	// NullFields is a list of field names (e.g. "NamedRangeId") to include
799	// in API requests with the JSON null value. By default, fields with
800	// empty values are omitted from API requests. However, any field with
801	// an empty value appearing in NullFields will be sent to the server as
802	// null. It is an error if a field in this list has a non-empty value.
803	// This may be used to include null fields in Patch requests.
804	NullFields []string `json:"-"`
805}
806
807func (s *CreateNamedRangeResponse) MarshalJSON() ([]byte, error) {
808	type NoMethod CreateNamedRangeResponse
809	raw := NoMethod(*s)
810	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
811}
812
813// CreateParagraphBulletsRequest: Creates bullets for all of the
814// paragraphs that overlap with the given range. The nesting level of
815// each paragraph will be determined by counting leading tabs in front
816// of each paragraph. To avoid excess space between the bullet and the
817// corresponding paragraph, these leading tabs are removed by this
818// request. This may change the indices of parts of the text. If the
819// paragraph immediately before paragraphs being updated is in a list
820// with a matching preset, the paragraphs being updated are added to
821// that preceding list.
822type CreateParagraphBulletsRequest struct {
823	// BulletPreset: The kinds of bullet glyphs to be used.
824	//
825	// Possible values:
826	//   "BULLET_GLYPH_PRESET_UNSPECIFIED" - The bullet glyph preset is
827	// unspecified.
828	//   "BULLET_DISC_CIRCLE_SQUARE" - A bulleted list with a `DISC`,
829	// `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting
830	// levels.
831	//   "BULLET_DIAMONDX_ARROW3D_SQUARE" - A bulleted list with a
832	// `DIAMONDX`, `ARROW3D` and `SQUARE` bullet glyph for the first 3 list
833	// nesting levels.
834	//   "BULLET_CHECKBOX" - A bulleted list with `CHECKBOX` bullet glyphs
835	// for all list nesting levels.
836	//   "BULLET_ARROW_DIAMOND_DISC" - A bulleted list with a `ARROW`,
837	// `DIAMOND` and `DISC` bullet glyph for the first 3 list nesting
838	// levels.
839	//   "BULLET_STAR_CIRCLE_SQUARE" - A bulleted list with a `STAR`,
840	// `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting
841	// levels.
842	//   "BULLET_ARROW3D_CIRCLE_SQUARE" - A bulleted list with a `ARROW3D`,
843	// `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting
844	// levels.
845	//   "BULLET_LEFTTRIANGLE_DIAMOND_DISC" - A bulleted list with a
846	// `LEFTTRIANGLE`, `DIAMOND` and `DISC` bullet glyph for the first 3
847	// list nesting levels.
848	//   "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE" - A bulleted list with a
849	// `DIAMONDX`, `HOLLOWDIAMOND` and `SQUARE` bullet glyph for the first 3
850	// list nesting levels.
851	//   "BULLET_DIAMOND_CIRCLE_SQUARE" - A bulleted list with a `DIAMOND`,
852	// `CIRCLE` and `SQUARE` bullet glyph for the first 3 list nesting
853	// levels.
854	//   "NUMBERED_DECIMAL_ALPHA_ROMAN" - A numbered list with `DECIMAL`,
855	// `ALPHA` and `ROMAN` numeric glyphs for the first 3 list nesting
856	// levels, followed by periods.
857	//   "NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS" - A numbered list with
858	// `DECIMAL`, `ALPHA` and `ROMAN` numeric glyphs for the first 3 list
859	// nesting levels, followed by parenthesis.
860	//   "NUMBERED_DECIMAL_NESTED" - A numbered list with `DECIMAL` numeric
861	// glyphs separated by periods, where each nesting level uses the
862	// previous nesting level's glyph as a prefix. For example: '1.',
863	// '1.1.', '2.', '2.2.'.
864	//   "NUMBERED_UPPERALPHA_ALPHA_ROMAN" - A numbered list with
865	// `UPPERALPHA`, `ALPHA` and `ROMAN` numeric glyphs for the first 3 list
866	// nesting levels, followed by periods.
867	//   "NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL" - A numbered list with
868	// `UPPERROMAN`, `UPPERALPHA` and `DECIMAL` numeric glyphs for the first
869	// 3 list nesting levels, followed by periods.
870	//   "NUMBERED_ZERODECIMAL_ALPHA_ROMAN" - A numbered list with
871	// `ZERODECIMAL`, `ALPHA` and `ROMAN` numeric glyphs for the first 3
872	// list nesting levels, followed by periods.
873	BulletPreset string `json:"bulletPreset,omitempty"`
874
875	// Range: The range to apply the bullet preset to.
876	Range *Range `json:"range,omitempty"`
877
878	// ForceSendFields is a list of field names (e.g. "BulletPreset") to
879	// unconditionally include in API requests. By default, fields with
880	// empty or default values are omitted from API requests. However, any
881	// non-pointer, non-interface field appearing in ForceSendFields will be
882	// sent to the server regardless of whether the field is empty or not.
883	// This may be used to include empty fields in Patch requests.
884	ForceSendFields []string `json:"-"`
885
886	// NullFields is a list of field names (e.g. "BulletPreset") to include
887	// in API requests with the JSON null value. By default, fields with
888	// empty values are omitted from API requests. However, any field with
889	// an empty value appearing in NullFields will be sent to the server as
890	// null. It is an error if a field in this list has a non-empty value.
891	// This may be used to include null fields in Patch requests.
892	NullFields []string `json:"-"`
893}
894
895func (s *CreateParagraphBulletsRequest) MarshalJSON() ([]byte, error) {
896	type NoMethod CreateParagraphBulletsRequest
897	raw := NoMethod(*s)
898	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
899}
900
901// CropProperties: The crop properties of an image. The crop rectangle
902// is represented using fractional offsets from the original content's
903// four edges. - If the offset is in the interval (0, 1), the
904// corresponding edge of crop rectangle is positioned inside of the
905// image's original bounding rectangle. - If the offset is negative or
906// greater than 1, the corresponding edge of crop rectangle is
907// positioned outside of the image's original bounding rectangle. - If
908// all offsets and rotation angle are 0, the image is not cropped.
909type CropProperties struct {
910	// Angle: The clockwise rotation angle of the crop rectangle around its
911	// center, in radians. Rotation is applied after the offsets.
912	Angle float64 `json:"angle,omitempty"`
913
914	// OffsetBottom: The offset specifies how far inwards the bottom edge of
915	// the crop rectangle is from the bottom edge of the original content as
916	// a fraction of the original content's height.
917	OffsetBottom float64 `json:"offsetBottom,omitempty"`
918
919	// OffsetLeft: The offset specifies how far inwards the left edge of the
920	// crop rectangle is from the left edge of the original content as a
921	// fraction of the original content's width.
922	OffsetLeft float64 `json:"offsetLeft,omitempty"`
923
924	// OffsetRight: The offset specifies how far inwards the right edge of
925	// the crop rectangle is from the right edge of the original content as
926	// a fraction of the original content's width.
927	OffsetRight float64 `json:"offsetRight,omitempty"`
928
929	// OffsetTop: The offset specifies how far inwards the top edge of the
930	// crop rectangle is from the top edge of the original content as a
931	// fraction of the original content's height.
932	OffsetTop float64 `json:"offsetTop,omitempty"`
933
934	// ForceSendFields is a list of field names (e.g. "Angle") to
935	// unconditionally include in API requests. By default, fields with
936	// empty or default values are omitted from API requests. However, any
937	// non-pointer, non-interface field appearing in ForceSendFields will be
938	// sent to the server regardless of whether the field is empty or not.
939	// This may be used to include empty fields in Patch requests.
940	ForceSendFields []string `json:"-"`
941
942	// NullFields is a list of field names (e.g. "Angle") to include in API
943	// requests with the JSON null value. By default, fields with empty
944	// values are omitted from API requests. However, any field with an
945	// empty value appearing in NullFields will be sent to the server as
946	// null. It is an error if a field in this list has a non-empty value.
947	// This may be used to include null fields in Patch requests.
948	NullFields []string `json:"-"`
949}
950
951func (s *CropProperties) MarshalJSON() ([]byte, error) {
952	type NoMethod CropProperties
953	raw := NoMethod(*s)
954	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
955}
956
957func (s *CropProperties) UnmarshalJSON(data []byte) error {
958	type NoMethod CropProperties
959	var s1 struct {
960		Angle        gensupport.JSONFloat64 `json:"angle"`
961		OffsetBottom gensupport.JSONFloat64 `json:"offsetBottom"`
962		OffsetLeft   gensupport.JSONFloat64 `json:"offsetLeft"`
963		OffsetRight  gensupport.JSONFloat64 `json:"offsetRight"`
964		OffsetTop    gensupport.JSONFloat64 `json:"offsetTop"`
965		*NoMethod
966	}
967	s1.NoMethod = (*NoMethod)(s)
968	if err := json.Unmarshal(data, &s1); err != nil {
969		return err
970	}
971	s.Angle = float64(s1.Angle)
972	s.OffsetBottom = float64(s1.OffsetBottom)
973	s.OffsetLeft = float64(s1.OffsetLeft)
974	s.OffsetRight = float64(s1.OffsetRight)
975	s.OffsetTop = float64(s1.OffsetTop)
976	return nil
977}
978
979// CropPropertiesSuggestionState: A mask that indicates which of the
980// fields on the base CropProperties have been changed in this
981// suggestion. For any field set to true, there is a new suggested
982// value.
983type CropPropertiesSuggestionState struct {
984	// AngleSuggested: Indicates if there was a suggested change to angle.
985	AngleSuggested bool `json:"angleSuggested,omitempty"`
986
987	// OffsetBottomSuggested: Indicates if there was a suggested change to
988	// offset_bottom.
989	OffsetBottomSuggested bool `json:"offsetBottomSuggested,omitempty"`
990
991	// OffsetLeftSuggested: Indicates if there was a suggested change to
992	// offset_left.
993	OffsetLeftSuggested bool `json:"offsetLeftSuggested,omitempty"`
994
995	// OffsetRightSuggested: Indicates if there was a suggested change to
996	// offset_right.
997	OffsetRightSuggested bool `json:"offsetRightSuggested,omitempty"`
998
999	// OffsetTopSuggested: Indicates if there was a suggested change to
1000	// offset_top.
1001	OffsetTopSuggested bool `json:"offsetTopSuggested,omitempty"`
1002
1003	// ForceSendFields is a list of field names (e.g. "AngleSuggested") to
1004	// unconditionally include in API requests. By default, fields with
1005	// empty or default values are omitted from API requests. However, any
1006	// non-pointer, non-interface field appearing in ForceSendFields will be
1007	// sent to the server regardless of whether the field is empty or not.
1008	// This may be used to include empty fields in Patch requests.
1009	ForceSendFields []string `json:"-"`
1010
1011	// NullFields is a list of field names (e.g. "AngleSuggested") to
1012	// include in API requests with the JSON null value. By default, fields
1013	// with empty values are omitted from API requests. However, any field
1014	// with an empty value appearing in NullFields will be sent to the
1015	// server as null. It is an error if a field in this list has a
1016	// non-empty value. This may be used to include null fields in Patch
1017	// requests.
1018	NullFields []string `json:"-"`
1019}
1020
1021func (s *CropPropertiesSuggestionState) MarshalJSON() ([]byte, error) {
1022	type NoMethod CropPropertiesSuggestionState
1023	raw := NoMethod(*s)
1024	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1025}
1026
1027// DeleteContentRangeRequest: Deletes content from the document.
1028type DeleteContentRangeRequest struct {
1029	// Range: The range of content to delete. Deleting text that crosses a
1030	// paragraph boundary may result in changes to paragraph styles, lists,
1031	// positioned objects and bookmarks as the two paragraphs are merged.
1032	// Attempting to delete certain ranges can result in an invalid document
1033	// structure in which case a 400 bad request error is returned. Some
1034	// examples of invalid delete requests include: * Deleting one code unit
1035	// of a surrogate pair. * Deleting the last newline character of a Body,
1036	// Header, Footer, Footnote, TableCell or TableOfContents. * Deleting
1037	// the start or end of a Table, TableOfContents or Equation without
1038	// deleting the entire element. * Deleting the newline character before
1039	// a Table, TableOfContents or SectionBreak without deleting the
1040	// element. * Deleting individual rows or cells of a table. Deleting the
1041	// content within a table cell is allowed.
1042	Range *Range `json:"range,omitempty"`
1043
1044	// ForceSendFields is a list of field names (e.g. "Range") to
1045	// unconditionally include in API requests. By default, fields with
1046	// empty or default values are omitted from API requests. However, any
1047	// non-pointer, non-interface field appearing in ForceSendFields will be
1048	// sent to the server regardless of whether the field is empty or not.
1049	// This may be used to include empty fields in Patch requests.
1050	ForceSendFields []string `json:"-"`
1051
1052	// NullFields is a list of field names (e.g. "Range") to include in API
1053	// requests with the JSON null value. By default, fields with empty
1054	// values are omitted from API requests. However, any field with an
1055	// empty value appearing in NullFields will be sent to the server as
1056	// null. It is an error if a field in this list has a non-empty value.
1057	// This may be used to include null fields in Patch requests.
1058	NullFields []string `json:"-"`
1059}
1060
1061func (s *DeleteContentRangeRequest) MarshalJSON() ([]byte, error) {
1062	type NoMethod DeleteContentRangeRequest
1063	raw := NoMethod(*s)
1064	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1065}
1066
1067// DeleteFooterRequest: Deletes a Footer from the document.
1068type DeleteFooterRequest struct {
1069	// FooterId: The id of the footer to delete. If this footer is defined
1070	// on DocumentStyle, the reference to this footer is removed, resulting
1071	// in no footer of that type for the first section of the document. If
1072	// this footer is defined on a SectionStyle, the reference to this
1073	// footer is removed and the footer of that type is now continued from
1074	// the previous section.
1075	FooterId string `json:"footerId,omitempty"`
1076
1077	// ForceSendFields is a list of field names (e.g. "FooterId") to
1078	// unconditionally include in API requests. By default, fields with
1079	// empty or default values are omitted from API requests. However, any
1080	// non-pointer, non-interface field appearing in ForceSendFields will be
1081	// sent to the server regardless of whether the field is empty or not.
1082	// This may be used to include empty fields in Patch requests.
1083	ForceSendFields []string `json:"-"`
1084
1085	// NullFields is a list of field names (e.g. "FooterId") to include in
1086	// API requests with the JSON null value. By default, fields with empty
1087	// values are omitted from API requests. However, any field with an
1088	// empty value appearing in NullFields will be sent to the server as
1089	// null. It is an error if a field in this list has a non-empty value.
1090	// This may be used to include null fields in Patch requests.
1091	NullFields []string `json:"-"`
1092}
1093
1094func (s *DeleteFooterRequest) MarshalJSON() ([]byte, error) {
1095	type NoMethod DeleteFooterRequest
1096	raw := NoMethod(*s)
1097	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1098}
1099
1100// DeleteHeaderRequest: Deletes a Header from the document.
1101type DeleteHeaderRequest struct {
1102	// HeaderId: The id of the header to delete. If this header is defined
1103	// on DocumentStyle, the reference to this header is removed, resulting
1104	// in no header of that type for the first section of the document. If
1105	// this header is defined on a SectionStyle, the reference to this
1106	// header is removed and the header of that type is now continued from
1107	// the previous section.
1108	HeaderId string `json:"headerId,omitempty"`
1109
1110	// ForceSendFields is a list of field names (e.g. "HeaderId") to
1111	// unconditionally include in API requests. By default, fields with
1112	// empty or default values are omitted from API requests. However, any
1113	// non-pointer, non-interface field appearing in ForceSendFields will be
1114	// sent to the server regardless of whether the field is empty or not.
1115	// This may be used to include empty fields in Patch requests.
1116	ForceSendFields []string `json:"-"`
1117
1118	// NullFields is a list of field names (e.g. "HeaderId") to include in
1119	// API requests with the JSON null value. By default, fields with empty
1120	// values are omitted from API requests. However, any field with an
1121	// empty value appearing in NullFields will be sent to the server as
1122	// null. It is an error if a field in this list has a non-empty value.
1123	// This may be used to include null fields in Patch requests.
1124	NullFields []string `json:"-"`
1125}
1126
1127func (s *DeleteHeaderRequest) MarshalJSON() ([]byte, error) {
1128	type NoMethod DeleteHeaderRequest
1129	raw := NoMethod(*s)
1130	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1131}
1132
1133// DeleteNamedRangeRequest: Deletes a NamedRange.
1134type DeleteNamedRangeRequest struct {
1135	// Name: The name of the range(s) to delete. All named ranges with the
1136	// given name will be deleted.
1137	Name string `json:"name,omitempty"`
1138
1139	// NamedRangeId: The ID of the named range to delete.
1140	NamedRangeId string `json:"namedRangeId,omitempty"`
1141
1142	// ForceSendFields is a list of field names (e.g. "Name") to
1143	// unconditionally include in API requests. By default, fields with
1144	// empty or default values are omitted from API requests. However, any
1145	// non-pointer, non-interface field appearing in ForceSendFields will be
1146	// sent to the server regardless of whether the field is empty or not.
1147	// This may be used to include empty fields in Patch requests.
1148	ForceSendFields []string `json:"-"`
1149
1150	// NullFields is a list of field names (e.g. "Name") to include in API
1151	// requests with the JSON null value. By default, fields with empty
1152	// values are omitted from API requests. However, any field with an
1153	// empty value appearing in NullFields will be sent to the server as
1154	// null. It is an error if a field in this list has a non-empty value.
1155	// This may be used to include null fields in Patch requests.
1156	NullFields []string `json:"-"`
1157}
1158
1159func (s *DeleteNamedRangeRequest) MarshalJSON() ([]byte, error) {
1160	type NoMethod DeleteNamedRangeRequest
1161	raw := NoMethod(*s)
1162	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1163}
1164
1165// DeleteParagraphBulletsRequest: Deletes bullets from all of the
1166// paragraphs that overlap with the given range. The nesting level of
1167// each paragraph will be visually preserved by adding indent to the
1168// start of the corresponding paragraph.
1169type DeleteParagraphBulletsRequest struct {
1170	// Range: The range to delete bullets from.
1171	Range *Range `json:"range,omitempty"`
1172
1173	// ForceSendFields is a list of field names (e.g. "Range") to
1174	// unconditionally include in API requests. By default, fields with
1175	// empty or default values are omitted from API requests. However, any
1176	// non-pointer, non-interface field appearing in ForceSendFields will be
1177	// sent to the server regardless of whether the field is empty or not.
1178	// This may be used to include empty fields in Patch requests.
1179	ForceSendFields []string `json:"-"`
1180
1181	// NullFields is a list of field names (e.g. "Range") to include in API
1182	// requests with the JSON null value. By default, fields with empty
1183	// values are omitted from API requests. However, any field with an
1184	// empty value appearing in NullFields will be sent to the server as
1185	// null. It is an error if a field in this list has a non-empty value.
1186	// This may be used to include null fields in Patch requests.
1187	NullFields []string `json:"-"`
1188}
1189
1190func (s *DeleteParagraphBulletsRequest) MarshalJSON() ([]byte, error) {
1191	type NoMethod DeleteParagraphBulletsRequest
1192	raw := NoMethod(*s)
1193	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1194}
1195
1196// DeletePositionedObjectRequest: Deletes a PositionedObject from the
1197// document.
1198type DeletePositionedObjectRequest struct {
1199	// ObjectId: The ID of the positioned object to delete.
1200	ObjectId string `json:"objectId,omitempty"`
1201
1202	// ForceSendFields is a list of field names (e.g. "ObjectId") to
1203	// unconditionally include in API requests. By default, fields with
1204	// empty or default values are omitted from API requests. However, any
1205	// non-pointer, non-interface field appearing in ForceSendFields will be
1206	// sent to the server regardless of whether the field is empty or not.
1207	// This may be used to include empty fields in Patch requests.
1208	ForceSendFields []string `json:"-"`
1209
1210	// NullFields is a list of field names (e.g. "ObjectId") to include in
1211	// API requests with the JSON null value. By default, fields with empty
1212	// values are omitted from API requests. However, any field with an
1213	// empty value appearing in NullFields will be sent to the server as
1214	// null. It is an error if a field in this list has a non-empty value.
1215	// This may be used to include null fields in Patch requests.
1216	NullFields []string `json:"-"`
1217}
1218
1219func (s *DeletePositionedObjectRequest) MarshalJSON() ([]byte, error) {
1220	type NoMethod DeletePositionedObjectRequest
1221	raw := NoMethod(*s)
1222	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1223}
1224
1225// DeleteTableColumnRequest: Deletes a column from a table.
1226type DeleteTableColumnRequest struct {
1227	// TableCellLocation: The reference table cell location from which the
1228	// column will be deleted. The column this cell spans will be deleted.
1229	// If this is a merged cell that spans multiple columns, all columns
1230	// that the cell spans will be deleted. If no columns remain in the
1231	// table after this deletion, the whole table is deleted.
1232	TableCellLocation *TableCellLocation `json:"tableCellLocation,omitempty"`
1233
1234	// ForceSendFields is a list of field names (e.g. "TableCellLocation")
1235	// to unconditionally include in API requests. By default, fields with
1236	// empty or default values are omitted from API requests. However, any
1237	// non-pointer, non-interface field appearing in ForceSendFields will be
1238	// sent to the server regardless of whether the field is empty or not.
1239	// This may be used to include empty fields in Patch requests.
1240	ForceSendFields []string `json:"-"`
1241
1242	// NullFields is a list of field names (e.g. "TableCellLocation") to
1243	// include in API requests with the JSON null value. By default, fields
1244	// with empty values are omitted from API requests. However, any field
1245	// with an empty value appearing in NullFields will be sent to the
1246	// server as null. It is an error if a field in this list has a
1247	// non-empty value. This may be used to include null fields in Patch
1248	// requests.
1249	NullFields []string `json:"-"`
1250}
1251
1252func (s *DeleteTableColumnRequest) MarshalJSON() ([]byte, error) {
1253	type NoMethod DeleteTableColumnRequest
1254	raw := NoMethod(*s)
1255	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1256}
1257
1258// DeleteTableRowRequest: Deletes a row from a table.
1259type DeleteTableRowRequest struct {
1260	// TableCellLocation: The reference table cell location from which the
1261	// row will be deleted. The row this cell spans will be deleted. If this
1262	// is a merged cell that spans multiple rows, all rows that the cell
1263	// spans will be deleted. If no rows remain in the table after this
1264	// deletion, the whole table is deleted.
1265	TableCellLocation *TableCellLocation `json:"tableCellLocation,omitempty"`
1266
1267	// ForceSendFields is a list of field names (e.g. "TableCellLocation")
1268	// to unconditionally include in API requests. By default, fields with
1269	// empty or default values are omitted from API requests. However, any
1270	// non-pointer, non-interface field appearing in ForceSendFields will be
1271	// sent to the server regardless of whether the field is empty or not.
1272	// This may be used to include empty fields in Patch requests.
1273	ForceSendFields []string `json:"-"`
1274
1275	// NullFields is a list of field names (e.g. "TableCellLocation") to
1276	// include in API requests with the JSON null value. By default, fields
1277	// with empty values are omitted from API requests. However, any field
1278	// with an empty value appearing in NullFields will be sent to the
1279	// server as null. It is an error if a field in this list has a
1280	// non-empty value. This may be used to include null fields in Patch
1281	// requests.
1282	NullFields []string `json:"-"`
1283}
1284
1285func (s *DeleteTableRowRequest) MarshalJSON() ([]byte, error) {
1286	type NoMethod DeleteTableRowRequest
1287	raw := NoMethod(*s)
1288	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1289}
1290
1291// Dimension: A magnitude in a single direction in the specified units.
1292type Dimension struct {
1293	// Magnitude: The magnitude.
1294	Magnitude float64 `json:"magnitude,omitempty"`
1295
1296	// Unit: The units for magnitude.
1297	//
1298	// Possible values:
1299	//   "UNIT_UNSPECIFIED" - The units are unknown.
1300	//   "PT" - A point, 1/72 of an inch.
1301	Unit string `json:"unit,omitempty"`
1302
1303	// ForceSendFields is a list of field names (e.g. "Magnitude") to
1304	// unconditionally include in API requests. By default, fields with
1305	// empty or default values are omitted from API requests. However, any
1306	// non-pointer, non-interface field appearing in ForceSendFields will be
1307	// sent to the server regardless of whether the field is empty or not.
1308	// This may be used to include empty fields in Patch requests.
1309	ForceSendFields []string `json:"-"`
1310
1311	// NullFields is a list of field names (e.g. "Magnitude") to include in
1312	// API requests with the JSON null value. By default, fields with empty
1313	// values are omitted from API requests. However, any field with an
1314	// empty value appearing in NullFields will be sent to the server as
1315	// null. It is an error if a field in this list has a non-empty value.
1316	// This may be used to include null fields in Patch requests.
1317	NullFields []string `json:"-"`
1318}
1319
1320func (s *Dimension) MarshalJSON() ([]byte, error) {
1321	type NoMethod Dimension
1322	raw := NoMethod(*s)
1323	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1324}
1325
1326func (s *Dimension) UnmarshalJSON(data []byte) error {
1327	type NoMethod Dimension
1328	var s1 struct {
1329		Magnitude gensupport.JSONFloat64 `json:"magnitude"`
1330		*NoMethod
1331	}
1332	s1.NoMethod = (*NoMethod)(s)
1333	if err := json.Unmarshal(data, &s1); err != nil {
1334		return err
1335	}
1336	s.Magnitude = float64(s1.Magnitude)
1337	return nil
1338}
1339
1340// Document: A Google Docs document.
1341type Document struct {
1342	// Body: Output only. The main body of the document.
1343	Body *Body `json:"body,omitempty"`
1344
1345	// DocumentId: Output only. The ID of the document.
1346	DocumentId string `json:"documentId,omitempty"`
1347
1348	// DocumentStyle: Output only. The style of the document.
1349	DocumentStyle *DocumentStyle `json:"documentStyle,omitempty"`
1350
1351	// Footers: Output only. The footers in the document, keyed by footer
1352	// ID.
1353	Footers map[string]Footer `json:"footers,omitempty"`
1354
1355	// Footnotes: Output only. The footnotes in the document, keyed by
1356	// footnote ID.
1357	Footnotes map[string]Footnote `json:"footnotes,omitempty"`
1358
1359	// Headers: Output only. The headers in the document, keyed by header
1360	// ID.
1361	Headers map[string]Header `json:"headers,omitempty"`
1362
1363	// InlineObjects: Output only. The inline objects in the document, keyed
1364	// by object ID.
1365	InlineObjects map[string]InlineObject `json:"inlineObjects,omitempty"`
1366
1367	// Lists: Output only. The lists in the document, keyed by list ID.
1368	Lists map[string]List `json:"lists,omitempty"`
1369
1370	// NamedRanges: Output only. The named ranges in the document, keyed by
1371	// name.
1372	NamedRanges map[string]NamedRanges `json:"namedRanges,omitempty"`
1373
1374	// NamedStyles: Output only. The named styles of the document.
1375	NamedStyles *NamedStyles `json:"namedStyles,omitempty"`
1376
1377	// PositionedObjects: Output only. The positioned objects in the
1378	// document, keyed by object ID.
1379	PositionedObjects map[string]PositionedObject `json:"positionedObjects,omitempty"`
1380
1381	// RevisionId: Output only. The revision ID of the document. Can be used
1382	// in update requests to specify which revision of a document to apply
1383	// updates to and how the request should behave if the document has been
1384	// edited since that revision. Only populated if the user has edit
1385	// access to the document. The format of the revision ID may change over
1386	// time, so it should be treated opaquely. A returned revision ID is
1387	// only guaranteed to be valid for 24 hours after it has been returned
1388	// and cannot be shared across users. If the revision ID is unchanged
1389	// between calls, then the document has not changed. Conversely, a
1390	// changed ID (for the same document and user) usually means the
1391	// document has been updated; however, a changed ID can also be due to
1392	// internal factors such as ID format changes.
1393	RevisionId string `json:"revisionId,omitempty"`
1394
1395	// SuggestedDocumentStyleChanges: Output only. The suggested changes to
1396	// the style of the document, keyed by suggestion ID.
1397	SuggestedDocumentStyleChanges map[string]SuggestedDocumentStyle `json:"suggestedDocumentStyleChanges,omitempty"`
1398
1399	// SuggestedNamedStylesChanges: Output only. The suggested changes to
1400	// the named styles of the document, keyed by suggestion ID.
1401	SuggestedNamedStylesChanges map[string]SuggestedNamedStyles `json:"suggestedNamedStylesChanges,omitempty"`
1402
1403	// SuggestionsViewMode: Output only. The suggestions view mode applied
1404	// to the document. Note: When editing a document, changes must be based
1405	// on a document with SUGGESTIONS_INLINE.
1406	//
1407	// Possible values:
1408	//   "DEFAULT_FOR_CURRENT_ACCESS" - The SuggestionsViewMode applied to
1409	// the returned document depends on the user's current access level. If
1410	// the user only has view access, PREVIEW_WITHOUT_SUGGESTIONS is
1411	// applied. Otherwise, SUGGESTIONS_INLINE is applied. This is the
1412	// default suggestions view mode.
1413	//   "SUGGESTIONS_INLINE" - The returned document has suggestions
1414	// inline. Suggested changes will be differentiated from base content
1415	// within the document. Requests to retrieve a document using this mode
1416	// will return a 403 error if the user does not have permission to view
1417	// suggested changes.
1418	//   "PREVIEW_SUGGESTIONS_ACCEPTED" - The returned document is a preview
1419	// with all suggested changes accepted. Requests to retrieve a document
1420	// using this mode will return a 403 error if the user does not have
1421	// permission to view suggested changes.
1422	//   "PREVIEW_WITHOUT_SUGGESTIONS" - The returned document is a preview
1423	// with all suggested changes rejected if there are any suggestions in
1424	// the document.
1425	SuggestionsViewMode string `json:"suggestionsViewMode,omitempty"`
1426
1427	// Title: The title of the document.
1428	Title string `json:"title,omitempty"`
1429
1430	// ServerResponse contains the HTTP response code and headers from the
1431	// server.
1432	googleapi.ServerResponse `json:"-"`
1433
1434	// ForceSendFields is a list of field names (e.g. "Body") to
1435	// unconditionally include in API requests. By default, fields with
1436	// empty or default values are omitted from API requests. However, any
1437	// non-pointer, non-interface field appearing in ForceSendFields will be
1438	// sent to the server regardless of whether the field is empty or not.
1439	// This may be used to include empty fields in Patch requests.
1440	ForceSendFields []string `json:"-"`
1441
1442	// NullFields is a list of field names (e.g. "Body") to include in API
1443	// requests with the JSON null value. By default, fields with empty
1444	// values are omitted from API requests. However, any field with an
1445	// empty value appearing in NullFields will be sent to the server as
1446	// null. It is an error if a field in this list has a non-empty value.
1447	// This may be used to include null fields in Patch requests.
1448	NullFields []string `json:"-"`
1449}
1450
1451func (s *Document) MarshalJSON() ([]byte, error) {
1452	type NoMethod Document
1453	raw := NoMethod(*s)
1454	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1455}
1456
1457// DocumentStyle: The style of the document.
1458type DocumentStyle struct {
1459	// Background: The background of the document. Documents cannot have a
1460	// transparent background color.
1461	Background *Background `json:"background,omitempty"`
1462
1463	// DefaultFooterId: The ID of the default footer. If not set, there is
1464	// no default footer. This property is read-only.
1465	DefaultFooterId string `json:"defaultFooterId,omitempty"`
1466
1467	// DefaultHeaderId: The ID of the default header. If not set, there is
1468	// no default header. This property is read-only.
1469	DefaultHeaderId string `json:"defaultHeaderId,omitempty"`
1470
1471	// EvenPageFooterId: The ID of the footer used only for even pages. The
1472	// value of use_even_page_header_footer determines whether to use the
1473	// default_footer_id or this value for the footer on even pages. If not
1474	// set, there is no even page footer. This property is read-only.
1475	EvenPageFooterId string `json:"evenPageFooterId,omitempty"`
1476
1477	// EvenPageHeaderId: The ID of the header used only for even pages. The
1478	// value of use_even_page_header_footer determines whether to use the
1479	// default_header_id or this value for the header on even pages. If not
1480	// set, there is no even page header. This property is read-only.
1481	EvenPageHeaderId string `json:"evenPageHeaderId,omitempty"`
1482
1483	// FirstPageFooterId: The ID of the footer used only for the first page.
1484	// If not set then a unique footer for the first page does not exist.
1485	// The value of use_first_page_header_footer determines whether to use
1486	// the default_footer_id or this value for the footer on the first page.
1487	// If not set, there is no first page footer. This property is
1488	// read-only.
1489	FirstPageFooterId string `json:"firstPageFooterId,omitempty"`
1490
1491	// FirstPageHeaderId: The ID of the header used only for the first page.
1492	// If not set then a unique header for the first page does not exist.
1493	// The value of use_first_page_header_footer determines whether to use
1494	// the default_header_id or this value for the header on the first page.
1495	// If not set, there is no first page header. This property is
1496	// read-only.
1497	FirstPageHeaderId string `json:"firstPageHeaderId,omitempty"`
1498
1499	// MarginBottom: The bottom page margin. Updating the bottom page margin
1500	// on the document style clears the bottom page margin on all section
1501	// styles.
1502	MarginBottom *Dimension `json:"marginBottom,omitempty"`
1503
1504	// MarginFooter: The amount of space between the bottom of the page and
1505	// the contents of the footer.
1506	MarginFooter *Dimension `json:"marginFooter,omitempty"`
1507
1508	// MarginHeader: The amount of space between the top of the page and the
1509	// contents of the header.
1510	MarginHeader *Dimension `json:"marginHeader,omitempty"`
1511
1512	// MarginLeft: The left page margin. Updating the left page margin on
1513	// the document style clears the left page margin on all section styles.
1514	// It may also cause columns to resize in all sections.
1515	MarginLeft *Dimension `json:"marginLeft,omitempty"`
1516
1517	// MarginRight: The right page margin. Updating the right page margin on
1518	// the document style clears the right page margin on all section
1519	// styles. It may also cause columns to resize in all sections.
1520	MarginRight *Dimension `json:"marginRight,omitempty"`
1521
1522	// MarginTop: The top page margin. Updating the top page margin on the
1523	// document style clears the top page margin on all section styles.
1524	MarginTop *Dimension `json:"marginTop,omitempty"`
1525
1526	// PageNumberStart: The page number from which to start counting the
1527	// number of pages.
1528	PageNumberStart int64 `json:"pageNumberStart,omitempty"`
1529
1530	// PageSize: The size of a page in the document.
1531	PageSize *Size `json:"pageSize,omitempty"`
1532
1533	// UseCustomHeaderFooterMargins: Indicates whether DocumentStyle
1534	// margin_header, SectionStyle margin_header and DocumentStyle
1535	// margin_footer, SectionStyle margin_footer are respected. When false,
1536	// the default values in the Docs editor for header and footer margin
1537	// are used. This property is read-only.
1538	UseCustomHeaderFooterMargins bool `json:"useCustomHeaderFooterMargins,omitempty"`
1539
1540	// UseEvenPageHeaderFooter: Indicates whether to use the even page
1541	// header / footer IDs for the even pages.
1542	UseEvenPageHeaderFooter bool `json:"useEvenPageHeaderFooter,omitempty"`
1543
1544	// UseFirstPageHeaderFooter: Indicates whether to use the first page
1545	// header / footer IDs for the first page.
1546	UseFirstPageHeaderFooter bool `json:"useFirstPageHeaderFooter,omitempty"`
1547
1548	// ForceSendFields is a list of field names (e.g. "Background") to
1549	// unconditionally include in API requests. By default, fields with
1550	// empty or default values are omitted from API requests. However, any
1551	// non-pointer, non-interface field appearing in ForceSendFields will be
1552	// sent to the server regardless of whether the field is empty or not.
1553	// This may be used to include empty fields in Patch requests.
1554	ForceSendFields []string `json:"-"`
1555
1556	// NullFields is a list of field names (e.g. "Background") to include in
1557	// API requests with the JSON null value. By default, fields with empty
1558	// values are omitted from API requests. However, any field with an
1559	// empty value appearing in NullFields will be sent to the server as
1560	// null. It is an error if a field in this list has a non-empty value.
1561	// This may be used to include null fields in Patch requests.
1562	NullFields []string `json:"-"`
1563}
1564
1565func (s *DocumentStyle) MarshalJSON() ([]byte, error) {
1566	type NoMethod DocumentStyle
1567	raw := NoMethod(*s)
1568	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1569}
1570
1571// DocumentStyleSuggestionState: A mask that indicates which of the
1572// fields on the base DocumentStyle have been changed in this
1573// suggestion. For any field set to true, there is a new suggested
1574// value.
1575type DocumentStyleSuggestionState struct {
1576	// BackgroundSuggestionState: A mask that indicates which of the fields
1577	// in background have been changed in this suggestion.
1578	BackgroundSuggestionState *BackgroundSuggestionState `json:"backgroundSuggestionState,omitempty"`
1579
1580	// DefaultFooterIdSuggested: Indicates if there was a suggested change
1581	// to default_footer_id.
1582	DefaultFooterIdSuggested bool `json:"defaultFooterIdSuggested,omitempty"`
1583
1584	// DefaultHeaderIdSuggested: Indicates if there was a suggested change
1585	// to default_header_id.
1586	DefaultHeaderIdSuggested bool `json:"defaultHeaderIdSuggested,omitempty"`
1587
1588	// EvenPageFooterIdSuggested: Indicates if there was a suggested change
1589	// to even_page_footer_id.
1590	EvenPageFooterIdSuggested bool `json:"evenPageFooterIdSuggested,omitempty"`
1591
1592	// EvenPageHeaderIdSuggested: Indicates if there was a suggested change
1593	// to even_page_header_id.
1594	EvenPageHeaderIdSuggested bool `json:"evenPageHeaderIdSuggested,omitempty"`
1595
1596	// FirstPageFooterIdSuggested: Indicates if there was a suggested change
1597	// to first_page_footer_id.
1598	FirstPageFooterIdSuggested bool `json:"firstPageFooterIdSuggested,omitempty"`
1599
1600	// FirstPageHeaderIdSuggested: Indicates if there was a suggested change
1601	// to first_page_header_id.
1602	FirstPageHeaderIdSuggested bool `json:"firstPageHeaderIdSuggested,omitempty"`
1603
1604	// MarginBottomSuggested: Indicates if there was a suggested change to
1605	// margin_bottom.
1606	MarginBottomSuggested bool `json:"marginBottomSuggested,omitempty"`
1607
1608	// MarginFooterSuggested: Indicates if there was a suggested change to
1609	// margin_footer.
1610	MarginFooterSuggested bool `json:"marginFooterSuggested,omitempty"`
1611
1612	// MarginHeaderSuggested: Indicates if there was a suggested change to
1613	// margin_header.
1614	MarginHeaderSuggested bool `json:"marginHeaderSuggested,omitempty"`
1615
1616	// MarginLeftSuggested: Indicates if there was a suggested change to
1617	// margin_left.
1618	MarginLeftSuggested bool `json:"marginLeftSuggested,omitempty"`
1619
1620	// MarginRightSuggested: Indicates if there was a suggested change to
1621	// margin_right.
1622	MarginRightSuggested bool `json:"marginRightSuggested,omitempty"`
1623
1624	// MarginTopSuggested: Indicates if there was a suggested change to
1625	// margin_top.
1626	MarginTopSuggested bool `json:"marginTopSuggested,omitempty"`
1627
1628	// PageNumberStartSuggested: Indicates if there was a suggested change
1629	// to page_number_start.
1630	PageNumberStartSuggested bool `json:"pageNumberStartSuggested,omitempty"`
1631
1632	// PageSizeSuggestionState: A mask that indicates which of the fields in
1633	// size have been changed in this suggestion.
1634	PageSizeSuggestionState *SizeSuggestionState `json:"pageSizeSuggestionState,omitempty"`
1635
1636	// UseCustomHeaderFooterMarginsSuggested: Indicates if there was a
1637	// suggested change to use_custom_header_footer_margins.
1638	UseCustomHeaderFooterMarginsSuggested bool `json:"useCustomHeaderFooterMarginsSuggested,omitempty"`
1639
1640	// UseEvenPageHeaderFooterSuggested: Indicates if there was a suggested
1641	// change to use_even_page_header_footer.
1642	UseEvenPageHeaderFooterSuggested bool `json:"useEvenPageHeaderFooterSuggested,omitempty"`
1643
1644	// UseFirstPageHeaderFooterSuggested: Indicates if there was a suggested
1645	// change to use_first_page_header_footer.
1646	UseFirstPageHeaderFooterSuggested bool `json:"useFirstPageHeaderFooterSuggested,omitempty"`
1647
1648	// ForceSendFields is a list of field names (e.g.
1649	// "BackgroundSuggestionState") to unconditionally include in API
1650	// requests. By default, fields with empty or default values are omitted
1651	// from API requests. However, any non-pointer, non-interface field
1652	// appearing in ForceSendFields will be sent to the server regardless of
1653	// whether the field is empty or not. This may be used to include empty
1654	// fields in Patch requests.
1655	ForceSendFields []string `json:"-"`
1656
1657	// NullFields is a list of field names (e.g.
1658	// "BackgroundSuggestionState") to include in API requests with the JSON
1659	// null value. By default, fields with empty values are omitted from API
1660	// requests. However, any field with an empty value appearing in
1661	// NullFields will be sent to the server as null. It is an error if a
1662	// field in this list has a non-empty value. This may be used to include
1663	// null fields in Patch requests.
1664	NullFields []string `json:"-"`
1665}
1666
1667func (s *DocumentStyleSuggestionState) MarshalJSON() ([]byte, error) {
1668	type NoMethod DocumentStyleSuggestionState
1669	raw := NoMethod(*s)
1670	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1671}
1672
1673// EmbeddedDrawingProperties: The properties of an embedded drawing.
1674type EmbeddedDrawingProperties struct {
1675}
1676
1677// EmbeddedDrawingPropertiesSuggestionState: A mask that indicates which
1678// of the fields on the base EmbeddedDrawingProperties have been changed
1679// in this suggestion. For any field set to true, there is a new
1680// suggested value.
1681type EmbeddedDrawingPropertiesSuggestionState struct {
1682}
1683
1684// EmbeddedObject: An embedded object in the document.
1685type EmbeddedObject struct {
1686	// Description: The description of the embedded object. The `title` and
1687	// `description` are both combined to display alt text.
1688	Description string `json:"description,omitempty"`
1689
1690	// EmbeddedDrawingProperties: The properties of an embedded drawing.
1691	EmbeddedDrawingProperties *EmbeddedDrawingProperties `json:"embeddedDrawingProperties,omitempty"`
1692
1693	// EmbeddedObjectBorder: The border of the embedded object.
1694	EmbeddedObjectBorder *EmbeddedObjectBorder `json:"embeddedObjectBorder,omitempty"`
1695
1696	// ImageProperties: The properties of an image.
1697	ImageProperties *ImageProperties `json:"imageProperties,omitempty"`
1698
1699	// LinkedContentReference: A reference to the external linked source
1700	// content. For example, it contains a reference to the source Sheets
1701	// chart when the embedded object is a linked chart. If unset, then the
1702	// embedded object is not linked.
1703	LinkedContentReference *LinkedContentReference `json:"linkedContentReference,omitempty"`
1704
1705	// MarginBottom: The bottom margin of the embedded object.
1706	MarginBottom *Dimension `json:"marginBottom,omitempty"`
1707
1708	// MarginLeft: The left margin of the embedded object.
1709	MarginLeft *Dimension `json:"marginLeft,omitempty"`
1710
1711	// MarginRight: The right margin of the embedded object.
1712	MarginRight *Dimension `json:"marginRight,omitempty"`
1713
1714	// MarginTop: The top margin of the embedded object.
1715	MarginTop *Dimension `json:"marginTop,omitempty"`
1716
1717	// Size: The visible size of the image after cropping.
1718	Size *Size `json:"size,omitempty"`
1719
1720	// Title: The title of the embedded object. The `title` and
1721	// `description` are both combined to display alt text.
1722	Title string `json:"title,omitempty"`
1723
1724	// ForceSendFields is a list of field names (e.g. "Description") to
1725	// unconditionally include in API requests. By default, fields with
1726	// empty or default values are omitted from API requests. However, any
1727	// non-pointer, non-interface field appearing in ForceSendFields will be
1728	// sent to the server regardless of whether the field is empty or not.
1729	// This may be used to include empty fields in Patch requests.
1730	ForceSendFields []string `json:"-"`
1731
1732	// NullFields is a list of field names (e.g. "Description") to include
1733	// in API requests with the JSON null value. By default, fields with
1734	// empty values are omitted from API requests. However, any field with
1735	// an empty value appearing in NullFields will be sent to the server as
1736	// null. It is an error if a field in this list has a non-empty value.
1737	// This may be used to include null fields in Patch requests.
1738	NullFields []string `json:"-"`
1739}
1740
1741func (s *EmbeddedObject) MarshalJSON() ([]byte, error) {
1742	type NoMethod EmbeddedObject
1743	raw := NoMethod(*s)
1744	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1745}
1746
1747// EmbeddedObjectBorder: A border around an EmbeddedObject.
1748type EmbeddedObjectBorder struct {
1749	// Color: The color of the border.
1750	Color *OptionalColor `json:"color,omitempty"`
1751
1752	// DashStyle: The dash style of the border.
1753	//
1754	// Possible values:
1755	//   "DASH_STYLE_UNSPECIFIED" - Unspecified dash style.
1756	//   "SOLID" - Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal
1757	// value 'solid'. This is the default dash style.
1758	//   "DOT" - Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal
1759	// value 'dot'.
1760	//   "DASH" - Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal
1761	// value 'dash'.
1762	DashStyle string `json:"dashStyle,omitempty"`
1763
1764	// PropertyState: The property state of the border property.
1765	//
1766	// Possible values:
1767	//   "RENDERED" - If a property's state is RENDERED, then the element
1768	// has the corresponding property when rendered in the document. This is
1769	// the default value.
1770	//   "NOT_RENDERED" - If a property's state is NOT_RENDERED, then the
1771	// element does not have the corresponding property when rendered in the
1772	// document.
1773	PropertyState string `json:"propertyState,omitempty"`
1774
1775	// Width: The width of the border.
1776	Width *Dimension `json:"width,omitempty"`
1777
1778	// ForceSendFields is a list of field names (e.g. "Color") to
1779	// unconditionally include in API requests. By default, fields with
1780	// empty or default values are omitted from API requests. However, any
1781	// non-pointer, non-interface field appearing in ForceSendFields will be
1782	// sent to the server regardless of whether the field is empty or not.
1783	// This may be used to include empty fields in Patch requests.
1784	ForceSendFields []string `json:"-"`
1785
1786	// NullFields is a list of field names (e.g. "Color") to include in API
1787	// requests with the JSON null value. By default, fields with empty
1788	// values are omitted from API requests. However, any field with an
1789	// empty value appearing in NullFields will be sent to the server as
1790	// null. It is an error if a field in this list has a non-empty value.
1791	// This may be used to include null fields in Patch requests.
1792	NullFields []string `json:"-"`
1793}
1794
1795func (s *EmbeddedObjectBorder) MarshalJSON() ([]byte, error) {
1796	type NoMethod EmbeddedObjectBorder
1797	raw := NoMethod(*s)
1798	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1799}
1800
1801// EmbeddedObjectBorderSuggestionState: A mask that indicates which of
1802// the fields on the base EmbeddedObjectBorder have been changed in this
1803// suggestion. For any field set to true, there is a new suggested
1804// value.
1805type EmbeddedObjectBorderSuggestionState struct {
1806	// ColorSuggested: Indicates if there was a suggested change to color.
1807	ColorSuggested bool `json:"colorSuggested,omitempty"`
1808
1809	// DashStyleSuggested: Indicates if there was a suggested change to
1810	// dash_style.
1811	DashStyleSuggested bool `json:"dashStyleSuggested,omitempty"`
1812
1813	// PropertyStateSuggested: Indicates if there was a suggested change to
1814	// property_state.
1815	PropertyStateSuggested bool `json:"propertyStateSuggested,omitempty"`
1816
1817	// WidthSuggested: Indicates if there was a suggested change to width.
1818	WidthSuggested bool `json:"widthSuggested,omitempty"`
1819
1820	// ForceSendFields is a list of field names (e.g. "ColorSuggested") to
1821	// unconditionally include in API requests. By default, fields with
1822	// empty or default values are omitted from API requests. However, any
1823	// non-pointer, non-interface field appearing in ForceSendFields will be
1824	// sent to the server regardless of whether the field is empty or not.
1825	// This may be used to include empty fields in Patch requests.
1826	ForceSendFields []string `json:"-"`
1827
1828	// NullFields is a list of field names (e.g. "ColorSuggested") to
1829	// include in API requests with the JSON null value. By default, fields
1830	// with empty values are omitted from API requests. However, any field
1831	// with an empty value appearing in NullFields will be sent to the
1832	// server as null. It is an error if a field in this list has a
1833	// non-empty value. This may be used to include null fields in Patch
1834	// requests.
1835	NullFields []string `json:"-"`
1836}
1837
1838func (s *EmbeddedObjectBorderSuggestionState) MarshalJSON() ([]byte, error) {
1839	type NoMethod EmbeddedObjectBorderSuggestionState
1840	raw := NoMethod(*s)
1841	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1842}
1843
1844// EmbeddedObjectSuggestionState: A mask that indicates which of the
1845// fields on the base EmbeddedObject have been changed in this
1846// suggestion. For any field set to true, there is a new suggested
1847// value.
1848type EmbeddedObjectSuggestionState struct {
1849	// DescriptionSuggested: Indicates if there was a suggested change to
1850	// description.
1851	DescriptionSuggested bool `json:"descriptionSuggested,omitempty"`
1852
1853	// EmbeddedDrawingPropertiesSuggestionState: A mask that indicates which
1854	// of the fields in embedded_drawing_properties have been changed in
1855	// this suggestion.
1856	EmbeddedDrawingPropertiesSuggestionState *EmbeddedDrawingPropertiesSuggestionState `json:"embeddedDrawingPropertiesSuggestionState,omitempty"`
1857
1858	// EmbeddedObjectBorderSuggestionState: A mask that indicates which of
1859	// the fields in embedded_object_border have been changed in this
1860	// suggestion.
1861	EmbeddedObjectBorderSuggestionState *EmbeddedObjectBorderSuggestionState `json:"embeddedObjectBorderSuggestionState,omitempty"`
1862
1863	// ImagePropertiesSuggestionState: A mask that indicates which of the
1864	// fields in image_properties have been changed in this suggestion.
1865	ImagePropertiesSuggestionState *ImagePropertiesSuggestionState `json:"imagePropertiesSuggestionState,omitempty"`
1866
1867	// LinkedContentReferenceSuggestionState: A mask that indicates which of
1868	// the fields in linked_content_reference have been changed in this
1869	// suggestion.
1870	LinkedContentReferenceSuggestionState *LinkedContentReferenceSuggestionState `json:"linkedContentReferenceSuggestionState,omitempty"`
1871
1872	// MarginBottomSuggested: Indicates if there was a suggested change to
1873	// margin_bottom.
1874	MarginBottomSuggested bool `json:"marginBottomSuggested,omitempty"`
1875
1876	// MarginLeftSuggested: Indicates if there was a suggested change to
1877	// margin_left.
1878	MarginLeftSuggested bool `json:"marginLeftSuggested,omitempty"`
1879
1880	// MarginRightSuggested: Indicates if there was a suggested change to
1881	// margin_right.
1882	MarginRightSuggested bool `json:"marginRightSuggested,omitempty"`
1883
1884	// MarginTopSuggested: Indicates if there was a suggested change to
1885	// margin_top.
1886	MarginTopSuggested bool `json:"marginTopSuggested,omitempty"`
1887
1888	// SizeSuggestionState: A mask that indicates which of the fields in
1889	// size have been changed in this suggestion.
1890	SizeSuggestionState *SizeSuggestionState `json:"sizeSuggestionState,omitempty"`
1891
1892	// TitleSuggested: Indicates if there was a suggested change to title.
1893	TitleSuggested bool `json:"titleSuggested,omitempty"`
1894
1895	// ForceSendFields is a list of field names (e.g.
1896	// "DescriptionSuggested") to unconditionally include in API requests.
1897	// By default, fields with empty or default values are omitted from API
1898	// requests. However, any non-pointer, non-interface field appearing in
1899	// ForceSendFields will be sent to the server regardless of whether the
1900	// field is empty or not. This may be used to include empty fields in
1901	// Patch requests.
1902	ForceSendFields []string `json:"-"`
1903
1904	// NullFields is a list of field names (e.g. "DescriptionSuggested") to
1905	// include in API requests with the JSON null value. By default, fields
1906	// with empty values are omitted from API requests. However, any field
1907	// with an empty value appearing in NullFields will be sent to the
1908	// server as null. It is an error if a field in this list has a
1909	// non-empty value. This may be used to include null fields in Patch
1910	// requests.
1911	NullFields []string `json:"-"`
1912}
1913
1914func (s *EmbeddedObjectSuggestionState) MarshalJSON() ([]byte, error) {
1915	type NoMethod EmbeddedObjectSuggestionState
1916	raw := NoMethod(*s)
1917	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1918}
1919
1920// EndOfSegmentLocation: Location at the end of a body, header, footer
1921// or footnote. The location is immediately before the last newline in
1922// the document segment.
1923type EndOfSegmentLocation struct {
1924	// SegmentId: The ID of the header, footer or footnote the location is
1925	// in. An empty segment ID signifies the document's body.
1926	SegmentId string `json:"segmentId,omitempty"`
1927
1928	// ForceSendFields is a list of field names (e.g. "SegmentId") to
1929	// unconditionally include in API requests. By default, fields with
1930	// empty or default values are omitted from API requests. However, any
1931	// non-pointer, non-interface field appearing in ForceSendFields will be
1932	// sent to the server regardless of whether the field is empty or not.
1933	// This may be used to include empty fields in Patch requests.
1934	ForceSendFields []string `json:"-"`
1935
1936	// NullFields is a list of field names (e.g. "SegmentId") to include in
1937	// API requests with the JSON null value. By default, fields with empty
1938	// values are omitted from API requests. However, any field with an
1939	// empty value appearing in NullFields will be sent to the server as
1940	// null. It is an error if a field in this list has a non-empty value.
1941	// This may be used to include null fields in Patch requests.
1942	NullFields []string `json:"-"`
1943}
1944
1945func (s *EndOfSegmentLocation) MarshalJSON() ([]byte, error) {
1946	type NoMethod EndOfSegmentLocation
1947	raw := NoMethod(*s)
1948	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1949}
1950
1951// Equation: A ParagraphElement representing an equation.
1952type Equation struct {
1953	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
1954	// there are no suggested deletions of this content.
1955	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
1956
1957	// SuggestedInsertionIds: The suggested insertion IDs. A Equation may
1958	// have multiple insertion IDs if it is a nested suggested change. If
1959	// empty, then this is not a suggested insertion.
1960	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
1961
1962	// ForceSendFields is a list of field names (e.g.
1963	// "SuggestedDeletionIds") to unconditionally include in API requests.
1964	// By default, fields with empty or default values are omitted from API
1965	// requests. However, any non-pointer, non-interface field appearing in
1966	// ForceSendFields will be sent to the server regardless of whether the
1967	// field is empty or not. This may be used to include empty fields in
1968	// Patch requests.
1969	ForceSendFields []string `json:"-"`
1970
1971	// NullFields is a list of field names (e.g. "SuggestedDeletionIds") to
1972	// include in API requests with the JSON null value. By default, fields
1973	// with empty values are omitted from API requests. However, any field
1974	// with an empty value appearing in NullFields will be sent to the
1975	// server as null. It is an error if a field in this list has a
1976	// non-empty value. This may be used to include null fields in Patch
1977	// requests.
1978	NullFields []string `json:"-"`
1979}
1980
1981func (s *Equation) MarshalJSON() ([]byte, error) {
1982	type NoMethod Equation
1983	raw := NoMethod(*s)
1984	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1985}
1986
1987// Footer: A document footer.
1988type Footer struct {
1989	// Content: The contents of the footer. The indexes for a footer's
1990	// content begin at zero.
1991	Content []*StructuralElement `json:"content,omitempty"`
1992
1993	// FooterId: The ID of the footer.
1994	FooterId string `json:"footerId,omitempty"`
1995
1996	// ForceSendFields is a list of field names (e.g. "Content") to
1997	// unconditionally include in API requests. By default, fields with
1998	// empty or default values are omitted from API requests. However, any
1999	// non-pointer, non-interface field appearing in ForceSendFields will be
2000	// sent to the server regardless of whether the field is empty or not.
2001	// This may be used to include empty fields in Patch requests.
2002	ForceSendFields []string `json:"-"`
2003
2004	// NullFields is a list of field names (e.g. "Content") to include in
2005	// API requests with the JSON null value. By default, fields with empty
2006	// values are omitted from API requests. However, any field with an
2007	// empty value appearing in NullFields will be sent to the server as
2008	// null. It is an error if a field in this list has a non-empty value.
2009	// This may be used to include null fields in Patch requests.
2010	NullFields []string `json:"-"`
2011}
2012
2013func (s *Footer) MarshalJSON() ([]byte, error) {
2014	type NoMethod Footer
2015	raw := NoMethod(*s)
2016	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2017}
2018
2019// Footnote: A document footnote.
2020type Footnote struct {
2021	// Content: The contents of the footnote. The indexes for a footnote's
2022	// content begin at zero.
2023	Content []*StructuralElement `json:"content,omitempty"`
2024
2025	// FootnoteId: The ID of the footnote.
2026	FootnoteId string `json:"footnoteId,omitempty"`
2027
2028	// ForceSendFields is a list of field names (e.g. "Content") to
2029	// unconditionally include in API requests. By default, fields with
2030	// empty or default values are omitted from API requests. However, any
2031	// non-pointer, non-interface field appearing in ForceSendFields will be
2032	// sent to the server regardless of whether the field is empty or not.
2033	// This may be used to include empty fields in Patch requests.
2034	ForceSendFields []string `json:"-"`
2035
2036	// NullFields is a list of field names (e.g. "Content") to include in
2037	// API requests with the JSON null value. By default, fields with empty
2038	// values are omitted from API requests. However, any field with an
2039	// empty value appearing in NullFields will be sent to the server as
2040	// null. It is an error if a field in this list has a non-empty value.
2041	// This may be used to include null fields in Patch requests.
2042	NullFields []string `json:"-"`
2043}
2044
2045func (s *Footnote) MarshalJSON() ([]byte, error) {
2046	type NoMethod Footnote
2047	raw := NoMethod(*s)
2048	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2049}
2050
2051// FootnoteReference: A ParagraphElement representing a footnote
2052// reference. A footnote reference is the inline content rendered with a
2053// number and is used to identify the footnote.
2054type FootnoteReference struct {
2055	// FootnoteId: The ID of the footnote that contains the content of this
2056	// footnote reference.
2057	FootnoteId string `json:"footnoteId,omitempty"`
2058
2059	// FootnoteNumber: The rendered number of this footnote.
2060	FootnoteNumber string `json:"footnoteNumber,omitempty"`
2061
2062	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
2063	// there are no suggested deletions of this content.
2064	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
2065
2066	// SuggestedInsertionIds: The suggested insertion IDs. A
2067	// FootnoteReference may have multiple insertion IDs if it is a nested
2068	// suggested change. If empty, then this is not a suggested insertion.
2069	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
2070
2071	// SuggestedTextStyleChanges: The suggested text style changes to this
2072	// FootnoteReference, keyed by suggestion ID.
2073	SuggestedTextStyleChanges map[string]SuggestedTextStyle `json:"suggestedTextStyleChanges,omitempty"`
2074
2075	// TextStyle: The text style of this FootnoteReference.
2076	TextStyle *TextStyle `json:"textStyle,omitempty"`
2077
2078	// ForceSendFields is a list of field names (e.g. "FootnoteId") to
2079	// unconditionally include in API requests. By default, fields with
2080	// empty or default values are omitted from API requests. However, any
2081	// non-pointer, non-interface field appearing in ForceSendFields will be
2082	// sent to the server regardless of whether the field is empty or not.
2083	// This may be used to include empty fields in Patch requests.
2084	ForceSendFields []string `json:"-"`
2085
2086	// NullFields is a list of field names (e.g. "FootnoteId") to include in
2087	// API requests with the JSON null value. By default, fields with empty
2088	// values are omitted from API requests. However, any field with an
2089	// empty value appearing in NullFields will be sent to the server as
2090	// null. It is an error if a field in this list has a non-empty value.
2091	// This may be used to include null fields in Patch requests.
2092	NullFields []string `json:"-"`
2093}
2094
2095func (s *FootnoteReference) MarshalJSON() ([]byte, error) {
2096	type NoMethod FootnoteReference
2097	raw := NoMethod(*s)
2098	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2099}
2100
2101// Header: A document header.
2102type Header struct {
2103	// Content: The contents of the header. The indexes for a header's
2104	// content begin at zero.
2105	Content []*StructuralElement `json:"content,omitempty"`
2106
2107	// HeaderId: The ID of the header.
2108	HeaderId string `json:"headerId,omitempty"`
2109
2110	// ForceSendFields is a list of field names (e.g. "Content") to
2111	// unconditionally include in API requests. By default, fields with
2112	// empty or default values are omitted from API requests. However, any
2113	// non-pointer, non-interface field appearing in ForceSendFields will be
2114	// sent to the server regardless of whether the field is empty or not.
2115	// This may be used to include empty fields in Patch requests.
2116	ForceSendFields []string `json:"-"`
2117
2118	// NullFields is a list of field names (e.g. "Content") to include in
2119	// API requests with the JSON null value. By default, fields with empty
2120	// values are omitted from API requests. However, any field with an
2121	// empty value appearing in NullFields will be sent to the server as
2122	// null. It is an error if a field in this list has a non-empty value.
2123	// This may be used to include null fields in Patch requests.
2124	NullFields []string `json:"-"`
2125}
2126
2127func (s *Header) MarshalJSON() ([]byte, error) {
2128	type NoMethod Header
2129	raw := NoMethod(*s)
2130	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2131}
2132
2133// HorizontalRule: A ParagraphElement representing a horizontal line.
2134type HorizontalRule struct {
2135	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
2136	// there are no suggested deletions of this content.
2137	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
2138
2139	// SuggestedInsertionIds: The suggested insertion IDs. A HorizontalRule
2140	// may have multiple insertion IDs if it is a nested suggested change.
2141	// If empty, then this is not a suggested insertion.
2142	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
2143
2144	// SuggestedTextStyleChanges: The suggested text style changes to this
2145	// HorizontalRule, keyed by suggestion ID.
2146	SuggestedTextStyleChanges map[string]SuggestedTextStyle `json:"suggestedTextStyleChanges,omitempty"`
2147
2148	// TextStyle: The text style of this HorizontalRule. Similar to text
2149	// content, like text runs and footnote references, the text style of a
2150	// horizontal rule can affect content layout as well as the styling of
2151	// text inserted adjacent to it.
2152	TextStyle *TextStyle `json:"textStyle,omitempty"`
2153
2154	// ForceSendFields is a list of field names (e.g.
2155	// "SuggestedDeletionIds") to unconditionally include in API requests.
2156	// By default, fields with empty or default values are omitted from API
2157	// requests. However, any non-pointer, non-interface field appearing in
2158	// ForceSendFields will be sent to the server regardless of whether the
2159	// field is empty or not. This may be used to include empty fields in
2160	// Patch requests.
2161	ForceSendFields []string `json:"-"`
2162
2163	// NullFields is a list of field names (e.g. "SuggestedDeletionIds") to
2164	// include in API requests with the JSON null value. By default, fields
2165	// with empty values are omitted from API requests. However, any field
2166	// with an empty value appearing in NullFields will be sent to the
2167	// server as null. It is an error if a field in this list has a
2168	// non-empty value. This may be used to include null fields in Patch
2169	// requests.
2170	NullFields []string `json:"-"`
2171}
2172
2173func (s *HorizontalRule) MarshalJSON() ([]byte, error) {
2174	type NoMethod HorizontalRule
2175	raw := NoMethod(*s)
2176	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2177}
2178
2179// ImageProperties: The properties of an image.
2180type ImageProperties struct {
2181	// Angle: The clockwise rotation angle of the image, in radians.
2182	Angle float64 `json:"angle,omitempty"`
2183
2184	// Brightness: The brightness effect of the image. The value should be
2185	// in the interval [-1.0, 1.0], where 0 means no effect.
2186	Brightness float64 `json:"brightness,omitempty"`
2187
2188	// ContentUri: A URI to the image with a default lifetime of 30 minutes.
2189	// This URI is tagged with the account of the requester. Anyone with the
2190	// URI effectively accesses the image as the original requester. Access
2191	// to the image may be lost if the document's sharing settings change.
2192	ContentUri string `json:"contentUri,omitempty"`
2193
2194	// Contrast: The contrast effect of the image. The value should be in
2195	// the interval [-1.0, 1.0], where 0 means no effect.
2196	Contrast float64 `json:"contrast,omitempty"`
2197
2198	// CropProperties: The crop properties of the image.
2199	CropProperties *CropProperties `json:"cropProperties,omitempty"`
2200
2201	// SourceUri: The source URI is the URI used to insert the image. The
2202	// source URI can be empty.
2203	SourceUri string `json:"sourceUri,omitempty"`
2204
2205	// Transparency: The transparency effect of the image. The value should
2206	// be in the interval [0.0, 1.0], where 0 means no effect and 1 means
2207	// completely transparent.
2208	Transparency float64 `json:"transparency,omitempty"`
2209
2210	// ForceSendFields is a list of field names (e.g. "Angle") to
2211	// unconditionally include in API requests. By default, fields with
2212	// empty or default values are omitted from API requests. However, any
2213	// non-pointer, non-interface field appearing in ForceSendFields will be
2214	// sent to the server regardless of whether the field is empty or not.
2215	// This may be used to include empty fields in Patch requests.
2216	ForceSendFields []string `json:"-"`
2217
2218	// NullFields is a list of field names (e.g. "Angle") to include in API
2219	// requests with the JSON null value. By default, fields with empty
2220	// values are omitted from API requests. However, any field with an
2221	// empty value appearing in NullFields will be sent to the server as
2222	// null. It is an error if a field in this list has a non-empty value.
2223	// This may be used to include null fields in Patch requests.
2224	NullFields []string `json:"-"`
2225}
2226
2227func (s *ImageProperties) MarshalJSON() ([]byte, error) {
2228	type NoMethod ImageProperties
2229	raw := NoMethod(*s)
2230	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2231}
2232
2233func (s *ImageProperties) UnmarshalJSON(data []byte) error {
2234	type NoMethod ImageProperties
2235	var s1 struct {
2236		Angle        gensupport.JSONFloat64 `json:"angle"`
2237		Brightness   gensupport.JSONFloat64 `json:"brightness"`
2238		Contrast     gensupport.JSONFloat64 `json:"contrast"`
2239		Transparency gensupport.JSONFloat64 `json:"transparency"`
2240		*NoMethod
2241	}
2242	s1.NoMethod = (*NoMethod)(s)
2243	if err := json.Unmarshal(data, &s1); err != nil {
2244		return err
2245	}
2246	s.Angle = float64(s1.Angle)
2247	s.Brightness = float64(s1.Brightness)
2248	s.Contrast = float64(s1.Contrast)
2249	s.Transparency = float64(s1.Transparency)
2250	return nil
2251}
2252
2253// ImagePropertiesSuggestionState: A mask that indicates which of the
2254// fields on the base ImageProperties have been changed in this
2255// suggestion. For any field set to true, there is a new suggested
2256// value.
2257type ImagePropertiesSuggestionState struct {
2258	// AngleSuggested: Indicates if there was a suggested change to angle.
2259	AngleSuggested bool `json:"angleSuggested,omitempty"`
2260
2261	// BrightnessSuggested: Indicates if there was a suggested change to
2262	// brightness.
2263	BrightnessSuggested bool `json:"brightnessSuggested,omitempty"`
2264
2265	// ContentUriSuggested: Indicates if there was a suggested change to
2266	// content_uri.
2267	ContentUriSuggested bool `json:"contentUriSuggested,omitempty"`
2268
2269	// ContrastSuggested: Indicates if there was a suggested change to
2270	// contrast.
2271	ContrastSuggested bool `json:"contrastSuggested,omitempty"`
2272
2273	// CropPropertiesSuggestionState: A mask that indicates which of the
2274	// fields in crop_properties have been changed in this suggestion.
2275	CropPropertiesSuggestionState *CropPropertiesSuggestionState `json:"cropPropertiesSuggestionState,omitempty"`
2276
2277	// SourceUriSuggested: Indicates if there was a suggested change to
2278	// source_uri.
2279	SourceUriSuggested bool `json:"sourceUriSuggested,omitempty"`
2280
2281	// TransparencySuggested: Indicates if there was a suggested change to
2282	// transparency.
2283	TransparencySuggested bool `json:"transparencySuggested,omitempty"`
2284
2285	// ForceSendFields is a list of field names (e.g. "AngleSuggested") to
2286	// unconditionally include in API requests. By default, fields with
2287	// empty or default values are omitted from API requests. However, any
2288	// non-pointer, non-interface field appearing in ForceSendFields will be
2289	// sent to the server regardless of whether the field is empty or not.
2290	// This may be used to include empty fields in Patch requests.
2291	ForceSendFields []string `json:"-"`
2292
2293	// NullFields is a list of field names (e.g. "AngleSuggested") to
2294	// include in API requests with the JSON null value. By default, fields
2295	// with empty values are omitted from API requests. However, any field
2296	// with an empty value appearing in NullFields will be sent to the
2297	// server as null. It is an error if a field in this list has a
2298	// non-empty value. This may be used to include null fields in Patch
2299	// requests.
2300	NullFields []string `json:"-"`
2301}
2302
2303func (s *ImagePropertiesSuggestionState) MarshalJSON() ([]byte, error) {
2304	type NoMethod ImagePropertiesSuggestionState
2305	raw := NoMethod(*s)
2306	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2307}
2308
2309// InlineObject: An object that appears inline with text. An
2310// InlineObject contains an EmbeddedObject such as an image.
2311type InlineObject struct {
2312	// InlineObjectProperties: The properties of this inline object.
2313	InlineObjectProperties *InlineObjectProperties `json:"inlineObjectProperties,omitempty"`
2314
2315	// ObjectId: The ID of this inline object.
2316	ObjectId string `json:"objectId,omitempty"`
2317
2318	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
2319	// there are no suggested deletions of this content.
2320	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
2321
2322	// SuggestedInlineObjectPropertiesChanges: The suggested changes to the
2323	// inline object properties, keyed by suggestion ID.
2324	SuggestedInlineObjectPropertiesChanges map[string]SuggestedInlineObjectProperties `json:"suggestedInlineObjectPropertiesChanges,omitempty"`
2325
2326	// SuggestedInsertionId: The suggested insertion ID. If empty, then this
2327	// is not a suggested insertion.
2328	SuggestedInsertionId string `json:"suggestedInsertionId,omitempty"`
2329
2330	// ForceSendFields is a list of field names (e.g.
2331	// "InlineObjectProperties") to unconditionally include in API requests.
2332	// By default, fields with empty or default values are omitted from API
2333	// requests. However, any non-pointer, non-interface field appearing in
2334	// ForceSendFields will be sent to the server regardless of whether the
2335	// field is empty or not. This may be used to include empty fields in
2336	// Patch requests.
2337	ForceSendFields []string `json:"-"`
2338
2339	// NullFields is a list of field names (e.g. "InlineObjectProperties")
2340	// to include in API requests with the JSON null value. By default,
2341	// fields with empty values are omitted from API requests. However, any
2342	// field with an empty value appearing in NullFields will be sent to the
2343	// server as null. It is an error if a field in this list has a
2344	// non-empty value. This may be used to include null fields in Patch
2345	// requests.
2346	NullFields []string `json:"-"`
2347}
2348
2349func (s *InlineObject) MarshalJSON() ([]byte, error) {
2350	type NoMethod InlineObject
2351	raw := NoMethod(*s)
2352	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2353}
2354
2355// InlineObjectElement: A ParagraphElement that contains an
2356// InlineObject.
2357type InlineObjectElement struct {
2358	// InlineObjectId: The ID of the InlineObject this element contains.
2359	InlineObjectId string `json:"inlineObjectId,omitempty"`
2360
2361	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
2362	// there are no suggested deletions of this content.
2363	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
2364
2365	// SuggestedInsertionIds: The suggested insertion IDs. An
2366	// InlineObjectElement may have multiple insertion IDs if it is a nested
2367	// suggested change. If empty, then this is not a suggested insertion.
2368	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
2369
2370	// SuggestedTextStyleChanges: The suggested text style changes to this
2371	// InlineObject, keyed by suggestion ID.
2372	SuggestedTextStyleChanges map[string]SuggestedTextStyle `json:"suggestedTextStyleChanges,omitempty"`
2373
2374	// TextStyle: The text style of this InlineObjectElement. Similar to
2375	// text content, like text runs and footnote references, the text style
2376	// of an inline object element can affect content layout as well as the
2377	// styling of text inserted adjacent to it.
2378	TextStyle *TextStyle `json:"textStyle,omitempty"`
2379
2380	// ForceSendFields is a list of field names (e.g. "InlineObjectId") to
2381	// unconditionally include in API requests. By default, fields with
2382	// empty or default values are omitted from API requests. However, any
2383	// non-pointer, non-interface field appearing in ForceSendFields will be
2384	// sent to the server regardless of whether the field is empty or not.
2385	// This may be used to include empty fields in Patch requests.
2386	ForceSendFields []string `json:"-"`
2387
2388	// NullFields is a list of field names (e.g. "InlineObjectId") to
2389	// include in API requests with the JSON null value. By default, fields
2390	// with empty values are omitted from API requests. However, any field
2391	// with an empty value appearing in NullFields will be sent to the
2392	// server as null. It is an error if a field in this list has a
2393	// non-empty value. This may be used to include null fields in Patch
2394	// requests.
2395	NullFields []string `json:"-"`
2396}
2397
2398func (s *InlineObjectElement) MarshalJSON() ([]byte, error) {
2399	type NoMethod InlineObjectElement
2400	raw := NoMethod(*s)
2401	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2402}
2403
2404// InlineObjectProperties: Properties of an InlineObject.
2405type InlineObjectProperties struct {
2406	// EmbeddedObject: The embedded object of this inline object.
2407	EmbeddedObject *EmbeddedObject `json:"embeddedObject,omitempty"`
2408
2409	// ForceSendFields is a list of field names (e.g. "EmbeddedObject") to
2410	// unconditionally include in API requests. By default, fields with
2411	// empty or default values are omitted from API requests. However, any
2412	// non-pointer, non-interface field appearing in ForceSendFields will be
2413	// sent to the server regardless of whether the field is empty or not.
2414	// This may be used to include empty fields in Patch requests.
2415	ForceSendFields []string `json:"-"`
2416
2417	// NullFields is a list of field names (e.g. "EmbeddedObject") to
2418	// include in API requests with the JSON null value. By default, fields
2419	// with empty values are omitted from API requests. However, any field
2420	// with an empty value appearing in NullFields will be sent to the
2421	// server as null. It is an error if a field in this list has a
2422	// non-empty value. This may be used to include null fields in Patch
2423	// requests.
2424	NullFields []string `json:"-"`
2425}
2426
2427func (s *InlineObjectProperties) MarshalJSON() ([]byte, error) {
2428	type NoMethod InlineObjectProperties
2429	raw := NoMethod(*s)
2430	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2431}
2432
2433// InlineObjectPropertiesSuggestionState: A mask that indicates which of
2434// the fields on the base InlineObjectProperties have been changed in
2435// this suggestion. For any field set to true, there is a new suggested
2436// value.
2437type InlineObjectPropertiesSuggestionState struct {
2438	// EmbeddedObjectSuggestionState: A mask that indicates which of the
2439	// fields in embedded_object have been changed in this suggestion.
2440	EmbeddedObjectSuggestionState *EmbeddedObjectSuggestionState `json:"embeddedObjectSuggestionState,omitempty"`
2441
2442	// ForceSendFields is a list of field names (e.g.
2443	// "EmbeddedObjectSuggestionState") to unconditionally include in API
2444	// requests. By default, fields with empty or default values are omitted
2445	// from API requests. However, any non-pointer, non-interface field
2446	// appearing in ForceSendFields will be sent to the server regardless of
2447	// whether the field is empty or not. This may be used to include empty
2448	// fields in Patch requests.
2449	ForceSendFields []string `json:"-"`
2450
2451	// NullFields is a list of field names (e.g.
2452	// "EmbeddedObjectSuggestionState") to include in API requests with the
2453	// JSON null value. By default, fields with empty values are omitted
2454	// from API requests. However, any field with an empty value appearing
2455	// in NullFields will be sent to the server as null. It is an error if a
2456	// field in this list has a non-empty value. This may be used to include
2457	// null fields in Patch requests.
2458	NullFields []string `json:"-"`
2459}
2460
2461func (s *InlineObjectPropertiesSuggestionState) MarshalJSON() ([]byte, error) {
2462	type NoMethod InlineObjectPropertiesSuggestionState
2463	raw := NoMethod(*s)
2464	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2465}
2466
2467// InsertInlineImageRequest: Inserts an InlineObject containing an image
2468// at the given location.
2469type InsertInlineImageRequest struct {
2470	// EndOfSegmentLocation: Inserts the text at the end of a header, footer
2471	// or the document body. Inline images cannot be inserted inside a
2472	// footnote.
2473	EndOfSegmentLocation *EndOfSegmentLocation `json:"endOfSegmentLocation,omitempty"`
2474
2475	// Location: Inserts the image at a specific index in the document. The
2476	// image must be inserted inside the bounds of an existing Paragraph.
2477	// For instance, it cannot be inserted at a table's start index (i.e.
2478	// between the table and its preceding paragraph). Inline images cannot
2479	// be inserted inside a footnote or equation.
2480	Location *Location `json:"location,omitempty"`
2481
2482	// ObjectSize: The size that the image should appear as in the document.
2483	// This property is optional and the final size of the image in the
2484	// document is determined by the following rules: * If neither width nor
2485	// height is specified, then a default size of the image is calculated
2486	// based on its resolution. * If one dimension is specified then the
2487	// other dimension is calculated to preserve the aspect ratio of the
2488	// image. * If both width and height are specified, the image is scaled
2489	// to fit within the provided dimensions while maintaining its aspect
2490	// ratio.
2491	ObjectSize *Size `json:"objectSize,omitempty"`
2492
2493	// Uri: The image URI. The image is fetched once at insertion time and a
2494	// copy is stored for display inside the document. Images must be less
2495	// than 50MB in size, cannot exceed 25 megapixels, and must be in one of
2496	// PNG, JPEG, or GIF format. The provided URI can be at most 2 kB in
2497	// length. The URI itself is saved with the image, and exposed via the
2498	// ImageProperties.content_uri field.
2499	Uri string `json:"uri,omitempty"`
2500
2501	// ForceSendFields is a list of field names (e.g.
2502	// "EndOfSegmentLocation") to unconditionally include in API requests.
2503	// By default, fields with empty or default values are omitted from API
2504	// requests. However, any non-pointer, non-interface field appearing in
2505	// ForceSendFields will be sent to the server regardless of whether the
2506	// field is empty or not. This may be used to include empty fields in
2507	// Patch requests.
2508	ForceSendFields []string `json:"-"`
2509
2510	// NullFields is a list of field names (e.g. "EndOfSegmentLocation") to
2511	// include in API requests with the JSON null value. By default, fields
2512	// with empty values are omitted from API requests. However, any field
2513	// with an empty value appearing in NullFields will be sent to the
2514	// server as null. It is an error if a field in this list has a
2515	// non-empty value. This may be used to include null fields in Patch
2516	// requests.
2517	NullFields []string `json:"-"`
2518}
2519
2520func (s *InsertInlineImageRequest) MarshalJSON() ([]byte, error) {
2521	type NoMethod InsertInlineImageRequest
2522	raw := NoMethod(*s)
2523	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2524}
2525
2526// InsertInlineImageResponse: The result of inserting an inline image.
2527type InsertInlineImageResponse struct {
2528	// ObjectId: The ID of the created InlineObject.
2529	ObjectId string `json:"objectId,omitempty"`
2530
2531	// ForceSendFields is a list of field names (e.g. "ObjectId") to
2532	// unconditionally include in API requests. By default, fields with
2533	// empty or default values are omitted from API requests. However, any
2534	// non-pointer, non-interface field appearing in ForceSendFields will be
2535	// sent to the server regardless of whether the field is empty or not.
2536	// This may be used to include empty fields in Patch requests.
2537	ForceSendFields []string `json:"-"`
2538
2539	// NullFields is a list of field names (e.g. "ObjectId") to include in
2540	// API requests with the JSON null value. By default, fields with empty
2541	// values are omitted from API requests. However, any field with an
2542	// empty value appearing in NullFields will be sent to the server as
2543	// null. It is an error if a field in this list has a non-empty value.
2544	// This may be used to include null fields in Patch requests.
2545	NullFields []string `json:"-"`
2546}
2547
2548func (s *InsertInlineImageResponse) MarshalJSON() ([]byte, error) {
2549	type NoMethod InsertInlineImageResponse
2550	raw := NoMethod(*s)
2551	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2552}
2553
2554// InsertInlineSheetsChartResponse: The result of inserting an embedded
2555// Google Sheets chart.
2556type InsertInlineSheetsChartResponse struct {
2557	// ObjectId: The object ID of the inserted chart.
2558	ObjectId string `json:"objectId,omitempty"`
2559
2560	// ForceSendFields is a list of field names (e.g. "ObjectId") to
2561	// unconditionally include in API requests. By default, fields with
2562	// empty or default values are omitted from API requests. However, any
2563	// non-pointer, non-interface field appearing in ForceSendFields will be
2564	// sent to the server regardless of whether the field is empty or not.
2565	// This may be used to include empty fields in Patch requests.
2566	ForceSendFields []string `json:"-"`
2567
2568	// NullFields is a list of field names (e.g. "ObjectId") to include in
2569	// API requests with the JSON null value. By default, fields with empty
2570	// values are omitted from API requests. However, any field with an
2571	// empty value appearing in NullFields will be sent to the server as
2572	// null. It is an error if a field in this list has a non-empty value.
2573	// This may be used to include null fields in Patch requests.
2574	NullFields []string `json:"-"`
2575}
2576
2577func (s *InsertInlineSheetsChartResponse) MarshalJSON() ([]byte, error) {
2578	type NoMethod InsertInlineSheetsChartResponse
2579	raw := NoMethod(*s)
2580	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2581}
2582
2583// InsertPageBreakRequest: Inserts a page break followed by a newline at
2584// the specified location.
2585type InsertPageBreakRequest struct {
2586	// EndOfSegmentLocation: Inserts the page break at the end of the
2587	// document body. Page breaks cannot be inserted inside a footnote,
2588	// header or footer. Since page breaks can only be inserted inside the
2589	// body, the segment ID field must be empty.
2590	EndOfSegmentLocation *EndOfSegmentLocation `json:"endOfSegmentLocation,omitempty"`
2591
2592	// Location: Inserts the page break at a specific index in the document.
2593	// The page break must be inserted inside the bounds of an existing
2594	// Paragraph. For instance, it cannot be inserted at a table's start
2595	// index (i.e. between the table and its preceding paragraph). Page
2596	// breaks cannot be inserted inside a table, equation, footnote, header
2597	// or footer. Since page breaks can only be inserted inside the body,
2598	// the segment ID field must be empty.
2599	Location *Location `json:"location,omitempty"`
2600
2601	// ForceSendFields is a list of field names (e.g.
2602	// "EndOfSegmentLocation") to unconditionally include in API requests.
2603	// By default, fields with empty or default values are omitted from API
2604	// requests. However, any non-pointer, non-interface field appearing in
2605	// ForceSendFields will be sent to the server regardless of whether the
2606	// field is empty or not. This may be used to include empty fields in
2607	// Patch requests.
2608	ForceSendFields []string `json:"-"`
2609
2610	// NullFields is a list of field names (e.g. "EndOfSegmentLocation") to
2611	// include in API requests with the JSON null value. By default, fields
2612	// with empty values are omitted from API requests. However, any field
2613	// with an empty value appearing in NullFields will be sent to the
2614	// server as null. It is an error if a field in this list has a
2615	// non-empty value. This may be used to include null fields in Patch
2616	// requests.
2617	NullFields []string `json:"-"`
2618}
2619
2620func (s *InsertPageBreakRequest) MarshalJSON() ([]byte, error) {
2621	type NoMethod InsertPageBreakRequest
2622	raw := NoMethod(*s)
2623	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2624}
2625
2626// InsertSectionBreakRequest: Inserts a section break at the given
2627// location. A newline character will be inserted before the section
2628// break.
2629type InsertSectionBreakRequest struct {
2630	// EndOfSegmentLocation: Inserts a newline and a section break at the
2631	// end of the document body. Section breaks cannot be inserted inside a
2632	// footnote, header or footer. Because section breaks can only be
2633	// inserted inside the body, the segment ID field must be empty.
2634	EndOfSegmentLocation *EndOfSegmentLocation `json:"endOfSegmentLocation,omitempty"`
2635
2636	// Location: Inserts a newline and a section break at a specific index
2637	// in the document. The section break must be inserted inside the bounds
2638	// of an existing Paragraph. For instance, it cannot be inserted at a
2639	// table's start index (i.e. between the table and its preceding
2640	// paragraph). Section breaks cannot be inserted inside a table,
2641	// equation, footnote, header, or footer. Since section breaks can only
2642	// be inserted inside the body, the segment ID field must be empty.
2643	Location *Location `json:"location,omitempty"`
2644
2645	// SectionType: The type of section to insert.
2646	//
2647	// Possible values:
2648	//   "SECTION_TYPE_UNSPECIFIED" - The section type is unspecified.
2649	//   "CONTINUOUS" - The section starts immediately after the last
2650	// paragraph of the previous section.
2651	//   "NEXT_PAGE" - The section starts on the next page.
2652	SectionType string `json:"sectionType,omitempty"`
2653
2654	// ForceSendFields is a list of field names (e.g.
2655	// "EndOfSegmentLocation") to unconditionally include in API requests.
2656	// By default, fields with empty or default values are omitted from API
2657	// requests. However, any non-pointer, non-interface field appearing in
2658	// ForceSendFields will be sent to the server regardless of whether the
2659	// field is empty or not. This may be used to include empty fields in
2660	// Patch requests.
2661	ForceSendFields []string `json:"-"`
2662
2663	// NullFields is a list of field names (e.g. "EndOfSegmentLocation") to
2664	// include in API requests with the JSON null value. By default, fields
2665	// with empty values are omitted from API requests. However, any field
2666	// with an empty value appearing in NullFields will be sent to the
2667	// server as null. It is an error if a field in this list has a
2668	// non-empty value. This may be used to include null fields in Patch
2669	// requests.
2670	NullFields []string `json:"-"`
2671}
2672
2673func (s *InsertSectionBreakRequest) MarshalJSON() ([]byte, error) {
2674	type NoMethod InsertSectionBreakRequest
2675	raw := NoMethod(*s)
2676	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2677}
2678
2679// InsertTableColumnRequest: Inserts an empty column into a table.
2680type InsertTableColumnRequest struct {
2681	// InsertRight: Whether to insert new column to the right of the
2682	// reference cell location. - `True`: insert to the right. - `False`:
2683	// insert to the left.
2684	InsertRight bool `json:"insertRight,omitempty"`
2685
2686	// TableCellLocation: The reference table cell location from which
2687	// columns will be inserted. A new column will be inserted to the left
2688	// (or right) of the column where the reference cell is. If the
2689	// reference cell is a merged cell, a new column will be inserted to the
2690	// left (or right) of the merged cell.
2691	TableCellLocation *TableCellLocation `json:"tableCellLocation,omitempty"`
2692
2693	// ForceSendFields is a list of field names (e.g. "InsertRight") to
2694	// unconditionally include in API requests. By default, fields with
2695	// empty or default values are omitted from API requests. However, any
2696	// non-pointer, non-interface field appearing in ForceSendFields will be
2697	// sent to the server regardless of whether the field is empty or not.
2698	// This may be used to include empty fields in Patch requests.
2699	ForceSendFields []string `json:"-"`
2700
2701	// NullFields is a list of field names (e.g. "InsertRight") to include
2702	// in API requests with the JSON null value. By default, fields with
2703	// empty values are omitted from API requests. However, any field with
2704	// an empty value appearing in NullFields will be sent to the server as
2705	// null. It is an error if a field in this list has a non-empty value.
2706	// This may be used to include null fields in Patch requests.
2707	NullFields []string `json:"-"`
2708}
2709
2710func (s *InsertTableColumnRequest) MarshalJSON() ([]byte, error) {
2711	type NoMethod InsertTableColumnRequest
2712	raw := NoMethod(*s)
2713	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2714}
2715
2716// InsertTableRequest: Inserts a table at the specified location. A
2717// newline character will be inserted before the inserted table.
2718type InsertTableRequest struct {
2719	// Columns: The number of columns in the table.
2720	Columns int64 `json:"columns,omitempty"`
2721
2722	// EndOfSegmentLocation: Inserts the table at the end of the given
2723	// header, footer or document body. A newline character will be inserted
2724	// before the inserted table. Tables cannot be inserted inside a
2725	// footnote.
2726	EndOfSegmentLocation *EndOfSegmentLocation `json:"endOfSegmentLocation,omitempty"`
2727
2728	// Location: Inserts the table at a specific model index. A newline
2729	// character will be inserted before the inserted table, therefore the
2730	// table start index will be at the specified location index + 1. The
2731	// table must be inserted inside the bounds of an existing Paragraph.
2732	// For instance, it cannot be inserted at a table's start index (i.e.
2733	// between an existing table and its preceding paragraph). Tables cannot
2734	// be inserted inside a footnote or equation.
2735	Location *Location `json:"location,omitempty"`
2736
2737	// Rows: The number of rows in the table.
2738	Rows int64 `json:"rows,omitempty"`
2739
2740	// ForceSendFields is a list of field names (e.g. "Columns") to
2741	// unconditionally include in API requests. By default, fields with
2742	// empty or default values are omitted from API requests. However, any
2743	// non-pointer, non-interface field appearing in ForceSendFields will be
2744	// sent to the server regardless of whether the field is empty or not.
2745	// This may be used to include empty fields in Patch requests.
2746	ForceSendFields []string `json:"-"`
2747
2748	// NullFields is a list of field names (e.g. "Columns") to include in
2749	// API requests with the JSON null value. By default, fields with empty
2750	// values are omitted from API requests. However, any field with an
2751	// empty value appearing in NullFields will be sent to the server as
2752	// null. It is an error if a field in this list has a non-empty value.
2753	// This may be used to include null fields in Patch requests.
2754	NullFields []string `json:"-"`
2755}
2756
2757func (s *InsertTableRequest) MarshalJSON() ([]byte, error) {
2758	type NoMethod InsertTableRequest
2759	raw := NoMethod(*s)
2760	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2761}
2762
2763// InsertTableRowRequest: Inserts an empty row into a table.
2764type InsertTableRowRequest struct {
2765	// InsertBelow: Whether to insert new row below the reference cell
2766	// location. - `True`: insert below the cell. - `False`: insert above
2767	// the cell.
2768	InsertBelow bool `json:"insertBelow,omitempty"`
2769
2770	// TableCellLocation: The reference table cell location from which rows
2771	// will be inserted. A new row will be inserted above (or below) the row
2772	// where the reference cell is. If the reference cell is a merged cell,
2773	// a new row will be inserted above (or below) the merged cell.
2774	TableCellLocation *TableCellLocation `json:"tableCellLocation,omitempty"`
2775
2776	// ForceSendFields is a list of field names (e.g. "InsertBelow") to
2777	// unconditionally include in API requests. By default, fields with
2778	// empty or default values are omitted from API requests. However, any
2779	// non-pointer, non-interface field appearing in ForceSendFields will be
2780	// sent to the server regardless of whether the field is empty or not.
2781	// This may be used to include empty fields in Patch requests.
2782	ForceSendFields []string `json:"-"`
2783
2784	// NullFields is a list of field names (e.g. "InsertBelow") to include
2785	// in API requests with the JSON null value. By default, fields with
2786	// empty values are omitted from API requests. However, any field with
2787	// an empty value appearing in NullFields will be sent to the server as
2788	// null. It is an error if a field in this list has a non-empty value.
2789	// This may be used to include null fields in Patch requests.
2790	NullFields []string `json:"-"`
2791}
2792
2793func (s *InsertTableRowRequest) MarshalJSON() ([]byte, error) {
2794	type NoMethod InsertTableRowRequest
2795	raw := NoMethod(*s)
2796	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2797}
2798
2799// InsertTextRequest: Inserts text at the specified location.
2800type InsertTextRequest struct {
2801	// EndOfSegmentLocation: Inserts the text at the end of a header,
2802	// footer, footnote or the document body.
2803	EndOfSegmentLocation *EndOfSegmentLocation `json:"endOfSegmentLocation,omitempty"`
2804
2805	// Location: Inserts the text at a specific index in the document. Text
2806	// must be inserted inside the bounds of an existing Paragraph. For
2807	// instance, text cannot be inserted at a table's start index (i.e.
2808	// between the table and its preceding paragraph). The text must be
2809	// inserted in the preceding paragraph.
2810	Location *Location `json:"location,omitempty"`
2811
2812	// Text: The text to be inserted. Inserting a newline character will
2813	// implicitly create a new Paragraph at that index. The paragraph style
2814	// of the new paragraph will be copied from the paragraph at the current
2815	// insertion index, including lists and bullets. Text styles for
2816	// inserted text will be determined automatically, generally preserving
2817	// the styling of neighboring text. In most cases, the text style for
2818	// the inserted text will match the text immediately before the
2819	// insertion index. Some control characters (U+0000-U+0008,
2820	// U+000C-U+001F) and characters from the Unicode Basic Multilingual
2821	// Plane Private Use Area (U+E000-U+F8FF) will be stripped out of the
2822	// inserted text.
2823	Text string `json:"text,omitempty"`
2824
2825	// ForceSendFields is a list of field names (e.g.
2826	// "EndOfSegmentLocation") to unconditionally include in API requests.
2827	// By default, fields with empty or default values are omitted from API
2828	// requests. However, any non-pointer, non-interface field appearing in
2829	// ForceSendFields will be sent to the server regardless of whether the
2830	// field is empty or not. This may be used to include empty fields in
2831	// Patch requests.
2832	ForceSendFields []string `json:"-"`
2833
2834	// NullFields is a list of field names (e.g. "EndOfSegmentLocation") to
2835	// include in API requests with the JSON null value. By default, fields
2836	// with empty values are omitted from API requests. However, any field
2837	// with an empty value appearing in NullFields will be sent to the
2838	// server as null. It is an error if a field in this list has a
2839	// non-empty value. This may be used to include null fields in Patch
2840	// requests.
2841	NullFields []string `json:"-"`
2842}
2843
2844func (s *InsertTextRequest) MarshalJSON() ([]byte, error) {
2845	type NoMethod InsertTextRequest
2846	raw := NoMethod(*s)
2847	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2848}
2849
2850// Link: A reference to another portion of a document or an external URL
2851// resource.
2852type Link struct {
2853	// BookmarkId: The ID of a bookmark in this document.
2854	BookmarkId string `json:"bookmarkId,omitempty"`
2855
2856	// HeadingId: The ID of a heading in this document.
2857	HeadingId string `json:"headingId,omitempty"`
2858
2859	// Url: An external URL.
2860	Url string `json:"url,omitempty"`
2861
2862	// ForceSendFields is a list of field names (e.g. "BookmarkId") to
2863	// unconditionally include in API requests. By default, fields with
2864	// empty or default values are omitted from API requests. However, any
2865	// non-pointer, non-interface field appearing in ForceSendFields will be
2866	// sent to the server regardless of whether the field is empty or not.
2867	// This may be used to include empty fields in Patch requests.
2868	ForceSendFields []string `json:"-"`
2869
2870	// NullFields is a list of field names (e.g. "BookmarkId") to include in
2871	// API requests with the JSON null value. By default, fields with empty
2872	// values are omitted from API requests. However, any field with an
2873	// empty value appearing in NullFields will be sent to the server as
2874	// null. It is an error if a field in this list has a non-empty value.
2875	// This may be used to include null fields in Patch requests.
2876	NullFields []string `json:"-"`
2877}
2878
2879func (s *Link) MarshalJSON() ([]byte, error) {
2880	type NoMethod Link
2881	raw := NoMethod(*s)
2882	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2883}
2884
2885// LinkedContentReference: A reference to the external linked source
2886// content.
2887type LinkedContentReference struct {
2888	// SheetsChartReference: A reference to the linked chart.
2889	SheetsChartReference *SheetsChartReference `json:"sheetsChartReference,omitempty"`
2890
2891	// ForceSendFields is a list of field names (e.g.
2892	// "SheetsChartReference") to unconditionally include in API requests.
2893	// By default, fields with empty or default values are omitted from API
2894	// requests. However, any non-pointer, non-interface field appearing in
2895	// ForceSendFields will be sent to the server regardless of whether the
2896	// field is empty or not. This may be used to include empty fields in
2897	// Patch requests.
2898	ForceSendFields []string `json:"-"`
2899
2900	// NullFields is a list of field names (e.g. "SheetsChartReference") to
2901	// include in API requests with the JSON null value. By default, fields
2902	// with empty values are omitted from API requests. However, any field
2903	// with an empty value appearing in NullFields will be sent to the
2904	// server as null. It is an error if a field in this list has a
2905	// non-empty value. This may be used to include null fields in Patch
2906	// requests.
2907	NullFields []string `json:"-"`
2908}
2909
2910func (s *LinkedContentReference) MarshalJSON() ([]byte, error) {
2911	type NoMethod LinkedContentReference
2912	raw := NoMethod(*s)
2913	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2914}
2915
2916// LinkedContentReferenceSuggestionState: A mask that indicates which of
2917// the fields on the base LinkedContentReference have been changed in
2918// this suggestion. For any field set to true, there is a new suggested
2919// value.
2920type LinkedContentReferenceSuggestionState struct {
2921	// SheetsChartReferenceSuggestionState: A mask that indicates which of
2922	// the fields in sheets_chart_reference have been changed in this
2923	// suggestion.
2924	SheetsChartReferenceSuggestionState *SheetsChartReferenceSuggestionState `json:"sheetsChartReferenceSuggestionState,omitempty"`
2925
2926	// ForceSendFields is a list of field names (e.g.
2927	// "SheetsChartReferenceSuggestionState") to unconditionally include in
2928	// API requests. By default, fields with empty or default values are
2929	// omitted from API requests. However, any non-pointer, non-interface
2930	// field appearing in ForceSendFields will be sent to the server
2931	// regardless of whether the field is empty or not. This may be used to
2932	// include empty fields in Patch requests.
2933	ForceSendFields []string `json:"-"`
2934
2935	// NullFields is a list of field names (e.g.
2936	// "SheetsChartReferenceSuggestionState") to include in API requests
2937	// with the JSON null value. By default, fields with empty values are
2938	// omitted from API requests. However, any field with an empty value
2939	// appearing in NullFields will be sent to the server as null. It is an
2940	// error if a field in this list has a non-empty value. This may be used
2941	// to include null fields in Patch requests.
2942	NullFields []string `json:"-"`
2943}
2944
2945func (s *LinkedContentReferenceSuggestionState) MarshalJSON() ([]byte, error) {
2946	type NoMethod LinkedContentReferenceSuggestionState
2947	raw := NoMethod(*s)
2948	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2949}
2950
2951// List: A List represents the list attributes for a group of paragraphs
2952// that all belong to the same list. A paragraph that is part of a list
2953// has a reference to the list's ID in its bullet.
2954type List struct {
2955	// ListProperties: The properties of the list.
2956	ListProperties *ListProperties `json:"listProperties,omitempty"`
2957
2958	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
2959	// there are no suggested deletions of this list.
2960	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
2961
2962	// SuggestedInsertionId: The suggested insertion ID. If empty, then this
2963	// is not a suggested insertion.
2964	SuggestedInsertionId string `json:"suggestedInsertionId,omitempty"`
2965
2966	// SuggestedListPropertiesChanges: The suggested changes to the list
2967	// properties, keyed by suggestion ID.
2968	SuggestedListPropertiesChanges map[string]SuggestedListProperties `json:"suggestedListPropertiesChanges,omitempty"`
2969
2970	// ForceSendFields is a list of field names (e.g. "ListProperties") to
2971	// unconditionally include in API requests. By default, fields with
2972	// empty or default values are omitted from API requests. However, any
2973	// non-pointer, non-interface field appearing in ForceSendFields will be
2974	// sent to the server regardless of whether the field is empty or not.
2975	// This may be used to include empty fields in Patch requests.
2976	ForceSendFields []string `json:"-"`
2977
2978	// NullFields is a list of field names (e.g. "ListProperties") to
2979	// include in API requests with the JSON null value. By default, fields
2980	// with empty values are omitted from API requests. However, any field
2981	// with an empty value appearing in NullFields will be sent to the
2982	// server as null. It is an error if a field in this list has a
2983	// non-empty value. This may be used to include null fields in Patch
2984	// requests.
2985	NullFields []string `json:"-"`
2986}
2987
2988func (s *List) MarshalJSON() ([]byte, error) {
2989	type NoMethod List
2990	raw := NoMethod(*s)
2991	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2992}
2993
2994// ListProperties: The properties of a list which describe the look and
2995// feel of bullets belonging to paragraphs associated with a list.
2996type ListProperties struct {
2997	// NestingLevels: Describes the properties of the bullets at the
2998	// associated level. A list has at most nine levels of nesting with
2999	// nesting level 0 corresponding to the top-most level and nesting level
3000	// 8 corresponding to the most nested level. The nesting levels are
3001	// returned in ascending order with the least nested returned first.
3002	NestingLevels []*NestingLevel `json:"nestingLevels,omitempty"`
3003
3004	// ForceSendFields is a list of field names (e.g. "NestingLevels") to
3005	// unconditionally include in API requests. By default, fields with
3006	// empty or default values are omitted from API requests. However, any
3007	// non-pointer, non-interface field appearing in ForceSendFields will be
3008	// sent to the server regardless of whether the field is empty or not.
3009	// This may be used to include empty fields in Patch requests.
3010	ForceSendFields []string `json:"-"`
3011
3012	// NullFields is a list of field names (e.g. "NestingLevels") to include
3013	// in API requests with the JSON null value. By default, fields with
3014	// empty values are omitted from API requests. However, any field with
3015	// an empty value appearing in NullFields will be sent to the server as
3016	// null. It is an error if a field in this list has a non-empty value.
3017	// This may be used to include null fields in Patch requests.
3018	NullFields []string `json:"-"`
3019}
3020
3021func (s *ListProperties) MarshalJSON() ([]byte, error) {
3022	type NoMethod ListProperties
3023	raw := NoMethod(*s)
3024	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3025}
3026
3027// ListPropertiesSuggestionState: A mask that indicates which of the
3028// fields on the base ListProperties have been changed in this
3029// suggestion. For any field set to true, there is a new suggested
3030// value.
3031type ListPropertiesSuggestionState struct {
3032	// NestingLevelsSuggestionStates: A mask that indicates which of the
3033	// fields on the corresponding NestingLevel in nesting_levels have been
3034	// changed in this suggestion. The nesting level suggestion states are
3035	// returned in ascending order of the nesting level with the least
3036	// nested returned first.
3037	NestingLevelsSuggestionStates []*NestingLevelSuggestionState `json:"nestingLevelsSuggestionStates,omitempty"`
3038
3039	// ForceSendFields is a list of field names (e.g.
3040	// "NestingLevelsSuggestionStates") to unconditionally include in API
3041	// requests. By default, fields with empty or default values are omitted
3042	// from API requests. However, any non-pointer, non-interface field
3043	// appearing in ForceSendFields will be sent to the server regardless of
3044	// whether the field is empty or not. This may be used to include empty
3045	// fields in Patch requests.
3046	ForceSendFields []string `json:"-"`
3047
3048	// NullFields is a list of field names (e.g.
3049	// "NestingLevelsSuggestionStates") to include in API requests with the
3050	// JSON null value. By default, fields with empty values are omitted
3051	// from API requests. However, any field with an empty value appearing
3052	// in NullFields will be sent to the server as null. It is an error if a
3053	// field in this list has a non-empty value. This may be used to include
3054	// null fields in Patch requests.
3055	NullFields []string `json:"-"`
3056}
3057
3058func (s *ListPropertiesSuggestionState) MarshalJSON() ([]byte, error) {
3059	type NoMethod ListPropertiesSuggestionState
3060	raw := NoMethod(*s)
3061	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3062}
3063
3064// Location: A particular location in the document.
3065type Location struct {
3066	// Index: The zero-based index, in UTF-16 code units. The index is
3067	// relative to the beginning of the segment specified by segment_id.
3068	Index int64 `json:"index,omitempty"`
3069
3070	// SegmentId: The ID of the header, footer or footnote the location is
3071	// in. An empty segment ID signifies the document's body.
3072	SegmentId string `json:"segmentId,omitempty"`
3073
3074	// ForceSendFields is a list of field names (e.g. "Index") to
3075	// unconditionally include in API requests. By default, fields with
3076	// empty or default values are omitted from API requests. However, any
3077	// non-pointer, non-interface field appearing in ForceSendFields will be
3078	// sent to the server regardless of whether the field is empty or not.
3079	// This may be used to include empty fields in Patch requests.
3080	ForceSendFields []string `json:"-"`
3081
3082	// NullFields is a list of field names (e.g. "Index") to include in API
3083	// requests with the JSON null value. By default, fields with empty
3084	// values are omitted from API requests. However, any field with an
3085	// empty value appearing in NullFields will be sent to the server as
3086	// null. It is an error if a field in this list has a non-empty value.
3087	// This may be used to include null fields in Patch requests.
3088	NullFields []string `json:"-"`
3089}
3090
3091func (s *Location) MarshalJSON() ([]byte, error) {
3092	type NoMethod Location
3093	raw := NoMethod(*s)
3094	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3095}
3096
3097// MergeTableCellsRequest: Merges cells in a Table.
3098type MergeTableCellsRequest struct {
3099	// TableRange: The table range specifying which cells of the table to
3100	// merge. Any text in the cells being merged will be concatenated and
3101	// stored in the "head" cell of the range. This is the upper-left cell
3102	// of the range when the content direction is left to right, and the
3103	// upper-right cell of the range otherwise. If the range is
3104	// non-rectangular (which can occur in some cases where the range covers
3105	// cells that are already merged or where the table is non-rectangular),
3106	// a 400 bad request error is returned.
3107	TableRange *TableRange `json:"tableRange,omitempty"`
3108
3109	// ForceSendFields is a list of field names (e.g. "TableRange") to
3110	// unconditionally include in API requests. By default, fields with
3111	// empty or default values are omitted from API requests. However, any
3112	// non-pointer, non-interface field appearing in ForceSendFields will be
3113	// sent to the server regardless of whether the field is empty or not.
3114	// This may be used to include empty fields in Patch requests.
3115	ForceSendFields []string `json:"-"`
3116
3117	// NullFields is a list of field names (e.g. "TableRange") to include in
3118	// API requests with the JSON null value. By default, fields with empty
3119	// values are omitted from API requests. However, any field with an
3120	// 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 *MergeTableCellsRequest) MarshalJSON() ([]byte, error) {
3127	type NoMethod MergeTableCellsRequest
3128	raw := NoMethod(*s)
3129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3130}
3131
3132// NamedRange: A collection of Ranges with the same named range ID.
3133// Named ranges allow developers to associate parts of a document with
3134// an arbitrary user-defined label so their contents can be
3135// programmatically read or edited at a later time. A document can
3136// contain multiple named ranges with the same name, but every named
3137// range has a unique ID. A named range is created with a single Range,
3138// and content inserted inside a named range generally expands that
3139// range. However, certain document changes can cause the range to be
3140// split into multiple ranges. Named ranges are not private. All
3141// applications and collaborators that have access to the document can
3142// see its named ranges.
3143type NamedRange struct {
3144	// Name: The name of the named range.
3145	Name string `json:"name,omitempty"`
3146
3147	// NamedRangeId: The ID of the named range.
3148	NamedRangeId string `json:"namedRangeId,omitempty"`
3149
3150	// Ranges: The ranges that belong to this named range.
3151	Ranges []*Range `json:"ranges,omitempty"`
3152
3153	// ForceSendFields is a list of field names (e.g. "Name") to
3154	// unconditionally include in API requests. By default, fields with
3155	// empty or default values are omitted from API requests. However, any
3156	// non-pointer, non-interface field appearing in ForceSendFields will be
3157	// sent to the server regardless of whether the field is empty or not.
3158	// This may be used to include empty fields in Patch requests.
3159	ForceSendFields []string `json:"-"`
3160
3161	// NullFields is a list of field names (e.g. "Name") to include in API
3162	// requests with the JSON null value. By default, fields with empty
3163	// values are omitted from API requests. However, any field with an
3164	// empty value appearing in NullFields will be sent to the server as
3165	// null. It is an error if a field in this list has a non-empty value.
3166	// This may be used to include null fields in Patch requests.
3167	NullFields []string `json:"-"`
3168}
3169
3170func (s *NamedRange) MarshalJSON() ([]byte, error) {
3171	type NoMethod NamedRange
3172	raw := NoMethod(*s)
3173	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3174}
3175
3176// NamedRanges: A collection of all the NamedRanges in the document that
3177// share a given name.
3178type NamedRanges struct {
3179	// Name: The name that all the named ranges share.
3180	Name string `json:"name,omitempty"`
3181
3182	// NamedRanges: The NamedRanges that share the same name.
3183	NamedRanges []*NamedRange `json:"namedRanges,omitempty"`
3184
3185	// ForceSendFields is a list of field names (e.g. "Name") to
3186	// unconditionally include in API requests. By default, fields with
3187	// empty or default values are omitted from API requests. However, any
3188	// non-pointer, non-interface field appearing in ForceSendFields will be
3189	// sent to the server regardless of whether the field is empty or not.
3190	// This may be used to include empty fields in Patch requests.
3191	ForceSendFields []string `json:"-"`
3192
3193	// NullFields is a list of field names (e.g. "Name") to include in API
3194	// requests with the JSON null value. By default, fields with empty
3195	// values are omitted from API requests. However, any field with an
3196	// empty value appearing in NullFields will be sent to the server as
3197	// null. It is an error if a field in this list has a non-empty value.
3198	// This may be used to include null fields in Patch requests.
3199	NullFields []string `json:"-"`
3200}
3201
3202func (s *NamedRanges) MarshalJSON() ([]byte, error) {
3203	type NoMethod NamedRanges
3204	raw := NoMethod(*s)
3205	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3206}
3207
3208// NamedStyle: A named style. Paragraphs in the document can inherit
3209// their TextStyle and ParagraphStyle from this named style when they
3210// have the same named style type.
3211type NamedStyle struct {
3212	// NamedStyleType: The type of this named style.
3213	//
3214	// Possible values:
3215	//   "NAMED_STYLE_TYPE_UNSPECIFIED" - The type of named style is
3216	// unspecified.
3217	//   "NORMAL_TEXT" - Normal text.
3218	//   "TITLE" - Title.
3219	//   "SUBTITLE" - Subtitle.
3220	//   "HEADING_1" - Heading 1.
3221	//   "HEADING_2" - Heading 2.
3222	//   "HEADING_3" - Heading 3.
3223	//   "HEADING_4" - Heading 4.
3224	//   "HEADING_5" - Heading 5.
3225	//   "HEADING_6" - Heading 6.
3226	NamedStyleType string `json:"namedStyleType,omitempty"`
3227
3228	// ParagraphStyle: The paragraph style of this named style.
3229	ParagraphStyle *ParagraphStyle `json:"paragraphStyle,omitempty"`
3230
3231	// TextStyle: The text style of this named style.
3232	TextStyle *TextStyle `json:"textStyle,omitempty"`
3233
3234	// ForceSendFields is a list of field names (e.g. "NamedStyleType") to
3235	// unconditionally include in API requests. By default, fields with
3236	// empty or default values are omitted from API requests. However, any
3237	// non-pointer, non-interface field appearing in ForceSendFields will be
3238	// sent to the server regardless of whether the field is empty or not.
3239	// This may be used to include empty fields in Patch requests.
3240	ForceSendFields []string `json:"-"`
3241
3242	// NullFields is a list of field names (e.g. "NamedStyleType") to
3243	// include in API requests with the JSON null value. By default, fields
3244	// with empty values are omitted from API requests. However, any field
3245	// with an empty value appearing in NullFields will be sent to the
3246	// server as null. It is an error if a field in this list has a
3247	// non-empty value. This may be used to include null fields in Patch
3248	// requests.
3249	NullFields []string `json:"-"`
3250}
3251
3252func (s *NamedStyle) MarshalJSON() ([]byte, error) {
3253	type NoMethod NamedStyle
3254	raw := NoMethod(*s)
3255	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3256}
3257
3258// NamedStyleSuggestionState: A suggestion state of a NamedStyle
3259// message.
3260type NamedStyleSuggestionState struct {
3261	// NamedStyleType: The named style type that this suggestion state
3262	// corresponds to. This field is provided as a convenience for matching
3263	// the NamedStyleSuggestionState with its corresponding NamedStyle.
3264	//
3265	// Possible values:
3266	//   "NAMED_STYLE_TYPE_UNSPECIFIED" - The type of named style is
3267	// unspecified.
3268	//   "NORMAL_TEXT" - Normal text.
3269	//   "TITLE" - Title.
3270	//   "SUBTITLE" - Subtitle.
3271	//   "HEADING_1" - Heading 1.
3272	//   "HEADING_2" - Heading 2.
3273	//   "HEADING_3" - Heading 3.
3274	//   "HEADING_4" - Heading 4.
3275	//   "HEADING_5" - Heading 5.
3276	//   "HEADING_6" - Heading 6.
3277	NamedStyleType string `json:"namedStyleType,omitempty"`
3278
3279	// ParagraphStyleSuggestionState: A mask that indicates which of the
3280	// fields in paragraph style have been changed in this suggestion.
3281	ParagraphStyleSuggestionState *ParagraphStyleSuggestionState `json:"paragraphStyleSuggestionState,omitempty"`
3282
3283	// TextStyleSuggestionState: A mask that indicates which of the fields
3284	// in text style have been changed in this suggestion.
3285	TextStyleSuggestionState *TextStyleSuggestionState `json:"textStyleSuggestionState,omitempty"`
3286
3287	// ForceSendFields is a list of field names (e.g. "NamedStyleType") to
3288	// unconditionally include in API requests. By default, fields with
3289	// empty or default values are omitted from API requests. However, any
3290	// non-pointer, non-interface field appearing in ForceSendFields will be
3291	// sent to the server regardless of whether the field is empty or not.
3292	// This may be used to include empty fields in Patch requests.
3293	ForceSendFields []string `json:"-"`
3294
3295	// NullFields is a list of field names (e.g. "NamedStyleType") to
3296	// include in API requests with the JSON null value. By default, fields
3297	// with empty values are omitted from API requests. However, any field
3298	// with an empty value appearing in NullFields will be sent to the
3299	// server as null. It is an error if a field in this list has a
3300	// non-empty value. This may be used to include null fields in Patch
3301	// requests.
3302	NullFields []string `json:"-"`
3303}
3304
3305func (s *NamedStyleSuggestionState) MarshalJSON() ([]byte, error) {
3306	type NoMethod NamedStyleSuggestionState
3307	raw := NoMethod(*s)
3308	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3309}
3310
3311// NamedStyles: The named styles. Paragraphs in the document can inherit
3312// their TextStyle and ParagraphStyle from these named styles.
3313type NamedStyles struct {
3314	// Styles: The named styles. There is an entry for each of the possible
3315	// named style types.
3316	Styles []*NamedStyle `json:"styles,omitempty"`
3317
3318	// ForceSendFields is a list of field names (e.g. "Styles") to
3319	// unconditionally include in API requests. By default, fields with
3320	// empty or default values are omitted from API requests. However, any
3321	// non-pointer, non-interface field appearing in ForceSendFields will be
3322	// sent to the server regardless of whether the field is empty or not.
3323	// This may be used to include empty fields in Patch requests.
3324	ForceSendFields []string `json:"-"`
3325
3326	// NullFields is a list of field names (e.g. "Styles") to include in API
3327	// requests with the JSON null value. By default, fields with empty
3328	// values are omitted from API requests. However, any field with an
3329	// empty value appearing in NullFields will be sent to the server as
3330	// null. It is an error if a field in this list has a non-empty value.
3331	// This may be used to include null fields in Patch requests.
3332	NullFields []string `json:"-"`
3333}
3334
3335func (s *NamedStyles) MarshalJSON() ([]byte, error) {
3336	type NoMethod NamedStyles
3337	raw := NoMethod(*s)
3338	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3339}
3340
3341// NamedStylesSuggestionState: The suggestion state of a NamedStyles
3342// message.
3343type NamedStylesSuggestionState struct {
3344	// StylesSuggestionStates: A mask that indicates which of the fields on
3345	// the corresponding NamedStyle in styles have been changed in this
3346	// suggestion. The order of these named style suggestion states match
3347	// the order of the corresponding named style within the named styles
3348	// suggestion.
3349	StylesSuggestionStates []*NamedStyleSuggestionState `json:"stylesSuggestionStates,omitempty"`
3350
3351	// ForceSendFields is a list of field names (e.g.
3352	// "StylesSuggestionStates") to unconditionally include in API requests.
3353	// By default, fields with empty or default values are omitted from API
3354	// requests. However, any non-pointer, non-interface field appearing in
3355	// ForceSendFields will be sent to the server regardless of whether the
3356	// field is empty or not. This may be used to include empty fields in
3357	// Patch requests.
3358	ForceSendFields []string `json:"-"`
3359
3360	// NullFields is a list of field names (e.g. "StylesSuggestionStates")
3361	// to include in API requests with the JSON null value. By default,
3362	// fields with empty values are omitted from API requests. However, any
3363	// field with an empty value appearing in NullFields will be sent to the
3364	// server as null. It is an error if a field in this list has a
3365	// non-empty value. This may be used to include null fields in Patch
3366	// requests.
3367	NullFields []string `json:"-"`
3368}
3369
3370func (s *NamedStylesSuggestionState) MarshalJSON() ([]byte, error) {
3371	type NoMethod NamedStylesSuggestionState
3372	raw := NoMethod(*s)
3373	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3374}
3375
3376// NestingLevel: Contains properties describing the look and feel of a
3377// list bullet at a given level of nesting.
3378type NestingLevel struct {
3379	// BulletAlignment: The alignment of the bullet within the space
3380	// allotted for rendering the bullet.
3381	//
3382	// Possible values:
3383	//   "BULLET_ALIGNMENT_UNSPECIFIED" - The bullet alignment is
3384	// unspecified.
3385	//   "START" - The bullet is aligned to the start of the space allotted
3386	// for rendering the bullet. Left-aligned for LTR text, right-aligned
3387	// otherwise.
3388	//   "CENTER" - The bullet is aligned to the center of the space
3389	// allotted for rendering the bullet.
3390	//   "END" - The bullet is aligned to the end of the space allotted for
3391	// rendering the bullet. Right-aligned for LTR text, left-aligned
3392	// otherwise.
3393	BulletAlignment string `json:"bulletAlignment,omitempty"`
3394
3395	// GlyphFormat: The format string used by bullets at this level of
3396	// nesting. The glyph format contains one or more placeholders, and
3397	// these placeholder are replaced with the appropriate values depending
3398	// on the glyph_type or glyph_symbol. The placeholders follow the
3399	// pattern `%[nesting_level]`. Furthermore, placeholders can have
3400	// prefixes and suffixes. Thus, the glyph format follows the pattern
3401	// `%[nesting_level]`. Note that the prefix and suffix are optional and
3402	// can be arbitrary strings. For example, the glyph format `%0.`
3403	// indicates that the rendered glyph will replace the placeholder with
3404	// the corresponding glyph for nesting level 0 followed by a period as
3405	// the suffix. So a list with a glyph type of UPPER_ALPHA and glyph
3406	// format `%0.` at nesting level 0 will result in a list with rendered
3407	// glyphs `A.` `B.` `C.` The glyph format can contain placeholders for
3408	// the current nesting level as well as placeholders for parent nesting
3409	// levels. For example, a list can have a glyph format of `%0.` at
3410	// nesting level 0 and a glyph format of `%0.%1.` at nesting level 1.
3411	// Assuming both nesting levels have DECIMAL glyph types, this would
3412	// result in a list with rendered glyphs `1.` `2.` ` 2.1.` ` 2.2.` `3.`
3413	// For nesting levels that are ordered, the string that replaces a
3414	// placeholder in the glyph format for a particular paragraph depends on
3415	// the paragraph's order within the list.
3416	GlyphFormat string `json:"glyphFormat,omitempty"`
3417
3418	// GlyphSymbol: A custom glyph symbol used by bullets when paragraphs at
3419	// this level of nesting are unordered. The glyph symbol replaces
3420	// placeholders within the glyph_format. For example, if the
3421	// glyph_symbol is the solid circle corresponding to Unicode U+25cf code
3422	// point and the glyph_format is `%0`, the rendered glyph would be the
3423	// solid circle.
3424	GlyphSymbol string `json:"glyphSymbol,omitempty"`
3425
3426	// GlyphType: The type of glyph used by bullets when paragraphs at this
3427	// level of nesting are ordered. The glyph type determines the type of
3428	// glyph used to replace placeholders within the glyph_format when
3429	// paragraphs at this level of nesting are ordered. For example, if the
3430	// nesting level is 0, the glyph_format is `%0.` and the glyph type is
3431	// DECIMAL, then the rendered glyph would replace the placeholder `%0`
3432	// in the glyph format with a number corresponding to list item's order
3433	// within the list.
3434	//
3435	// Possible values:
3436	//   "GLYPH_TYPE_UNSPECIFIED" - The glyph type is unspecified or
3437	// unsupported.
3438	//   "NONE" - An empty string.
3439	//   "DECIMAL" - A number, like `1`, `2`, or `3`.
3440	//   "ZERO_DECIMAL" - A number where single digit numbers are prefixed
3441	// with a zero, like `01`, `02`, or `03`. Numbers with more than one
3442	// digit are not prefixed with a zero.
3443	//   "UPPER_ALPHA" - An uppercase letter, like `A`, `B`, or `C`.
3444	//   "ALPHA" - A lowercase letter, like `a`, `b`, or `c`.
3445	//   "UPPER_ROMAN" - An uppercase Roman numeral, like `I`, `II`, or
3446	// `III`.
3447	//   "ROMAN" - A lowercase Roman numeral, like `i`, `ii`, or `iii`.
3448	GlyphType string `json:"glyphType,omitempty"`
3449
3450	// IndentFirstLine: The amount of indentation for the first line of
3451	// paragraphs at this level of nesting.
3452	IndentFirstLine *Dimension `json:"indentFirstLine,omitempty"`
3453
3454	// IndentStart: The amount of indentation for paragraphs at this level
3455	// of nesting. Applied to the side that corresponds to the start of the
3456	// text, based on the paragraph's content direction.
3457	IndentStart *Dimension `json:"indentStart,omitempty"`
3458
3459	// StartNumber: The number of the first list item at this nesting level.
3460	// A value of 0 is treated as a value of 1 for lettered lists and roman
3461	// numeraled lists, i.e. for values of both 0 and 1, lettered and roman
3462	// numeraled lists will begin at `a` and `i` respectively. This value is
3463	// ignored for nesting levels with unordered glyphs.
3464	StartNumber int64 `json:"startNumber,omitempty"`
3465
3466	// TextStyle: The text style of bullets at this level of nesting.
3467	TextStyle *TextStyle `json:"textStyle,omitempty"`
3468
3469	// ForceSendFields is a list of field names (e.g. "BulletAlignment") to
3470	// unconditionally include in API requests. By default, fields with
3471	// empty or default values are omitted from API requests. However, any
3472	// non-pointer, non-interface field appearing in ForceSendFields will be
3473	// sent to the server regardless of whether the field is empty or not.
3474	// This may be used to include empty fields in Patch requests.
3475	ForceSendFields []string `json:"-"`
3476
3477	// NullFields is a list of field names (e.g. "BulletAlignment") to
3478	// include in API requests with the JSON null value. By default, fields
3479	// with empty values are omitted from API requests. However, any field
3480	// with an empty value appearing in NullFields will be sent to the
3481	// server as null. It is an error if a field in this list has a
3482	// non-empty value. This may be used to include null fields in Patch
3483	// requests.
3484	NullFields []string `json:"-"`
3485}
3486
3487func (s *NestingLevel) MarshalJSON() ([]byte, error) {
3488	type NoMethod NestingLevel
3489	raw := NoMethod(*s)
3490	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3491}
3492
3493// NestingLevelSuggestionState: A mask that indicates which of the
3494// fields on the base NestingLevel have been changed in this suggestion.
3495// For any field set to true, there is a new suggested value.
3496type NestingLevelSuggestionState struct {
3497	// BulletAlignmentSuggested: Indicates if there was a suggested change
3498	// to bullet_alignment.
3499	BulletAlignmentSuggested bool `json:"bulletAlignmentSuggested,omitempty"`
3500
3501	// GlyphFormatSuggested: Indicates if there was a suggested change to
3502	// glyph_format.
3503	GlyphFormatSuggested bool `json:"glyphFormatSuggested,omitempty"`
3504
3505	// GlyphSymbolSuggested: Indicates if there was a suggested change to
3506	// glyph_symbol.
3507	GlyphSymbolSuggested bool `json:"glyphSymbolSuggested,omitempty"`
3508
3509	// GlyphTypeSuggested: Indicates if there was a suggested change to
3510	// glyph_type.
3511	GlyphTypeSuggested bool `json:"glyphTypeSuggested,omitempty"`
3512
3513	// IndentFirstLineSuggested: Indicates if there was a suggested change
3514	// to indent_first_line.
3515	IndentFirstLineSuggested bool `json:"indentFirstLineSuggested,omitempty"`
3516
3517	// IndentStartSuggested: Indicates if there was a suggested change to
3518	// indent_start.
3519	IndentStartSuggested bool `json:"indentStartSuggested,omitempty"`
3520
3521	// StartNumberSuggested: Indicates if there was a suggested change to
3522	// start_number.
3523	StartNumberSuggested bool `json:"startNumberSuggested,omitempty"`
3524
3525	// TextStyleSuggestionState: A mask that indicates which of the fields
3526	// in text style have been changed in this suggestion.
3527	TextStyleSuggestionState *TextStyleSuggestionState `json:"textStyleSuggestionState,omitempty"`
3528
3529	// ForceSendFields is a list of field names (e.g.
3530	// "BulletAlignmentSuggested") to unconditionally include in API
3531	// requests. By default, fields with empty or default values are omitted
3532	// from API requests. However, any non-pointer, non-interface field
3533	// appearing in ForceSendFields will be sent to the server regardless of
3534	// whether the field is empty or not. This may be used to include empty
3535	// fields in Patch requests.
3536	ForceSendFields []string `json:"-"`
3537
3538	// NullFields is a list of field names (e.g. "BulletAlignmentSuggested")
3539	// to include in API requests with the JSON null value. By default,
3540	// fields with empty values are omitted from API requests. However, any
3541	// field with an empty value appearing in NullFields will be sent to the
3542	// server as null. It is an error if a field in this list has a
3543	// non-empty value. This may be used to include null fields in Patch
3544	// requests.
3545	NullFields []string `json:"-"`
3546}
3547
3548func (s *NestingLevelSuggestionState) MarshalJSON() ([]byte, error) {
3549	type NoMethod NestingLevelSuggestionState
3550	raw := NoMethod(*s)
3551	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3552}
3553
3554// ObjectReferences: A collection of object IDs.
3555type ObjectReferences struct {
3556	// ObjectIds: The object IDs.
3557	ObjectIds []string `json:"objectIds,omitempty"`
3558
3559	// ForceSendFields is a list of field names (e.g. "ObjectIds") to
3560	// unconditionally include in API requests. By default, fields with
3561	// empty or default values are omitted from API requests. However, any
3562	// non-pointer, non-interface field appearing in ForceSendFields will be
3563	// sent to the server regardless of whether the field is empty or not.
3564	// This may be used to include empty fields in Patch requests.
3565	ForceSendFields []string `json:"-"`
3566
3567	// NullFields is a list of field names (e.g. "ObjectIds") to include in
3568	// API requests with the JSON null value. By default, fields with empty
3569	// values are omitted from API requests. However, any field with an
3570	// empty value appearing in NullFields will be sent to the server as
3571	// null. It is an error if a field in this list has a non-empty value.
3572	// This may be used to include null fields in Patch requests.
3573	NullFields []string `json:"-"`
3574}
3575
3576func (s *ObjectReferences) MarshalJSON() ([]byte, error) {
3577	type NoMethod ObjectReferences
3578	raw := NoMethod(*s)
3579	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3580}
3581
3582// OptionalColor: A color that can either be fully opaque or fully
3583// transparent.
3584type OptionalColor struct {
3585	// Color: If set, this will be used as an opaque color. If unset, this
3586	// represents a transparent color.
3587	Color *Color `json:"color,omitempty"`
3588
3589	// ForceSendFields is a list of field names (e.g. "Color") to
3590	// unconditionally include in API requests. By default, fields with
3591	// empty or default values are omitted from API requests. However, any
3592	// non-pointer, non-interface field appearing in ForceSendFields will be
3593	// sent to the server regardless of whether the field is empty or not.
3594	// This may be used to include empty fields in Patch requests.
3595	ForceSendFields []string `json:"-"`
3596
3597	// NullFields is a list of field names (e.g. "Color") to include in API
3598	// requests with the JSON null value. By default, fields with empty
3599	// values are omitted from API requests. However, any field with an
3600	// empty value appearing in NullFields will be sent to the server as
3601	// null. It is an error if a field in this list has a non-empty value.
3602	// This may be used to include null fields in Patch requests.
3603	NullFields []string `json:"-"`
3604}
3605
3606func (s *OptionalColor) MarshalJSON() ([]byte, error) {
3607	type NoMethod OptionalColor
3608	raw := NoMethod(*s)
3609	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3610}
3611
3612// PageBreak: A ParagraphElement representing a page break. A page break
3613// makes the subsequent text start at the top of the next page.
3614type PageBreak struct {
3615	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
3616	// there are no suggested deletions of this content.
3617	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
3618
3619	// SuggestedInsertionIds: The suggested insertion IDs. A PageBreak may
3620	// have multiple insertion IDs if it is a nested suggested change. If
3621	// empty, then this is not a suggested insertion.
3622	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
3623
3624	// SuggestedTextStyleChanges: The suggested text style changes to this
3625	// PageBreak, keyed by suggestion ID.
3626	SuggestedTextStyleChanges map[string]SuggestedTextStyle `json:"suggestedTextStyleChanges,omitempty"`
3627
3628	// TextStyle: The text style of this PageBreak. Similar to text content,
3629	// like text runs and footnote references, the text style of a page
3630	// break can affect content layout as well as the styling of text
3631	// inserted adjacent to it.
3632	TextStyle *TextStyle `json:"textStyle,omitempty"`
3633
3634	// ForceSendFields is a list of field names (e.g.
3635	// "SuggestedDeletionIds") to unconditionally include in API requests.
3636	// By default, fields with empty or default values are omitted from API
3637	// requests. However, any non-pointer, non-interface field appearing in
3638	// ForceSendFields will be sent to the server regardless of whether the
3639	// field is empty or not. This may be used to include empty fields in
3640	// Patch requests.
3641	ForceSendFields []string `json:"-"`
3642
3643	// NullFields is a list of field names (e.g. "SuggestedDeletionIds") to
3644	// include in API requests with the JSON null value. By default, fields
3645	// with empty values are omitted from API requests. However, any field
3646	// with an empty value appearing in NullFields will be sent to the
3647	// server as null. It is an error if a field in this list has a
3648	// non-empty value. This may be used to include null fields in Patch
3649	// requests.
3650	NullFields []string `json:"-"`
3651}
3652
3653func (s *PageBreak) MarshalJSON() ([]byte, error) {
3654	type NoMethod PageBreak
3655	raw := NoMethod(*s)
3656	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3657}
3658
3659// Paragraph: A StructuralElement representing a paragraph. A paragraph
3660// is a range of content that is terminated with a newline character.
3661type Paragraph struct {
3662	// Bullet: The bullet for this paragraph. If not present, the paragraph
3663	// does not belong to a list.
3664	Bullet *Bullet `json:"bullet,omitempty"`
3665
3666	// Elements: The content of the paragraph broken down into its component
3667	// parts.
3668	Elements []*ParagraphElement `json:"elements,omitempty"`
3669
3670	// ParagraphStyle: The style of this paragraph.
3671	ParagraphStyle *ParagraphStyle `json:"paragraphStyle,omitempty"`
3672
3673	// PositionedObjectIds: The IDs of the positioned objects tethered to
3674	// this paragraph.
3675	PositionedObjectIds []string `json:"positionedObjectIds,omitempty"`
3676
3677	// SuggestedBulletChanges: The suggested changes to this paragraph's
3678	// bullet.
3679	SuggestedBulletChanges map[string]SuggestedBullet `json:"suggestedBulletChanges,omitempty"`
3680
3681	// SuggestedParagraphStyleChanges: The suggested paragraph style changes
3682	// to this paragraph, keyed by suggestion ID.
3683	SuggestedParagraphStyleChanges map[string]SuggestedParagraphStyle `json:"suggestedParagraphStyleChanges,omitempty"`
3684
3685	// SuggestedPositionedObjectIds: The IDs of the positioned objects that
3686	// are suggested to be attached to this paragraph, keyed by suggestion
3687	// ID.
3688	SuggestedPositionedObjectIds map[string]ObjectReferences `json:"suggestedPositionedObjectIds,omitempty"`
3689
3690	// ForceSendFields is a list of field names (e.g. "Bullet") to
3691	// unconditionally include in API requests. By default, fields with
3692	// empty or default values are omitted from API requests. However, any
3693	// non-pointer, non-interface field appearing in ForceSendFields will be
3694	// sent to the server regardless of whether the field is empty or not.
3695	// This may be used to include empty fields in Patch requests.
3696	ForceSendFields []string `json:"-"`
3697
3698	// NullFields is a list of field names (e.g. "Bullet") to include in API
3699	// requests with the JSON null value. By default, fields with empty
3700	// values are omitted from API requests. However, any field with an
3701	// empty value appearing in NullFields will be sent to the server as
3702	// null. It is an error if a field in this list has a non-empty value.
3703	// This may be used to include null fields in Patch requests.
3704	NullFields []string `json:"-"`
3705}
3706
3707func (s *Paragraph) MarshalJSON() ([]byte, error) {
3708	type NoMethod Paragraph
3709	raw := NoMethod(*s)
3710	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3711}
3712
3713// ParagraphBorder: A border around a paragraph.
3714type ParagraphBorder struct {
3715	// Color: The color of the border.
3716	Color *OptionalColor `json:"color,omitempty"`
3717
3718	// DashStyle: The dash style of the border.
3719	//
3720	// Possible values:
3721	//   "DASH_STYLE_UNSPECIFIED" - Unspecified dash style.
3722	//   "SOLID" - Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal
3723	// value 'solid'. This is the default dash style.
3724	//   "DOT" - Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal
3725	// value 'dot'.
3726	//   "DASH" - Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal
3727	// value 'dash'.
3728	DashStyle string `json:"dashStyle,omitempty"`
3729
3730	// Padding: The padding of the border.
3731	Padding *Dimension `json:"padding,omitempty"`
3732
3733	// Width: The width of the border.
3734	Width *Dimension `json:"width,omitempty"`
3735
3736	// ForceSendFields is a list of field names (e.g. "Color") to
3737	// unconditionally include in API requests. By default, fields with
3738	// empty or default values are omitted from API requests. However, any
3739	// non-pointer, non-interface field appearing in ForceSendFields will be
3740	// sent to the server regardless of whether the field is empty or not.
3741	// This may be used to include empty fields in Patch requests.
3742	ForceSendFields []string `json:"-"`
3743
3744	// NullFields is a list of field names (e.g. "Color") to include in API
3745	// requests with the JSON null value. By default, fields with empty
3746	// values are omitted from API requests. However, any field with an
3747	// empty value appearing in NullFields will be sent to the server as
3748	// null. It is an error if a field in this list has a non-empty value.
3749	// This may be used to include null fields in Patch requests.
3750	NullFields []string `json:"-"`
3751}
3752
3753func (s *ParagraphBorder) MarshalJSON() ([]byte, error) {
3754	type NoMethod ParagraphBorder
3755	raw := NoMethod(*s)
3756	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3757}
3758
3759// ParagraphElement: A ParagraphElement describes content within a
3760// Paragraph.
3761type ParagraphElement struct {
3762	// AutoText: An auto text paragraph element.
3763	AutoText *AutoText `json:"autoText,omitempty"`
3764
3765	// ColumnBreak: A column break paragraph element.
3766	ColumnBreak *ColumnBreak `json:"columnBreak,omitempty"`
3767
3768	// EndIndex: The zero-base end index of this paragraph element,
3769	// exclusive, in UTF-16 code units.
3770	EndIndex int64 `json:"endIndex,omitempty"`
3771
3772	// Equation: An equation paragraph element.
3773	Equation *Equation `json:"equation,omitempty"`
3774
3775	// FootnoteReference: A footnote reference paragraph element.
3776	FootnoteReference *FootnoteReference `json:"footnoteReference,omitempty"`
3777
3778	// HorizontalRule: A horizontal rule paragraph element.
3779	HorizontalRule *HorizontalRule `json:"horizontalRule,omitempty"`
3780
3781	// InlineObjectElement: An inline object paragraph element.
3782	InlineObjectElement *InlineObjectElement `json:"inlineObjectElement,omitempty"`
3783
3784	// PageBreak: A page break paragraph element.
3785	PageBreak *PageBreak `json:"pageBreak,omitempty"`
3786
3787	// Person: A paragraph element that links to a person or email address.
3788	Person *Person `json:"person,omitempty"`
3789
3790	// RichLink: A paragraph element that links to a Google resource (such
3791	// as a file in Drive, a Youtube video, a Calendar event, etc.)
3792	RichLink *RichLink `json:"richLink,omitempty"`
3793
3794	// StartIndex: The zero-based start index of this paragraph element, in
3795	// UTF-16 code units.
3796	StartIndex int64 `json:"startIndex,omitempty"`
3797
3798	// TextRun: A text run paragraph element.
3799	TextRun *TextRun `json:"textRun,omitempty"`
3800
3801	// ForceSendFields is a list of field names (e.g. "AutoText") to
3802	// unconditionally include in API requests. By default, fields with
3803	// empty or default values are omitted from API requests. However, any
3804	// non-pointer, non-interface field appearing in ForceSendFields will be
3805	// sent to the server regardless of whether the field is empty or not.
3806	// This may be used to include empty fields in Patch requests.
3807	ForceSendFields []string `json:"-"`
3808
3809	// NullFields is a list of field names (e.g. "AutoText") to include in
3810	// API requests with the JSON null value. By default, fields with empty
3811	// values are omitted from API requests. However, any field with an
3812	// empty value appearing in NullFields will be sent to the server as
3813	// null. It is an error if a field in this list has a non-empty value.
3814	// This may be used to include null fields in Patch requests.
3815	NullFields []string `json:"-"`
3816}
3817
3818func (s *ParagraphElement) MarshalJSON() ([]byte, error) {
3819	type NoMethod ParagraphElement
3820	raw := NoMethod(*s)
3821	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3822}
3823
3824// ParagraphStyle: Styles that apply to a whole paragraph. Inherited
3825// paragraph styles are represented as unset fields in this message. A
3826// paragraph style's parent depends on where the paragraph style is
3827// defined: * The ParagraphStyle on a Paragraph inherits from the
3828// paragraph's corresponding named style type. * The ParagraphStyle on a
3829// named style inherits from the normal text named style. * The
3830// ParagraphStyle of the normal text named style inherits from the
3831// default paragraph style in the Docs editor. * The ParagraphStyle on a
3832// Paragraph element that is contained in a table may inherit its
3833// paragraph style from the table style. If the paragraph style does not
3834// inherit from a parent, unsetting fields will revert the style to a
3835// value matching the defaults in the Docs editor.
3836type ParagraphStyle struct {
3837	// Alignment: The text alignment for this paragraph.
3838	//
3839	// Possible values:
3840	//   "ALIGNMENT_UNSPECIFIED" - The paragraph alignment is inherited from
3841	// the parent.
3842	//   "START" - The paragraph is aligned to the start of the line.
3843	// Left-aligned for LTR text, right-aligned otherwise.
3844	//   "CENTER" - The paragraph is centered.
3845	//   "END" - The paragraph is aligned to the end of the line.
3846	// Right-aligned for LTR text, left-aligned otherwise.
3847	//   "JUSTIFIED" - The paragraph is justified.
3848	Alignment string `json:"alignment,omitempty"`
3849
3850	// AvoidWidowAndOrphan: Whether to avoid widows and orphans for the
3851	// paragraph. If unset, the value is inherited from the parent.
3852	AvoidWidowAndOrphan bool `json:"avoidWidowAndOrphan,omitempty"`
3853
3854	// BorderBetween: The border between this paragraph and the next and
3855	// previous paragraphs. If unset, the value is inherited from the
3856	// parent. The between border is rendered when the adjacent paragraph
3857	// has the same border and indent properties. Paragraph borders cannot
3858	// be partially updated. When making changes to a paragraph border the
3859	// new border must be specified in its entirety.
3860	BorderBetween *ParagraphBorder `json:"borderBetween,omitempty"`
3861
3862	// BorderBottom: The border at the bottom of this paragraph. If unset,
3863	// the value is inherited from the parent. The bottom border is rendered
3864	// when the paragraph below has different border and indent properties.
3865	// Paragraph borders cannot be partially updated. When making changes to
3866	// a paragraph border the new border must be specified in its entirety.
3867	BorderBottom *ParagraphBorder `json:"borderBottom,omitempty"`
3868
3869	// BorderLeft: The border to the left of this paragraph. If unset, the
3870	// value is inherited from the parent. Paragraph borders cannot be
3871	// partially updated. When making changes to a paragraph border the new
3872	// border must be specified in its entirety.
3873	BorderLeft *ParagraphBorder `json:"borderLeft,omitempty"`
3874
3875	// BorderRight: The border to the right of this paragraph. If unset, the
3876	// value is inherited from the parent. Paragraph borders cannot be
3877	// partially updated. When making changes to a paragraph border the new
3878	// border must be specified in its entirety.
3879	BorderRight *ParagraphBorder `json:"borderRight,omitempty"`
3880
3881	// BorderTop: The border at the top of this paragraph. If unset, the
3882	// value is inherited from the parent. The top border is rendered when
3883	// the paragraph above has different border and indent properties.
3884	// Paragraph borders cannot be partially updated. When making changes to
3885	// a paragraph border the new border must be specified in its entirety.
3886	BorderTop *ParagraphBorder `json:"borderTop,omitempty"`
3887
3888	// Direction: The text direction of this paragraph. If unset, the value
3889	// defaults to LEFT_TO_RIGHT since paragraph direction is not inherited.
3890	//
3891	// Possible values:
3892	//   "CONTENT_DIRECTION_UNSPECIFIED" - The content direction is
3893	// unspecified.
3894	//   "LEFT_TO_RIGHT" - The content goes from left to right.
3895	//   "RIGHT_TO_LEFT" - The content goes from right to left.
3896	Direction string `json:"direction,omitempty"`
3897
3898	// HeadingId: The heading ID of the paragraph. If empty, then this
3899	// paragraph is not a heading. This property is read-only.
3900	HeadingId string `json:"headingId,omitempty"`
3901
3902	// IndentEnd: The amount of indentation for the paragraph on the side
3903	// that corresponds to the end of the text, based on the current
3904	// paragraph direction. If unset, the value is inherited from the
3905	// parent.
3906	IndentEnd *Dimension `json:"indentEnd,omitempty"`
3907
3908	// IndentFirstLine: The amount of indentation for the first line of the
3909	// paragraph. If unset, the value is inherited from the parent.
3910	IndentFirstLine *Dimension `json:"indentFirstLine,omitempty"`
3911
3912	// IndentStart: The amount of indentation for the paragraph on the side
3913	// that corresponds to the start of the text, based on the current
3914	// paragraph direction. If unset, the value is inherited from the
3915	// parent.
3916	IndentStart *Dimension `json:"indentStart,omitempty"`
3917
3918	// KeepLinesTogether: Whether all lines of the paragraph should be laid
3919	// out on the same page or column if possible. If unset, the value is
3920	// inherited from the parent.
3921	KeepLinesTogether bool `json:"keepLinesTogether,omitempty"`
3922
3923	// KeepWithNext: Whether at least a part of this paragraph should be
3924	// laid out on the same page or column as the next paragraph if
3925	// possible. If unset, the value is inherited from the parent.
3926	KeepWithNext bool `json:"keepWithNext,omitempty"`
3927
3928	// LineSpacing: The amount of space between lines, as a percentage of
3929	// normal, where normal is represented as 100.0. If unset, the value is
3930	// inherited from the parent.
3931	LineSpacing float64 `json:"lineSpacing,omitempty"`
3932
3933	// NamedStyleType: The named style type of the paragraph. Since updating
3934	// the named style type affects other properties within ParagraphStyle,
3935	// the named style type is applied before the other properties are
3936	// updated.
3937	//
3938	// Possible values:
3939	//   "NAMED_STYLE_TYPE_UNSPECIFIED" - The type of named style is
3940	// unspecified.
3941	//   "NORMAL_TEXT" - Normal text.
3942	//   "TITLE" - Title.
3943	//   "SUBTITLE" - Subtitle.
3944	//   "HEADING_1" - Heading 1.
3945	//   "HEADING_2" - Heading 2.
3946	//   "HEADING_3" - Heading 3.
3947	//   "HEADING_4" - Heading 4.
3948	//   "HEADING_5" - Heading 5.
3949	//   "HEADING_6" - Heading 6.
3950	NamedStyleType string `json:"namedStyleType,omitempty"`
3951
3952	// Shading: The shading of the paragraph. If unset, the value is
3953	// inherited from the parent.
3954	Shading *Shading `json:"shading,omitempty"`
3955
3956	// SpaceAbove: The amount of extra space above the paragraph. If unset,
3957	// the value is inherited from the parent.
3958	SpaceAbove *Dimension `json:"spaceAbove,omitempty"`
3959
3960	// SpaceBelow: The amount of extra space below the paragraph. If unset,
3961	// the value is inherited from the parent.
3962	SpaceBelow *Dimension `json:"spaceBelow,omitempty"`
3963
3964	// SpacingMode: The spacing mode for the paragraph.
3965	//
3966	// Possible values:
3967	//   "SPACING_MODE_UNSPECIFIED" - The spacing mode is inherited from the
3968	// parent.
3969	//   "NEVER_COLLAPSE" - Paragraph spacing is always rendered.
3970	//   "COLLAPSE_LISTS" - Paragraph spacing is skipped between list
3971	// elements.
3972	SpacingMode string `json:"spacingMode,omitempty"`
3973
3974	// TabStops: A list of the tab stops for this paragraph. The list of tab
3975	// stops is not inherited. This property is read-only.
3976	TabStops []*TabStop `json:"tabStops,omitempty"`
3977
3978	// ForceSendFields is a list of field names (e.g. "Alignment") to
3979	// unconditionally include in API requests. By default, fields with
3980	// empty or default values are omitted from API requests. However, any
3981	// non-pointer, non-interface field appearing in ForceSendFields will be
3982	// sent to the server regardless of whether the field is empty or not.
3983	// This may be used to include empty fields in Patch requests.
3984	ForceSendFields []string `json:"-"`
3985
3986	// NullFields is a list of field names (e.g. "Alignment") to include in
3987	// API requests with the JSON null value. By default, fields with empty
3988	// values are omitted from API requests. However, any field with an
3989	// empty value appearing in NullFields will be sent to the server as
3990	// null. It is an error if a field in this list has a non-empty value.
3991	// This may be used to include null fields in Patch requests.
3992	NullFields []string `json:"-"`
3993}
3994
3995func (s *ParagraphStyle) MarshalJSON() ([]byte, error) {
3996	type NoMethod ParagraphStyle
3997	raw := NoMethod(*s)
3998	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3999}
4000
4001func (s *ParagraphStyle) UnmarshalJSON(data []byte) error {
4002	type NoMethod ParagraphStyle
4003	var s1 struct {
4004		LineSpacing gensupport.JSONFloat64 `json:"lineSpacing"`
4005		*NoMethod
4006	}
4007	s1.NoMethod = (*NoMethod)(s)
4008	if err := json.Unmarshal(data, &s1); err != nil {
4009		return err
4010	}
4011	s.LineSpacing = float64(s1.LineSpacing)
4012	return nil
4013}
4014
4015// ParagraphStyleSuggestionState: A mask that indicates which of the
4016// fields on the base ParagraphStyle have been changed in this
4017// suggestion. For any field set to true, there is a new suggested
4018// value.
4019type ParagraphStyleSuggestionState struct {
4020	// AlignmentSuggested: Indicates if there was a suggested change to
4021	// alignment.
4022	AlignmentSuggested bool `json:"alignmentSuggested,omitempty"`
4023
4024	// AvoidWidowAndOrphanSuggested: Indicates if there was a suggested
4025	// change to avoid_widow_and_orphan.
4026	AvoidWidowAndOrphanSuggested bool `json:"avoidWidowAndOrphanSuggested,omitempty"`
4027
4028	// BorderBetweenSuggested: Indicates if there was a suggested change to
4029	// border_between.
4030	BorderBetweenSuggested bool `json:"borderBetweenSuggested,omitempty"`
4031
4032	// BorderBottomSuggested: Indicates if there was a suggested change to
4033	// border_bottom.
4034	BorderBottomSuggested bool `json:"borderBottomSuggested,omitempty"`
4035
4036	// BorderLeftSuggested: Indicates if there was a suggested change to
4037	// border_left.
4038	BorderLeftSuggested bool `json:"borderLeftSuggested,omitempty"`
4039
4040	// BorderRightSuggested: Indicates if there was a suggested change to
4041	// border_right.
4042	BorderRightSuggested bool `json:"borderRightSuggested,omitempty"`
4043
4044	// BorderTopSuggested: Indicates if there was a suggested change to
4045	// border_top.
4046	BorderTopSuggested bool `json:"borderTopSuggested,omitempty"`
4047
4048	// DirectionSuggested: Indicates if there was a suggested change to
4049	// direction.
4050	DirectionSuggested bool `json:"directionSuggested,omitempty"`
4051
4052	// HeadingIdSuggested: Indicates if there was a suggested change to
4053	// heading_id.
4054	HeadingIdSuggested bool `json:"headingIdSuggested,omitempty"`
4055
4056	// IndentEndSuggested: Indicates if there was a suggested change to
4057	// indent_end.
4058	IndentEndSuggested bool `json:"indentEndSuggested,omitempty"`
4059
4060	// IndentFirstLineSuggested: Indicates if there was a suggested change
4061	// to indent_first_line.
4062	IndentFirstLineSuggested bool `json:"indentFirstLineSuggested,omitempty"`
4063
4064	// IndentStartSuggested: Indicates if there was a suggested change to
4065	// indent_start.
4066	IndentStartSuggested bool `json:"indentStartSuggested,omitempty"`
4067
4068	// KeepLinesTogetherSuggested: Indicates if there was a suggested change
4069	// to keep_lines_together.
4070	KeepLinesTogetherSuggested bool `json:"keepLinesTogetherSuggested,omitempty"`
4071
4072	// KeepWithNextSuggested: Indicates if there was a suggested change to
4073	// keep_with_next.
4074	KeepWithNextSuggested bool `json:"keepWithNextSuggested,omitempty"`
4075
4076	// LineSpacingSuggested: Indicates if there was a suggested change to
4077	// line_spacing.
4078	LineSpacingSuggested bool `json:"lineSpacingSuggested,omitempty"`
4079
4080	// NamedStyleTypeSuggested: Indicates if there was a suggested change to
4081	// named_style_type.
4082	NamedStyleTypeSuggested bool `json:"namedStyleTypeSuggested,omitempty"`
4083
4084	// ShadingSuggestionState: A mask that indicates which of the fields in
4085	// shading have been changed in this suggestion.
4086	ShadingSuggestionState *ShadingSuggestionState `json:"shadingSuggestionState,omitempty"`
4087
4088	// SpaceAboveSuggested: Indicates if there was a suggested change to
4089	// space_above.
4090	SpaceAboveSuggested bool `json:"spaceAboveSuggested,omitempty"`
4091
4092	// SpaceBelowSuggested: Indicates if there was a suggested change to
4093	// space_below.
4094	SpaceBelowSuggested bool `json:"spaceBelowSuggested,omitempty"`
4095
4096	// SpacingModeSuggested: Indicates if there was a suggested change to
4097	// spacing_mode.
4098	SpacingModeSuggested bool `json:"spacingModeSuggested,omitempty"`
4099
4100	// ForceSendFields is a list of field names (e.g. "AlignmentSuggested")
4101	// to unconditionally include in API requests. By default, fields with
4102	// empty or default values are omitted from API requests. However, any
4103	// non-pointer, non-interface field appearing in ForceSendFields will be
4104	// sent to the server regardless of whether the field is empty or not.
4105	// This may be used to include empty fields in Patch requests.
4106	ForceSendFields []string `json:"-"`
4107
4108	// NullFields is a list of field names (e.g. "AlignmentSuggested") to
4109	// include in API requests with the JSON null value. By default, fields
4110	// with empty values are omitted from API requests. However, any field
4111	// with an empty value appearing in NullFields will be sent to the
4112	// server as null. It is an error if a field in this list has a
4113	// non-empty value. This may be used to include null fields in Patch
4114	// requests.
4115	NullFields []string `json:"-"`
4116}
4117
4118func (s *ParagraphStyleSuggestionState) MarshalJSON() ([]byte, error) {
4119	type NoMethod ParagraphStyleSuggestionState
4120	raw := NoMethod(*s)
4121	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4122}
4123
4124// Person: A person or email address mentioned in a document. These
4125// mentions behave as a single, immutable element containing the
4126// person's name or email address.
4127type Person struct {
4128	// PersonId: Output only. The unique ID of this link.
4129	PersonId string `json:"personId,omitempty"`
4130
4131	// PersonProperties: Output only. The properties of this Person. This
4132	// field is always present.
4133	PersonProperties *PersonProperties `json:"personProperties,omitempty"`
4134
4135	// SuggestedDeletionIds: IDs for suggestions that remove this person
4136	// link from the document. A Person might have multiple deletion IDs if,
4137	// for example, multiple users suggest to delete it. If empty, then this
4138	// person link isn't suggested for deletion.
4139	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
4140
4141	// SuggestedInsertionIds: IDs for suggestions that insert this person
4142	// link into the document. A Person might have multiple insertion IDs if
4143	// it is a nested suggested change (a suggestion within a suggestion
4144	// made by a different user, for example). If empty, then this person
4145	// link isn't a suggested insertion.
4146	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
4147
4148	// SuggestedTextStyleChanges: The suggested text style changes to this
4149	// Person, keyed by suggestion ID.
4150	SuggestedTextStyleChanges map[string]SuggestedTextStyle `json:"suggestedTextStyleChanges,omitempty"`
4151
4152	// TextStyle: The text style of this Person.
4153	TextStyle *TextStyle `json:"textStyle,omitempty"`
4154
4155	// ForceSendFields is a list of field names (e.g. "PersonId") to
4156	// unconditionally include in API requests. By default, fields with
4157	// empty or default values are omitted from API requests. However, any
4158	// non-pointer, non-interface field appearing in ForceSendFields will be
4159	// sent to the server regardless of whether the field is empty or not.
4160	// This may be used to include empty fields in Patch requests.
4161	ForceSendFields []string `json:"-"`
4162
4163	// NullFields is a list of field names (e.g. "PersonId") to include in
4164	// API requests with the JSON null value. By default, fields with empty
4165	// values are omitted from API requests. However, any field with an
4166	// empty value appearing in NullFields will be sent to the server as
4167	// null. It is an error if a field in this list has a non-empty value.
4168	// This may be used to include null fields in Patch requests.
4169	NullFields []string `json:"-"`
4170}
4171
4172func (s *Person) MarshalJSON() ([]byte, error) {
4173	type NoMethod Person
4174	raw := NoMethod(*s)
4175	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4176}
4177
4178// PersonProperties: Properties specific to a linked Person.
4179type PersonProperties struct {
4180	// Email: Output only. The email address linked to this Person. This
4181	// field is always present.
4182	Email string `json:"email,omitempty"`
4183
4184	// Name: Output only. The name of the person if it is displayed in the
4185	// link text instead of the person's email address.
4186	Name string `json:"name,omitempty"`
4187
4188	// ForceSendFields is a list of field names (e.g. "Email") to
4189	// unconditionally include in API requests. By default, fields with
4190	// empty or default values are omitted from API requests. However, any
4191	// non-pointer, non-interface field appearing in ForceSendFields will be
4192	// sent to the server regardless of whether the field is empty or not.
4193	// This may be used to include empty fields in Patch requests.
4194	ForceSendFields []string `json:"-"`
4195
4196	// NullFields is a list of field names (e.g. "Email") to include in API
4197	// requests with the JSON null value. By default, fields with empty
4198	// values are omitted from API requests. However, any field with an
4199	// empty value appearing in NullFields will be sent to the server as
4200	// null. It is an error if a field in this list has a non-empty value.
4201	// This may be used to include null fields in Patch requests.
4202	NullFields []string `json:"-"`
4203}
4204
4205func (s *PersonProperties) MarshalJSON() ([]byte, error) {
4206	type NoMethod PersonProperties
4207	raw := NoMethod(*s)
4208	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4209}
4210
4211// PositionedObject: An object that is tethered to a Paragraph and
4212// positioned relative to the beginning of the paragraph. A
4213// PositionedObject contains an EmbeddedObject such as an image.
4214type PositionedObject struct {
4215	// ObjectId: The ID of this positioned object.
4216	ObjectId string `json:"objectId,omitempty"`
4217
4218	// PositionedObjectProperties: The properties of this positioned object.
4219	PositionedObjectProperties *PositionedObjectProperties `json:"positionedObjectProperties,omitempty"`
4220
4221	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
4222	// there are no suggested deletions of this content.
4223	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
4224
4225	// SuggestedInsertionId: The suggested insertion ID. If empty, then this
4226	// is not a suggested insertion.
4227	SuggestedInsertionId string `json:"suggestedInsertionId,omitempty"`
4228
4229	// SuggestedPositionedObjectPropertiesChanges: The suggested changes to
4230	// the positioned object properties, keyed by suggestion ID.
4231	SuggestedPositionedObjectPropertiesChanges map[string]SuggestedPositionedObjectProperties `json:"suggestedPositionedObjectPropertiesChanges,omitempty"`
4232
4233	// ForceSendFields is a list of field names (e.g. "ObjectId") to
4234	// unconditionally include in API requests. By default, fields with
4235	// empty or default values are omitted from API requests. However, any
4236	// non-pointer, non-interface field appearing in ForceSendFields will be
4237	// sent to the server regardless of whether the field is empty or not.
4238	// This may be used to include empty fields in Patch requests.
4239	ForceSendFields []string `json:"-"`
4240
4241	// NullFields is a list of field names (e.g. "ObjectId") to include in
4242	// API requests with the JSON null value. By default, fields with empty
4243	// values are omitted from API requests. However, any field with an
4244	// empty value appearing in NullFields will be sent to the server as
4245	// null. It is an error if a field in this list has a non-empty value.
4246	// This may be used to include null fields in Patch requests.
4247	NullFields []string `json:"-"`
4248}
4249
4250func (s *PositionedObject) MarshalJSON() ([]byte, error) {
4251	type NoMethod PositionedObject
4252	raw := NoMethod(*s)
4253	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4254}
4255
4256// PositionedObjectPositioning: The positioning of a PositionedObject.
4257// The positioned object is positioned relative to the beginning of the
4258// Paragraph it is tethered to.
4259type PositionedObjectPositioning struct {
4260	// Layout: The layout of this positioned object.
4261	//
4262	// Possible values:
4263	//   "POSITIONED_OBJECT_LAYOUT_UNSPECIFIED" - The layout is unspecified.
4264	//   "WRAP_TEXT" - The text wraps around the positioned object.
4265	//   "BREAK_LEFT" - Breaks text such that the positioned object is on
4266	// the left and text is on the right.
4267	//   "BREAK_RIGHT" - Breaks text such that the positioned object is on
4268	// the right and text is on the left.
4269	//   "BREAK_LEFT_RIGHT" - Breaks text such that there is no text on the
4270	// left or right of the positioned object.
4271	//   "IN_FRONT_OF_TEXT" - The positioned object is in front of the text.
4272	//   "BEHIND_TEXT" - The positioned object is behind the text.
4273	Layout string `json:"layout,omitempty"`
4274
4275	// LeftOffset: The offset of the left edge of the positioned object
4276	// relative to the beginning of the Paragraph it is tethered to. The
4277	// exact positioning of the object can depend on other content in the
4278	// document and the document's styling.
4279	LeftOffset *Dimension `json:"leftOffset,omitempty"`
4280
4281	// TopOffset: The offset of the top edge of the positioned object
4282	// relative to the beginning of the Paragraph it is tethered to. The
4283	// exact positioning of the object can depend on other content in the
4284	// document and the document's styling.
4285	TopOffset *Dimension `json:"topOffset,omitempty"`
4286
4287	// ForceSendFields is a list of field names (e.g. "Layout") to
4288	// unconditionally include in API requests. By default, fields with
4289	// empty or default values are omitted from API requests. However, any
4290	// non-pointer, non-interface field appearing in ForceSendFields will be
4291	// sent to the server regardless of whether the field is empty or not.
4292	// This may be used to include empty fields in Patch requests.
4293	ForceSendFields []string `json:"-"`
4294
4295	// NullFields is a list of field names (e.g. "Layout") to include in API
4296	// requests with the JSON null value. By default, fields with empty
4297	// values are omitted from API requests. However, any field with an
4298	// empty value appearing in NullFields will be sent to the server as
4299	// null. It is an error if a field in this list has a non-empty value.
4300	// This may be used to include null fields in Patch requests.
4301	NullFields []string `json:"-"`
4302}
4303
4304func (s *PositionedObjectPositioning) MarshalJSON() ([]byte, error) {
4305	type NoMethod PositionedObjectPositioning
4306	raw := NoMethod(*s)
4307	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4308}
4309
4310// PositionedObjectPositioningSuggestionState: A mask that indicates
4311// which of the fields on the base PositionedObjectPositioning have been
4312// changed in this suggestion. For any field set to true, there is a new
4313// suggested value.
4314type PositionedObjectPositioningSuggestionState struct {
4315	// LayoutSuggested: Indicates if there was a suggested change to layout.
4316	LayoutSuggested bool `json:"layoutSuggested,omitempty"`
4317
4318	// LeftOffsetSuggested: Indicates if there was a suggested change to
4319	// left_offset.
4320	LeftOffsetSuggested bool `json:"leftOffsetSuggested,omitempty"`
4321
4322	// TopOffsetSuggested: Indicates if there was a suggested change to
4323	// top_offset.
4324	TopOffsetSuggested bool `json:"topOffsetSuggested,omitempty"`
4325
4326	// ForceSendFields is a list of field names (e.g. "LayoutSuggested") to
4327	// unconditionally include in API requests. By default, fields with
4328	// empty or default values are omitted from API requests. However, any
4329	// non-pointer, non-interface field appearing in ForceSendFields will be
4330	// sent to the server regardless of whether the field is empty or not.
4331	// This may be used to include empty fields in Patch requests.
4332	ForceSendFields []string `json:"-"`
4333
4334	// NullFields is a list of field names (e.g. "LayoutSuggested") to
4335	// include in API requests with the JSON null value. By default, fields
4336	// with empty values are omitted from API requests. However, any field
4337	// with an empty value appearing in NullFields will be sent to the
4338	// server as null. It is an error if a field in this list has a
4339	// non-empty value. This may be used to include null fields in Patch
4340	// requests.
4341	NullFields []string `json:"-"`
4342}
4343
4344func (s *PositionedObjectPositioningSuggestionState) MarshalJSON() ([]byte, error) {
4345	type NoMethod PositionedObjectPositioningSuggestionState
4346	raw := NoMethod(*s)
4347	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4348}
4349
4350// PositionedObjectProperties: Properties of a PositionedObject.
4351type PositionedObjectProperties struct {
4352	// EmbeddedObject: The embedded object of this positioned object.
4353	EmbeddedObject *EmbeddedObject `json:"embeddedObject,omitempty"`
4354
4355	// Positioning: The positioning of this positioned object relative to
4356	// the newline of the Paragraph that references this positioned object.
4357	Positioning *PositionedObjectPositioning `json:"positioning,omitempty"`
4358
4359	// ForceSendFields is a list of field names (e.g. "EmbeddedObject") to
4360	// unconditionally include in API requests. By default, fields with
4361	// empty or default values are omitted from API requests. However, any
4362	// non-pointer, non-interface field appearing in ForceSendFields will be
4363	// sent to the server regardless of whether the field is empty or not.
4364	// This may be used to include empty fields in Patch requests.
4365	ForceSendFields []string `json:"-"`
4366
4367	// NullFields is a list of field names (e.g. "EmbeddedObject") to
4368	// include in API requests with the JSON null value. By default, fields
4369	// with empty values are omitted from API requests. However, any field
4370	// with an empty value appearing in NullFields will be sent to the
4371	// server as null. It is an error if a field in this list has a
4372	// non-empty value. This may be used to include null fields in Patch
4373	// requests.
4374	NullFields []string `json:"-"`
4375}
4376
4377func (s *PositionedObjectProperties) MarshalJSON() ([]byte, error) {
4378	type NoMethod PositionedObjectProperties
4379	raw := NoMethod(*s)
4380	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4381}
4382
4383// PositionedObjectPropertiesSuggestionState: A mask that indicates
4384// which of the fields on the base PositionedObjectProperties have been
4385// changed in this suggestion. For any field set to true, there is a new
4386// suggested value.
4387type PositionedObjectPropertiesSuggestionState struct {
4388	// EmbeddedObjectSuggestionState: A mask that indicates which of the
4389	// fields in embedded_object have been changed in this suggestion.
4390	EmbeddedObjectSuggestionState *EmbeddedObjectSuggestionState `json:"embeddedObjectSuggestionState,omitempty"`
4391
4392	// PositioningSuggestionState: A mask that indicates which of the fields
4393	// in positioning have been changed in this suggestion.
4394	PositioningSuggestionState *PositionedObjectPositioningSuggestionState `json:"positioningSuggestionState,omitempty"`
4395
4396	// ForceSendFields is a list of field names (e.g.
4397	// "EmbeddedObjectSuggestionState") to unconditionally include in API
4398	// requests. By default, fields with empty or default values are omitted
4399	// from API requests. However, any non-pointer, non-interface field
4400	// appearing in ForceSendFields will be sent to the server regardless of
4401	// whether the field is empty or not. This may be used to include empty
4402	// fields in Patch requests.
4403	ForceSendFields []string `json:"-"`
4404
4405	// NullFields is a list of field names (e.g.
4406	// "EmbeddedObjectSuggestionState") to include in API requests with the
4407	// JSON null value. By default, fields with empty values are omitted
4408	// from API requests. However, any field with an empty value appearing
4409	// in NullFields will be sent to the server as null. It is an error if a
4410	// field in this list has a non-empty value. This may be used to include
4411	// null fields in Patch requests.
4412	NullFields []string `json:"-"`
4413}
4414
4415func (s *PositionedObjectPropertiesSuggestionState) MarshalJSON() ([]byte, error) {
4416	type NoMethod PositionedObjectPropertiesSuggestionState
4417	raw := NoMethod(*s)
4418	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4419}
4420
4421// Range: Specifies a contiguous range of text.
4422type Range struct {
4423	// EndIndex: The zero-based end index of this range, exclusive, in
4424	// UTF-16 code units. In all current uses, an end index must be
4425	// provided. This field is an Int32Value in order to accommodate future
4426	// use cases with open-ended ranges.
4427	EndIndex int64 `json:"endIndex,omitempty"`
4428
4429	// SegmentId: The ID of the header, footer or footnote that this range
4430	// is contained in. An empty segment ID signifies the document's body.
4431	SegmentId string `json:"segmentId,omitempty"`
4432
4433	// StartIndex: The zero-based start index of this range, in UTF-16 code
4434	// units. In all current uses, a start index must be provided. This
4435	// field is an Int32Value in order to accommodate future use cases with
4436	// open-ended ranges.
4437	StartIndex int64 `json:"startIndex,omitempty"`
4438
4439	// ForceSendFields is a list of field names (e.g. "EndIndex") to
4440	// unconditionally include in API requests. By default, fields with
4441	// empty or default values are omitted from API requests. However, any
4442	// non-pointer, non-interface field appearing in ForceSendFields will be
4443	// sent to the server regardless of whether the field is empty or not.
4444	// This may be used to include empty fields in Patch requests.
4445	ForceSendFields []string `json:"-"`
4446
4447	// NullFields is a list of field names (e.g. "EndIndex") to include in
4448	// API requests with the JSON null value. By default, fields with empty
4449	// values are omitted from API requests. However, any field with an
4450	// empty value appearing in NullFields will be sent to the server as
4451	// null. It is an error if a field in this list has a non-empty value.
4452	// This may be used to include null fields in Patch requests.
4453	NullFields []string `json:"-"`
4454}
4455
4456func (s *Range) MarshalJSON() ([]byte, error) {
4457	type NoMethod Range
4458	raw := NoMethod(*s)
4459	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4460}
4461
4462// ReplaceAllTextRequest: Replaces all instances of text matching a
4463// criteria with replace text.
4464type ReplaceAllTextRequest struct {
4465	// ContainsText: Finds text in the document matching this substring.
4466	ContainsText *SubstringMatchCriteria `json:"containsText,omitempty"`
4467
4468	// ReplaceText: The text that will replace the matched text.
4469	ReplaceText string `json:"replaceText,omitempty"`
4470
4471	// ForceSendFields is a list of field names (e.g. "ContainsText") to
4472	// unconditionally include in API requests. By default, fields with
4473	// empty or default values are omitted from API requests. However, any
4474	// non-pointer, non-interface field appearing in ForceSendFields will be
4475	// sent to the server regardless of whether the field is empty or not.
4476	// This may be used to include empty fields in Patch requests.
4477	ForceSendFields []string `json:"-"`
4478
4479	// NullFields is a list of field names (e.g. "ContainsText") to include
4480	// in API requests with the JSON null value. By default, fields with
4481	// empty values are omitted from API requests. However, any field with
4482	// an empty value appearing in NullFields will be sent to the server as
4483	// null. It is an error if a field in this list has a non-empty value.
4484	// This may be used to include null fields in Patch requests.
4485	NullFields []string `json:"-"`
4486}
4487
4488func (s *ReplaceAllTextRequest) MarshalJSON() ([]byte, error) {
4489	type NoMethod ReplaceAllTextRequest
4490	raw := NoMethod(*s)
4491	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4492}
4493
4494// ReplaceAllTextResponse: The result of replacing text.
4495type ReplaceAllTextResponse struct {
4496	// OccurrencesChanged: The number of occurrences changed by replacing
4497	// all text.
4498	OccurrencesChanged int64 `json:"occurrencesChanged,omitempty"`
4499
4500	// ForceSendFields is a list of field names (e.g. "OccurrencesChanged")
4501	// to unconditionally include in API requests. By default, fields with
4502	// empty or default values are omitted from API requests. However, any
4503	// non-pointer, non-interface field appearing in ForceSendFields will be
4504	// sent to the server regardless of whether the field is empty or not.
4505	// This may be used to include empty fields in Patch requests.
4506	ForceSendFields []string `json:"-"`
4507
4508	// NullFields is a list of field names (e.g. "OccurrencesChanged") to
4509	// include in API requests with the JSON null value. By default, fields
4510	// with empty values are omitted from API requests. However, any field
4511	// with an empty value appearing in NullFields will be sent to the
4512	// server as null. It is an error if a field in this list has a
4513	// non-empty value. This may be used to include null fields in Patch
4514	// requests.
4515	NullFields []string `json:"-"`
4516}
4517
4518func (s *ReplaceAllTextResponse) MarshalJSON() ([]byte, error) {
4519	type NoMethod ReplaceAllTextResponse
4520	raw := NoMethod(*s)
4521	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4522}
4523
4524// ReplaceImageRequest: Replaces an existing image with a new image.
4525// Replacing an image removes some image effects from the existing image
4526// in order to mirror the behavior of the Docs editor.
4527type ReplaceImageRequest struct {
4528	// ImageObjectId: The ID of the existing image that will be replaced.
4529	ImageObjectId string `json:"imageObjectId,omitempty"`
4530
4531	// ImageReplaceMethod: The replacement method.
4532	//
4533	// Possible values:
4534	//   "IMAGE_REPLACE_METHOD_UNSPECIFIED" - Unspecified image replace
4535	// method. This value must not be used.
4536	//   "CENTER_CROP" - Scales and centers the image to fill the bounds of
4537	// the original image. The image may be cropped in order to fill the
4538	// original image's bounds. The rendered size of the image will be the
4539	// same as that of the original image.
4540	ImageReplaceMethod string `json:"imageReplaceMethod,omitempty"`
4541
4542	// Uri: The URI of the new image. The image is fetched once at insertion
4543	// time and a copy is stored for display inside the document. Images
4544	// must be less than 50MB in size, cannot exceed 25 megapixels, and must
4545	// be in one of PNG, JPEG, or GIF format. The provided URI can be at
4546	// most 2 kB in length. The URI itself is saved with the image, and
4547	// exposed via the ImageProperties.source_uri field.
4548	Uri string `json:"uri,omitempty"`
4549
4550	// ForceSendFields is a list of field names (e.g. "ImageObjectId") to
4551	// unconditionally include in API requests. By default, fields with
4552	// empty or default values are omitted from API requests. However, any
4553	// non-pointer, non-interface field appearing in ForceSendFields will be
4554	// sent to the server regardless of whether the field is empty or not.
4555	// This may be used to include empty fields in Patch requests.
4556	ForceSendFields []string `json:"-"`
4557
4558	// NullFields is a list of field names (e.g. "ImageObjectId") to include
4559	// in API requests with the JSON null value. By default, fields with
4560	// empty values are omitted from API requests. However, any field with
4561	// an empty value appearing in NullFields will be sent to the server as
4562	// null. It is an error if a field in this list has a non-empty value.
4563	// This may be used to include null fields in Patch requests.
4564	NullFields []string `json:"-"`
4565}
4566
4567func (s *ReplaceImageRequest) MarshalJSON() ([]byte, error) {
4568	type NoMethod ReplaceImageRequest
4569	raw := NoMethod(*s)
4570	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4571}
4572
4573// ReplaceNamedRangeContentRequest: Replaces the contents of the
4574// specified NamedRange or NamedRanges with the given replacement
4575// content. Note that an individual NamedRange may consist of multiple
4576// discontinuous ranges. In this case, only the content in the first
4577// range will be replaced. The other ranges and their content will be
4578// deleted. In cases where replacing or deleting any ranges would result
4579// in an invalid document structure, a 400 bad request error is
4580// returned.
4581type ReplaceNamedRangeContentRequest struct {
4582	// NamedRangeId: The ID of the named range whose content will be
4583	// replaced. If there is no named range with the given ID a 400 bad
4584	// request error is returned.
4585	NamedRangeId string `json:"namedRangeId,omitempty"`
4586
4587	// NamedRangeName: The name of the NamedRanges whose content will be
4588	// replaced. If there are multiple named ranges with the given name,
4589	// then the content of each one will be replaced. If there are no named
4590	// ranges with the given name, then the request will be a no-op.
4591	NamedRangeName string `json:"namedRangeName,omitempty"`
4592
4593	// Text: Replaces the content of the specified named range(s) with the
4594	// given text.
4595	Text string `json:"text,omitempty"`
4596
4597	// ForceSendFields is a list of field names (e.g. "NamedRangeId") to
4598	// unconditionally include in API requests. By default, fields with
4599	// empty or default values are omitted from API requests. However, any
4600	// non-pointer, non-interface field appearing in ForceSendFields will be
4601	// sent to the server regardless of whether the field is empty or not.
4602	// This may be used to include empty fields in Patch requests.
4603	ForceSendFields []string `json:"-"`
4604
4605	// NullFields is a list of field names (e.g. "NamedRangeId") to include
4606	// in API requests with the JSON null value. By default, fields with
4607	// empty values are omitted from API requests. However, any field with
4608	// an empty value appearing in NullFields will be sent to the server as
4609	// null. It is an error if a field in this list has a non-empty value.
4610	// This may be used to include null fields in Patch requests.
4611	NullFields []string `json:"-"`
4612}
4613
4614func (s *ReplaceNamedRangeContentRequest) MarshalJSON() ([]byte, error) {
4615	type NoMethod ReplaceNamedRangeContentRequest
4616	raw := NoMethod(*s)
4617	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4618}
4619
4620// Request: A single update to apply to a document.
4621type Request struct {
4622	// CreateFooter: Creates a footer.
4623	CreateFooter *CreateFooterRequest `json:"createFooter,omitempty"`
4624
4625	// CreateFootnote: Creates a footnote.
4626	CreateFootnote *CreateFootnoteRequest `json:"createFootnote,omitempty"`
4627
4628	// CreateHeader: Creates a header.
4629	CreateHeader *CreateHeaderRequest `json:"createHeader,omitempty"`
4630
4631	// CreateNamedRange: Creates a named range.
4632	CreateNamedRange *CreateNamedRangeRequest `json:"createNamedRange,omitempty"`
4633
4634	// CreateParagraphBullets: Creates bullets for paragraphs.
4635	CreateParagraphBullets *CreateParagraphBulletsRequest `json:"createParagraphBullets,omitempty"`
4636
4637	// DeleteContentRange: Deletes content from the document.
4638	DeleteContentRange *DeleteContentRangeRequest `json:"deleteContentRange,omitempty"`
4639
4640	// DeleteFooter: Deletes a footer from the document.
4641	DeleteFooter *DeleteFooterRequest `json:"deleteFooter,omitempty"`
4642
4643	// DeleteHeader: Deletes a header from the document.
4644	DeleteHeader *DeleteHeaderRequest `json:"deleteHeader,omitempty"`
4645
4646	// DeleteNamedRange: Deletes a named range.
4647	DeleteNamedRange *DeleteNamedRangeRequest `json:"deleteNamedRange,omitempty"`
4648
4649	// DeleteParagraphBullets: Deletes bullets from paragraphs.
4650	DeleteParagraphBullets *DeleteParagraphBulletsRequest `json:"deleteParagraphBullets,omitempty"`
4651
4652	// DeletePositionedObject: Deletes a positioned object from the
4653	// document.
4654	DeletePositionedObject *DeletePositionedObjectRequest `json:"deletePositionedObject,omitempty"`
4655
4656	// DeleteTableColumn: Deletes a column from a table.
4657	DeleteTableColumn *DeleteTableColumnRequest `json:"deleteTableColumn,omitempty"`
4658
4659	// DeleteTableRow: Deletes a row from a table.
4660	DeleteTableRow *DeleteTableRowRequest `json:"deleteTableRow,omitempty"`
4661
4662	// InsertInlineImage: Inserts an inline image at the specified location.
4663	InsertInlineImage *InsertInlineImageRequest `json:"insertInlineImage,omitempty"`
4664
4665	// InsertPageBreak: Inserts a page break at the specified location.
4666	InsertPageBreak *InsertPageBreakRequest `json:"insertPageBreak,omitempty"`
4667
4668	// InsertSectionBreak: Inserts a section break at the specified
4669	// location.
4670	InsertSectionBreak *InsertSectionBreakRequest `json:"insertSectionBreak,omitempty"`
4671
4672	// InsertTable: Inserts a table at the specified location.
4673	InsertTable *InsertTableRequest `json:"insertTable,omitempty"`
4674
4675	// InsertTableColumn: Inserts an empty column into a table.
4676	InsertTableColumn *InsertTableColumnRequest `json:"insertTableColumn,omitempty"`
4677
4678	// InsertTableRow: Inserts an empty row into a table.
4679	InsertTableRow *InsertTableRowRequest `json:"insertTableRow,omitempty"`
4680
4681	// InsertText: Inserts text at the specified location.
4682	InsertText *InsertTextRequest `json:"insertText,omitempty"`
4683
4684	// MergeTableCells: Merges cells in a table.
4685	MergeTableCells *MergeTableCellsRequest `json:"mergeTableCells,omitempty"`
4686
4687	// ReplaceAllText: Replaces all instances of the specified text.
4688	ReplaceAllText *ReplaceAllTextRequest `json:"replaceAllText,omitempty"`
4689
4690	// ReplaceImage: Replaces an image in the document.
4691	ReplaceImage *ReplaceImageRequest `json:"replaceImage,omitempty"`
4692
4693	// ReplaceNamedRangeContent: Replaces the content in a named range.
4694	ReplaceNamedRangeContent *ReplaceNamedRangeContentRequest `json:"replaceNamedRangeContent,omitempty"`
4695
4696	// UnmergeTableCells: Unmerges cells in a table.
4697	UnmergeTableCells *UnmergeTableCellsRequest `json:"unmergeTableCells,omitempty"`
4698
4699	// UpdateDocumentStyle: Updates the style of the document.
4700	UpdateDocumentStyle *UpdateDocumentStyleRequest `json:"updateDocumentStyle,omitempty"`
4701
4702	// UpdateParagraphStyle: Updates the paragraph style at the specified
4703	// range.
4704	UpdateParagraphStyle *UpdateParagraphStyleRequest `json:"updateParagraphStyle,omitempty"`
4705
4706	// UpdateSectionStyle: Updates the section style of the specified range.
4707	UpdateSectionStyle *UpdateSectionStyleRequest `json:"updateSectionStyle,omitempty"`
4708
4709	// UpdateTableCellStyle: Updates the style of table cells.
4710	UpdateTableCellStyle *UpdateTableCellStyleRequest `json:"updateTableCellStyle,omitempty"`
4711
4712	// UpdateTableColumnProperties: Updates the properties of columns in a
4713	// table.
4714	UpdateTableColumnProperties *UpdateTableColumnPropertiesRequest `json:"updateTableColumnProperties,omitempty"`
4715
4716	// UpdateTableRowStyle: Updates the row style in a table.
4717	UpdateTableRowStyle *UpdateTableRowStyleRequest `json:"updateTableRowStyle,omitempty"`
4718
4719	// UpdateTextStyle: Updates the text style at the specified range.
4720	UpdateTextStyle *UpdateTextStyleRequest `json:"updateTextStyle,omitempty"`
4721
4722	// ForceSendFields is a list of field names (e.g. "CreateFooter") to
4723	// unconditionally include in API requests. By default, fields with
4724	// empty or default values are omitted from API requests. However, any
4725	// non-pointer, non-interface field appearing in ForceSendFields will be
4726	// sent to the server regardless of whether the field is empty or not.
4727	// This may be used to include empty fields in Patch requests.
4728	ForceSendFields []string `json:"-"`
4729
4730	// NullFields is a list of field names (e.g. "CreateFooter") to include
4731	// in API requests with the JSON null value. By default, fields with
4732	// empty values are omitted from API requests. However, any field with
4733	// an empty value appearing in NullFields will be sent to the server as
4734	// null. It is an error if a field in this list has a non-empty value.
4735	// This may be used to include null fields in Patch requests.
4736	NullFields []string `json:"-"`
4737}
4738
4739func (s *Request) MarshalJSON() ([]byte, error) {
4740	type NoMethod Request
4741	raw := NoMethod(*s)
4742	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4743}
4744
4745// Response: A single response from an update.
4746type Response struct {
4747	// CreateFooter: The result of creating a footer.
4748	CreateFooter *CreateFooterResponse `json:"createFooter,omitempty"`
4749
4750	// CreateFootnote: The result of creating a footnote.
4751	CreateFootnote *CreateFootnoteResponse `json:"createFootnote,omitempty"`
4752
4753	// CreateHeader: The result of creating a header.
4754	CreateHeader *CreateHeaderResponse `json:"createHeader,omitempty"`
4755
4756	// CreateNamedRange: The result of creating a named range.
4757	CreateNamedRange *CreateNamedRangeResponse `json:"createNamedRange,omitempty"`
4758
4759	// InsertInlineImage: The result of inserting an inline image.
4760	InsertInlineImage *InsertInlineImageResponse `json:"insertInlineImage,omitempty"`
4761
4762	// InsertInlineSheetsChart: The result of inserting an inline Google
4763	// Sheets chart.
4764	InsertInlineSheetsChart *InsertInlineSheetsChartResponse `json:"insertInlineSheetsChart,omitempty"`
4765
4766	// ReplaceAllText: The result of replacing text.
4767	ReplaceAllText *ReplaceAllTextResponse `json:"replaceAllText,omitempty"`
4768
4769	// ForceSendFields is a list of field names (e.g. "CreateFooter") to
4770	// unconditionally include in API requests. By default, fields with
4771	// empty or default values are omitted from API requests. However, any
4772	// non-pointer, non-interface field appearing in ForceSendFields will be
4773	// sent to the server regardless of whether the field is empty or not.
4774	// This may be used to include empty fields in Patch requests.
4775	ForceSendFields []string `json:"-"`
4776
4777	// NullFields is a list of field names (e.g. "CreateFooter") to include
4778	// in API requests with the JSON null value. By default, fields with
4779	// empty values are omitted from API requests. However, any field with
4780	// an empty value appearing in NullFields will be sent to the server as
4781	// null. It is an error if a field in this list has a non-empty value.
4782	// This may be used to include null fields in Patch requests.
4783	NullFields []string `json:"-"`
4784}
4785
4786func (s *Response) MarshalJSON() ([]byte, error) {
4787	type NoMethod Response
4788	raw := NoMethod(*s)
4789	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4790}
4791
4792// RgbColor: An RGB color.
4793type RgbColor struct {
4794	// Blue: The blue component of the color, from 0.0 to 1.0.
4795	Blue float64 `json:"blue,omitempty"`
4796
4797	// Green: The green component of the color, from 0.0 to 1.0.
4798	Green float64 `json:"green,omitempty"`
4799
4800	// Red: The red component of the color, from 0.0 to 1.0.
4801	Red float64 `json:"red,omitempty"`
4802
4803	// ForceSendFields is a list of field names (e.g. "Blue") to
4804	// unconditionally include in API requests. By default, fields with
4805	// empty or default values are omitted from API requests. However, any
4806	// non-pointer, non-interface field appearing in ForceSendFields will be
4807	// sent to the server regardless of whether the field is empty or not.
4808	// This may be used to include empty fields in Patch requests.
4809	ForceSendFields []string `json:"-"`
4810
4811	// NullFields is a list of field names (e.g. "Blue") to include in API
4812	// requests with the JSON null value. By default, fields with empty
4813	// values are omitted from API requests. However, any field with an
4814	// empty value appearing in NullFields will be sent to the server as
4815	// null. It is an error if a field in this list has a non-empty value.
4816	// This may be used to include null fields in Patch requests.
4817	NullFields []string `json:"-"`
4818}
4819
4820func (s *RgbColor) MarshalJSON() ([]byte, error) {
4821	type NoMethod RgbColor
4822	raw := NoMethod(*s)
4823	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4824}
4825
4826func (s *RgbColor) UnmarshalJSON(data []byte) error {
4827	type NoMethod RgbColor
4828	var s1 struct {
4829		Blue  gensupport.JSONFloat64 `json:"blue"`
4830		Green gensupport.JSONFloat64 `json:"green"`
4831		Red   gensupport.JSONFloat64 `json:"red"`
4832		*NoMethod
4833	}
4834	s1.NoMethod = (*NoMethod)(s)
4835	if err := json.Unmarshal(data, &s1); err != nil {
4836		return err
4837	}
4838	s.Blue = float64(s1.Blue)
4839	s.Green = float64(s1.Green)
4840	s.Red = float64(s1.Red)
4841	return nil
4842}
4843
4844// RichLink: A link to a Google resource (e.g., a file in Drive, a
4845// YouTube video, a Calendar event, etc.).
4846type RichLink struct {
4847	// RichLinkId: Output only. The ID of this link.
4848	RichLinkId string `json:"richLinkId,omitempty"`
4849
4850	// RichLinkProperties: Output only. The properties of this RichLink.
4851	// This field is always present.
4852	RichLinkProperties *RichLinkProperties `json:"richLinkProperties,omitempty"`
4853
4854	// SuggestedDeletionIds: IDs for suggestions that remove this link from
4855	// the document. A RichLink might have multiple deletion IDs if, for
4856	// example, multiple users suggest to delete it. If empty, then this
4857	// person link isn't suggested for deletion.
4858	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
4859
4860	// SuggestedInsertionIds: IDs for suggestions that insert this link into
4861	// the document. A RichLink might have multiple insertion IDs if it is a
4862	// nested suggested change (a suggestion within a suggestion made by a
4863	// different user, for example). If empty, then this person link isn't a
4864	// suggested insertion.
4865	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
4866
4867	// SuggestedTextStyleChanges: The suggested text style changes to this
4868	// RichLink, keyed by suggestion ID.
4869	SuggestedTextStyleChanges map[string]SuggestedTextStyle `json:"suggestedTextStyleChanges,omitempty"`
4870
4871	// TextStyle: The text style of this RichLink.
4872	TextStyle *TextStyle `json:"textStyle,omitempty"`
4873
4874	// ForceSendFields is a list of field names (e.g. "RichLinkId") to
4875	// unconditionally include in API requests. By default, fields with
4876	// empty or default values are omitted from API requests. However, any
4877	// non-pointer, non-interface field appearing in ForceSendFields will be
4878	// sent to the server regardless of whether the field is empty or not.
4879	// This may be used to include empty fields in Patch requests.
4880	ForceSendFields []string `json:"-"`
4881
4882	// NullFields is a list of field names (e.g. "RichLinkId") to include in
4883	// API requests with the JSON null value. By default, fields with empty
4884	// values are omitted from API requests. However, any field with an
4885	// empty value appearing in NullFields will be sent to the server as
4886	// null. It is an error if a field in this list has a non-empty value.
4887	// This may be used to include null fields in Patch requests.
4888	NullFields []string `json:"-"`
4889}
4890
4891func (s *RichLink) MarshalJSON() ([]byte, error) {
4892	type NoMethod RichLink
4893	raw := NoMethod(*s)
4894	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4895}
4896
4897// RichLinkProperties: Properties specific to a RichLink.
4898type RichLinkProperties struct {
4899	// MimeType: Output only. The MIME type
4900	// (https://developers.google.com/drive/api/v3/mime-types) of the
4901	// RichLink, if there is one (i.e., when it is a file in Drive).
4902	MimeType string `json:"mimeType,omitempty"`
4903
4904	// Title: Output only. The title of the RichLink as displayed in the
4905	// link. This title matches the title of the linked resource at the time
4906	// of the insertion or last update of the link. This field is always
4907	// present.
4908	Title string `json:"title,omitempty"`
4909
4910	// Uri: Output only. The URI to the RichLink. This is always present.
4911	Uri string `json:"uri,omitempty"`
4912
4913	// ForceSendFields is a list of field names (e.g. "MimeType") to
4914	// unconditionally include in API requests. By default, fields with
4915	// empty or default values are omitted from API requests. However, any
4916	// non-pointer, non-interface field appearing in ForceSendFields will be
4917	// sent to the server regardless of whether the field is empty or not.
4918	// This may be used to include empty fields in Patch requests.
4919	ForceSendFields []string `json:"-"`
4920
4921	// NullFields is a list of field names (e.g. "MimeType") to include in
4922	// API requests with the JSON null value. By default, fields with empty
4923	// values are omitted from API requests. However, any field with an
4924	// empty value appearing in NullFields will be sent to the server as
4925	// null. It is an error if a field in this list has a non-empty value.
4926	// This may be used to include null fields in Patch requests.
4927	NullFields []string `json:"-"`
4928}
4929
4930func (s *RichLinkProperties) MarshalJSON() ([]byte, error) {
4931	type NoMethod RichLinkProperties
4932	raw := NoMethod(*s)
4933	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4934}
4935
4936// SectionBreak: A StructuralElement representing a section break. A
4937// section is a range of content which has the same SectionStyle. A
4938// section break represents the start of a new section, and the section
4939// style applies to the section after the section break. The document
4940// body always begins with a section break.
4941type SectionBreak struct {
4942	// SectionStyle: The style of the section after this section break.
4943	SectionStyle *SectionStyle `json:"sectionStyle,omitempty"`
4944
4945	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
4946	// there are no suggested deletions of this content.
4947	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
4948
4949	// SuggestedInsertionIds: The suggested insertion IDs. A SectionBreak
4950	// may have multiple insertion IDs if it is a nested suggested change.
4951	// If empty, then this is not a suggested insertion.
4952	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
4953
4954	// ForceSendFields is a list of field names (e.g. "SectionStyle") to
4955	// unconditionally include in API requests. By default, fields with
4956	// empty or default values are omitted from API requests. However, any
4957	// non-pointer, non-interface field appearing in ForceSendFields will be
4958	// sent to the server regardless of whether the field is empty or not.
4959	// This may be used to include empty fields in Patch requests.
4960	ForceSendFields []string `json:"-"`
4961
4962	// NullFields is a list of field names (e.g. "SectionStyle") to include
4963	// in API requests with the JSON null value. By default, fields with
4964	// empty values are omitted from API requests. However, any field with
4965	// an empty value appearing in NullFields will be sent to the server as
4966	// null. It is an error if a field in this list has a non-empty value.
4967	// This may be used to include null fields in Patch requests.
4968	NullFields []string `json:"-"`
4969}
4970
4971func (s *SectionBreak) MarshalJSON() ([]byte, error) {
4972	type NoMethod SectionBreak
4973	raw := NoMethod(*s)
4974	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4975}
4976
4977// SectionColumnProperties: Properties that apply to a section's column.
4978type SectionColumnProperties struct {
4979	// PaddingEnd: The padding at the end of the column.
4980	PaddingEnd *Dimension `json:"paddingEnd,omitempty"`
4981
4982	// Width: Output only. The width of the column.
4983	Width *Dimension `json:"width,omitempty"`
4984
4985	// ForceSendFields is a list of field names (e.g. "PaddingEnd") to
4986	// unconditionally include in API requests. By default, fields with
4987	// empty or default values are omitted from API requests. However, any
4988	// non-pointer, non-interface field appearing in ForceSendFields will be
4989	// sent to the server regardless of whether the field is empty or not.
4990	// This may be used to include empty fields in Patch requests.
4991	ForceSendFields []string `json:"-"`
4992
4993	// NullFields is a list of field names (e.g. "PaddingEnd") to include in
4994	// API requests with the JSON null value. By default, fields with empty
4995	// values are omitted from API requests. However, any field with an
4996	// empty value appearing in NullFields will be sent to the server as
4997	// null. It is an error if a field in this list has a non-empty value.
4998	// This may be used to include null fields in Patch requests.
4999	NullFields []string `json:"-"`
5000}
5001
5002func (s *SectionColumnProperties) MarshalJSON() ([]byte, error) {
5003	type NoMethod SectionColumnProperties
5004	raw := NoMethod(*s)
5005	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5006}
5007
5008// SectionStyle: The styling that applies to a section.
5009type SectionStyle struct {
5010	// ColumnProperties: The section's columns properties. If empty, the
5011	// section contains one column with the default properties in the Docs
5012	// editor. A section can be updated to have no more than three columns.
5013	// When updating this property, setting a concrete value is required.
5014	// Unsetting this property will result in a 400 bad request error.
5015	ColumnProperties []*SectionColumnProperties `json:"columnProperties,omitempty"`
5016
5017	// ColumnSeparatorStyle: The style of column separators. This style can
5018	// be set even when there is one column in the section. When updating
5019	// this property, setting a concrete value is required. Unsetting this
5020	// property results in a 400 bad request error.
5021	//
5022	// Possible values:
5023	//   "COLUMN_SEPARATOR_STYLE_UNSPECIFIED" - An unspecified column
5024	// separator style.
5025	//   "NONE" - No column separator lines between columns.
5026	//   "BETWEEN_EACH_COLUMN" - Renders a column separator line between
5027	// each column.
5028	ColumnSeparatorStyle string `json:"columnSeparatorStyle,omitempty"`
5029
5030	// ContentDirection: The content direction of this section. If unset,
5031	// the value defaults to LEFT_TO_RIGHT. When updating this property,
5032	// setting a concrete value is required. Unsetting this property results
5033	// in a 400 bad request error.
5034	//
5035	// Possible values:
5036	//   "CONTENT_DIRECTION_UNSPECIFIED" - The content direction is
5037	// unspecified.
5038	//   "LEFT_TO_RIGHT" - The content goes from left to right.
5039	//   "RIGHT_TO_LEFT" - The content goes from right to left.
5040	ContentDirection string `json:"contentDirection,omitempty"`
5041
5042	// DefaultFooterId: The ID of the default footer. If unset, the value
5043	// inherits from the previous SectionBreak's SectionStyle. If the value
5044	// is unset in the first SectionBreak, it inherits from DocumentStyle's
5045	// default_footer_id. This property is read-only.
5046	DefaultFooterId string `json:"defaultFooterId,omitempty"`
5047
5048	// DefaultHeaderId: The ID of the default header. If unset, the value
5049	// inherits from the previous SectionBreak's SectionStyle. If the value
5050	// is unset in the first SectionBreak, it inherits from DocumentStyle's
5051	// default_header_id. This property is read-only.
5052	DefaultHeaderId string `json:"defaultHeaderId,omitempty"`
5053
5054	// EvenPageFooterId: The ID of the footer used only for even pages. If
5055	// the value of DocumentStyle's use_even_page_header_footer is true,
5056	// this value is used for the footers on even pages in the section. If
5057	// it is false, the footers on even pages uses the default_footer_id. If
5058	// unset, the value inherits from the previous SectionBreak's
5059	// SectionStyle. If the value is unset in the first SectionBreak, it
5060	// inherits from DocumentStyle's even_page_footer_id. This property is
5061	// read-only.
5062	EvenPageFooterId string `json:"evenPageFooterId,omitempty"`
5063
5064	// EvenPageHeaderId: The ID of the header used only for even pages. If
5065	// the value of DocumentStyle's use_even_page_header_footer is true,
5066	// this value is used for the headers on even pages in the section. If
5067	// it is false, the headers on even pages uses the default_header_id. If
5068	// unset, the value inherits from the previous SectionBreak's
5069	// SectionStyle. If the value is unset in the first SectionBreak, it
5070	// inherits from DocumentStyle's even_page_header_id. This property is
5071	// read-only.
5072	EvenPageHeaderId string `json:"evenPageHeaderId,omitempty"`
5073
5074	// FirstPageFooterId: The ID of the footer used only for the first page
5075	// of the section. If use_first_page_header_footer is true, this value
5076	// is used for the footer on the first page of the section. If it is
5077	// false, the footer on the first page of the section uses the
5078	// default_footer_id. If unset, the value inherits from the previous
5079	// SectionBreak's SectionStyle. If the value is unset in the first
5080	// SectionBreak, it inherits from DocumentStyle's first_page_footer_id.
5081	// This property is read-only.
5082	FirstPageFooterId string `json:"firstPageFooterId,omitempty"`
5083
5084	// FirstPageHeaderId: The ID of the header used only for the first page
5085	// of the section. If use_first_page_header_footer is true, this value
5086	// is used for the header on the first page of the section. If it is
5087	// false, the header on the first page of the section uses the
5088	// default_header_id. If unset, the value inherits from the previous
5089	// SectionBreak's SectionStyle. If the value is unset in the first
5090	// SectionBreak, it inherits from DocumentStyle's first_page_header_id.
5091	// This property is read-only.
5092	FirstPageHeaderId string `json:"firstPageHeaderId,omitempty"`
5093
5094	// MarginBottom: The bottom page margin of the section. If unset, uses
5095	// margin_bottom from DocumentStyle. When updating this property,
5096	// setting a concrete value is required. Unsetting this property results
5097	// in a 400 bad request error.
5098	MarginBottom *Dimension `json:"marginBottom,omitempty"`
5099
5100	// MarginFooter: The footer margin of the section. If unset, uses
5101	// margin_footer from DocumentStyle. If updated,
5102	// use_custom_header_footer_margins is set to true on DocumentStyle. The
5103	// value of use_custom_header_footer_margins on DocumentStyle indicates
5104	// if a footer margin is being respected for this section When updating
5105	// this property, setting a concrete value is required. Unsetting this
5106	// property results in a 400 bad request error.
5107	MarginFooter *Dimension `json:"marginFooter,omitempty"`
5108
5109	// MarginHeader: The header margin of the section. If unset, uses
5110	// margin_header from DocumentStyle. If updated,
5111	// use_custom_header_footer_margins is set to true on DocumentStyle. The
5112	// value of use_custom_header_footer_margins on DocumentStyle indicates
5113	// if a header margin is being respected for this section. When updating
5114	// this property, setting a concrete value is required. Unsetting this
5115	// property results in a 400 bad request error.
5116	MarginHeader *Dimension `json:"marginHeader,omitempty"`
5117
5118	// MarginLeft: The left page margin of the section. If unset, uses
5119	// margin_left from DocumentStyle. Updating left margin causes columns
5120	// in this section to resize. Since the margin affects column width, it
5121	// is applied before column properties. When updating this property,
5122	// setting a concrete value is required. Unsetting this property results
5123	// in a 400 bad request error.
5124	MarginLeft *Dimension `json:"marginLeft,omitempty"`
5125
5126	// MarginRight: The right page margin of the section. If unset, uses
5127	// margin_right from DocumentStyle. Updating right margin causes columns
5128	// in this section to resize. Since the margin affects column width, it
5129	// is applied before column properties. When updating this property,
5130	// setting a concrete value is required. Unsetting this property results
5131	// in a 400 bad request error.
5132	MarginRight *Dimension `json:"marginRight,omitempty"`
5133
5134	// MarginTop: The top page margin of the section. If unset, uses
5135	// margin_top from DocumentStyle. When updating this property, setting a
5136	// concrete value is required. Unsetting this property results in a 400
5137	// bad request error.
5138	MarginTop *Dimension `json:"marginTop,omitempty"`
5139
5140	// PageNumberStart: The page number from which to start counting the
5141	// number of pages for this section. If unset, page numbering continues
5142	// from the previous section. If the value is unset in the first
5143	// SectionBreak, refer to DocumentStyle's page_number_start. When
5144	// updating this property, setting a concrete value is required.
5145	// Unsetting this property results in a 400 bad request error.
5146	PageNumberStart int64 `json:"pageNumberStart,omitempty"`
5147
5148	// SectionType: Output only. The type of section.
5149	//
5150	// Possible values:
5151	//   "SECTION_TYPE_UNSPECIFIED" - The section type is unspecified.
5152	//   "CONTINUOUS" - The section starts immediately after the last
5153	// paragraph of the previous section.
5154	//   "NEXT_PAGE" - The section starts on the next page.
5155	SectionType string `json:"sectionType,omitempty"`
5156
5157	// UseFirstPageHeaderFooter: Indicates whether to use the first page
5158	// header / footer IDs for the first page of the section. If unset, it
5159	// inherits from DocumentStyle's use_first_page_header_footer for the
5160	// first section. If the value is unset for subsequent sectors, it
5161	// should be interpreted as false. When updating this property, setting
5162	// a concrete value is required. Unsetting this property results in a
5163	// 400 bad request error.
5164	UseFirstPageHeaderFooter bool `json:"useFirstPageHeaderFooter,omitempty"`
5165
5166	// ForceSendFields is a list of field names (e.g. "ColumnProperties") to
5167	// unconditionally include in API requests. By default, fields with
5168	// empty or default values are omitted from API requests. However, any
5169	// non-pointer, non-interface field appearing in ForceSendFields will be
5170	// sent to the server regardless of whether the field is empty or not.
5171	// This may be used to include empty fields in Patch requests.
5172	ForceSendFields []string `json:"-"`
5173
5174	// NullFields is a list of field names (e.g. "ColumnProperties") to
5175	// include in API requests with the JSON null value. By default, fields
5176	// with empty values are omitted from API requests. However, any field
5177	// with an empty value appearing in NullFields will be sent to the
5178	// server as null. It is an error if a field in this list has a
5179	// non-empty value. This may be used to include null fields in Patch
5180	// requests.
5181	NullFields []string `json:"-"`
5182}
5183
5184func (s *SectionStyle) MarshalJSON() ([]byte, error) {
5185	type NoMethod SectionStyle
5186	raw := NoMethod(*s)
5187	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5188}
5189
5190// Shading: The shading of a paragraph.
5191type Shading struct {
5192	// BackgroundColor: The background color of this paragraph shading.
5193	BackgroundColor *OptionalColor `json:"backgroundColor,omitempty"`
5194
5195	// ForceSendFields is a list of field names (e.g. "BackgroundColor") to
5196	// unconditionally include in API requests. By default, fields with
5197	// empty or default values are omitted from API requests. However, any
5198	// non-pointer, non-interface field appearing in ForceSendFields will be
5199	// sent to the server regardless of whether the field is empty or not.
5200	// This may be used to include empty fields in Patch requests.
5201	ForceSendFields []string `json:"-"`
5202
5203	// NullFields is a list of field names (e.g. "BackgroundColor") to
5204	// include in API requests with the JSON null value. By default, fields
5205	// with empty values are omitted from API requests. However, any field
5206	// with an empty value appearing in NullFields will be sent to the
5207	// server as null. It is an error if a field in this list has a
5208	// non-empty value. This may be used to include null fields in Patch
5209	// requests.
5210	NullFields []string `json:"-"`
5211}
5212
5213func (s *Shading) MarshalJSON() ([]byte, error) {
5214	type NoMethod Shading
5215	raw := NoMethod(*s)
5216	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5217}
5218
5219// ShadingSuggestionState: A mask that indicates which of the fields on
5220// the base Shading have been changed in this suggested change. For any
5221// field set to true, there is a new suggested value.
5222type ShadingSuggestionState struct {
5223	// BackgroundColorSuggested: Indicates if there was a suggested change
5224	// to the Shading.
5225	BackgroundColorSuggested bool `json:"backgroundColorSuggested,omitempty"`
5226
5227	// ForceSendFields is a list of field names (e.g.
5228	// "BackgroundColorSuggested") to unconditionally include in API
5229	// requests. By default, fields with empty or default values are omitted
5230	// from API requests. However, any non-pointer, non-interface field
5231	// appearing in ForceSendFields will be sent to the server regardless of
5232	// whether the field is empty or not. This may be used to include empty
5233	// fields in Patch requests.
5234	ForceSendFields []string `json:"-"`
5235
5236	// NullFields is a list of field names (e.g. "BackgroundColorSuggested")
5237	// to include in API requests with the JSON null value. By default,
5238	// fields with empty values are omitted from API requests. However, any
5239	// field with an empty value appearing in NullFields will be sent to the
5240	// server as null. It is an error if a field in this list has a
5241	// non-empty value. This may be used to include null fields in Patch
5242	// requests.
5243	NullFields []string `json:"-"`
5244}
5245
5246func (s *ShadingSuggestionState) MarshalJSON() ([]byte, error) {
5247	type NoMethod ShadingSuggestionState
5248	raw := NoMethod(*s)
5249	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5250}
5251
5252// SheetsChartReference: A reference to a linked chart embedded from
5253// Google Sheets.
5254type SheetsChartReference struct {
5255	// ChartId: The ID of the specific chart in the Google Sheets
5256	// spreadsheet that is embedded.
5257	ChartId int64 `json:"chartId,omitempty"`
5258
5259	// SpreadsheetId: The ID of the Google Sheets spreadsheet that contains
5260	// the source chart.
5261	SpreadsheetId string `json:"spreadsheetId,omitempty"`
5262
5263	// ForceSendFields is a list of field names (e.g. "ChartId") to
5264	// unconditionally include in API requests. By default, fields with
5265	// empty or default values are omitted from API requests. However, any
5266	// non-pointer, non-interface field appearing in ForceSendFields will be
5267	// sent to the server regardless of whether the field is empty or not.
5268	// This may be used to include empty fields in Patch requests.
5269	ForceSendFields []string `json:"-"`
5270
5271	// NullFields is a list of field names (e.g. "ChartId") to include in
5272	// API requests with the JSON null value. By default, fields with empty
5273	// values are omitted from API requests. However, any field with an
5274	// empty value appearing in NullFields will be sent to the server as
5275	// null. It is an error if a field in this list has a non-empty value.
5276	// This may be used to include null fields in Patch requests.
5277	NullFields []string `json:"-"`
5278}
5279
5280func (s *SheetsChartReference) MarshalJSON() ([]byte, error) {
5281	type NoMethod SheetsChartReference
5282	raw := NoMethod(*s)
5283	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5284}
5285
5286// SheetsChartReferenceSuggestionState: A mask that indicates which of
5287// the fields on the base SheetsChartReference have been changed in this
5288// suggestion. For any field set to true, there is a new suggested
5289// value.
5290type SheetsChartReferenceSuggestionState struct {
5291	// ChartIdSuggested: Indicates if there was a suggested change to
5292	// chart_id.
5293	ChartIdSuggested bool `json:"chartIdSuggested,omitempty"`
5294
5295	// SpreadsheetIdSuggested: Indicates if there was a suggested change to
5296	// spreadsheet_id.
5297	SpreadsheetIdSuggested bool `json:"spreadsheetIdSuggested,omitempty"`
5298
5299	// ForceSendFields is a list of field names (e.g. "ChartIdSuggested") to
5300	// unconditionally include in API requests. By default, fields with
5301	// empty or default values are omitted from API requests. However, any
5302	// non-pointer, non-interface field appearing in ForceSendFields will be
5303	// sent to the server regardless of whether the field is empty or not.
5304	// This may be used to include empty fields in Patch requests.
5305	ForceSendFields []string `json:"-"`
5306
5307	// NullFields is a list of field names (e.g. "ChartIdSuggested") to
5308	// include in API requests with the JSON null value. By default, fields
5309	// with empty values are omitted from API requests. However, any field
5310	// with an empty value appearing in NullFields will be sent to the
5311	// server as null. It is an error if a field in this list has a
5312	// non-empty value. This may be used to include null fields in Patch
5313	// requests.
5314	NullFields []string `json:"-"`
5315}
5316
5317func (s *SheetsChartReferenceSuggestionState) MarshalJSON() ([]byte, error) {
5318	type NoMethod SheetsChartReferenceSuggestionState
5319	raw := NoMethod(*s)
5320	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5321}
5322
5323// Size: A width and height.
5324type Size struct {
5325	// Height: The height of the object.
5326	Height *Dimension `json:"height,omitempty"`
5327
5328	// Width: The width of the object.
5329	Width *Dimension `json:"width,omitempty"`
5330
5331	// ForceSendFields is a list of field names (e.g. "Height") to
5332	// unconditionally include in API requests. By default, fields with
5333	// empty or default values are omitted from API requests. However, any
5334	// non-pointer, non-interface field appearing in ForceSendFields will be
5335	// sent to the server regardless of whether the field is empty or not.
5336	// This may be used to include empty fields in Patch requests.
5337	ForceSendFields []string `json:"-"`
5338
5339	// NullFields is a list of field names (e.g. "Height") to include in API
5340	// requests with the JSON null value. By default, fields with empty
5341	// values are omitted from API requests. However, any field with an
5342	// empty value appearing in NullFields will be sent to the server as
5343	// null. It is an error if a field in this list has a non-empty value.
5344	// This may be used to include null fields in Patch requests.
5345	NullFields []string `json:"-"`
5346}
5347
5348func (s *Size) MarshalJSON() ([]byte, error) {
5349	type NoMethod Size
5350	raw := NoMethod(*s)
5351	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5352}
5353
5354// SizeSuggestionState: A mask that indicates which of the fields on the
5355// base Size have been changed in this suggestion. For any field set to
5356// true, the Size has a new suggested value.
5357type SizeSuggestionState struct {
5358	// HeightSuggested: Indicates if there was a suggested change to height.
5359	HeightSuggested bool `json:"heightSuggested,omitempty"`
5360
5361	// WidthSuggested: Indicates if there was a suggested change to width.
5362	WidthSuggested bool `json:"widthSuggested,omitempty"`
5363
5364	// ForceSendFields is a list of field names (e.g. "HeightSuggested") to
5365	// unconditionally include in API requests. By default, fields with
5366	// empty or default values are omitted from API requests. However, any
5367	// non-pointer, non-interface field appearing in ForceSendFields will be
5368	// sent to the server regardless of whether the field is empty or not.
5369	// This may be used to include empty fields in Patch requests.
5370	ForceSendFields []string `json:"-"`
5371
5372	// NullFields is a list of field names (e.g. "HeightSuggested") to
5373	// include in API requests with the JSON null value. By default, fields
5374	// with empty values are omitted from API requests. However, any field
5375	// with an empty value appearing in NullFields will be sent to the
5376	// server as null. It is an error if a field in this list has a
5377	// non-empty value. This may be used to include null fields in Patch
5378	// requests.
5379	NullFields []string `json:"-"`
5380}
5381
5382func (s *SizeSuggestionState) MarshalJSON() ([]byte, error) {
5383	type NoMethod SizeSuggestionState
5384	raw := NoMethod(*s)
5385	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5386}
5387
5388// StructuralElement: A StructuralElement describes content that
5389// provides structure to the document.
5390type StructuralElement struct {
5391	// EndIndex: The zero-based end index of this structural element,
5392	// exclusive, in UTF-16 code units.
5393	EndIndex int64 `json:"endIndex,omitempty"`
5394
5395	// Paragraph: A paragraph type of structural element.
5396	Paragraph *Paragraph `json:"paragraph,omitempty"`
5397
5398	// SectionBreak: A section break type of structural element.
5399	SectionBreak *SectionBreak `json:"sectionBreak,omitempty"`
5400
5401	// StartIndex: The zero-based start index of this structural element, in
5402	// UTF-16 code units.
5403	StartIndex int64 `json:"startIndex,omitempty"`
5404
5405	// Table: A table type of structural element.
5406	Table *Table `json:"table,omitempty"`
5407
5408	// TableOfContents: A table of contents type of structural element.
5409	TableOfContents *TableOfContents `json:"tableOfContents,omitempty"`
5410
5411	// ForceSendFields is a list of field names (e.g. "EndIndex") to
5412	// unconditionally include in API requests. By default, fields with
5413	// empty or default values are omitted from API requests. However, any
5414	// non-pointer, non-interface field appearing in ForceSendFields will be
5415	// sent to the server regardless of whether the field is empty or not.
5416	// This may be used to include empty fields in Patch requests.
5417	ForceSendFields []string `json:"-"`
5418
5419	// NullFields is a list of field names (e.g. "EndIndex") to include in
5420	// API requests with the JSON null value. By default, fields with empty
5421	// values are omitted from API requests. However, any field with an
5422	// empty value appearing in NullFields will be sent to the server as
5423	// null. It is an error if a field in this list has a non-empty value.
5424	// This may be used to include null fields in Patch requests.
5425	NullFields []string `json:"-"`
5426}
5427
5428func (s *StructuralElement) MarshalJSON() ([]byte, error) {
5429	type NoMethod StructuralElement
5430	raw := NoMethod(*s)
5431	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5432}
5433
5434// SubstringMatchCriteria: A criteria that matches a specific string of
5435// text in the document.
5436type SubstringMatchCriteria struct {
5437	// MatchCase: Indicates whether the search should respect case: -
5438	// `True`: the search is case sensitive. - `False`: the search is case
5439	// insensitive.
5440	MatchCase bool `json:"matchCase,omitempty"`
5441
5442	// Text: The text to search for in the document.
5443	Text string `json:"text,omitempty"`
5444
5445	// ForceSendFields is a list of field names (e.g. "MatchCase") to
5446	// unconditionally include in API requests. By default, fields with
5447	// empty or default values are omitted from API requests. However, any
5448	// non-pointer, non-interface field appearing in ForceSendFields will be
5449	// sent to the server regardless of whether the field is empty or not.
5450	// This may be used to include empty fields in Patch requests.
5451	ForceSendFields []string `json:"-"`
5452
5453	// NullFields is a list of field names (e.g. "MatchCase") to include in
5454	// API requests with the JSON null value. By default, fields with empty
5455	// values are omitted from API requests. However, any field with an
5456	// empty value appearing in NullFields will be sent to the server as
5457	// null. It is an error if a field in this list has a non-empty value.
5458	// This may be used to include null fields in Patch requests.
5459	NullFields []string `json:"-"`
5460}
5461
5462func (s *SubstringMatchCriteria) MarshalJSON() ([]byte, error) {
5463	type NoMethod SubstringMatchCriteria
5464	raw := NoMethod(*s)
5465	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5466}
5467
5468// SuggestedBullet: A suggested change to a Bullet.
5469type SuggestedBullet struct {
5470	// Bullet: A Bullet that only includes the changes made in this
5471	// suggestion. This can be used along with the bullet_suggestion_state
5472	// to see which fields have changed and their new values.
5473	Bullet *Bullet `json:"bullet,omitempty"`
5474
5475	// BulletSuggestionState: A mask that indicates which of the fields on
5476	// the base Bullet have been changed in this suggestion.
5477	BulletSuggestionState *BulletSuggestionState `json:"bulletSuggestionState,omitempty"`
5478
5479	// ForceSendFields is a list of field names (e.g. "Bullet") to
5480	// unconditionally include in API requests. By default, fields with
5481	// empty or default values are omitted from API requests. However, any
5482	// non-pointer, non-interface field appearing in ForceSendFields will be
5483	// sent to the server regardless of whether the field is empty or not.
5484	// This may be used to include empty fields in Patch requests.
5485	ForceSendFields []string `json:"-"`
5486
5487	// NullFields is a list of field names (e.g. "Bullet") to include in API
5488	// requests with the JSON null value. By default, fields with empty
5489	// values are omitted from API requests. However, any field with an
5490	// empty value appearing in NullFields will be sent to the server as
5491	// null. It is an error if a field in this list has a non-empty value.
5492	// This may be used to include null fields in Patch requests.
5493	NullFields []string `json:"-"`
5494}
5495
5496func (s *SuggestedBullet) MarshalJSON() ([]byte, error) {
5497	type NoMethod SuggestedBullet
5498	raw := NoMethod(*s)
5499	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5500}
5501
5502// SuggestedDocumentStyle: A suggested change to the DocumentStyle.
5503type SuggestedDocumentStyle struct {
5504	// DocumentStyle: A DocumentStyle that only includes the changes made in
5505	// this suggestion. This can be used along with the
5506	// document_style_suggestion_state to see which fields have changed and
5507	// their new values.
5508	DocumentStyle *DocumentStyle `json:"documentStyle,omitempty"`
5509
5510	// DocumentStyleSuggestionState: A mask that indicates which of the
5511	// fields on the base DocumentStyle have been changed in this
5512	// suggestion.
5513	DocumentStyleSuggestionState *DocumentStyleSuggestionState `json:"documentStyleSuggestionState,omitempty"`
5514
5515	// ForceSendFields is a list of field names (e.g. "DocumentStyle") to
5516	// unconditionally include in API requests. By default, fields with
5517	// empty or default values are omitted from API requests. However, any
5518	// non-pointer, non-interface field appearing in ForceSendFields will be
5519	// sent to the server regardless of whether the field is empty or not.
5520	// This may be used to include empty fields in Patch requests.
5521	ForceSendFields []string `json:"-"`
5522
5523	// NullFields is a list of field names (e.g. "DocumentStyle") to include
5524	// in API requests with the JSON null value. By default, fields with
5525	// empty values are omitted from API requests. However, any field with
5526	// an empty value appearing in NullFields will be sent to the server as
5527	// null. It is an error if a field in this list has a non-empty value.
5528	// This may be used to include null fields in Patch requests.
5529	NullFields []string `json:"-"`
5530}
5531
5532func (s *SuggestedDocumentStyle) MarshalJSON() ([]byte, error) {
5533	type NoMethod SuggestedDocumentStyle
5534	raw := NoMethod(*s)
5535	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5536}
5537
5538// SuggestedInlineObjectProperties: A suggested change to
5539// InlineObjectProperties.
5540type SuggestedInlineObjectProperties struct {
5541	// InlineObjectProperties: An InlineObjectProperties that only includes
5542	// the changes made in this suggestion. This can be used along with the
5543	// inline_object_properties_suggestion_state to see which fields have
5544	// changed and their new values.
5545	InlineObjectProperties *InlineObjectProperties `json:"inlineObjectProperties,omitempty"`
5546
5547	// InlineObjectPropertiesSuggestionState: A mask that indicates which of
5548	// the fields on the base InlineObjectProperties have been changed in
5549	// this suggestion.
5550	InlineObjectPropertiesSuggestionState *InlineObjectPropertiesSuggestionState `json:"inlineObjectPropertiesSuggestionState,omitempty"`
5551
5552	// ForceSendFields is a list of field names (e.g.
5553	// "InlineObjectProperties") to unconditionally include in API requests.
5554	// By default, fields with empty or default values are omitted from API
5555	// requests. However, any non-pointer, non-interface field appearing in
5556	// ForceSendFields will be sent to the server regardless of whether the
5557	// field is empty or not. This may be used to include empty fields in
5558	// Patch requests.
5559	ForceSendFields []string `json:"-"`
5560
5561	// NullFields is a list of field names (e.g. "InlineObjectProperties")
5562	// to include in API requests with the JSON null value. By default,
5563	// fields with empty values are omitted from API requests. However, any
5564	// field with an empty value appearing in NullFields will be sent to the
5565	// server as null. It is an error if a field in this list has a
5566	// non-empty value. This may be used to include null fields in Patch
5567	// requests.
5568	NullFields []string `json:"-"`
5569}
5570
5571func (s *SuggestedInlineObjectProperties) MarshalJSON() ([]byte, error) {
5572	type NoMethod SuggestedInlineObjectProperties
5573	raw := NoMethod(*s)
5574	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5575}
5576
5577// SuggestedListProperties: A suggested change to ListProperties.
5578type SuggestedListProperties struct {
5579	// ListProperties: A ListProperties that only includes the changes made
5580	// in this suggestion. This can be used along with the
5581	// list_properties_suggestion_state to see which fields have changed and
5582	// their new values.
5583	ListProperties *ListProperties `json:"listProperties,omitempty"`
5584
5585	// ListPropertiesSuggestionState: A mask that indicates which of the
5586	// fields on the base ListProperties have been changed in this
5587	// suggestion.
5588	ListPropertiesSuggestionState *ListPropertiesSuggestionState `json:"listPropertiesSuggestionState,omitempty"`
5589
5590	// ForceSendFields is a list of field names (e.g. "ListProperties") to
5591	// unconditionally include in API requests. By default, fields with
5592	// empty or default values are omitted from API requests. However, any
5593	// non-pointer, non-interface field appearing in ForceSendFields will be
5594	// sent to the server regardless of whether the field is empty or not.
5595	// This may be used to include empty fields in Patch requests.
5596	ForceSendFields []string `json:"-"`
5597
5598	// NullFields is a list of field names (e.g. "ListProperties") to
5599	// include in API requests with the JSON null value. By default, fields
5600	// with empty values are omitted from API requests. However, any field
5601	// with an empty value appearing in NullFields will be sent to the
5602	// server as null. It is an error if a field in this list has a
5603	// non-empty value. This may be used to include null fields in Patch
5604	// requests.
5605	NullFields []string `json:"-"`
5606}
5607
5608func (s *SuggestedListProperties) MarshalJSON() ([]byte, error) {
5609	type NoMethod SuggestedListProperties
5610	raw := NoMethod(*s)
5611	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5612}
5613
5614// SuggestedNamedStyles: A suggested change to the NamedStyles.
5615type SuggestedNamedStyles struct {
5616	// NamedStyles: A NamedStyles that only includes the changes made in
5617	// this suggestion. This can be used along with the
5618	// named_styles_suggestion_state to see which fields have changed and
5619	// their new values.
5620	NamedStyles *NamedStyles `json:"namedStyles,omitempty"`
5621
5622	// NamedStylesSuggestionState: A mask that indicates which of the fields
5623	// on the base NamedStyles have been changed in this suggestion.
5624	NamedStylesSuggestionState *NamedStylesSuggestionState `json:"namedStylesSuggestionState,omitempty"`
5625
5626	// ForceSendFields is a list of field names (e.g. "NamedStyles") to
5627	// unconditionally include in API requests. By default, fields with
5628	// empty or default values are omitted from API requests. However, any
5629	// non-pointer, non-interface field appearing in ForceSendFields will be
5630	// sent to the server regardless of whether the field is empty or not.
5631	// This may be used to include empty fields in Patch requests.
5632	ForceSendFields []string `json:"-"`
5633
5634	// NullFields is a list of field names (e.g. "NamedStyles") to include
5635	// in API requests with the JSON null value. By default, fields with
5636	// empty values are omitted from API requests. However, any field with
5637	// an empty value appearing in NullFields will be sent to the server as
5638	// null. It is an error if a field in this list has a non-empty value.
5639	// This may be used to include null fields in Patch requests.
5640	NullFields []string `json:"-"`
5641}
5642
5643func (s *SuggestedNamedStyles) MarshalJSON() ([]byte, error) {
5644	type NoMethod SuggestedNamedStyles
5645	raw := NoMethod(*s)
5646	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5647}
5648
5649// SuggestedParagraphStyle: A suggested change to a ParagraphStyle.
5650type SuggestedParagraphStyle struct {
5651	// ParagraphStyle: A ParagraphStyle that only includes the changes made
5652	// in this suggestion. This can be used along with the
5653	// paragraph_suggestion_state to see which fields have changed and their
5654	// new values.
5655	ParagraphStyle *ParagraphStyle `json:"paragraphStyle,omitempty"`
5656
5657	// ParagraphStyleSuggestionState: A mask that indicates which of the
5658	// fields on the base ParagraphStyle have been changed in this
5659	// suggestion.
5660	ParagraphStyleSuggestionState *ParagraphStyleSuggestionState `json:"paragraphStyleSuggestionState,omitempty"`
5661
5662	// ForceSendFields is a list of field names (e.g. "ParagraphStyle") to
5663	// unconditionally include in API requests. By default, fields with
5664	// empty or default values are omitted from API requests. However, any
5665	// non-pointer, non-interface field appearing in ForceSendFields will be
5666	// sent to the server regardless of whether the field is empty or not.
5667	// This may be used to include empty fields in Patch requests.
5668	ForceSendFields []string `json:"-"`
5669
5670	// NullFields is a list of field names (e.g. "ParagraphStyle") to
5671	// include in API requests with the JSON null value. By default, fields
5672	// with empty values are omitted from API requests. However, any field
5673	// with an empty value appearing in NullFields will be sent to the
5674	// server as null. It is an error if a field in this list has a
5675	// non-empty value. This may be used to include null fields in Patch
5676	// requests.
5677	NullFields []string `json:"-"`
5678}
5679
5680func (s *SuggestedParagraphStyle) MarshalJSON() ([]byte, error) {
5681	type NoMethod SuggestedParagraphStyle
5682	raw := NoMethod(*s)
5683	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5684}
5685
5686// SuggestedPositionedObjectProperties: A suggested change to
5687// PositionedObjectProperties.
5688type SuggestedPositionedObjectProperties struct {
5689	// PositionedObjectProperties: A PositionedObjectProperties that only
5690	// includes the changes made in this suggestion. This can be used along
5691	// with the positioned_object_properties_suggestion_state to see which
5692	// fields have changed and their new values.
5693	PositionedObjectProperties *PositionedObjectProperties `json:"positionedObjectProperties,omitempty"`
5694
5695	// PositionedObjectPropertiesSuggestionState: A mask that indicates
5696	// which of the fields on the base PositionedObjectProperties have been
5697	// changed in this suggestion.
5698	PositionedObjectPropertiesSuggestionState *PositionedObjectPropertiesSuggestionState `json:"positionedObjectPropertiesSuggestionState,omitempty"`
5699
5700	// ForceSendFields is a list of field names (e.g.
5701	// "PositionedObjectProperties") to unconditionally include in API
5702	// requests. By default, fields with empty or default values are omitted
5703	// from API requests. However, any non-pointer, non-interface field
5704	// appearing in ForceSendFields will be sent to the server regardless of
5705	// whether the field is empty or not. This may be used to include empty
5706	// fields in Patch requests.
5707	ForceSendFields []string `json:"-"`
5708
5709	// NullFields is a list of field names (e.g.
5710	// "PositionedObjectProperties") to include in API requests with the
5711	// JSON null value. By default, fields with empty values are omitted
5712	// from API requests. However, any field with an empty value appearing
5713	// in NullFields will be sent to the server as null. It is an error if a
5714	// field in this list has a non-empty value. This may be used to include
5715	// null fields in Patch requests.
5716	NullFields []string `json:"-"`
5717}
5718
5719func (s *SuggestedPositionedObjectProperties) MarshalJSON() ([]byte, error) {
5720	type NoMethod SuggestedPositionedObjectProperties
5721	raw := NoMethod(*s)
5722	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5723}
5724
5725// SuggestedTableCellStyle: A suggested change to a TableCellStyle.
5726type SuggestedTableCellStyle struct {
5727	// TableCellStyle: A TableCellStyle that only includes the changes made
5728	// in this suggestion. This can be used along with the
5729	// table_cell_style_suggestion_state to see which fields have changed
5730	// and their new values.
5731	TableCellStyle *TableCellStyle `json:"tableCellStyle,omitempty"`
5732
5733	// TableCellStyleSuggestionState: A mask that indicates which of the
5734	// fields on the base TableCellStyle have been changed in this
5735	// suggestion.
5736	TableCellStyleSuggestionState *TableCellStyleSuggestionState `json:"tableCellStyleSuggestionState,omitempty"`
5737
5738	// ForceSendFields is a list of field names (e.g. "TableCellStyle") to
5739	// unconditionally include in API requests. By default, fields with
5740	// empty or default values are omitted from API requests. However, any
5741	// non-pointer, non-interface field appearing in ForceSendFields will be
5742	// sent to the server regardless of whether the field is empty or not.
5743	// This may be used to include empty fields in Patch requests.
5744	ForceSendFields []string `json:"-"`
5745
5746	// NullFields is a list of field names (e.g. "TableCellStyle") to
5747	// include in API requests with the JSON null value. By default, fields
5748	// with empty values are omitted from API requests. However, any field
5749	// with an empty value appearing in NullFields will be sent to the
5750	// server as null. It is an error if a field in this list has a
5751	// non-empty value. This may be used to include null fields in Patch
5752	// requests.
5753	NullFields []string `json:"-"`
5754}
5755
5756func (s *SuggestedTableCellStyle) MarshalJSON() ([]byte, error) {
5757	type NoMethod SuggestedTableCellStyle
5758	raw := NoMethod(*s)
5759	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5760}
5761
5762// SuggestedTableRowStyle: A suggested change to a TableRowStyle.
5763type SuggestedTableRowStyle struct {
5764	// TableRowStyle: A TableRowStyle that only includes the changes made in
5765	// this suggestion. This can be used along with the
5766	// table_row_style_suggestion_state to see which fields have changed and
5767	// their new values.
5768	TableRowStyle *TableRowStyle `json:"tableRowStyle,omitempty"`
5769
5770	// TableRowStyleSuggestionState: A mask that indicates which of the
5771	// fields on the base TableRowStyle have been changed in this
5772	// suggestion.
5773	TableRowStyleSuggestionState *TableRowStyleSuggestionState `json:"tableRowStyleSuggestionState,omitempty"`
5774
5775	// ForceSendFields is a list of field names (e.g. "TableRowStyle") to
5776	// unconditionally include in API requests. By default, fields with
5777	// empty or default values are omitted from API requests. However, any
5778	// non-pointer, non-interface field appearing in ForceSendFields will be
5779	// sent to the server regardless of whether the field is empty or not.
5780	// This may be used to include empty fields in Patch requests.
5781	ForceSendFields []string `json:"-"`
5782
5783	// NullFields is a list of field names (e.g. "TableRowStyle") to include
5784	// in API requests with the JSON null value. By default, fields with
5785	// empty values are omitted from API requests. However, any field with
5786	// an empty value appearing in NullFields will be sent to the server as
5787	// null. It is an error if a field in this list has a non-empty value.
5788	// This may be used to include null fields in Patch requests.
5789	NullFields []string `json:"-"`
5790}
5791
5792func (s *SuggestedTableRowStyle) MarshalJSON() ([]byte, error) {
5793	type NoMethod SuggestedTableRowStyle
5794	raw := NoMethod(*s)
5795	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5796}
5797
5798// SuggestedTextStyle: A suggested change to a TextStyle.
5799type SuggestedTextStyle struct {
5800	// TextStyle: A TextStyle that only includes the changes made in this
5801	// suggestion. This can be used along with the
5802	// text_style_suggestion_state to see which fields have changed and
5803	// their new values.
5804	TextStyle *TextStyle `json:"textStyle,omitempty"`
5805
5806	// TextStyleSuggestionState: A mask that indicates which of the fields
5807	// on the base TextStyle have been changed in this suggestion.
5808	TextStyleSuggestionState *TextStyleSuggestionState `json:"textStyleSuggestionState,omitempty"`
5809
5810	// ForceSendFields is a list of field names (e.g. "TextStyle") to
5811	// unconditionally include in API requests. By default, fields with
5812	// empty or default values are omitted from API requests. However, any
5813	// non-pointer, non-interface field appearing in ForceSendFields will be
5814	// sent to the server regardless of whether the field is empty or not.
5815	// This may be used to include empty fields in Patch requests.
5816	ForceSendFields []string `json:"-"`
5817
5818	// NullFields is a list of field names (e.g. "TextStyle") to include in
5819	// API requests with the JSON null value. By default, fields with empty
5820	// values are omitted from API requests. However, any field with an
5821	// empty value appearing in NullFields will be sent to the server as
5822	// null. It is an error if a field in this list has a non-empty value.
5823	// This may be used to include null fields in Patch requests.
5824	NullFields []string `json:"-"`
5825}
5826
5827func (s *SuggestedTextStyle) MarshalJSON() ([]byte, error) {
5828	type NoMethod SuggestedTextStyle
5829	raw := NoMethod(*s)
5830	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5831}
5832
5833// TabStop: A tab stop within a paragraph.
5834type TabStop struct {
5835	// Alignment: The alignment of this tab stop. If unset, the value
5836	// defaults to START.
5837	//
5838	// Possible values:
5839	//   "TAB_STOP_ALIGNMENT_UNSPECIFIED" - The tab stop alignment is
5840	// unspecified.
5841	//   "START" - The tab stop is aligned to the start of the line. This is
5842	// the default.
5843	//   "CENTER" - The tab stop is aligned to the center of the line.
5844	//   "END" - The tab stop is aligned to the end of the line.
5845	Alignment string `json:"alignment,omitempty"`
5846
5847	// Offset: The offset between this tab stop and the start margin.
5848	Offset *Dimension `json:"offset,omitempty"`
5849
5850	// ForceSendFields is a list of field names (e.g. "Alignment") to
5851	// unconditionally include in API requests. By default, fields with
5852	// empty or default values are omitted from API requests. However, any
5853	// non-pointer, non-interface field appearing in ForceSendFields will be
5854	// sent to the server regardless of whether the field is empty or not.
5855	// This may be used to include empty fields in Patch requests.
5856	ForceSendFields []string `json:"-"`
5857
5858	// NullFields is a list of field names (e.g. "Alignment") to include in
5859	// API requests with the JSON null value. By default, fields with empty
5860	// values are omitted from API requests. However, any field with an
5861	// empty value appearing in NullFields will be sent to the server as
5862	// null. It is an error if a field in this list has a non-empty value.
5863	// This may be used to include null fields in Patch requests.
5864	NullFields []string `json:"-"`
5865}
5866
5867func (s *TabStop) MarshalJSON() ([]byte, error) {
5868	type NoMethod TabStop
5869	raw := NoMethod(*s)
5870	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5871}
5872
5873// Table: A StructuralElement representing a table.
5874type Table struct {
5875	// Columns: Number of columns in the table. It is possible for a table
5876	// to be non-rectangular, so some rows may have a different number of
5877	// cells.
5878	Columns int64 `json:"columns,omitempty"`
5879
5880	// Rows: Number of rows in the table.
5881	Rows int64 `json:"rows,omitempty"`
5882
5883	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
5884	// there are no suggested deletions of this content.
5885	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
5886
5887	// SuggestedInsertionIds: The suggested insertion IDs. A Table may have
5888	// multiple insertion IDs if it is a nested suggested change. If empty,
5889	// then this is not a suggested insertion.
5890	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
5891
5892	// TableRows: The contents and style of each row.
5893	TableRows []*TableRow `json:"tableRows,omitempty"`
5894
5895	// TableStyle: The style of the table.
5896	TableStyle *TableStyle `json:"tableStyle,omitempty"`
5897
5898	// ForceSendFields is a list of field names (e.g. "Columns") to
5899	// unconditionally include in API requests. By default, fields with
5900	// empty or default values are omitted from API requests. However, any
5901	// non-pointer, non-interface field appearing in ForceSendFields will be
5902	// sent to the server regardless of whether the field is empty or not.
5903	// This may be used to include empty fields in Patch requests.
5904	ForceSendFields []string `json:"-"`
5905
5906	// NullFields is a list of field names (e.g. "Columns") to include in
5907	// API requests with the JSON null value. By default, fields with empty
5908	// values are omitted from API requests. However, any field with an
5909	// empty value appearing in NullFields will be sent to the server as
5910	// null. It is an error if a field in this list has a non-empty value.
5911	// This may be used to include null fields in Patch requests.
5912	NullFields []string `json:"-"`
5913}
5914
5915func (s *Table) MarshalJSON() ([]byte, error) {
5916	type NoMethod Table
5917	raw := NoMethod(*s)
5918	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5919}
5920
5921// TableCell: The contents and style of a cell in a Table.
5922type TableCell struct {
5923	// Content: The content of the cell.
5924	Content []*StructuralElement `json:"content,omitempty"`
5925
5926	// EndIndex: The zero-based end index of this cell, exclusive, in UTF-16
5927	// code units.
5928	EndIndex int64 `json:"endIndex,omitempty"`
5929
5930	// StartIndex: The zero-based start index of this cell, in UTF-16 code
5931	// units.
5932	StartIndex int64 `json:"startIndex,omitempty"`
5933
5934	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
5935	// there are no suggested deletions of this content.
5936	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
5937
5938	// SuggestedInsertionIds: The suggested insertion IDs. A TableCell may
5939	// have multiple insertion IDs if it is a nested suggested change. If
5940	// empty, then this is not a suggested insertion.
5941	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
5942
5943	// SuggestedTableCellStyleChanges: The suggested changes to the table
5944	// cell style, keyed by suggestion ID.
5945	SuggestedTableCellStyleChanges map[string]SuggestedTableCellStyle `json:"suggestedTableCellStyleChanges,omitempty"`
5946
5947	// TableCellStyle: The style of the cell.
5948	TableCellStyle *TableCellStyle `json:"tableCellStyle,omitempty"`
5949
5950	// ForceSendFields is a list of field names (e.g. "Content") to
5951	// unconditionally include in API requests. By default, fields with
5952	// empty or default values are omitted from API requests. However, any
5953	// non-pointer, non-interface field appearing in ForceSendFields will be
5954	// sent to the server regardless of whether the field is empty or not.
5955	// This may be used to include empty fields in Patch requests.
5956	ForceSendFields []string `json:"-"`
5957
5958	// NullFields is a list of field names (e.g. "Content") to include in
5959	// API requests with the JSON null value. By default, fields with empty
5960	// values are omitted from API requests. However, any field with an
5961	// empty value appearing in NullFields will be sent to the server as
5962	// null. It is an error if a field in this list has a non-empty value.
5963	// This may be used to include null fields in Patch requests.
5964	NullFields []string `json:"-"`
5965}
5966
5967func (s *TableCell) MarshalJSON() ([]byte, error) {
5968	type NoMethod TableCell
5969	raw := NoMethod(*s)
5970	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5971}
5972
5973// TableCellBorder: A border around a table cell. Table cell borders
5974// cannot be transparent. To hide a table cell border, make its width 0.
5975type TableCellBorder struct {
5976	// Color: The color of the border. This color cannot be transparent.
5977	Color *OptionalColor `json:"color,omitempty"`
5978
5979	// DashStyle: The dash style of the border.
5980	//
5981	// Possible values:
5982	//   "DASH_STYLE_UNSPECIFIED" - Unspecified dash style.
5983	//   "SOLID" - Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal
5984	// value 'solid'. This is the default dash style.
5985	//   "DOT" - Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal
5986	// value 'dot'.
5987	//   "DASH" - Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal
5988	// value 'dash'.
5989	DashStyle string `json:"dashStyle,omitempty"`
5990
5991	// Width: The width of the border.
5992	Width *Dimension `json:"width,omitempty"`
5993
5994	// ForceSendFields is a list of field names (e.g. "Color") to
5995	// unconditionally include in API requests. By default, fields with
5996	// empty or default values are omitted from API requests. However, any
5997	// non-pointer, non-interface field appearing in ForceSendFields will be
5998	// sent to the server regardless of whether the field is empty or not.
5999	// This may be used to include empty fields in Patch requests.
6000	ForceSendFields []string `json:"-"`
6001
6002	// NullFields is a list of field names (e.g. "Color") to include in API
6003	// requests with the JSON null value. By default, fields with empty
6004	// values are omitted from API requests. However, any field with an
6005	// empty value appearing in NullFields will be sent to the server as
6006	// null. It is an error if a field in this list has a non-empty value.
6007	// This may be used to include null fields in Patch requests.
6008	NullFields []string `json:"-"`
6009}
6010
6011func (s *TableCellBorder) MarshalJSON() ([]byte, error) {
6012	type NoMethod TableCellBorder
6013	raw := NoMethod(*s)
6014	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6015}
6016
6017// TableCellLocation: Location of a single cell within a table.
6018type TableCellLocation struct {
6019	// ColumnIndex: The zero-based column index. For example, the second
6020	// column in the table has a column index of 1.
6021	ColumnIndex int64 `json:"columnIndex,omitempty"`
6022
6023	// RowIndex: The zero-based row index. For example, the second row in
6024	// the table has a row index of 1.
6025	RowIndex int64 `json:"rowIndex,omitempty"`
6026
6027	// TableStartLocation: The location where the table starts in the
6028	// document.
6029	TableStartLocation *Location `json:"tableStartLocation,omitempty"`
6030
6031	// ForceSendFields is a list of field names (e.g. "ColumnIndex") to
6032	// unconditionally include in API requests. By default, fields with
6033	// empty or default values are omitted from API requests. However, any
6034	// non-pointer, non-interface field appearing in ForceSendFields will be
6035	// sent to the server regardless of whether the field is empty or not.
6036	// This may be used to include empty fields in Patch requests.
6037	ForceSendFields []string `json:"-"`
6038
6039	// NullFields is a list of field names (e.g. "ColumnIndex") to include
6040	// in API requests with the JSON null value. By default, fields with
6041	// empty values are omitted from API requests. However, any field with
6042	// an empty value appearing in NullFields will be sent to the server as
6043	// null. It is an error if a field in this list has a non-empty value.
6044	// This may be used to include null fields in Patch requests.
6045	NullFields []string `json:"-"`
6046}
6047
6048func (s *TableCellLocation) MarshalJSON() ([]byte, error) {
6049	type NoMethod TableCellLocation
6050	raw := NoMethod(*s)
6051	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6052}
6053
6054// TableCellStyle: The style of a TableCell. Inherited table cell styles
6055// are represented as unset fields in this message. A table cell style
6056// can inherit from the table's style.
6057type TableCellStyle struct {
6058	// BackgroundColor: The background color of the cell.
6059	BackgroundColor *OptionalColor `json:"backgroundColor,omitempty"`
6060
6061	// BorderBottom: The bottom border of the cell.
6062	BorderBottom *TableCellBorder `json:"borderBottom,omitempty"`
6063
6064	// BorderLeft: The left border of the cell.
6065	BorderLeft *TableCellBorder `json:"borderLeft,omitempty"`
6066
6067	// BorderRight: The right border of the cell.
6068	BorderRight *TableCellBorder `json:"borderRight,omitempty"`
6069
6070	// BorderTop: The top border of the cell.
6071	BorderTop *TableCellBorder `json:"borderTop,omitempty"`
6072
6073	// ColumnSpan: The column span of the cell. This property is read-only.
6074	ColumnSpan int64 `json:"columnSpan,omitempty"`
6075
6076	// ContentAlignment: The alignment of the content in the table cell. The
6077	// default alignment matches the alignment for newly created table cells
6078	// in the Docs editor.
6079	//
6080	// Possible values:
6081	//   "CONTENT_ALIGNMENT_UNSPECIFIED" - An unspecified content alignment.
6082	// The content alignment is inherited from the parent if one exists.
6083	//   "CONTENT_ALIGNMENT_UNSUPPORTED" - An unsupported content alignment.
6084	//   "TOP" - An alignment that aligns the content to the top of the
6085	// content holder. Corresponds to ECMA-376 ST_TextAnchoringType 't'.
6086	//   "MIDDLE" - An alignment that aligns the content to the middle of
6087	// the content holder. Corresponds to ECMA-376 ST_TextAnchoringType
6088	// 'ctr'.
6089	//   "BOTTOM" - An alignment that aligns the content to the bottom of
6090	// the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'b'.
6091	ContentAlignment string `json:"contentAlignment,omitempty"`
6092
6093	// PaddingBottom: The bottom padding of the cell.
6094	PaddingBottom *Dimension `json:"paddingBottom,omitempty"`
6095
6096	// PaddingLeft: The left padding of the cell.
6097	PaddingLeft *Dimension `json:"paddingLeft,omitempty"`
6098
6099	// PaddingRight: The right padding of the cell.
6100	PaddingRight *Dimension `json:"paddingRight,omitempty"`
6101
6102	// PaddingTop: The top padding of the cell.
6103	PaddingTop *Dimension `json:"paddingTop,omitempty"`
6104
6105	// RowSpan: The row span of the cell. This property is read-only.
6106	RowSpan int64 `json:"rowSpan,omitempty"`
6107
6108	// ForceSendFields is a list of field names (e.g. "BackgroundColor") to
6109	// unconditionally include in API requests. By default, fields with
6110	// empty or default values are omitted from API requests. However, any
6111	// non-pointer, non-interface field appearing in ForceSendFields will be
6112	// sent to the server regardless of whether the field is empty or not.
6113	// This may be used to include empty fields in Patch requests.
6114	ForceSendFields []string `json:"-"`
6115
6116	// NullFields is a list of field names (e.g. "BackgroundColor") to
6117	// include in API requests with the JSON null value. By default, fields
6118	// with empty values are omitted from API requests. However, any field
6119	// with an empty value appearing in NullFields will be sent to the
6120	// server as null. It is an error if a field in this list has a
6121	// non-empty value. This may be used to include null fields in Patch
6122	// requests.
6123	NullFields []string `json:"-"`
6124}
6125
6126func (s *TableCellStyle) MarshalJSON() ([]byte, error) {
6127	type NoMethod TableCellStyle
6128	raw := NoMethod(*s)
6129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6130}
6131
6132// TableCellStyleSuggestionState: A mask that indicates which of the
6133// fields on the base TableCellStyle have been changed in this
6134// suggestion. For any field set to true, there is a new suggested
6135// value.
6136type TableCellStyleSuggestionState struct {
6137	// BackgroundColorSuggested: Indicates if there was a suggested change
6138	// to background_color.
6139	BackgroundColorSuggested bool `json:"backgroundColorSuggested,omitempty"`
6140
6141	// BorderBottomSuggested: Indicates if there was a suggested change to
6142	// border_bottom.
6143	BorderBottomSuggested bool `json:"borderBottomSuggested,omitempty"`
6144
6145	// BorderLeftSuggested: Indicates if there was a suggested change to
6146	// border_left.
6147	BorderLeftSuggested bool `json:"borderLeftSuggested,omitempty"`
6148
6149	// BorderRightSuggested: Indicates if there was a suggested change to
6150	// border_right.
6151	BorderRightSuggested bool `json:"borderRightSuggested,omitempty"`
6152
6153	// BorderTopSuggested: Indicates if there was a suggested change to
6154	// border_top.
6155	BorderTopSuggested bool `json:"borderTopSuggested,omitempty"`
6156
6157	// ColumnSpanSuggested: Indicates if there was a suggested change to
6158	// column_span.
6159	ColumnSpanSuggested bool `json:"columnSpanSuggested,omitempty"`
6160
6161	// ContentAlignmentSuggested: Indicates if there was a suggested change
6162	// to content_alignment.
6163	ContentAlignmentSuggested bool `json:"contentAlignmentSuggested,omitempty"`
6164
6165	// PaddingBottomSuggested: Indicates if there was a suggested change to
6166	// padding_bottom.
6167	PaddingBottomSuggested bool `json:"paddingBottomSuggested,omitempty"`
6168
6169	// PaddingLeftSuggested: Indicates if there was a suggested change to
6170	// padding_left.
6171	PaddingLeftSuggested bool `json:"paddingLeftSuggested,omitempty"`
6172
6173	// PaddingRightSuggested: Indicates if there was a suggested change to
6174	// padding_right.
6175	PaddingRightSuggested bool `json:"paddingRightSuggested,omitempty"`
6176
6177	// PaddingTopSuggested: Indicates if there was a suggested change to
6178	// padding_top.
6179	PaddingTopSuggested bool `json:"paddingTopSuggested,omitempty"`
6180
6181	// RowSpanSuggested: Indicates if there was a suggested change to
6182	// row_span.
6183	RowSpanSuggested bool `json:"rowSpanSuggested,omitempty"`
6184
6185	// ForceSendFields is a list of field names (e.g.
6186	// "BackgroundColorSuggested") to unconditionally include in API
6187	// requests. By default, fields with empty or default values are omitted
6188	// from API requests. However, any non-pointer, non-interface field
6189	// appearing in ForceSendFields will be sent to the server regardless of
6190	// whether the field is empty or not. This may be used to include empty
6191	// fields in Patch requests.
6192	ForceSendFields []string `json:"-"`
6193
6194	// NullFields is a list of field names (e.g. "BackgroundColorSuggested")
6195	// to include in API requests with the JSON null value. By default,
6196	// fields with empty values are omitted from API requests. However, any
6197	// field with an empty value appearing in NullFields will be sent to the
6198	// server as null. It is an error if a field in this list has a
6199	// non-empty value. This may be used to include null fields in Patch
6200	// requests.
6201	NullFields []string `json:"-"`
6202}
6203
6204func (s *TableCellStyleSuggestionState) MarshalJSON() ([]byte, error) {
6205	type NoMethod TableCellStyleSuggestionState
6206	raw := NoMethod(*s)
6207	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6208}
6209
6210// TableColumnProperties: The properties of a column in a table.
6211type TableColumnProperties struct {
6212	// Width: The width of the column. Set when the column's `width_type` is
6213	// FIXED_WIDTH.
6214	Width *Dimension `json:"width,omitempty"`
6215
6216	// WidthType: The width type of the column.
6217	//
6218	// Possible values:
6219	//   "WIDTH_TYPE_UNSPECIFIED" - The column width type is unspecified.
6220	//   "EVENLY_DISTRIBUTED" - The column width is evenly distributed among
6221	// the other evenly distrubted columns. The width of the column is
6222	// automatically determined and will have an equal portion of the width
6223	// remaining for the table after accounting for all columns with
6224	// specified widths.
6225	//   "FIXED_WIDTH" - A fixed column width. The width property contains
6226	// the column's width.
6227	WidthType string `json:"widthType,omitempty"`
6228
6229	// ForceSendFields is a list of field names (e.g. "Width") to
6230	// unconditionally include in API requests. By default, fields with
6231	// empty or default values are omitted from API requests. However, any
6232	// non-pointer, non-interface field appearing in ForceSendFields will be
6233	// sent to the server regardless of whether the field is empty or not.
6234	// This may be used to include empty fields in Patch requests.
6235	ForceSendFields []string `json:"-"`
6236
6237	// NullFields is a list of field names (e.g. "Width") to include in API
6238	// requests with the JSON null value. By default, fields with empty
6239	// values are omitted from API requests. However, any field with an
6240	// empty value appearing in NullFields will be sent to the server as
6241	// null. It is an error if a field in this list has a non-empty value.
6242	// This may be used to include null fields in Patch requests.
6243	NullFields []string `json:"-"`
6244}
6245
6246func (s *TableColumnProperties) MarshalJSON() ([]byte, error) {
6247	type NoMethod TableColumnProperties
6248	raw := NoMethod(*s)
6249	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6250}
6251
6252// TableOfContents: A StructuralElement representing a table of
6253// contents.
6254type TableOfContents struct {
6255	// Content: The content of the table of contents.
6256	Content []*StructuralElement `json:"content,omitempty"`
6257
6258	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
6259	// there are no suggested deletions of this content.
6260	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
6261
6262	// SuggestedInsertionIds: The suggested insertion IDs. A TableOfContents
6263	// may have multiple insertion IDs if it is a nested suggested change.
6264	// If empty, then this is not a suggested insertion.
6265	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
6266
6267	// ForceSendFields is a list of field names (e.g. "Content") to
6268	// unconditionally include in API requests. By default, fields with
6269	// empty or default values are omitted from API requests. However, any
6270	// non-pointer, non-interface field appearing in ForceSendFields will be
6271	// sent to the server regardless of whether the field is empty or not.
6272	// This may be used to include empty fields in Patch requests.
6273	ForceSendFields []string `json:"-"`
6274
6275	// NullFields is a list of field names (e.g. "Content") to include in
6276	// API requests with the JSON null value. By default, fields with empty
6277	// values are omitted from API requests. However, any field with an
6278	// empty value appearing in NullFields will be sent to the server as
6279	// null. It is an error if a field in this list has a non-empty value.
6280	// This may be used to include null fields in Patch requests.
6281	NullFields []string `json:"-"`
6282}
6283
6284func (s *TableOfContents) MarshalJSON() ([]byte, error) {
6285	type NoMethod TableOfContents
6286	raw := NoMethod(*s)
6287	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6288}
6289
6290// TableRange: A table range represents a reference to a subset of a
6291// table. It's important to note that the cells specified by a table
6292// range do not necessarily form a rectangle. For example, let's say we
6293// have a 3 x 3 table where all the cells of the last row are merged
6294// together. The table looks like this: [ ] A table range with table
6295// cell location = (table_start_location, row = 0, column = 0), row span
6296// = 3 and column span = 2 specifies the following cells: x x [ x x x ]
6297type TableRange struct {
6298	// ColumnSpan: The column span of the table range.
6299	ColumnSpan int64 `json:"columnSpan,omitempty"`
6300
6301	// RowSpan: The row span of the table range.
6302	RowSpan int64 `json:"rowSpan,omitempty"`
6303
6304	// TableCellLocation: The cell location where the table range starts.
6305	TableCellLocation *TableCellLocation `json:"tableCellLocation,omitempty"`
6306
6307	// ForceSendFields is a list of field names (e.g. "ColumnSpan") to
6308	// unconditionally include in API requests. By default, fields with
6309	// empty or default values are omitted from API requests. However, any
6310	// non-pointer, non-interface field appearing in ForceSendFields will be
6311	// sent to the server regardless of whether the field is empty or not.
6312	// This may be used to include empty fields in Patch requests.
6313	ForceSendFields []string `json:"-"`
6314
6315	// NullFields is a list of field names (e.g. "ColumnSpan") to include in
6316	// API requests with the JSON null value. By default, fields with empty
6317	// values are omitted from API requests. However, any field with an
6318	// empty value appearing in NullFields will be sent to the server as
6319	// null. It is an error if a field in this list has a non-empty value.
6320	// This may be used to include null fields in Patch requests.
6321	NullFields []string `json:"-"`
6322}
6323
6324func (s *TableRange) MarshalJSON() ([]byte, error) {
6325	type NoMethod TableRange
6326	raw := NoMethod(*s)
6327	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6328}
6329
6330// TableRow: The contents and style of a row in a Table.
6331type TableRow struct {
6332	// EndIndex: The zero-based end index of this row, exclusive, in UTF-16
6333	// code units.
6334	EndIndex int64 `json:"endIndex,omitempty"`
6335
6336	// StartIndex: The zero-based start index of this row, in UTF-16 code
6337	// units.
6338	StartIndex int64 `json:"startIndex,omitempty"`
6339
6340	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
6341	// there are no suggested deletions of this content.
6342	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
6343
6344	// SuggestedInsertionIds: The suggested insertion IDs. A TableRow may
6345	// have multiple insertion IDs if it is a nested suggested change. If
6346	// empty, then this is not a suggested insertion.
6347	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
6348
6349	// SuggestedTableRowStyleChanges: The suggested style changes to this
6350	// row, keyed by suggestion ID.
6351	SuggestedTableRowStyleChanges map[string]SuggestedTableRowStyle `json:"suggestedTableRowStyleChanges,omitempty"`
6352
6353	// TableCells: The contents and style of each cell in this row. It is
6354	// possible for a table to be non-rectangular, so some rows may have a
6355	// different number of cells than other rows in the same table.
6356	TableCells []*TableCell `json:"tableCells,omitempty"`
6357
6358	// TableRowStyle: The style of the table row.
6359	TableRowStyle *TableRowStyle `json:"tableRowStyle,omitempty"`
6360
6361	// ForceSendFields is a list of field names (e.g. "EndIndex") to
6362	// unconditionally include in API requests. By default, fields with
6363	// empty or default values are omitted from API requests. However, any
6364	// non-pointer, non-interface field appearing in ForceSendFields will be
6365	// sent to the server regardless of whether the field is empty or not.
6366	// This may be used to include empty fields in Patch requests.
6367	ForceSendFields []string `json:"-"`
6368
6369	// NullFields is a list of field names (e.g. "EndIndex") to include in
6370	// API requests with the JSON null value. By default, fields with empty
6371	// values are omitted from API requests. However, any field with an
6372	// empty value appearing in NullFields will be sent to the server as
6373	// null. It is an error if a field in this list has a non-empty value.
6374	// This may be used to include null fields in Patch requests.
6375	NullFields []string `json:"-"`
6376}
6377
6378func (s *TableRow) MarshalJSON() ([]byte, error) {
6379	type NoMethod TableRow
6380	raw := NoMethod(*s)
6381	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6382}
6383
6384// TableRowStyle: Styles that apply to a table row.
6385type TableRowStyle struct {
6386	// MinRowHeight: The minimum height of the row. The row will be rendered
6387	// in the Docs editor at a height equal to or greater than this value in
6388	// order to show all the content in the row's cells.
6389	MinRowHeight *Dimension `json:"minRowHeight,omitempty"`
6390
6391	// ForceSendFields is a list of field names (e.g. "MinRowHeight") to
6392	// unconditionally include in API requests. By default, fields with
6393	// empty or default values are omitted from API requests. However, any
6394	// non-pointer, non-interface field appearing in ForceSendFields will be
6395	// sent to the server regardless of whether the field is empty or not.
6396	// This may be used to include empty fields in Patch requests.
6397	ForceSendFields []string `json:"-"`
6398
6399	// NullFields is a list of field names (e.g. "MinRowHeight") to include
6400	// in API requests with the JSON null value. By default, fields with
6401	// empty values are omitted from API requests. However, any field with
6402	// an empty value appearing in NullFields will be sent to the server as
6403	// null. It is an error if a field in this list has a non-empty value.
6404	// This may be used to include null fields in Patch requests.
6405	NullFields []string `json:"-"`
6406}
6407
6408func (s *TableRowStyle) MarshalJSON() ([]byte, error) {
6409	type NoMethod TableRowStyle
6410	raw := NoMethod(*s)
6411	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6412}
6413
6414// TableRowStyleSuggestionState: A mask that indicates which of the
6415// fields on the base TableRowStyle have been changed in this
6416// suggestion. For any field set to true, there is a new suggested
6417// value.
6418type TableRowStyleSuggestionState struct {
6419	// MinRowHeightSuggested: Indicates if there was a suggested change to
6420	// min_row_height.
6421	MinRowHeightSuggested bool `json:"minRowHeightSuggested,omitempty"`
6422
6423	// ForceSendFields is a list of field names (e.g.
6424	// "MinRowHeightSuggested") to unconditionally include in API requests.
6425	// By default, fields with empty or default values are omitted from API
6426	// requests. However, any non-pointer, non-interface field appearing in
6427	// ForceSendFields will be sent to the server regardless of whether the
6428	// field is empty or not. This may be used to include empty fields in
6429	// Patch requests.
6430	ForceSendFields []string `json:"-"`
6431
6432	// NullFields is a list of field names (e.g. "MinRowHeightSuggested") to
6433	// include in API requests with the JSON null value. By default, fields
6434	// with empty values are omitted from API requests. However, any field
6435	// with an empty value appearing in NullFields will be sent to the
6436	// server as null. It is an error if a field in this list has a
6437	// non-empty value. This may be used to include null fields in Patch
6438	// requests.
6439	NullFields []string `json:"-"`
6440}
6441
6442func (s *TableRowStyleSuggestionState) MarshalJSON() ([]byte, error) {
6443	type NoMethod TableRowStyleSuggestionState
6444	raw := NoMethod(*s)
6445	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6446}
6447
6448// TableStyle: Styles that apply to a table.
6449type TableStyle struct {
6450	// TableColumnProperties: The properties of each column. Note that in
6451	// Docs, tables contain rows and rows contain cells, similar to HTML. So
6452	// the properties for a row can be found on the row's table_row_style.
6453	TableColumnProperties []*TableColumnProperties `json:"tableColumnProperties,omitempty"`
6454
6455	// ForceSendFields is a list of field names (e.g.
6456	// "TableColumnProperties") to unconditionally include in API requests.
6457	// By default, fields with empty or default values are omitted from API
6458	// requests. However, any non-pointer, non-interface field appearing in
6459	// ForceSendFields will be sent to the server regardless of whether the
6460	// field is empty or not. This may be used to include empty fields in
6461	// Patch requests.
6462	ForceSendFields []string `json:"-"`
6463
6464	// NullFields is a list of field names (e.g. "TableColumnProperties") to
6465	// include in API requests with the JSON null value. By default, fields
6466	// with empty values are omitted from API requests. However, any field
6467	// with an empty value appearing in NullFields will be sent to the
6468	// server as null. It is an error if a field in this list has a
6469	// non-empty value. This may be used to include null fields in Patch
6470	// requests.
6471	NullFields []string `json:"-"`
6472}
6473
6474func (s *TableStyle) MarshalJSON() ([]byte, error) {
6475	type NoMethod TableStyle
6476	raw := NoMethod(*s)
6477	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6478}
6479
6480// TextRun: A ParagraphElement that represents a run of text that all
6481// has the same styling.
6482type TextRun struct {
6483	// Content: The text of this run. Any non-text elements in the run are
6484	// replaced with the Unicode character U+E907.
6485	Content string `json:"content,omitempty"`
6486
6487	// SuggestedDeletionIds: The suggested deletion IDs. If empty, then
6488	// there are no suggested deletions of this content.
6489	SuggestedDeletionIds []string `json:"suggestedDeletionIds,omitempty"`
6490
6491	// SuggestedInsertionIds: The suggested insertion IDs. A TextRun may
6492	// have multiple insertion IDs if it is a nested suggested change. If
6493	// empty, then this is not a suggested insertion.
6494	SuggestedInsertionIds []string `json:"suggestedInsertionIds,omitempty"`
6495
6496	// SuggestedTextStyleChanges: The suggested text style changes to this
6497	// run, keyed by suggestion ID.
6498	SuggestedTextStyleChanges map[string]SuggestedTextStyle `json:"suggestedTextStyleChanges,omitempty"`
6499
6500	// TextStyle: The text style of this run.
6501	TextStyle *TextStyle `json:"textStyle,omitempty"`
6502
6503	// ForceSendFields is a list of field names (e.g. "Content") to
6504	// unconditionally include in API requests. By default, fields with
6505	// empty or default values are omitted from API requests. However, any
6506	// non-pointer, non-interface field appearing in ForceSendFields will be
6507	// sent to the server regardless of whether the field is empty or not.
6508	// This may be used to include empty fields in Patch requests.
6509	ForceSendFields []string `json:"-"`
6510
6511	// NullFields is a list of field names (e.g. "Content") to include in
6512	// API requests with the JSON null value. By default, fields with empty
6513	// values are omitted from API requests. However, any field with an
6514	// empty value appearing in NullFields will be sent to the server as
6515	// null. It is an error if a field in this list has a non-empty value.
6516	// This may be used to include null fields in Patch requests.
6517	NullFields []string `json:"-"`
6518}
6519
6520func (s *TextRun) MarshalJSON() ([]byte, error) {
6521	type NoMethod TextRun
6522	raw := NoMethod(*s)
6523	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6524}
6525
6526// TextStyle: Represents the styling that can be applied to text.
6527// Inherited text styles are represented as unset fields in this
6528// message. A text style's parent depends on where the text style is
6529// defined: * The TextStyle of text in a Paragraph inherits from the
6530// paragraph's corresponding named style type. * The TextStyle on a
6531// named style inherits from the normal text named style. * The
6532// TextStyle of the normal text named style inherits from the default
6533// text style in the Docs editor. * The TextStyle on a Paragraph element
6534// that is contained in a table may inherit its text style from the
6535// table style. If the text style does not inherit from a parent,
6536// unsetting fields will revert the style to a value matching the
6537// defaults in the Docs editor.
6538type TextStyle struct {
6539	// BackgroundColor: The background color of the text. If set, the color
6540	// is either an RGB color or transparent, depending on the `color`
6541	// field.
6542	BackgroundColor *OptionalColor `json:"backgroundColor,omitempty"`
6543
6544	// BaselineOffset: The text's vertical offset from its normal position.
6545	// Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is
6546	// automatically rendered in a smaller font size, computed based on the
6547	// `font_size` field. The `font_size` itself is not affected by changes
6548	// in this field.
6549	//
6550	// Possible values:
6551	//   "BASELINE_OFFSET_UNSPECIFIED" - The text's baseline offset is
6552	// inherited from the parent.
6553	//   "NONE" - The text is not vertically offset.
6554	//   "SUPERSCRIPT" - The text is vertically offset upwards
6555	// (superscript).
6556	//   "SUBSCRIPT" - The text is vertically offset downwards (subscript).
6557	BaselineOffset string `json:"baselineOffset,omitempty"`
6558
6559	// Bold: Whether or not the text is rendered as bold.
6560	Bold bool `json:"bold,omitempty"`
6561
6562	// FontSize: The size of the text's font.
6563	FontSize *Dimension `json:"fontSize,omitempty"`
6564
6565	// ForegroundColor: The foreground color of the text. If set, the color
6566	// is either an RGB color or transparent, depending on the `color`
6567	// field.
6568	ForegroundColor *OptionalColor `json:"foregroundColor,omitempty"`
6569
6570	// Italic: Whether or not the text is italicized.
6571	Italic bool `json:"italic,omitempty"`
6572
6573	// Link: The hyperlink destination of the text. If unset, there is no
6574	// link. Links are not inherited from parent text. Changing the link in
6575	// an update request causes some other changes to the text style of the
6576	// range: * When setting a link, the text foreground color will be
6577	// updated to the default link color and the text will be underlined. If
6578	// these fields are modified in the same request, those values will be
6579	// used instead of the link defaults. * Setting a link on a text range
6580	// that overlaps with an existing link will also update the existing
6581	// link to point to the new URL. * Links are not settable on newline
6582	// characters. As a result, setting a link on a text range that crosses
6583	// a paragraph boundary, such as "ABC\n123", will separate the newline
6584	// character(s) into their own text runs. The link will be applied
6585	// separately to the runs before and after the newline. * Removing a
6586	// link will update the text style of the range to match the style of
6587	// the preceding text (or the default text styles if the preceding text
6588	// is another link) unless different styles are being set in the same
6589	// request.
6590	Link *Link `json:"link,omitempty"`
6591
6592	// SmallCaps: Whether or not the text is in small capital letters.
6593	SmallCaps bool `json:"smallCaps,omitempty"`
6594
6595	// Strikethrough: Whether or not the text is struck through.
6596	Strikethrough bool `json:"strikethrough,omitempty"`
6597
6598	// Underline: Whether or not the text is underlined.
6599	Underline bool `json:"underline,omitempty"`
6600
6601	// WeightedFontFamily: The font family and rendered weight of the text.
6602	// If an update request specifies values for both `weighted_font_family`
6603	// and `bold`, the `weighted_font_family` is applied first, then `bold`.
6604	// If `weighted_font_family#weight` is not set, it defaults to `400`. If
6605	// `weighted_font_family` is set, then
6606	// `weighted_font_family#font_family` must also be set with a non-empty
6607	// value. Otherwise, a 400 bad request error is returned.
6608	WeightedFontFamily *WeightedFontFamily `json:"weightedFontFamily,omitempty"`
6609
6610	// ForceSendFields is a list of field names (e.g. "BackgroundColor") to
6611	// unconditionally include in API requests. By default, fields with
6612	// empty or default values are omitted from API requests. However, any
6613	// non-pointer, non-interface field appearing in ForceSendFields will be
6614	// sent to the server regardless of whether the field is empty or not.
6615	// This may be used to include empty fields in Patch requests.
6616	ForceSendFields []string `json:"-"`
6617
6618	// NullFields is a list of field names (e.g. "BackgroundColor") to
6619	// include in API requests with the JSON null value. By default, fields
6620	// with empty values are omitted from API requests. However, any field
6621	// with an empty value appearing in NullFields will be sent to the
6622	// server as null. It is an error if a field in this list has a
6623	// non-empty value. This may be used to include null fields in Patch
6624	// requests.
6625	NullFields []string `json:"-"`
6626}
6627
6628func (s *TextStyle) MarshalJSON() ([]byte, error) {
6629	type NoMethod TextStyle
6630	raw := NoMethod(*s)
6631	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6632}
6633
6634// TextStyleSuggestionState: A mask that indicates which of the fields
6635// on the base TextStyle have been changed in this suggestion. For any
6636// field set to true, there is a new suggested value.
6637type TextStyleSuggestionState struct {
6638	// BackgroundColorSuggested: Indicates if there was a suggested change
6639	// to background_color.
6640	BackgroundColorSuggested bool `json:"backgroundColorSuggested,omitempty"`
6641
6642	// BaselineOffsetSuggested: Indicates if there was a suggested change to
6643	// baseline_offset.
6644	BaselineOffsetSuggested bool `json:"baselineOffsetSuggested,omitempty"`
6645
6646	// BoldSuggested: Indicates if there was a suggested change to bold.
6647	BoldSuggested bool `json:"boldSuggested,omitempty"`
6648
6649	// FontSizeSuggested: Indicates if there was a suggested change to
6650	// font_size.
6651	FontSizeSuggested bool `json:"fontSizeSuggested,omitempty"`
6652
6653	// ForegroundColorSuggested: Indicates if there was a suggested change
6654	// to foreground_color.
6655	ForegroundColorSuggested bool `json:"foregroundColorSuggested,omitempty"`
6656
6657	// ItalicSuggested: Indicates if there was a suggested change to italic.
6658	ItalicSuggested bool `json:"italicSuggested,omitempty"`
6659
6660	// LinkSuggested: Indicates if there was a suggested change to link.
6661	LinkSuggested bool `json:"linkSuggested,omitempty"`
6662
6663	// SmallCapsSuggested: Indicates if there was a suggested change to
6664	// small_caps.
6665	SmallCapsSuggested bool `json:"smallCapsSuggested,omitempty"`
6666
6667	// StrikethroughSuggested: Indicates if there was a suggested change to
6668	// strikethrough.
6669	StrikethroughSuggested bool `json:"strikethroughSuggested,omitempty"`
6670
6671	// UnderlineSuggested: Indicates if there was a suggested change to
6672	// underline.
6673	UnderlineSuggested bool `json:"underlineSuggested,omitempty"`
6674
6675	// WeightedFontFamilySuggested: Indicates if there was a suggested
6676	// change to weighted_font_family.
6677	WeightedFontFamilySuggested bool `json:"weightedFontFamilySuggested,omitempty"`
6678
6679	// ForceSendFields is a list of field names (e.g.
6680	// "BackgroundColorSuggested") to unconditionally include in API
6681	// requests. By default, fields with empty or default values are omitted
6682	// from API requests. However, any non-pointer, non-interface field
6683	// appearing in ForceSendFields will be sent to the server regardless of
6684	// whether the field is empty or not. This may be used to include empty
6685	// fields in Patch requests.
6686	ForceSendFields []string `json:"-"`
6687
6688	// NullFields is a list of field names (e.g. "BackgroundColorSuggested")
6689	// to include in API requests with the JSON null value. By default,
6690	// fields with empty values are omitted from API requests. However, any
6691	// field with an empty value appearing in NullFields will be sent to the
6692	// server as null. It is an error if a field in this list has a
6693	// non-empty value. This may be used to include null fields in Patch
6694	// requests.
6695	NullFields []string `json:"-"`
6696}
6697
6698func (s *TextStyleSuggestionState) MarshalJSON() ([]byte, error) {
6699	type NoMethod TextStyleSuggestionState
6700	raw := NoMethod(*s)
6701	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6702}
6703
6704// UnmergeTableCellsRequest: Unmerges cells in a Table.
6705type UnmergeTableCellsRequest struct {
6706	// TableRange: The table range specifying which cells of the table to
6707	// unmerge. All merged cells in this range will be unmerged, and cells
6708	// that are already unmerged will not be affected. If the range has no
6709	// merged cells, the request will do nothing. If there is text in any of
6710	// the merged cells, the text will remain in the "head" cell of the
6711	// resulting block of unmerged cells. The "head" cell is the upper-left
6712	// cell when the content direction is from left to right, and the
6713	// upper-right otherwise.
6714	TableRange *TableRange `json:"tableRange,omitempty"`
6715
6716	// ForceSendFields is a list of field names (e.g. "TableRange") to
6717	// unconditionally include in API requests. By default, fields with
6718	// empty or default values are omitted from API requests. However, any
6719	// non-pointer, non-interface field appearing in ForceSendFields will be
6720	// sent to the server regardless of whether the field is empty or not.
6721	// This may be used to include empty fields in Patch requests.
6722	ForceSendFields []string `json:"-"`
6723
6724	// NullFields is a list of field names (e.g. "TableRange") to include in
6725	// API requests with the JSON null value. By default, fields with empty
6726	// values are omitted from API requests. However, any field with an
6727	// empty value appearing in NullFields will be sent to the server as
6728	// null. It is an error if a field in this list has a non-empty value.
6729	// This may be used to include null fields in Patch requests.
6730	NullFields []string `json:"-"`
6731}
6732
6733func (s *UnmergeTableCellsRequest) MarshalJSON() ([]byte, error) {
6734	type NoMethod UnmergeTableCellsRequest
6735	raw := NoMethod(*s)
6736	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6737}
6738
6739// UpdateDocumentStyleRequest: Updates the DocumentStyle.
6740type UpdateDocumentStyleRequest struct {
6741	// DocumentStyle: The styles to set on the document. Certain document
6742	// style changes may cause other changes in order to mirror the behavior
6743	// of the Docs editor. See the documentation of DocumentStyle for more
6744	// information.
6745	DocumentStyle *DocumentStyle `json:"documentStyle,omitempty"`
6746
6747	// Fields: The fields that should be updated. At least one field must be
6748	// specified. The root `document_style` is implied and should not be
6749	// specified. A single "*" can be used as short-hand for listing every
6750	// field. For example to update the background, set `fields` to
6751	// "background".
6752	Fields string `json:"fields,omitempty"`
6753
6754	// ForceSendFields is a list of field names (e.g. "DocumentStyle") to
6755	// unconditionally include in API requests. By default, fields with
6756	// empty or default values are omitted from API requests. However, any
6757	// non-pointer, non-interface field appearing in ForceSendFields will be
6758	// sent to the server regardless of whether the field is empty or not.
6759	// This may be used to include empty fields in Patch requests.
6760	ForceSendFields []string `json:"-"`
6761
6762	// NullFields is a list of field names (e.g. "DocumentStyle") to include
6763	// in API requests with the JSON null value. By default, fields with
6764	// empty values are omitted from API requests. However, any field with
6765	// an empty value appearing in NullFields will be sent to the server as
6766	// null. It is an error if a field in this list has a non-empty value.
6767	// This may be used to include null fields in Patch requests.
6768	NullFields []string `json:"-"`
6769}
6770
6771func (s *UpdateDocumentStyleRequest) MarshalJSON() ([]byte, error) {
6772	type NoMethod UpdateDocumentStyleRequest
6773	raw := NoMethod(*s)
6774	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6775}
6776
6777// UpdateParagraphStyleRequest: Update the styling of all paragraphs
6778// that overlap with the given range.
6779type UpdateParagraphStyleRequest struct {
6780	// Fields: The fields that should be updated. At least one field must be
6781	// specified. The root `paragraph_style` is implied and should not be
6782	// specified. For example, to update the paragraph style's alignment
6783	// property, set `fields` to "alignment". To reset a property to its
6784	// default value, include its field name in the field mask but leave the
6785	// field itself unset.
6786	Fields string `json:"fields,omitempty"`
6787
6788	// ParagraphStyle: The styles to set on the paragraphs. Certain
6789	// paragraph style changes may cause other changes in order to mirror
6790	// the behavior of the Docs editor. See the documentation of
6791	// ParagraphStyle for more information.
6792	ParagraphStyle *ParagraphStyle `json:"paragraphStyle,omitempty"`
6793
6794	// Range: The range overlapping the paragraphs to style.
6795	Range *Range `json:"range,omitempty"`
6796
6797	// ForceSendFields is a list of field names (e.g. "Fields") to
6798	// unconditionally include in API requests. By default, fields with
6799	// empty or default values are omitted from API requests. However, any
6800	// non-pointer, non-interface field appearing in ForceSendFields will be
6801	// sent to the server regardless of whether the field is empty or not.
6802	// This may be used to include empty fields in Patch requests.
6803	ForceSendFields []string `json:"-"`
6804
6805	// NullFields is a list of field names (e.g. "Fields") to include in API
6806	// requests with the JSON null value. By default, fields with empty
6807	// values are omitted from API requests. However, any field with an
6808	// empty value appearing in NullFields will be sent to the server as
6809	// null. It is an error if a field in this list has a non-empty value.
6810	// This may be used to include null fields in Patch requests.
6811	NullFields []string `json:"-"`
6812}
6813
6814func (s *UpdateParagraphStyleRequest) MarshalJSON() ([]byte, error) {
6815	type NoMethod UpdateParagraphStyleRequest
6816	raw := NoMethod(*s)
6817	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6818}
6819
6820// UpdateSectionStyleRequest: Updates the SectionStyle.
6821type UpdateSectionStyleRequest struct {
6822	// Fields: The fields that should be updated. At least one field must be
6823	// specified. The root `section_style` is implied and must not be
6824	// specified. A single "*" can be used as short-hand for listing every
6825	// field. For example to update the left margin, set `fields` to
6826	// "margin_left".
6827	Fields string `json:"fields,omitempty"`
6828
6829	// Range: The range overlapping the sections to style. Because section
6830	// breaks can only be inserted inside the body, the segment ID field
6831	// must be empty.
6832	Range *Range `json:"range,omitempty"`
6833
6834	// SectionStyle: The styles to be set on the section. Certain section
6835	// style changes may cause other changes in order to mirror the behavior
6836	// of the Docs editor. See the documentation of SectionStyle for more
6837	// information.
6838	SectionStyle *SectionStyle `json:"sectionStyle,omitempty"`
6839
6840	// ForceSendFields is a list of field names (e.g. "Fields") to
6841	// unconditionally include in API requests. By default, fields with
6842	// empty or default values are omitted from API requests. However, any
6843	// non-pointer, non-interface field appearing in ForceSendFields will be
6844	// sent to the server regardless of whether the field is empty or not.
6845	// This may be used to include empty fields in Patch requests.
6846	ForceSendFields []string `json:"-"`
6847
6848	// NullFields is a list of field names (e.g. "Fields") to include in API
6849	// requests with the JSON null value. By default, fields with empty
6850	// values are omitted from API requests. However, any field with an
6851	// empty value appearing in NullFields will be sent to the server as
6852	// null. It is an error if a field in this list has a non-empty value.
6853	// This may be used to include null fields in Patch requests.
6854	NullFields []string `json:"-"`
6855}
6856
6857func (s *UpdateSectionStyleRequest) MarshalJSON() ([]byte, error) {
6858	type NoMethod UpdateSectionStyleRequest
6859	raw := NoMethod(*s)
6860	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6861}
6862
6863// UpdateTableCellStyleRequest: Updates the style of a range of table
6864// cells.
6865type UpdateTableCellStyleRequest struct {
6866	// Fields: The fields that should be updated. At least one field must be
6867	// specified. The root `tableCellStyle` is implied and should not be
6868	// specified. A single "*" can be used as short-hand for listing every
6869	// field. For example to update the table cell background color, set
6870	// `fields` to "backgroundColor". To reset a property to its default
6871	// value, include its field name in the field mask but leave the field
6872	// itself unset.
6873	Fields string `json:"fields,omitempty"`
6874
6875	// TableCellStyle: The style to set on the table cells. When updating
6876	// borders, if a cell shares a border with an adjacent cell, the
6877	// corresponding border property of the adjacent cell is updated as
6878	// well. Borders that are merged and invisible are not updated. Since
6879	// updating a border shared by adjacent cells in the same request can
6880	// cause conflicting border updates, border updates are applied in the
6881	// following order: - `border_right` - `border_left` - `border_bottom` -
6882	// `border_top`
6883	TableCellStyle *TableCellStyle `json:"tableCellStyle,omitempty"`
6884
6885	// TableRange: The table range representing the subset of the table to
6886	// which the updates are applied.
6887	TableRange *TableRange `json:"tableRange,omitempty"`
6888
6889	// TableStartLocation: The location where the table starts in the
6890	// document. When specified, the updates are applied to all the cells in
6891	// the table.
6892	TableStartLocation *Location `json:"tableStartLocation,omitempty"`
6893
6894	// ForceSendFields is a list of field names (e.g. "Fields") to
6895	// unconditionally include in API requests. By default, fields with
6896	// empty or default values are omitted from API requests. However, any
6897	// non-pointer, non-interface field appearing in ForceSendFields will be
6898	// sent to the server regardless of whether the field is empty or not.
6899	// This may be used to include empty fields in Patch requests.
6900	ForceSendFields []string `json:"-"`
6901
6902	// NullFields is a list of field names (e.g. "Fields") to include in API
6903	// requests with the JSON null value. By default, fields with empty
6904	// values are omitted from API requests. However, any field with an
6905	// empty value appearing in NullFields will be sent to the server as
6906	// null. It is an error if a field in this list has a non-empty value.
6907	// This may be used to include null fields in Patch requests.
6908	NullFields []string `json:"-"`
6909}
6910
6911func (s *UpdateTableCellStyleRequest) MarshalJSON() ([]byte, error) {
6912	type NoMethod UpdateTableCellStyleRequest
6913	raw := NoMethod(*s)
6914	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6915}
6916
6917// UpdateTableColumnPropertiesRequest: Updates the TableColumnProperties
6918// of columns in a table.
6919type UpdateTableColumnPropertiesRequest struct {
6920	// ColumnIndices: The list of zero-based column indices whose property
6921	// should be updated. If no indices are specified, all columns will be
6922	// updated.
6923	ColumnIndices []int64 `json:"columnIndices,omitempty"`
6924
6925	// Fields: The fields that should be updated. At least one field must be
6926	// specified. The root `tableColumnProperties` is implied and should not
6927	// be specified. A single "*" can be used as short-hand for listing
6928	// every field. For example to update the column width, set `fields` to
6929	// "width".
6930	Fields string `json:"fields,omitempty"`
6931
6932	// TableColumnProperties: The table column properties to update. If the
6933	// value of `table_column_properties#width` is less than 5 points (5/72
6934	// inch), a 400 bad request error is returned.
6935	TableColumnProperties *TableColumnProperties `json:"tableColumnProperties,omitempty"`
6936
6937	// TableStartLocation: The location where the table starts in the
6938	// document.
6939	TableStartLocation *Location `json:"tableStartLocation,omitempty"`
6940
6941	// ForceSendFields is a list of field names (e.g. "ColumnIndices") to
6942	// unconditionally include in API requests. By default, fields with
6943	// empty or default values are omitted from API requests. However, any
6944	// non-pointer, non-interface field appearing in ForceSendFields will be
6945	// sent to the server regardless of whether the field is empty or not.
6946	// This may be used to include empty fields in Patch requests.
6947	ForceSendFields []string `json:"-"`
6948
6949	// NullFields is a list of field names (e.g. "ColumnIndices") to include
6950	// in API requests with the JSON null value. By default, fields with
6951	// empty values are omitted from API requests. However, any field with
6952	// an empty value appearing in NullFields will be sent to the server as
6953	// null. It is an error if a field in this list has a non-empty value.
6954	// This may be used to include null fields in Patch requests.
6955	NullFields []string `json:"-"`
6956}
6957
6958func (s *UpdateTableColumnPropertiesRequest) MarshalJSON() ([]byte, error) {
6959	type NoMethod UpdateTableColumnPropertiesRequest
6960	raw := NoMethod(*s)
6961	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6962}
6963
6964// UpdateTableRowStyleRequest: Updates the TableRowStyle of rows in a
6965// table.
6966type UpdateTableRowStyleRequest struct {
6967	// Fields: The fields that should be updated. At least one field must be
6968	// specified. The root `tableRowStyle` is implied and should not be
6969	// specified. A single "*" can be used as short-hand for listing every
6970	// field. For example to update the minimum row height, set `fields` to
6971	// "min_row_height".
6972	Fields string `json:"fields,omitempty"`
6973
6974	// RowIndices: The list of zero-based row indices whose style should be
6975	// updated. If no indices are specified, all rows will be updated.
6976	RowIndices []int64 `json:"rowIndices,omitempty"`
6977
6978	// TableRowStyle: The styles to be set on the rows.
6979	TableRowStyle *TableRowStyle `json:"tableRowStyle,omitempty"`
6980
6981	// TableStartLocation: The location where the table starts in the
6982	// document.
6983	TableStartLocation *Location `json:"tableStartLocation,omitempty"`
6984
6985	// ForceSendFields is a list of field names (e.g. "Fields") to
6986	// unconditionally include in API requests. By default, fields with
6987	// empty or default values are omitted from API requests. However, any
6988	// non-pointer, non-interface field appearing in ForceSendFields will be
6989	// sent to the server regardless of whether the field is empty or not.
6990	// This may be used to include empty fields in Patch requests.
6991	ForceSendFields []string `json:"-"`
6992
6993	// NullFields is a list of field names (e.g. "Fields") to include in API
6994	// requests with the JSON null value. By default, fields with empty
6995	// values are omitted from API requests. However, any field with an
6996	// empty value appearing in NullFields will be sent to the server as
6997	// null. It is an error if a field in this list has a non-empty value.
6998	// This may be used to include null fields in Patch requests.
6999	NullFields []string `json:"-"`
7000}
7001
7002func (s *UpdateTableRowStyleRequest) MarshalJSON() ([]byte, error) {
7003	type NoMethod UpdateTableRowStyleRequest
7004	raw := NoMethod(*s)
7005	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7006}
7007
7008// UpdateTextStyleRequest: Update the styling of text.
7009type UpdateTextStyleRequest struct {
7010	// Fields: The fields that should be updated. At least one field must be
7011	// specified. The root `text_style` is implied and should not be
7012	// specified. A single "*" can be used as short-hand for listing every
7013	// field. For example, to update the text style to bold, set `fields` to
7014	// "bold". To reset a property to its default value, include its field
7015	// name in the field mask but leave the field itself unset.
7016	Fields string `json:"fields,omitempty"`
7017
7018	// Range: The range of text to style. The range may be extended to
7019	// include adjacent newlines. If the range fully contains a paragraph
7020	// belonging to a list, the paragraph's bullet is also updated with the
7021	// matching text style. Ranges cannot be inserted inside a relative
7022	// UpdateTextStyleRequest.
7023	Range *Range `json:"range,omitempty"`
7024
7025	// TextStyle: The styles to set on the text. If the value for a
7026	// particular style matches that of the parent, that style will be set
7027	// to inherit. Certain text style changes may cause other changes in
7028	// order to to mirror the behavior of the Docs editor. See the
7029	// documentation of TextStyle for more information.
7030	TextStyle *TextStyle `json:"textStyle,omitempty"`
7031
7032	// ForceSendFields is a list of field names (e.g. "Fields") to
7033	// unconditionally include in API requests. By default, fields with
7034	// empty or default values are omitted from API requests. However, any
7035	// non-pointer, non-interface field appearing in ForceSendFields will be
7036	// sent to the server regardless of whether the field is empty or not.
7037	// This may be used to include empty fields in Patch requests.
7038	ForceSendFields []string `json:"-"`
7039
7040	// NullFields is a list of field names (e.g. "Fields") to include in API
7041	// requests with the JSON null value. By default, fields with empty
7042	// values are omitted from API requests. However, any field with an
7043	// empty value appearing in NullFields will be sent to the server as
7044	// null. It is an error if a field in this list has a non-empty value.
7045	// This may be used to include null fields in Patch requests.
7046	NullFields []string `json:"-"`
7047}
7048
7049func (s *UpdateTextStyleRequest) MarshalJSON() ([]byte, error) {
7050	type NoMethod UpdateTextStyleRequest
7051	raw := NoMethod(*s)
7052	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7053}
7054
7055// WeightedFontFamily: Represents a font family and weight of text.
7056type WeightedFontFamily struct {
7057	// FontFamily: The font family of the text. The font family can be any
7058	// font from the Font menu in Docs or from [Google Fonts]
7059	// (https://fonts.google.com/). If the font name is unrecognized, the
7060	// text is rendered in `Arial`.
7061	FontFamily string `json:"fontFamily,omitempty"`
7062
7063	// Weight: The weight of the font. This field can have any value that is
7064	// a multiple of `100` between `100` and `900`, inclusive. This range
7065	// corresponds to the numerical values described in the CSS 2.1
7066	// Specification, section 15.6
7067	// (https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with
7068	// non-numerical values disallowed. The default value is `400`
7069	// ("normal"). The font weight makes up just one component of the
7070	// rendered font weight. The rendered weight is determined by a
7071	// combination of the `weight` and the text style's resolved `bold`
7072	// value, after accounting for inheritance: * If the text is bold and
7073	// the weight is less than `400`, the rendered weight is 400. * If the
7074	// text is bold and the weight is greater than or equal to `400` but is
7075	// less than `700`, the rendered weight is `700`. * If the weight is
7076	// greater than or equal to `700`, the rendered weight is equal to the
7077	// weight. * If the text is not bold, the rendered weight is equal to
7078	// the weight.
7079	Weight int64 `json:"weight,omitempty"`
7080
7081	// ForceSendFields is a list of field names (e.g. "FontFamily") to
7082	// unconditionally include in API requests. By default, fields with
7083	// empty or default values are omitted from API requests. However, any
7084	// non-pointer, non-interface field appearing in ForceSendFields will be
7085	// sent to the server regardless of whether the field is empty or not.
7086	// This may be used to include empty fields in Patch requests.
7087	ForceSendFields []string `json:"-"`
7088
7089	// NullFields is a list of field names (e.g. "FontFamily") to include in
7090	// API requests with the JSON null value. By default, fields with empty
7091	// values are omitted from API requests. However, any field with an
7092	// empty value appearing in NullFields will be sent to the server as
7093	// null. It is an error if a field in this list has a non-empty value.
7094	// This may be used to include null fields in Patch requests.
7095	NullFields []string `json:"-"`
7096}
7097
7098func (s *WeightedFontFamily) MarshalJSON() ([]byte, error) {
7099	type NoMethod WeightedFontFamily
7100	raw := NoMethod(*s)
7101	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7102}
7103
7104// WriteControl: Provides control over how write requests are executed.
7105type WriteControl struct {
7106	// RequiredRevisionId: The revision ID of the document that the write
7107	// request will be applied to. If this is not the latest revision of the
7108	// document, the request will not be processed and will return a 400 bad
7109	// request error. When a required revision ID is returned in a response,
7110	// it indicates the revision ID of the document after the request was
7111	// applied.
7112	RequiredRevisionId string `json:"requiredRevisionId,omitempty"`
7113
7114	// TargetRevisionId: The target revision ID of the document that the
7115	// write request will be applied to. If collaborator changes have
7116	// occurred after the document was read using the API, the changes
7117	// produced by this write request will be transformed against the
7118	// collaborator changes. This results in a new revision of the document
7119	// which incorporates both the changes in the request and the
7120	// collaborator changes, and the Docs server will resolve conflicting
7121	// changes. When using `target_revision_id`, the API client can be
7122	// thought of as another collaborator of the document. The target
7123	// revision ID may only be used to write to recent versions of a
7124	// document. If the target revision is too far behind the latest
7125	// revision, the request will not be processed and will return a 400 bad
7126	// request error and the request should be retried after reading the
7127	// latest version of the document. In most cases a `revision_id` will
7128	// remain valid for use as a target revision for several minutes after
7129	// it is read, but for frequently-edited documents this window may be
7130	// shorter.
7131	TargetRevisionId string `json:"targetRevisionId,omitempty"`
7132
7133	// ForceSendFields is a list of field names (e.g. "RequiredRevisionId")
7134	// to unconditionally include in API requests. By default, fields with
7135	// empty or default values are omitted from API requests. However, any
7136	// non-pointer, non-interface field appearing in ForceSendFields will be
7137	// sent to the server regardless of whether the field is empty or not.
7138	// This may be used to include empty fields in Patch requests.
7139	ForceSendFields []string `json:"-"`
7140
7141	// NullFields is a list of field names (e.g. "RequiredRevisionId") to
7142	// include in API requests with the JSON null value. By default, fields
7143	// with empty values are omitted from API requests. However, any field
7144	// with an empty value appearing in NullFields will be sent to the
7145	// server as null. It is an error if a field in this list has a
7146	// non-empty value. This may be used to include null fields in Patch
7147	// requests.
7148	NullFields []string `json:"-"`
7149}
7150
7151func (s *WriteControl) MarshalJSON() ([]byte, error) {
7152	type NoMethod WriteControl
7153	raw := NoMethod(*s)
7154	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7155}
7156
7157// method id "docs.documents.batchUpdate":
7158
7159type DocumentsBatchUpdateCall struct {
7160	s                          *Service
7161	documentId                 string
7162	batchupdatedocumentrequest *BatchUpdateDocumentRequest
7163	urlParams_                 gensupport.URLParams
7164	ctx_                       context.Context
7165	header_                    http.Header
7166}
7167
7168// BatchUpdate: Applies one or more updates to the document. Each
7169// request is validated before being applied. If any request is not
7170// valid, then the entire request will fail and nothing will be applied.
7171// Some requests have replies to give you some information about how
7172// they are applied. Other requests do not need to return information;
7173// these each return an empty reply. The order of replies matches that
7174// of the requests. For example, suppose you call batchUpdate with four
7175// updates, and only the third one returns information. The response
7176// would have two empty replies, the reply to the third request, and
7177// another empty reply, in that order. Because other users may be
7178// editing the document, the document might not exactly reflect your
7179// changes: your changes may be altered with respect to collaborator
7180// changes. If there are no collaborators, the document should reflect
7181// your changes. In any case, the updates in your request are guaranteed
7182// to be applied together atomically.
7183//
7184// - documentId: The ID of the document to update.
7185func (r *DocumentsService) BatchUpdate(documentId string, batchupdatedocumentrequest *BatchUpdateDocumentRequest) *DocumentsBatchUpdateCall {
7186	c := &DocumentsBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7187	c.documentId = documentId
7188	c.batchupdatedocumentrequest = batchupdatedocumentrequest
7189	return c
7190}
7191
7192// Fields allows partial responses to be retrieved. See
7193// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7194// for more information.
7195func (c *DocumentsBatchUpdateCall) Fields(s ...googleapi.Field) *DocumentsBatchUpdateCall {
7196	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7197	return c
7198}
7199
7200// Context sets the context to be used in this call's Do method. Any
7201// pending HTTP request will be aborted if the provided context is
7202// canceled.
7203func (c *DocumentsBatchUpdateCall) Context(ctx context.Context) *DocumentsBatchUpdateCall {
7204	c.ctx_ = ctx
7205	return c
7206}
7207
7208// Header returns an http.Header that can be modified by the caller to
7209// add HTTP headers to the request.
7210func (c *DocumentsBatchUpdateCall) Header() http.Header {
7211	if c.header_ == nil {
7212		c.header_ = make(http.Header)
7213	}
7214	return c.header_
7215}
7216
7217func (c *DocumentsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
7218	reqHeaders := make(http.Header)
7219	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
7220	for k, v := range c.header_ {
7221		reqHeaders[k] = v
7222	}
7223	reqHeaders.Set("User-Agent", c.s.userAgent())
7224	var body io.Reader = nil
7225	body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdatedocumentrequest)
7226	if err != nil {
7227		return nil, err
7228	}
7229	reqHeaders.Set("Content-Type", "application/json")
7230	c.urlParams_.Set("alt", alt)
7231	c.urlParams_.Set("prettyPrint", "false")
7232	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/documents/{documentId}:batchUpdate")
7233	urls += "?" + c.urlParams_.Encode()
7234	req, err := http.NewRequest("POST", urls, body)
7235	if err != nil {
7236		return nil, err
7237	}
7238	req.Header = reqHeaders
7239	googleapi.Expand(req.URL, map[string]string{
7240		"documentId": c.documentId,
7241	})
7242	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7243}
7244
7245// Do executes the "docs.documents.batchUpdate" call.
7246// Exactly one of *BatchUpdateDocumentResponse or error will be non-nil.
7247// Any non-2xx status code is an error. Response headers are in either
7248// *BatchUpdateDocumentResponse.ServerResponse.Header or (if a response
7249// was returned at all) in error.(*googleapi.Error).Header. Use
7250// googleapi.IsNotModified to check whether the returned error was
7251// because http.StatusNotModified was returned.
7252func (c *DocumentsBatchUpdateCall) Do(opts ...googleapi.CallOption) (*BatchUpdateDocumentResponse, error) {
7253	gensupport.SetOptions(c.urlParams_, opts...)
7254	res, err := c.doRequest("json")
7255	if res != nil && res.StatusCode == http.StatusNotModified {
7256		if res.Body != nil {
7257			res.Body.Close()
7258		}
7259		return nil, &googleapi.Error{
7260			Code:   res.StatusCode,
7261			Header: res.Header,
7262		}
7263	}
7264	if err != nil {
7265		return nil, err
7266	}
7267	defer googleapi.CloseBody(res)
7268	if err := googleapi.CheckResponse(res); err != nil {
7269		return nil, err
7270	}
7271	ret := &BatchUpdateDocumentResponse{
7272		ServerResponse: googleapi.ServerResponse{
7273			Header:         res.Header,
7274			HTTPStatusCode: res.StatusCode,
7275		},
7276	}
7277	target := &ret
7278	if err := gensupport.DecodeResponse(target, res); err != nil {
7279		return nil, err
7280	}
7281	return ret, nil
7282	// {
7283	//   "description": "Applies one or more updates to the document. Each request is validated before being applied. If any request is not valid, then the entire request will fail and nothing will be applied. Some requests have replies to give you some information about how they are applied. Other requests do not need to return information; these each return an empty reply. The order of replies matches that of the requests. For example, suppose you call batchUpdate with four updates, and only the third one returns information. The response would have two empty replies, the reply to the third request, and another empty reply, in that order. Because other users may be editing the document, the document might not exactly reflect your changes: your changes may be altered with respect to collaborator changes. If there are no collaborators, the document should reflect your changes. In any case, the updates in your request are guaranteed to be applied together atomically.",
7284	//   "flatPath": "v1/documents/{documentId}:batchUpdate",
7285	//   "httpMethod": "POST",
7286	//   "id": "docs.documents.batchUpdate",
7287	//   "parameterOrder": [
7288	//     "documentId"
7289	//   ],
7290	//   "parameters": {
7291	//     "documentId": {
7292	//       "description": "The ID of the document to update.",
7293	//       "location": "path",
7294	//       "required": true,
7295	//       "type": "string"
7296	//     }
7297	//   },
7298	//   "path": "v1/documents/{documentId}:batchUpdate",
7299	//   "request": {
7300	//     "$ref": "BatchUpdateDocumentRequest"
7301	//   },
7302	//   "response": {
7303	//     "$ref": "BatchUpdateDocumentResponse"
7304	//   },
7305	//   "scopes": [
7306	//     "https://www.googleapis.com/auth/documents",
7307	//     "https://www.googleapis.com/auth/drive",
7308	//     "https://www.googleapis.com/auth/drive.file"
7309	//   ]
7310	// }
7311
7312}
7313
7314// method id "docs.documents.create":
7315
7316type DocumentsCreateCall struct {
7317	s          *Service
7318	document   *Document
7319	urlParams_ gensupport.URLParams
7320	ctx_       context.Context
7321	header_    http.Header
7322}
7323
7324// Create: Creates a blank document using the title given in the
7325// request. Other fields in the request, including any provided content,
7326// are ignored. Returns the created document.
7327func (r *DocumentsService) Create(document *Document) *DocumentsCreateCall {
7328	c := &DocumentsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7329	c.document = document
7330	return c
7331}
7332
7333// Fields allows partial responses to be retrieved. See
7334// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7335// for more information.
7336func (c *DocumentsCreateCall) Fields(s ...googleapi.Field) *DocumentsCreateCall {
7337	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7338	return c
7339}
7340
7341// Context sets the context to be used in this call's Do method. Any
7342// pending HTTP request will be aborted if the provided context is
7343// canceled.
7344func (c *DocumentsCreateCall) Context(ctx context.Context) *DocumentsCreateCall {
7345	c.ctx_ = ctx
7346	return c
7347}
7348
7349// Header returns an http.Header that can be modified by the caller to
7350// add HTTP headers to the request.
7351func (c *DocumentsCreateCall) Header() http.Header {
7352	if c.header_ == nil {
7353		c.header_ = make(http.Header)
7354	}
7355	return c.header_
7356}
7357
7358func (c *DocumentsCreateCall) doRequest(alt string) (*http.Response, error) {
7359	reqHeaders := make(http.Header)
7360	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
7361	for k, v := range c.header_ {
7362		reqHeaders[k] = v
7363	}
7364	reqHeaders.Set("User-Agent", c.s.userAgent())
7365	var body io.Reader = nil
7366	body, err := googleapi.WithoutDataWrapper.JSONReader(c.document)
7367	if err != nil {
7368		return nil, err
7369	}
7370	reqHeaders.Set("Content-Type", "application/json")
7371	c.urlParams_.Set("alt", alt)
7372	c.urlParams_.Set("prettyPrint", "false")
7373	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/documents")
7374	urls += "?" + c.urlParams_.Encode()
7375	req, err := http.NewRequest("POST", urls, body)
7376	if err != nil {
7377		return nil, err
7378	}
7379	req.Header = reqHeaders
7380	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7381}
7382
7383// Do executes the "docs.documents.create" call.
7384// Exactly one of *Document or error will be non-nil. Any non-2xx status
7385// code is an error. Response headers are in either
7386// *Document.ServerResponse.Header or (if a response was returned at
7387// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7388// to check whether the returned error was because
7389// http.StatusNotModified was returned.
7390func (c *DocumentsCreateCall) Do(opts ...googleapi.CallOption) (*Document, error) {
7391	gensupport.SetOptions(c.urlParams_, opts...)
7392	res, err := c.doRequest("json")
7393	if res != nil && res.StatusCode == http.StatusNotModified {
7394		if res.Body != nil {
7395			res.Body.Close()
7396		}
7397		return nil, &googleapi.Error{
7398			Code:   res.StatusCode,
7399			Header: res.Header,
7400		}
7401	}
7402	if err != nil {
7403		return nil, err
7404	}
7405	defer googleapi.CloseBody(res)
7406	if err := googleapi.CheckResponse(res); err != nil {
7407		return nil, err
7408	}
7409	ret := &Document{
7410		ServerResponse: googleapi.ServerResponse{
7411			Header:         res.Header,
7412			HTTPStatusCode: res.StatusCode,
7413		},
7414	}
7415	target := &ret
7416	if err := gensupport.DecodeResponse(target, res); err != nil {
7417		return nil, err
7418	}
7419	return ret, nil
7420	// {
7421	//   "description": "Creates a blank document using the title given in the request. Other fields in the request, including any provided content, are ignored. Returns the created document.",
7422	//   "flatPath": "v1/documents",
7423	//   "httpMethod": "POST",
7424	//   "id": "docs.documents.create",
7425	//   "parameterOrder": [],
7426	//   "parameters": {},
7427	//   "path": "v1/documents",
7428	//   "request": {
7429	//     "$ref": "Document"
7430	//   },
7431	//   "response": {
7432	//     "$ref": "Document"
7433	//   },
7434	//   "scopes": [
7435	//     "https://www.googleapis.com/auth/documents",
7436	//     "https://www.googleapis.com/auth/drive",
7437	//     "https://www.googleapis.com/auth/drive.file"
7438	//   ]
7439	// }
7440
7441}
7442
7443// method id "docs.documents.get":
7444
7445type DocumentsGetCall struct {
7446	s            *Service
7447	documentId   string
7448	urlParams_   gensupport.URLParams
7449	ifNoneMatch_ string
7450	ctx_         context.Context
7451	header_      http.Header
7452}
7453
7454// Get: Gets the latest version of the specified document.
7455//
7456// - documentId: The ID of the document to retrieve.
7457func (r *DocumentsService) Get(documentId string) *DocumentsGetCall {
7458	c := &DocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7459	c.documentId = documentId
7460	return c
7461}
7462
7463// SuggestionsViewMode sets the optional parameter
7464// "suggestionsViewMode": The suggestions view mode to apply to the
7465// document. This allows viewing the document with all suggestions
7466// inline, accepted or rejected. If one is not specified,
7467// DEFAULT_FOR_CURRENT_ACCESS is used.
7468//
7469// Possible values:
7470//   "DEFAULT_FOR_CURRENT_ACCESS" - The SuggestionsViewMode applied to
7471// the returned document depends on the user's current access level. If
7472// the user only has view access, PREVIEW_WITHOUT_SUGGESTIONS is
7473// applied. Otherwise, SUGGESTIONS_INLINE is applied. This is the
7474// default suggestions view mode.
7475//   "SUGGESTIONS_INLINE" - The returned document has suggestions
7476// inline. Suggested changes will be differentiated from base content
7477// within the document. Requests to retrieve a document using this mode
7478// will return a 403 error if the user does not have permission to view
7479// suggested changes.
7480//   "PREVIEW_SUGGESTIONS_ACCEPTED" - The returned document is a preview
7481// with all suggested changes accepted. Requests to retrieve a document
7482// using this mode will return a 403 error if the user does not have
7483// permission to view suggested changes.
7484//   "PREVIEW_WITHOUT_SUGGESTIONS" - The returned document is a preview
7485// with all suggested changes rejected if there are any suggestions in
7486// the document.
7487func (c *DocumentsGetCall) SuggestionsViewMode(suggestionsViewMode string) *DocumentsGetCall {
7488	c.urlParams_.Set("suggestionsViewMode", suggestionsViewMode)
7489	return c
7490}
7491
7492// Fields allows partial responses to be retrieved. See
7493// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7494// for more information.
7495func (c *DocumentsGetCall) Fields(s ...googleapi.Field) *DocumentsGetCall {
7496	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7497	return c
7498}
7499
7500// IfNoneMatch sets the optional parameter which makes the operation
7501// fail if the object's ETag matches the given value. This is useful for
7502// getting updates only after the object has changed since the last
7503// request. Use googleapi.IsNotModified to check whether the response
7504// error from Do is the result of In-None-Match.
7505func (c *DocumentsGetCall) IfNoneMatch(entityTag string) *DocumentsGetCall {
7506	c.ifNoneMatch_ = entityTag
7507	return c
7508}
7509
7510// Context sets the context to be used in this call's Do method. Any
7511// pending HTTP request will be aborted if the provided context is
7512// canceled.
7513func (c *DocumentsGetCall) Context(ctx context.Context) *DocumentsGetCall {
7514	c.ctx_ = ctx
7515	return c
7516}
7517
7518// Header returns an http.Header that can be modified by the caller to
7519// add HTTP headers to the request.
7520func (c *DocumentsGetCall) Header() http.Header {
7521	if c.header_ == nil {
7522		c.header_ = make(http.Header)
7523	}
7524	return c.header_
7525}
7526
7527func (c *DocumentsGetCall) doRequest(alt string) (*http.Response, error) {
7528	reqHeaders := make(http.Header)
7529	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
7530	for k, v := range c.header_ {
7531		reqHeaders[k] = v
7532	}
7533	reqHeaders.Set("User-Agent", c.s.userAgent())
7534	if c.ifNoneMatch_ != "" {
7535		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7536	}
7537	var body io.Reader = nil
7538	c.urlParams_.Set("alt", alt)
7539	c.urlParams_.Set("prettyPrint", "false")
7540	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/documents/{documentId}")
7541	urls += "?" + c.urlParams_.Encode()
7542	req, err := http.NewRequest("GET", urls, body)
7543	if err != nil {
7544		return nil, err
7545	}
7546	req.Header = reqHeaders
7547	googleapi.Expand(req.URL, map[string]string{
7548		"documentId": c.documentId,
7549	})
7550	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7551}
7552
7553// Do executes the "docs.documents.get" call.
7554// Exactly one of *Document or error will be non-nil. Any non-2xx status
7555// code is an error. Response headers are in either
7556// *Document.ServerResponse.Header or (if a response was returned at
7557// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7558// to check whether the returned error was because
7559// http.StatusNotModified was returned.
7560func (c *DocumentsGetCall) Do(opts ...googleapi.CallOption) (*Document, error) {
7561	gensupport.SetOptions(c.urlParams_, opts...)
7562	res, err := c.doRequest("json")
7563	if res != nil && res.StatusCode == http.StatusNotModified {
7564		if res.Body != nil {
7565			res.Body.Close()
7566		}
7567		return nil, &googleapi.Error{
7568			Code:   res.StatusCode,
7569			Header: res.Header,
7570		}
7571	}
7572	if err != nil {
7573		return nil, err
7574	}
7575	defer googleapi.CloseBody(res)
7576	if err := googleapi.CheckResponse(res); err != nil {
7577		return nil, err
7578	}
7579	ret := &Document{
7580		ServerResponse: googleapi.ServerResponse{
7581			Header:         res.Header,
7582			HTTPStatusCode: res.StatusCode,
7583		},
7584	}
7585	target := &ret
7586	if err := gensupport.DecodeResponse(target, res); err != nil {
7587		return nil, err
7588	}
7589	return ret, nil
7590	// {
7591	//   "description": "Gets the latest version of the specified document.",
7592	//   "flatPath": "v1/documents/{documentId}",
7593	//   "httpMethod": "GET",
7594	//   "id": "docs.documents.get",
7595	//   "parameterOrder": [
7596	//     "documentId"
7597	//   ],
7598	//   "parameters": {
7599	//     "documentId": {
7600	//       "description": "The ID of the document to retrieve.",
7601	//       "location": "path",
7602	//       "required": true,
7603	//       "type": "string"
7604	//     },
7605	//     "suggestionsViewMode": {
7606	//       "description": "The suggestions view mode to apply to the document. This allows viewing the document with all suggestions inline, accepted or rejected. If one is not specified, DEFAULT_FOR_CURRENT_ACCESS is used.",
7607	//       "enum": [
7608	//         "DEFAULT_FOR_CURRENT_ACCESS",
7609	//         "SUGGESTIONS_INLINE",
7610	//         "PREVIEW_SUGGESTIONS_ACCEPTED",
7611	//         "PREVIEW_WITHOUT_SUGGESTIONS"
7612	//       ],
7613	//       "enumDescriptions": [
7614	//         "The SuggestionsViewMode applied to the returned document depends on the user's current access level. If the user only has view access, PREVIEW_WITHOUT_SUGGESTIONS is applied. Otherwise, SUGGESTIONS_INLINE is applied. This is the default suggestions view mode.",
7615	//         "The returned document has suggestions inline. Suggested changes will be differentiated from base content within the document. Requests to retrieve a document using this mode will return a 403 error if the user does not have permission to view suggested changes.",
7616	//         "The returned document is a preview with all suggested changes accepted. Requests to retrieve a document using this mode will return a 403 error if the user does not have permission to view suggested changes.",
7617	//         "The returned document is a preview with all suggested changes rejected if there are any suggestions in the document."
7618	//       ],
7619	//       "location": "query",
7620	//       "type": "string"
7621	//     }
7622	//   },
7623	//   "path": "v1/documents/{documentId}",
7624	//   "response": {
7625	//     "$ref": "Document"
7626	//   },
7627	//   "scopes": [
7628	//     "https://www.googleapis.com/auth/documents",
7629	//     "https://www.googleapis.com/auth/documents.readonly",
7630	//     "https://www.googleapis.com/auth/drive",
7631	//     "https://www.googleapis.com/auth/drive.file",
7632	//     "https://www.googleapis.com/auth/drive.readonly"
7633	//   ]
7634	// }
7635
7636}
7637