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