1// Copyright 2021 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package books provides access to the Books API.
8//
9// For product documentation, see: https://code.google.com/apis/books/docs/v1/getting_started.html
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/books/v1"
16//   ...
17//   ctx := context.Background()
18//   booksService, err := books.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// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
27//
28//   booksService, err := books.NewService(ctx, option.WithAPIKey("AIza..."))
29//
30// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
31//
32//   config := &oauth2.Config{...}
33//   // ...
34//   token, err := config.Exchange(ctx, ...)
35//   booksService, err := books.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
36//
37// See https://godoc.org/google.golang.org/api/option/ for details on options.
38package books // import "google.golang.org/api/books/v1"
39
40import (
41	"bytes"
42	"context"
43	"encoding/json"
44	"errors"
45	"fmt"
46	"io"
47	"net/http"
48	"net/url"
49	"strconv"
50	"strings"
51
52	googleapi "google.golang.org/api/googleapi"
53	gensupport "google.golang.org/api/internal/gensupport"
54	option "google.golang.org/api/option"
55	internaloption "google.golang.org/api/option/internaloption"
56	htransport "google.golang.org/api/transport/http"
57)
58
59// Always reference these packages, just in case the auto-generated code
60// below doesn't.
61var _ = bytes.NewBuffer
62var _ = strconv.Itoa
63var _ = fmt.Sprintf
64var _ = json.NewDecoder
65var _ = io.Copy
66var _ = url.Parse
67var _ = gensupport.MarshalJSON
68var _ = googleapi.Version
69var _ = errors.New
70var _ = strings.Replace
71var _ = context.Canceled
72var _ = internaloption.WithDefaultEndpoint
73
74const apiId = "books:v1"
75const apiName = "books"
76const apiVersion = "v1"
77const basePath = "https://books.googleapis.com/"
78const mtlsBasePath = "https://books.mtls.googleapis.com/"
79
80// OAuth2 scopes used by this API.
81const (
82	// Manage your books
83	BooksScope = "https://www.googleapis.com/auth/books"
84)
85
86// NewService creates a new Service.
87func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
88	scopesOption := option.WithScopes(
89		"https://www.googleapis.com/auth/books",
90	)
91	// NOTE: prepend, so we don't override user-specified scopes.
92	opts = append([]option.ClientOption{scopesOption}, opts...)
93	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
94	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
95	client, endpoint, err := htransport.NewClient(ctx, opts...)
96	if err != nil {
97		return nil, err
98	}
99	s, err := New(client)
100	if err != nil {
101		return nil, err
102	}
103	if endpoint != "" {
104		s.BasePath = endpoint
105	}
106	return s, nil
107}
108
109// New creates a new Service. It uses the provided http.Client for requests.
110//
111// Deprecated: please use NewService instead.
112// To provide a custom HTTP client, use option.WithHTTPClient.
113// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
114func New(client *http.Client) (*Service, error) {
115	if client == nil {
116		return nil, errors.New("client is nil")
117	}
118	s := &Service{client: client, BasePath: basePath}
119	s.Bookshelves = NewBookshelvesService(s)
120	s.Cloudloading = NewCloudloadingService(s)
121	s.Dictionary = NewDictionaryService(s)
122	s.Familysharing = NewFamilysharingService(s)
123	s.Layers = NewLayersService(s)
124	s.Myconfig = NewMyconfigService(s)
125	s.Mylibrary = NewMylibraryService(s)
126	s.Notification = NewNotificationService(s)
127	s.Onboarding = NewOnboardingService(s)
128	s.Personalizedstream = NewPersonalizedstreamService(s)
129	s.Promooffer = NewPromoofferService(s)
130	s.Series = NewSeriesService(s)
131	s.Volumes = NewVolumesService(s)
132	return s, nil
133}
134
135type Service struct {
136	client    *http.Client
137	BasePath  string // API endpoint base URL
138	UserAgent string // optional additional User-Agent fragment
139
140	Bookshelves *BookshelvesService
141
142	Cloudloading *CloudloadingService
143
144	Dictionary *DictionaryService
145
146	Familysharing *FamilysharingService
147
148	Layers *LayersService
149
150	Myconfig *MyconfigService
151
152	Mylibrary *MylibraryService
153
154	Notification *NotificationService
155
156	Onboarding *OnboardingService
157
158	Personalizedstream *PersonalizedstreamService
159
160	Promooffer *PromoofferService
161
162	Series *SeriesService
163
164	Volumes *VolumesService
165}
166
167func (s *Service) userAgent() string {
168	if s.UserAgent == "" {
169		return googleapi.UserAgent
170	}
171	return googleapi.UserAgent + " " + s.UserAgent
172}
173
174func NewBookshelvesService(s *Service) *BookshelvesService {
175	rs := &BookshelvesService{s: s}
176	rs.Volumes = NewBookshelvesVolumesService(s)
177	return rs
178}
179
180type BookshelvesService struct {
181	s *Service
182
183	Volumes *BookshelvesVolumesService
184}
185
186func NewBookshelvesVolumesService(s *Service) *BookshelvesVolumesService {
187	rs := &BookshelvesVolumesService{s: s}
188	return rs
189}
190
191type BookshelvesVolumesService struct {
192	s *Service
193}
194
195func NewCloudloadingService(s *Service) *CloudloadingService {
196	rs := &CloudloadingService{s: s}
197	return rs
198}
199
200type CloudloadingService struct {
201	s *Service
202}
203
204func NewDictionaryService(s *Service) *DictionaryService {
205	rs := &DictionaryService{s: s}
206	return rs
207}
208
209type DictionaryService struct {
210	s *Service
211}
212
213func NewFamilysharingService(s *Service) *FamilysharingService {
214	rs := &FamilysharingService{s: s}
215	return rs
216}
217
218type FamilysharingService struct {
219	s *Service
220}
221
222func NewLayersService(s *Service) *LayersService {
223	rs := &LayersService{s: s}
224	rs.AnnotationData = NewLayersAnnotationDataService(s)
225	rs.VolumeAnnotations = NewLayersVolumeAnnotationsService(s)
226	return rs
227}
228
229type LayersService struct {
230	s *Service
231
232	AnnotationData *LayersAnnotationDataService
233
234	VolumeAnnotations *LayersVolumeAnnotationsService
235}
236
237func NewLayersAnnotationDataService(s *Service) *LayersAnnotationDataService {
238	rs := &LayersAnnotationDataService{s: s}
239	return rs
240}
241
242type LayersAnnotationDataService struct {
243	s *Service
244}
245
246func NewLayersVolumeAnnotationsService(s *Service) *LayersVolumeAnnotationsService {
247	rs := &LayersVolumeAnnotationsService{s: s}
248	return rs
249}
250
251type LayersVolumeAnnotationsService struct {
252	s *Service
253}
254
255func NewMyconfigService(s *Service) *MyconfigService {
256	rs := &MyconfigService{s: s}
257	return rs
258}
259
260type MyconfigService struct {
261	s *Service
262}
263
264func NewMylibraryService(s *Service) *MylibraryService {
265	rs := &MylibraryService{s: s}
266	rs.Annotations = NewMylibraryAnnotationsService(s)
267	rs.Bookshelves = NewMylibraryBookshelvesService(s)
268	rs.Readingpositions = NewMylibraryReadingpositionsService(s)
269	return rs
270}
271
272type MylibraryService struct {
273	s *Service
274
275	Annotations *MylibraryAnnotationsService
276
277	Bookshelves *MylibraryBookshelvesService
278
279	Readingpositions *MylibraryReadingpositionsService
280}
281
282func NewMylibraryAnnotationsService(s *Service) *MylibraryAnnotationsService {
283	rs := &MylibraryAnnotationsService{s: s}
284	return rs
285}
286
287type MylibraryAnnotationsService struct {
288	s *Service
289}
290
291func NewMylibraryBookshelvesService(s *Service) *MylibraryBookshelvesService {
292	rs := &MylibraryBookshelvesService{s: s}
293	rs.Volumes = NewMylibraryBookshelvesVolumesService(s)
294	return rs
295}
296
297type MylibraryBookshelvesService struct {
298	s *Service
299
300	Volumes *MylibraryBookshelvesVolumesService
301}
302
303func NewMylibraryBookshelvesVolumesService(s *Service) *MylibraryBookshelvesVolumesService {
304	rs := &MylibraryBookshelvesVolumesService{s: s}
305	return rs
306}
307
308type MylibraryBookshelvesVolumesService struct {
309	s *Service
310}
311
312func NewMylibraryReadingpositionsService(s *Service) *MylibraryReadingpositionsService {
313	rs := &MylibraryReadingpositionsService{s: s}
314	return rs
315}
316
317type MylibraryReadingpositionsService struct {
318	s *Service
319}
320
321func NewNotificationService(s *Service) *NotificationService {
322	rs := &NotificationService{s: s}
323	return rs
324}
325
326type NotificationService struct {
327	s *Service
328}
329
330func NewOnboardingService(s *Service) *OnboardingService {
331	rs := &OnboardingService{s: s}
332	return rs
333}
334
335type OnboardingService struct {
336	s *Service
337}
338
339func NewPersonalizedstreamService(s *Service) *PersonalizedstreamService {
340	rs := &PersonalizedstreamService{s: s}
341	return rs
342}
343
344type PersonalizedstreamService struct {
345	s *Service
346}
347
348func NewPromoofferService(s *Service) *PromoofferService {
349	rs := &PromoofferService{s: s}
350	return rs
351}
352
353type PromoofferService struct {
354	s *Service
355}
356
357func NewSeriesService(s *Service) *SeriesService {
358	rs := &SeriesService{s: s}
359	rs.Membership = NewSeriesMembershipService(s)
360	return rs
361}
362
363type SeriesService struct {
364	s *Service
365
366	Membership *SeriesMembershipService
367}
368
369func NewSeriesMembershipService(s *Service) *SeriesMembershipService {
370	rs := &SeriesMembershipService{s: s}
371	return rs
372}
373
374type SeriesMembershipService struct {
375	s *Service
376}
377
378func NewVolumesService(s *Service) *VolumesService {
379	rs := &VolumesService{s: s}
380	rs.Associated = NewVolumesAssociatedService(s)
381	rs.Mybooks = NewVolumesMybooksService(s)
382	rs.Recommended = NewVolumesRecommendedService(s)
383	rs.Useruploaded = NewVolumesUseruploadedService(s)
384	return rs
385}
386
387type VolumesService struct {
388	s *Service
389
390	Associated *VolumesAssociatedService
391
392	Mybooks *VolumesMybooksService
393
394	Recommended *VolumesRecommendedService
395
396	Useruploaded *VolumesUseruploadedService
397}
398
399func NewVolumesAssociatedService(s *Service) *VolumesAssociatedService {
400	rs := &VolumesAssociatedService{s: s}
401	return rs
402}
403
404type VolumesAssociatedService struct {
405	s *Service
406}
407
408func NewVolumesMybooksService(s *Service) *VolumesMybooksService {
409	rs := &VolumesMybooksService{s: s}
410	return rs
411}
412
413type VolumesMybooksService struct {
414	s *Service
415}
416
417func NewVolumesRecommendedService(s *Service) *VolumesRecommendedService {
418	rs := &VolumesRecommendedService{s: s}
419	return rs
420}
421
422type VolumesRecommendedService struct {
423	s *Service
424}
425
426func NewVolumesUseruploadedService(s *Service) *VolumesUseruploadedService {
427	rs := &VolumesUseruploadedService{s: s}
428	return rs
429}
430
431type VolumesUseruploadedService struct {
432	s *Service
433}
434
435type Annotation struct {
436	// AfterSelectedText: Anchor text after excerpt. For requests, if the
437	// user bookmarked a screen that has no flowing text on it, then this
438	// field should be empty.
439	AfterSelectedText string `json:"afterSelectedText,omitempty"`
440
441	// BeforeSelectedText: Anchor text before excerpt. For requests, if the
442	// user bookmarked a screen that has no flowing text on it, then this
443	// field should be empty.
444	BeforeSelectedText string `json:"beforeSelectedText,omitempty"`
445
446	// ClientVersionRanges: Selection ranges sent from the client.
447	ClientVersionRanges *AnnotationClientVersionRanges `json:"clientVersionRanges,omitempty"`
448
449	// Created: Timestamp for the created time of this annotation.
450	Created string `json:"created,omitempty"`
451
452	// CurrentVersionRanges: Selection ranges for the most recent content
453	// version.
454	CurrentVersionRanges *AnnotationCurrentVersionRanges `json:"currentVersionRanges,omitempty"`
455
456	// Data: User-created data for this annotation.
457	Data string `json:"data,omitempty"`
458
459	// Deleted: Indicates that this annotation is deleted.
460	Deleted bool `json:"deleted,omitempty"`
461
462	// HighlightStyle: The highlight style for this annotation.
463	HighlightStyle string `json:"highlightStyle,omitempty"`
464
465	// Id: Id of this annotation, in the form of a GUID.
466	Id string `json:"id,omitempty"`
467
468	// Kind: Resource type.
469	Kind string `json:"kind,omitempty"`
470
471	// LayerId: The layer this annotation is for.
472	LayerId string `json:"layerId,omitempty"`
473
474	LayerSummary *AnnotationLayerSummary `json:"layerSummary,omitempty"`
475
476	// PageIds: Pages that this annotation spans.
477	PageIds []string `json:"pageIds,omitempty"`
478
479	// SelectedText: Excerpt from the volume.
480	SelectedText string `json:"selectedText,omitempty"`
481
482	// SelfLink: URL to this resource.
483	SelfLink string `json:"selfLink,omitempty"`
484
485	// Updated: Timestamp for the last time this annotation was modified.
486	Updated string `json:"updated,omitempty"`
487
488	// VolumeId: The volume that this annotation belongs to.
489	VolumeId string `json:"volumeId,omitempty"`
490
491	// ServerResponse contains the HTTP response code and headers from the
492	// server.
493	googleapi.ServerResponse `json:"-"`
494
495	// ForceSendFields is a list of field names (e.g. "AfterSelectedText")
496	// to unconditionally include in API requests. By default, fields with
497	// empty values are omitted from API requests. However, any non-pointer,
498	// non-interface field appearing in ForceSendFields will be sent to the
499	// server regardless of whether the field is empty or not. This may be
500	// used to include empty fields in Patch requests.
501	ForceSendFields []string `json:"-"`
502
503	// NullFields is a list of field names (e.g. "AfterSelectedText") to
504	// include in API requests with the JSON null value. By default, fields
505	// with empty values are omitted from API requests. However, any field
506	// with an empty value appearing in NullFields will be sent to the
507	// server as null. It is an error if a field in this list has a
508	// non-empty value. This may be used to include null fields in Patch
509	// requests.
510	NullFields []string `json:"-"`
511}
512
513func (s *Annotation) MarshalJSON() ([]byte, error) {
514	type NoMethod Annotation
515	raw := NoMethod(*s)
516	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
517}
518
519// AnnotationClientVersionRanges: Selection ranges sent from the client.
520type AnnotationClientVersionRanges struct {
521	// CfiRange: Range in CFI format for this annotation sent by client.
522	CfiRange *BooksAnnotationsRange `json:"cfiRange,omitempty"`
523
524	// ContentVersion: Content version the client sent in.
525	ContentVersion string `json:"contentVersion,omitempty"`
526
527	// GbImageRange: Range in GB image format for this annotation sent by
528	// client.
529	GbImageRange *BooksAnnotationsRange `json:"gbImageRange,omitempty"`
530
531	// GbTextRange: Range in GB text format for this annotation sent by
532	// client.
533	GbTextRange *BooksAnnotationsRange `json:"gbTextRange,omitempty"`
534
535	// ImageCfiRange: Range in image CFI format for this annotation sent by
536	// client.
537	ImageCfiRange *BooksAnnotationsRange `json:"imageCfiRange,omitempty"`
538
539	// ForceSendFields is a list of field names (e.g. "CfiRange") to
540	// unconditionally include in API requests. By default, fields with
541	// empty values are omitted from API requests. However, any non-pointer,
542	// non-interface field appearing in ForceSendFields will be sent to the
543	// server regardless of whether the field is empty or not. This may be
544	// used to include empty fields in Patch requests.
545	ForceSendFields []string `json:"-"`
546
547	// NullFields is a list of field names (e.g. "CfiRange") to include in
548	// API requests with the JSON null value. By default, fields with empty
549	// values are omitted from API requests. However, any field with an
550	// empty value appearing in NullFields will be sent to the server as
551	// null. It is an error if a field in this list has a non-empty value.
552	// This may be used to include null fields in Patch requests.
553	NullFields []string `json:"-"`
554}
555
556func (s *AnnotationClientVersionRanges) MarshalJSON() ([]byte, error) {
557	type NoMethod AnnotationClientVersionRanges
558	raw := NoMethod(*s)
559	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
560}
561
562// AnnotationCurrentVersionRanges: Selection ranges for the most recent
563// content version.
564type AnnotationCurrentVersionRanges struct {
565	// CfiRange: Range in CFI format for this annotation for version above.
566	CfiRange *BooksAnnotationsRange `json:"cfiRange,omitempty"`
567
568	// ContentVersion: Content version applicable to ranges below.
569	ContentVersion string `json:"contentVersion,omitempty"`
570
571	// GbImageRange: Range in GB image format for this annotation for
572	// version above.
573	GbImageRange *BooksAnnotationsRange `json:"gbImageRange,omitempty"`
574
575	// GbTextRange: Range in GB text format for this annotation for version
576	// above.
577	GbTextRange *BooksAnnotationsRange `json:"gbTextRange,omitempty"`
578
579	// ImageCfiRange: Range in image CFI format for this annotation for
580	// version above.
581	ImageCfiRange *BooksAnnotationsRange `json:"imageCfiRange,omitempty"`
582
583	// ForceSendFields is a list of field names (e.g. "CfiRange") to
584	// unconditionally include in API requests. By default, fields with
585	// empty values are omitted from API requests. However, any non-pointer,
586	// non-interface field appearing in ForceSendFields will be sent to the
587	// server regardless of whether the field is empty or not. This may be
588	// used to include empty fields in Patch requests.
589	ForceSendFields []string `json:"-"`
590
591	// NullFields is a list of field names (e.g. "CfiRange") to include in
592	// API requests with the JSON null value. By default, fields with empty
593	// values are omitted from API requests. However, any field with an
594	// empty value appearing in NullFields will be sent to the server as
595	// null. It is an error if a field in this list has a non-empty value.
596	// This may be used to include null fields in Patch requests.
597	NullFields []string `json:"-"`
598}
599
600func (s *AnnotationCurrentVersionRanges) MarshalJSON() ([]byte, error) {
601	type NoMethod AnnotationCurrentVersionRanges
602	raw := NoMethod(*s)
603	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
604}
605
606type AnnotationLayerSummary struct {
607	// AllowedCharacterCount: Maximum allowed characters on this layer,
608	// especially for the "copy" layer.
609	AllowedCharacterCount int64 `json:"allowedCharacterCount,omitempty"`
610
611	// LimitType: Type of limitation on this layer. "limited" or "unlimited"
612	// for the "copy" layer.
613	LimitType string `json:"limitType,omitempty"`
614
615	// RemainingCharacterCount: Remaining allowed characters on this layer,
616	// especially for the "copy" layer.
617	RemainingCharacterCount int64 `json:"remainingCharacterCount,omitempty"`
618
619	// ForceSendFields is a list of field names (e.g.
620	// "AllowedCharacterCount") to unconditionally include in API requests.
621	// By default, fields with empty values are omitted from API requests.
622	// However, any non-pointer, non-interface field appearing in
623	// ForceSendFields will be sent to the server regardless of whether the
624	// field is empty or not. This may be used to include empty fields in
625	// Patch requests.
626	ForceSendFields []string `json:"-"`
627
628	// NullFields is a list of field names (e.g. "AllowedCharacterCount") to
629	// include in API requests with the JSON null value. By default, fields
630	// with empty values are omitted from API requests. However, any field
631	// with an empty value appearing in NullFields will be sent to the
632	// server as null. It is an error if a field in this list has a
633	// non-empty value. This may be used to include null fields in Patch
634	// requests.
635	NullFields []string `json:"-"`
636}
637
638func (s *AnnotationLayerSummary) MarshalJSON() ([]byte, error) {
639	type NoMethod AnnotationLayerSummary
640	raw := NoMethod(*s)
641	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
642}
643
644type Annotations struct {
645	// Items: A list of annotations.
646	Items []*Annotation `json:"items,omitempty"`
647
648	// Kind: Resource type.
649	Kind string `json:"kind,omitempty"`
650
651	// NextPageToken: Token to pass in for pagination for the next page.
652	// This will not be present if this request does not have more results.
653	NextPageToken string `json:"nextPageToken,omitempty"`
654
655	// TotalItems: Total number of annotations found. This may be greater
656	// than the number of notes returned in this response if results have
657	// been paginated.
658	TotalItems int64 `json:"totalItems,omitempty"`
659
660	// ServerResponse contains the HTTP response code and headers from the
661	// server.
662	googleapi.ServerResponse `json:"-"`
663
664	// ForceSendFields is a list of field names (e.g. "Items") to
665	// unconditionally include in API requests. By default, fields with
666	// empty values are omitted from API requests. However, any non-pointer,
667	// non-interface field appearing in ForceSendFields will be sent to the
668	// server regardless of whether the field is empty or not. This may be
669	// used to include empty fields in Patch requests.
670	ForceSendFields []string `json:"-"`
671
672	// NullFields is a list of field names (e.g. "Items") to include in API
673	// requests with the JSON null value. By default, fields with empty
674	// values are omitted from API requests. However, any field with an
675	// empty value appearing in NullFields will be sent to the server as
676	// null. It is an error if a field in this list has a non-empty value.
677	// This may be used to include null fields in Patch requests.
678	NullFields []string `json:"-"`
679}
680
681func (s *Annotations) MarshalJSON() ([]byte, error) {
682	type NoMethod Annotations
683	raw := NoMethod(*s)
684	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
685}
686
687type AnnotationsSummary struct {
688	Kind string `json:"kind,omitempty"`
689
690	Layers []*AnnotationsSummaryLayers `json:"layers,omitempty"`
691
692	// ServerResponse contains the HTTP response code and headers from the
693	// server.
694	googleapi.ServerResponse `json:"-"`
695
696	// ForceSendFields is a list of field names (e.g. "Kind") to
697	// unconditionally include in API requests. By default, fields with
698	// empty values are omitted from API requests. However, any non-pointer,
699	// non-interface field appearing in ForceSendFields will be sent to the
700	// server regardless of whether the field is empty or not. This may be
701	// used to include empty fields in Patch requests.
702	ForceSendFields []string `json:"-"`
703
704	// NullFields is a list of field names (e.g. "Kind") to include in API
705	// requests with the JSON null value. By default, fields with empty
706	// values are omitted from API requests. However, any field with an
707	// empty value appearing in NullFields will be sent to the server as
708	// null. It is an error if a field in this list has a non-empty value.
709	// This may be used to include null fields in Patch requests.
710	NullFields []string `json:"-"`
711}
712
713func (s *AnnotationsSummary) MarshalJSON() ([]byte, error) {
714	type NoMethod AnnotationsSummary
715	raw := NoMethod(*s)
716	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
717}
718
719type AnnotationsSummaryLayers struct {
720	AllowedCharacterCount int64 `json:"allowedCharacterCount,omitempty"`
721
722	LayerId string `json:"layerId,omitempty"`
723
724	LimitType string `json:"limitType,omitempty"`
725
726	RemainingCharacterCount int64 `json:"remainingCharacterCount,omitempty"`
727
728	Updated string `json:"updated,omitempty"`
729
730	// ForceSendFields is a list of field names (e.g.
731	// "AllowedCharacterCount") to unconditionally include in API requests.
732	// By default, fields with empty values are omitted from API requests.
733	// However, any non-pointer, non-interface field appearing in
734	// ForceSendFields will be sent to the server regardless of whether the
735	// field is empty or not. This may be used to include empty fields in
736	// Patch requests.
737	ForceSendFields []string `json:"-"`
738
739	// NullFields is a list of field names (e.g. "AllowedCharacterCount") to
740	// include in API requests with the JSON null value. By default, fields
741	// with empty values are omitted from API requests. However, any field
742	// with an empty value appearing in NullFields will be sent to the
743	// server as null. It is an error if a field in this list has a
744	// non-empty value. This may be used to include null fields in Patch
745	// requests.
746	NullFields []string `json:"-"`
747}
748
749func (s *AnnotationsSummaryLayers) MarshalJSON() ([]byte, error) {
750	type NoMethod AnnotationsSummaryLayers
751	raw := NoMethod(*s)
752	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
753}
754
755type Annotationsdata struct {
756	// Items: A list of Annotation Data.
757	Items []*GeoAnnotationdata `json:"items,omitempty"`
758
759	// Kind: Resource type
760	Kind string `json:"kind,omitempty"`
761
762	// NextPageToken: Token to pass in for pagination for the next page.
763	// This will not be present if this request does not have more results.
764	NextPageToken string `json:"nextPageToken,omitempty"`
765
766	// TotalItems: The total number of volume annotations found.
767	TotalItems int64 `json:"totalItems,omitempty"`
768
769	// ServerResponse contains the HTTP response code and headers from the
770	// server.
771	googleapi.ServerResponse `json:"-"`
772
773	// ForceSendFields is a list of field names (e.g. "Items") to
774	// unconditionally include in API requests. By default, fields with
775	// empty values are omitted from API requests. However, any non-pointer,
776	// non-interface field appearing in ForceSendFields will be sent to the
777	// server regardless of whether the field is empty or not. This may be
778	// used to include empty fields in Patch requests.
779	ForceSendFields []string `json:"-"`
780
781	// NullFields is a list of field names (e.g. "Items") to include in API
782	// requests with the JSON null value. By default, fields with empty
783	// values are omitted from API requests. However, any field with an
784	// empty value appearing in NullFields will be sent to the server as
785	// null. It is an error if a field in this list has a non-empty value.
786	// This may be used to include null fields in Patch requests.
787	NullFields []string `json:"-"`
788}
789
790func (s *Annotationsdata) MarshalJSON() ([]byte, error) {
791	type NoMethod Annotationsdata
792	raw := NoMethod(*s)
793	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
794}
795
796type BooksAnnotationsRange struct {
797	// EndOffset: The offset from the ending position.
798	EndOffset string `json:"endOffset,omitempty"`
799
800	// EndPosition: The ending position for the range.
801	EndPosition string `json:"endPosition,omitempty"`
802
803	// StartOffset: The offset from the starting position.
804	StartOffset string `json:"startOffset,omitempty"`
805
806	// StartPosition: The starting position for the range.
807	StartPosition string `json:"startPosition,omitempty"`
808
809	// ForceSendFields is a list of field names (e.g. "EndOffset") to
810	// unconditionally include in API requests. By default, fields with
811	// empty values are omitted from API requests. However, any non-pointer,
812	// non-interface field appearing in ForceSendFields will be sent to the
813	// server regardless of whether the field is empty or not. This may be
814	// used to include empty fields in Patch requests.
815	ForceSendFields []string `json:"-"`
816
817	// NullFields is a list of field names (e.g. "EndOffset") to include in
818	// API requests with the JSON null value. By default, fields with empty
819	// values are omitted from API requests. However, any field with an
820	// empty value appearing in NullFields will be sent to the server as
821	// null. It is an error if a field in this list has a non-empty value.
822	// This may be used to include null fields in Patch requests.
823	NullFields []string `json:"-"`
824}
825
826func (s *BooksAnnotationsRange) MarshalJSON() ([]byte, error) {
827	type NoMethod BooksAnnotationsRange
828	raw := NoMethod(*s)
829	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
830}
831
832type BooksCloudloadingResource struct {
833	Author string `json:"author,omitempty"`
834
835	ProcessingState string `json:"processingState,omitempty"`
836
837	Title string `json:"title,omitempty"`
838
839	VolumeId string `json:"volumeId,omitempty"`
840
841	// ServerResponse contains the HTTP response code and headers from the
842	// server.
843	googleapi.ServerResponse `json:"-"`
844
845	// ForceSendFields is a list of field names (e.g. "Author") to
846	// unconditionally include in API requests. By default, fields with
847	// empty values are omitted from API requests. However, any non-pointer,
848	// non-interface field appearing in ForceSendFields will be sent to the
849	// server regardless of whether the field is empty or not. This may be
850	// used to include empty fields in Patch requests.
851	ForceSendFields []string `json:"-"`
852
853	// NullFields is a list of field names (e.g. "Author") to include in API
854	// requests with the JSON null value. By default, fields with empty
855	// values are omitted from API requests. However, any field with an
856	// empty value appearing in NullFields will be sent to the server as
857	// null. It is an error if a field in this list has a non-empty value.
858	// This may be used to include null fields in Patch requests.
859	NullFields []string `json:"-"`
860}
861
862func (s *BooksCloudloadingResource) MarshalJSON() ([]byte, error) {
863	type NoMethod BooksCloudloadingResource
864	raw := NoMethod(*s)
865	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
866}
867
868type BooksVolumesRecommendedRateResponse struct {
869	ConsistencyToken string `json:"consistency_token,omitempty"`
870
871	// ServerResponse contains the HTTP response code and headers from the
872	// server.
873	googleapi.ServerResponse `json:"-"`
874
875	// ForceSendFields is a list of field names (e.g. "ConsistencyToken") to
876	// unconditionally include in API requests. By default, fields with
877	// empty values are omitted from API requests. However, any non-pointer,
878	// non-interface field appearing in ForceSendFields will be sent to the
879	// server regardless of whether the field is empty or not. This may be
880	// used to include empty fields in Patch requests.
881	ForceSendFields []string `json:"-"`
882
883	// NullFields is a list of field names (e.g. "ConsistencyToken") to
884	// include in API requests with the JSON null value. By default, fields
885	// with empty values are omitted from API requests. However, any field
886	// with an empty value appearing in NullFields will be sent to the
887	// server as null. It is an error if a field in this list has a
888	// non-empty value. This may be used to include null fields in Patch
889	// requests.
890	NullFields []string `json:"-"`
891}
892
893func (s *BooksVolumesRecommendedRateResponse) MarshalJSON() ([]byte, error) {
894	type NoMethod BooksVolumesRecommendedRateResponse
895	raw := NoMethod(*s)
896	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
897}
898
899type Bookshelf struct {
900	// Access: Whether this bookshelf is PUBLIC or PRIVATE.
901	Access string `json:"access,omitempty"`
902
903	// Created: Created time for this bookshelf (formatted UTC timestamp
904	// with millisecond resolution).
905	Created string `json:"created,omitempty"`
906
907	// Description: Description of this bookshelf.
908	Description string `json:"description,omitempty"`
909
910	// Id: Id of this bookshelf, only unique by user.
911	Id int64 `json:"id,omitempty"`
912
913	// Kind: Resource type for bookshelf metadata.
914	Kind string `json:"kind,omitempty"`
915
916	// SelfLink: URL to this resource.
917	SelfLink string `json:"selfLink,omitempty"`
918
919	// Title: Title of this bookshelf.
920	Title string `json:"title,omitempty"`
921
922	// Updated: Last modified time of this bookshelf (formatted UTC
923	// timestamp with millisecond resolution).
924	Updated string `json:"updated,omitempty"`
925
926	// VolumeCount: Number of volumes in this bookshelf.
927	VolumeCount int64 `json:"volumeCount,omitempty"`
928
929	// VolumesLastUpdated: Last time a volume was added or removed from this
930	// bookshelf (formatted UTC timestamp with millisecond resolution).
931	VolumesLastUpdated string `json:"volumesLastUpdated,omitempty"`
932
933	// ServerResponse contains the HTTP response code and headers from the
934	// server.
935	googleapi.ServerResponse `json:"-"`
936
937	// ForceSendFields is a list of field names (e.g. "Access") to
938	// unconditionally include in API requests. By default, fields with
939	// empty values are omitted from API requests. However, any non-pointer,
940	// non-interface field appearing in ForceSendFields will be sent to the
941	// server regardless of whether the field is empty or not. This may be
942	// used to include empty fields in Patch requests.
943	ForceSendFields []string `json:"-"`
944
945	// NullFields is a list of field names (e.g. "Access") to include in API
946	// requests with the JSON null value. By default, fields with empty
947	// values are omitted from API requests. However, any field with an
948	// empty value appearing in NullFields will be sent to the server as
949	// null. It is an error if a field in this list has a non-empty value.
950	// This may be used to include null fields in Patch requests.
951	NullFields []string `json:"-"`
952}
953
954func (s *Bookshelf) MarshalJSON() ([]byte, error) {
955	type NoMethod Bookshelf
956	raw := NoMethod(*s)
957	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
958}
959
960type Bookshelves struct {
961	// Items: A list of bookshelves.
962	Items []*Bookshelf `json:"items,omitempty"`
963
964	// Kind: Resource type.
965	Kind string `json:"kind,omitempty"`
966
967	// ServerResponse contains the HTTP response code and headers from the
968	// server.
969	googleapi.ServerResponse `json:"-"`
970
971	// ForceSendFields is a list of field names (e.g. "Items") to
972	// unconditionally include in API requests. By default, fields with
973	// empty values are omitted from API requests. However, any non-pointer,
974	// non-interface field appearing in ForceSendFields will be sent to the
975	// server regardless of whether the field is empty or not. This may be
976	// used to include empty fields in Patch requests.
977	ForceSendFields []string `json:"-"`
978
979	// NullFields is a list of field names (e.g. "Items") to include in API
980	// requests with the JSON null value. By default, fields with empty
981	// values are omitted from API requests. However, any field with an
982	// empty value appearing in NullFields will be sent to the server as
983	// null. It is an error if a field in this list has a non-empty value.
984	// This may be used to include null fields in Patch requests.
985	NullFields []string `json:"-"`
986}
987
988func (s *Bookshelves) MarshalJSON() ([]byte, error) {
989	type NoMethod Bookshelves
990	raw := NoMethod(*s)
991	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
992}
993
994type Category struct {
995	// Items: A list of onboarding categories.
996	Items []*CategoryItems `json:"items,omitempty"`
997
998	// Kind: Resource type.
999	Kind string `json:"kind,omitempty"`
1000
1001	// ServerResponse contains the HTTP response code and headers from the
1002	// server.
1003	googleapi.ServerResponse `json:"-"`
1004
1005	// ForceSendFields is a list of field names (e.g. "Items") to
1006	// unconditionally include in API requests. By default, fields with
1007	// empty values are omitted from API requests. However, any non-pointer,
1008	// non-interface field appearing in ForceSendFields will be sent to the
1009	// server regardless of whether the field is empty or not. This may be
1010	// used to include empty fields in Patch requests.
1011	ForceSendFields []string `json:"-"`
1012
1013	// NullFields is a list of field names (e.g. "Items") to include in API
1014	// requests with the JSON null value. By default, fields with empty
1015	// values are omitted from API requests. However, any field with an
1016	// empty value appearing in NullFields will be sent to the server as
1017	// null. It is an error if a field in this list has a non-empty value.
1018	// This may be used to include null fields in Patch requests.
1019	NullFields []string `json:"-"`
1020}
1021
1022func (s *Category) MarshalJSON() ([]byte, error) {
1023	type NoMethod Category
1024	raw := NoMethod(*s)
1025	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1026}
1027
1028type CategoryItems struct {
1029	BadgeUrl string `json:"badgeUrl,omitempty"`
1030
1031	CategoryId string `json:"categoryId,omitempty"`
1032
1033	Name string `json:"name,omitempty"`
1034
1035	// ForceSendFields is a list of field names (e.g. "BadgeUrl") to
1036	// unconditionally include in API requests. By default, fields with
1037	// empty values are omitted from API requests. However, any non-pointer,
1038	// non-interface field appearing in ForceSendFields will be sent to the
1039	// server regardless of whether the field is empty or not. This may be
1040	// used to include empty fields in Patch requests.
1041	ForceSendFields []string `json:"-"`
1042
1043	// NullFields is a list of field names (e.g. "BadgeUrl") to include in
1044	// API requests with the JSON null value. By default, fields with empty
1045	// values are omitted from API requests. However, any field with an
1046	// empty value appearing in NullFields will be sent to the server as
1047	// null. It is an error if a field in this list has a non-empty value.
1048	// This may be used to include null fields in Patch requests.
1049	NullFields []string `json:"-"`
1050}
1051
1052func (s *CategoryItems) MarshalJSON() ([]byte, error) {
1053	type NoMethod CategoryItems
1054	raw := NoMethod(*s)
1055	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1056}
1057
1058type ConcurrentAccessRestriction struct {
1059	// DeviceAllowed: Whether access is granted for this (user, device,
1060	// volume).
1061	DeviceAllowed bool `json:"deviceAllowed,omitempty"`
1062
1063	// Kind: Resource type.
1064	Kind string `json:"kind,omitempty"`
1065
1066	// MaxConcurrentDevices: The maximum number of concurrent access
1067	// licenses for this volume.
1068	MaxConcurrentDevices int64 `json:"maxConcurrentDevices,omitempty"`
1069
1070	// Message: Error/warning message.
1071	Message string `json:"message,omitempty"`
1072
1073	// Nonce: Client nonce for verification. Download access and
1074	// client-validation only.
1075	Nonce string `json:"nonce,omitempty"`
1076
1077	// ReasonCode: Error/warning reason code.
1078	ReasonCode string `json:"reasonCode,omitempty"`
1079
1080	// Restricted: Whether this volume has any concurrent access
1081	// restrictions.
1082	Restricted bool `json:"restricted,omitempty"`
1083
1084	// Signature: Response signature.
1085	Signature string `json:"signature,omitempty"`
1086
1087	// Source: Client app identifier for verification. Download access and
1088	// client-validation only.
1089	Source string `json:"source,omitempty"`
1090
1091	// TimeWindowSeconds: Time in seconds for license auto-expiration.
1092	TimeWindowSeconds int64 `json:"timeWindowSeconds,omitempty"`
1093
1094	// VolumeId: Identifies the volume for which this entry applies.
1095	VolumeId string `json:"volumeId,omitempty"`
1096
1097	// ForceSendFields is a list of field names (e.g. "DeviceAllowed") to
1098	// unconditionally include in API requests. By default, fields with
1099	// empty values are omitted from API requests. However, any non-pointer,
1100	// non-interface field appearing in ForceSendFields will be sent to the
1101	// server regardless of whether the field is empty or not. This may be
1102	// used to include empty fields in Patch requests.
1103	ForceSendFields []string `json:"-"`
1104
1105	// NullFields is a list of field names (e.g. "DeviceAllowed") to include
1106	// in API requests with the JSON null value. By default, fields with
1107	// empty values are omitted from API requests. However, any field with
1108	// an empty value appearing in NullFields will be sent to the server as
1109	// null. It is an error if a field in this list has a non-empty value.
1110	// This may be used to include null fields in Patch requests.
1111	NullFields []string `json:"-"`
1112}
1113
1114func (s *ConcurrentAccessRestriction) MarshalJSON() ([]byte, error) {
1115	type NoMethod ConcurrentAccessRestriction
1116	raw := NoMethod(*s)
1117	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1118}
1119
1120type DictionaryAnnotationdata struct {
1121	// AnnotationType: The type of annotation this data is for.
1122	AnnotationType string `json:"annotationType,omitempty"`
1123
1124	// Data: JSON encoded data for this dictionary annotation data. Emitted
1125	// with name 'data' in JSON output. Either this or geo_data will be
1126	// populated.
1127	Data *Dictlayerdata `json:"data,omitempty"`
1128
1129	// EncodedData: Base64 encoded data for this annotation data.
1130	EncodedData string `json:"encodedData,omitempty"`
1131
1132	// Id: Unique id for this annotation data.
1133	Id string `json:"id,omitempty"`
1134
1135	// Kind: Resource Type
1136	Kind string `json:"kind,omitempty"`
1137
1138	// LayerId: The Layer id for this data. *
1139	LayerId string `json:"layerId,omitempty"`
1140
1141	// SelfLink: URL for this resource. *
1142	SelfLink string `json:"selfLink,omitempty"`
1143
1144	// Updated: Timestamp for the last time this data was updated. (RFC 3339
1145	// UTC date-time format).
1146	Updated string `json:"updated,omitempty"`
1147
1148	// VolumeId: The volume id for this data. *
1149	VolumeId string `json:"volumeId,omitempty"`
1150
1151	// ServerResponse contains the HTTP response code and headers from the
1152	// server.
1153	googleapi.ServerResponse `json:"-"`
1154
1155	// ForceSendFields is a list of field names (e.g. "AnnotationType") to
1156	// unconditionally include in API requests. By default, fields with
1157	// empty values are omitted from API requests. However, any non-pointer,
1158	// non-interface field appearing in ForceSendFields will be sent to the
1159	// server regardless of whether the field is empty or not. This may be
1160	// used to include empty fields in Patch requests.
1161	ForceSendFields []string `json:"-"`
1162
1163	// NullFields is a list of field names (e.g. "AnnotationType") to
1164	// include in API requests with the JSON null value. By default, fields
1165	// with empty values are omitted from API requests. However, any field
1166	// with an empty value appearing in NullFields will be sent to the
1167	// server as null. It is an error if a field in this list has a
1168	// non-empty value. This may be used to include null fields in Patch
1169	// requests.
1170	NullFields []string `json:"-"`
1171}
1172
1173func (s *DictionaryAnnotationdata) MarshalJSON() ([]byte, error) {
1174	type NoMethod DictionaryAnnotationdata
1175	raw := NoMethod(*s)
1176	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1177}
1178
1179type Dictlayerdata struct {
1180	Common *DictlayerdataCommon `json:"common,omitempty"`
1181
1182	Dict *DictlayerdataDict `json:"dict,omitempty"`
1183
1184	Kind string `json:"kind,omitempty"`
1185
1186	// ForceSendFields is a list of field names (e.g. "Common") to
1187	// unconditionally include in API requests. By default, fields with
1188	// empty values are omitted from API requests. However, any non-pointer,
1189	// non-interface field appearing in ForceSendFields will be sent to the
1190	// server regardless of whether the field is empty or not. This may be
1191	// used to include empty fields in Patch requests.
1192	ForceSendFields []string `json:"-"`
1193
1194	// NullFields is a list of field names (e.g. "Common") to include in API
1195	// requests with the JSON null value. By default, fields with empty
1196	// values are omitted from API requests. However, any field with an
1197	// empty value appearing in NullFields will be sent to the server as
1198	// null. It is an error if a field in this list has a non-empty value.
1199	// This may be used to include null fields in Patch requests.
1200	NullFields []string `json:"-"`
1201}
1202
1203func (s *Dictlayerdata) MarshalJSON() ([]byte, error) {
1204	type NoMethod Dictlayerdata
1205	raw := NoMethod(*s)
1206	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1207}
1208
1209type DictlayerdataCommon struct {
1210	// Title: The display title and localized canonical name to use when
1211	// searching for this entity on Google search.
1212	Title string `json:"title,omitempty"`
1213
1214	// ForceSendFields is a list of field names (e.g. "Title") to
1215	// unconditionally include in API requests. By default, fields with
1216	// empty values are omitted from API requests. However, any non-pointer,
1217	// non-interface field appearing in ForceSendFields will be sent to the
1218	// server regardless of whether the field is empty or not. This may be
1219	// used to include empty fields in Patch requests.
1220	ForceSendFields []string `json:"-"`
1221
1222	// NullFields is a list of field names (e.g. "Title") to include in API
1223	// requests with the JSON null value. By default, fields with empty
1224	// values are omitted from API requests. However, any field with an
1225	// empty value appearing in NullFields will be sent to the server as
1226	// null. It is an error if a field in this list has a non-empty value.
1227	// This may be used to include null fields in Patch requests.
1228	NullFields []string `json:"-"`
1229}
1230
1231func (s *DictlayerdataCommon) MarshalJSON() ([]byte, error) {
1232	type NoMethod DictlayerdataCommon
1233	raw := NoMethod(*s)
1234	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1235}
1236
1237type DictlayerdataDict struct {
1238	// Source: The source, url and attribution for this dictionary data.
1239	Source *DictlayerdataDictSource `json:"source,omitempty"`
1240
1241	Words []*DictlayerdataDictWords `json:"words,omitempty"`
1242
1243	// ForceSendFields is a list of field names (e.g. "Source") to
1244	// unconditionally include in API requests. By default, fields with
1245	// empty values are omitted from API requests. However, any non-pointer,
1246	// non-interface field appearing in ForceSendFields will be sent to the
1247	// server regardless of whether the field is empty or not. This may be
1248	// used to include empty fields in Patch requests.
1249	ForceSendFields []string `json:"-"`
1250
1251	// NullFields is a list of field names (e.g. "Source") to include in API
1252	// requests with the JSON null value. By default, fields with empty
1253	// values are omitted from API requests. However, any field with an
1254	// empty value appearing in NullFields will be sent to the server as
1255	// null. It is an error if a field in this list has a non-empty value.
1256	// This may be used to include null fields in Patch requests.
1257	NullFields []string `json:"-"`
1258}
1259
1260func (s *DictlayerdataDict) MarshalJSON() ([]byte, error) {
1261	type NoMethod DictlayerdataDict
1262	raw := NoMethod(*s)
1263	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1264}
1265
1266// DictlayerdataDictSource: The source, url and attribution for this
1267// dictionary data.
1268type DictlayerdataDictSource struct {
1269	Attribution string `json:"attribution,omitempty"`
1270
1271	Url string `json:"url,omitempty"`
1272
1273	// ForceSendFields is a list of field names (e.g. "Attribution") to
1274	// unconditionally include in API requests. By default, fields with
1275	// empty values are omitted from API requests. However, any non-pointer,
1276	// non-interface field appearing in ForceSendFields will be sent to the
1277	// server regardless of whether the field is empty or not. This may be
1278	// used to include empty fields in Patch requests.
1279	ForceSendFields []string `json:"-"`
1280
1281	// NullFields is a list of field names (e.g. "Attribution") to include
1282	// in API requests with the JSON null value. By default, fields with
1283	// empty values are omitted from API requests. However, any field with
1284	// an empty value appearing in NullFields will be sent to the server as
1285	// null. It is an error if a field in this list has a non-empty value.
1286	// This may be used to include null fields in Patch requests.
1287	NullFields []string `json:"-"`
1288}
1289
1290func (s *DictlayerdataDictSource) MarshalJSON() ([]byte, error) {
1291	type NoMethod DictlayerdataDictSource
1292	raw := NoMethod(*s)
1293	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1294}
1295
1296type DictlayerdataDictWords struct {
1297	Derivatives []*DictlayerdataDictWordsDerivatives `json:"derivatives,omitempty"`
1298
1299	Examples []*DictlayerdataDictWordsExamples `json:"examples,omitempty"`
1300
1301	Senses []*DictlayerdataDictWordsSenses `json:"senses,omitempty"`
1302
1303	// Source: The words with different meanings but not related words, e.g.
1304	// "go" (game) and "go" (verb).
1305	Source *DictlayerdataDictWordsSource `json:"source,omitempty"`
1306
1307	// ForceSendFields is a list of field names (e.g. "Derivatives") to
1308	// unconditionally include in API requests. By default, fields with
1309	// empty values are omitted from API requests. However, any non-pointer,
1310	// non-interface field appearing in ForceSendFields will be sent to the
1311	// server regardless of whether the field is empty or not. This may be
1312	// used to include empty fields in Patch requests.
1313	ForceSendFields []string `json:"-"`
1314
1315	// NullFields is a list of field names (e.g. "Derivatives") to include
1316	// in API requests with the JSON null value. By default, fields with
1317	// empty values are omitted from API requests. However, any field with
1318	// an empty value appearing in NullFields will be sent to the server as
1319	// null. It is an error if a field in this list has a non-empty value.
1320	// This may be used to include null fields in Patch requests.
1321	NullFields []string `json:"-"`
1322}
1323
1324func (s *DictlayerdataDictWords) MarshalJSON() ([]byte, error) {
1325	type NoMethod DictlayerdataDictWords
1326	raw := NoMethod(*s)
1327	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1328}
1329
1330type DictlayerdataDictWordsDerivatives struct {
1331	Source *DictlayerdataDictWordsDerivativesSource `json:"source,omitempty"`
1332
1333	Text string `json:"text,omitempty"`
1334
1335	// ForceSendFields is a list of field names (e.g. "Source") to
1336	// unconditionally include in API requests. By default, fields with
1337	// empty values are omitted from API requests. However, any non-pointer,
1338	// non-interface field appearing in ForceSendFields will be sent to the
1339	// server regardless of whether the field is empty or not. This may be
1340	// used to include empty fields in Patch requests.
1341	ForceSendFields []string `json:"-"`
1342
1343	// NullFields is a list of field names (e.g. "Source") to include in API
1344	// requests with the JSON null value. By default, fields with empty
1345	// values are omitted from API requests. However, any field with an
1346	// empty value appearing in NullFields will be sent to the server as
1347	// null. It is an error if a field in this list has a non-empty value.
1348	// This may be used to include null fields in Patch requests.
1349	NullFields []string `json:"-"`
1350}
1351
1352func (s *DictlayerdataDictWordsDerivatives) MarshalJSON() ([]byte, error) {
1353	type NoMethod DictlayerdataDictWordsDerivatives
1354	raw := NoMethod(*s)
1355	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1356}
1357
1358type DictlayerdataDictWordsDerivativesSource struct {
1359	Attribution string `json:"attribution,omitempty"`
1360
1361	Url string `json:"url,omitempty"`
1362
1363	// ForceSendFields is a list of field names (e.g. "Attribution") to
1364	// unconditionally include in API requests. By default, fields with
1365	// empty values are omitted from API requests. However, any non-pointer,
1366	// non-interface field appearing in ForceSendFields will be sent to the
1367	// server regardless of whether the field is empty or not. This may be
1368	// used to include empty fields in Patch requests.
1369	ForceSendFields []string `json:"-"`
1370
1371	// NullFields is a list of field names (e.g. "Attribution") to include
1372	// in API requests with the JSON null value. By default, fields with
1373	// empty values are omitted from API requests. However, any field with
1374	// an empty value appearing in NullFields will be sent to the server as
1375	// null. It is an error if a field in this list has a non-empty value.
1376	// This may be used to include null fields in Patch requests.
1377	NullFields []string `json:"-"`
1378}
1379
1380func (s *DictlayerdataDictWordsDerivativesSource) MarshalJSON() ([]byte, error) {
1381	type NoMethod DictlayerdataDictWordsDerivativesSource
1382	raw := NoMethod(*s)
1383	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1384}
1385
1386type DictlayerdataDictWordsExamples struct {
1387	Source *DictlayerdataDictWordsExamplesSource `json:"source,omitempty"`
1388
1389	Text string `json:"text,omitempty"`
1390
1391	// ForceSendFields is a list of field names (e.g. "Source") to
1392	// unconditionally include in API requests. By default, fields with
1393	// empty values are omitted from API requests. However, any non-pointer,
1394	// non-interface field appearing in ForceSendFields will be sent to the
1395	// server regardless of whether the field is empty or not. This may be
1396	// used to include empty fields in Patch requests.
1397	ForceSendFields []string `json:"-"`
1398
1399	// NullFields is a list of field names (e.g. "Source") to include in API
1400	// requests with the JSON null value. By default, fields with empty
1401	// values are omitted from API requests. However, any field with an
1402	// empty value appearing in NullFields will be sent to the server as
1403	// null. It is an error if a field in this list has a non-empty value.
1404	// This may be used to include null fields in Patch requests.
1405	NullFields []string `json:"-"`
1406}
1407
1408func (s *DictlayerdataDictWordsExamples) MarshalJSON() ([]byte, error) {
1409	type NoMethod DictlayerdataDictWordsExamples
1410	raw := NoMethod(*s)
1411	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1412}
1413
1414type DictlayerdataDictWordsExamplesSource struct {
1415	Attribution string `json:"attribution,omitempty"`
1416
1417	Url string `json:"url,omitempty"`
1418
1419	// ForceSendFields is a list of field names (e.g. "Attribution") to
1420	// unconditionally include in API requests. By default, fields with
1421	// empty values are omitted from API requests. However, any non-pointer,
1422	// non-interface field appearing in ForceSendFields will be sent to the
1423	// server regardless of whether the field is empty or not. This may be
1424	// used to include empty fields in Patch requests.
1425	ForceSendFields []string `json:"-"`
1426
1427	// NullFields is a list of field names (e.g. "Attribution") to include
1428	// in API requests with the JSON null value. By default, fields with
1429	// empty values are omitted from API requests. However, any field with
1430	// an empty value appearing in NullFields will be sent to the server as
1431	// null. It is an error if a field in this list has a non-empty value.
1432	// This may be used to include null fields in Patch requests.
1433	NullFields []string `json:"-"`
1434}
1435
1436func (s *DictlayerdataDictWordsExamplesSource) MarshalJSON() ([]byte, error) {
1437	type NoMethod DictlayerdataDictWordsExamplesSource
1438	raw := NoMethod(*s)
1439	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1440}
1441
1442type DictlayerdataDictWordsSenses struct {
1443	Conjugations []*DictlayerdataDictWordsSensesConjugations `json:"conjugations,omitempty"`
1444
1445	Definitions []*DictlayerdataDictWordsSensesDefinitions `json:"definitions,omitempty"`
1446
1447	PartOfSpeech string `json:"partOfSpeech,omitempty"`
1448
1449	Pronunciation string `json:"pronunciation,omitempty"`
1450
1451	PronunciationUrl string `json:"pronunciationUrl,omitempty"`
1452
1453	Source *DictlayerdataDictWordsSensesSource `json:"source,omitempty"`
1454
1455	Syllabification string `json:"syllabification,omitempty"`
1456
1457	Synonyms []*DictlayerdataDictWordsSensesSynonyms `json:"synonyms,omitempty"`
1458
1459	// ForceSendFields is a list of field names (e.g. "Conjugations") to
1460	// unconditionally include in API requests. By default, fields with
1461	// empty values are omitted from API requests. However, any non-pointer,
1462	// non-interface field appearing in ForceSendFields will be sent to the
1463	// server regardless of whether the field is empty or not. This may be
1464	// used to include empty fields in Patch requests.
1465	ForceSendFields []string `json:"-"`
1466
1467	// NullFields is a list of field names (e.g. "Conjugations") to include
1468	// in API requests with the JSON null value. By default, fields with
1469	// empty values are omitted from API requests. However, any field with
1470	// an empty value appearing in NullFields will be sent to the server as
1471	// null. It is an error if a field in this list has a non-empty value.
1472	// This may be used to include null fields in Patch requests.
1473	NullFields []string `json:"-"`
1474}
1475
1476func (s *DictlayerdataDictWordsSenses) MarshalJSON() ([]byte, error) {
1477	type NoMethod DictlayerdataDictWordsSenses
1478	raw := NoMethod(*s)
1479	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1480}
1481
1482type DictlayerdataDictWordsSensesConjugations struct {
1483	Type string `json:"type,omitempty"`
1484
1485	Value string `json:"value,omitempty"`
1486
1487	// ForceSendFields is a list of field names (e.g. "Type") to
1488	// unconditionally include in API requests. By default, fields with
1489	// empty values are omitted from API requests. However, any non-pointer,
1490	// non-interface field appearing in ForceSendFields will be sent to the
1491	// server regardless of whether the field is empty or not. This may be
1492	// used to include empty fields in Patch requests.
1493	ForceSendFields []string `json:"-"`
1494
1495	// NullFields is a list of field names (e.g. "Type") to include in API
1496	// requests with the JSON null value. By default, fields with empty
1497	// values are omitted from API requests. However, any field with an
1498	// empty value appearing in NullFields will be sent to the server as
1499	// null. It is an error if a field in this list has a non-empty value.
1500	// This may be used to include null fields in Patch requests.
1501	NullFields []string `json:"-"`
1502}
1503
1504func (s *DictlayerdataDictWordsSensesConjugations) MarshalJSON() ([]byte, error) {
1505	type NoMethod DictlayerdataDictWordsSensesConjugations
1506	raw := NoMethod(*s)
1507	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1508}
1509
1510type DictlayerdataDictWordsSensesDefinitions struct {
1511	Definition string `json:"definition,omitempty"`
1512
1513	Examples []*DictlayerdataDictWordsSensesDefinitionsExamples `json:"examples,omitempty"`
1514
1515	// ForceSendFields is a list of field names (e.g. "Definition") to
1516	// unconditionally include in API requests. By default, fields with
1517	// empty values are omitted from API requests. However, any non-pointer,
1518	// non-interface field appearing in ForceSendFields will be sent to the
1519	// server regardless of whether the field is empty or not. This may be
1520	// used to include empty fields in Patch requests.
1521	ForceSendFields []string `json:"-"`
1522
1523	// NullFields is a list of field names (e.g. "Definition") to include in
1524	// API requests with the JSON null value. By default, fields with empty
1525	// values are omitted from API requests. However, any field with an
1526	// empty value appearing in NullFields will be sent to the server as
1527	// null. It is an error if a field in this list has a non-empty value.
1528	// This may be used to include null fields in Patch requests.
1529	NullFields []string `json:"-"`
1530}
1531
1532func (s *DictlayerdataDictWordsSensesDefinitions) MarshalJSON() ([]byte, error) {
1533	type NoMethod DictlayerdataDictWordsSensesDefinitions
1534	raw := NoMethod(*s)
1535	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1536}
1537
1538type DictlayerdataDictWordsSensesDefinitionsExamples struct {
1539	Source *DictlayerdataDictWordsSensesDefinitionsExamplesSource `json:"source,omitempty"`
1540
1541	Text string `json:"text,omitempty"`
1542
1543	// ForceSendFields is a list of field names (e.g. "Source") to
1544	// unconditionally include in API requests. By default, fields with
1545	// empty values are omitted from API requests. However, any non-pointer,
1546	// non-interface field appearing in ForceSendFields will be sent to the
1547	// server regardless of whether the field is empty or not. This may be
1548	// used to include empty fields in Patch requests.
1549	ForceSendFields []string `json:"-"`
1550
1551	// NullFields is a list of field names (e.g. "Source") to include in API
1552	// requests with the JSON null value. By default, fields with empty
1553	// values are omitted from API requests. However, any field with an
1554	// empty value appearing in NullFields will be sent to the server as
1555	// null. It is an error if a field in this list has a non-empty value.
1556	// This may be used to include null fields in Patch requests.
1557	NullFields []string `json:"-"`
1558}
1559
1560func (s *DictlayerdataDictWordsSensesDefinitionsExamples) MarshalJSON() ([]byte, error) {
1561	type NoMethod DictlayerdataDictWordsSensesDefinitionsExamples
1562	raw := NoMethod(*s)
1563	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1564}
1565
1566type DictlayerdataDictWordsSensesDefinitionsExamplesSource struct {
1567	Attribution string `json:"attribution,omitempty"`
1568
1569	Url string `json:"url,omitempty"`
1570
1571	// ForceSendFields is a list of field names (e.g. "Attribution") to
1572	// unconditionally include in API requests. By default, fields with
1573	// empty values are omitted from API requests. However, any non-pointer,
1574	// non-interface field appearing in ForceSendFields will be sent to the
1575	// server regardless of whether the field is empty or not. This may be
1576	// used to include empty fields in Patch requests.
1577	ForceSendFields []string `json:"-"`
1578
1579	// NullFields is a list of field names (e.g. "Attribution") to include
1580	// in API requests with the JSON null value. By default, fields with
1581	// empty values are omitted from API requests. However, any field with
1582	// an empty value appearing in NullFields will be sent to the server as
1583	// null. It is an error if a field in this list has a non-empty value.
1584	// This may be used to include null fields in Patch requests.
1585	NullFields []string `json:"-"`
1586}
1587
1588func (s *DictlayerdataDictWordsSensesDefinitionsExamplesSource) MarshalJSON() ([]byte, error) {
1589	type NoMethod DictlayerdataDictWordsSensesDefinitionsExamplesSource
1590	raw := NoMethod(*s)
1591	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1592}
1593
1594type DictlayerdataDictWordsSensesSource struct {
1595	Attribution string `json:"attribution,omitempty"`
1596
1597	Url string `json:"url,omitempty"`
1598
1599	// ForceSendFields is a list of field names (e.g. "Attribution") to
1600	// unconditionally include in API requests. By default, fields with
1601	// empty values are omitted from API requests. However, any non-pointer,
1602	// non-interface field appearing in ForceSendFields will be sent to the
1603	// server regardless of whether the field is empty or not. This may be
1604	// used to include empty fields in Patch requests.
1605	ForceSendFields []string `json:"-"`
1606
1607	// NullFields is a list of field names (e.g. "Attribution") to include
1608	// in API requests with the JSON null value. By default, fields with
1609	// empty values are omitted from API requests. However, any field with
1610	// an empty value appearing in NullFields will be sent to the server as
1611	// null. It is an error if a field in this list has a non-empty value.
1612	// This may be used to include null fields in Patch requests.
1613	NullFields []string `json:"-"`
1614}
1615
1616func (s *DictlayerdataDictWordsSensesSource) MarshalJSON() ([]byte, error) {
1617	type NoMethod DictlayerdataDictWordsSensesSource
1618	raw := NoMethod(*s)
1619	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1620}
1621
1622type DictlayerdataDictWordsSensesSynonyms struct {
1623	Source *DictlayerdataDictWordsSensesSynonymsSource `json:"source,omitempty"`
1624
1625	Text string `json:"text,omitempty"`
1626
1627	// ForceSendFields is a list of field names (e.g. "Source") to
1628	// unconditionally include in API requests. By default, fields with
1629	// empty values are omitted from API requests. However, any non-pointer,
1630	// non-interface field appearing in ForceSendFields will be sent to the
1631	// server regardless of whether the field is empty or not. This may be
1632	// used to include empty fields in Patch requests.
1633	ForceSendFields []string `json:"-"`
1634
1635	// NullFields is a list of field names (e.g. "Source") to include in API
1636	// requests with the JSON null value. By default, fields with empty
1637	// values are omitted from API requests. However, any field with an
1638	// empty value appearing in NullFields will be sent to the server as
1639	// null. It is an error if a field in this list has a non-empty value.
1640	// This may be used to include null fields in Patch requests.
1641	NullFields []string `json:"-"`
1642}
1643
1644func (s *DictlayerdataDictWordsSensesSynonyms) MarshalJSON() ([]byte, error) {
1645	type NoMethod DictlayerdataDictWordsSensesSynonyms
1646	raw := NoMethod(*s)
1647	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1648}
1649
1650type DictlayerdataDictWordsSensesSynonymsSource struct {
1651	Attribution string `json:"attribution,omitempty"`
1652
1653	Url string `json:"url,omitempty"`
1654
1655	// ForceSendFields is a list of field names (e.g. "Attribution") to
1656	// unconditionally include in API requests. By default, fields with
1657	// empty values are omitted from API requests. However, any non-pointer,
1658	// non-interface field appearing in ForceSendFields will be sent to the
1659	// server regardless of whether the field is empty or not. This may be
1660	// used to include empty fields in Patch requests.
1661	ForceSendFields []string `json:"-"`
1662
1663	// NullFields is a list of field names (e.g. "Attribution") to include
1664	// in API requests with the JSON null value. By default, fields with
1665	// empty values are omitted from API requests. However, any field with
1666	// an empty value appearing in NullFields will be sent to the server as
1667	// null. It is an error if a field in this list has a non-empty value.
1668	// This may be used to include null fields in Patch requests.
1669	NullFields []string `json:"-"`
1670}
1671
1672func (s *DictlayerdataDictWordsSensesSynonymsSource) MarshalJSON() ([]byte, error) {
1673	type NoMethod DictlayerdataDictWordsSensesSynonymsSource
1674	raw := NoMethod(*s)
1675	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1676}
1677
1678// DictlayerdataDictWordsSource: The words with different meanings but
1679// not related words, e.g. "go" (game) and "go" (verb).
1680type DictlayerdataDictWordsSource struct {
1681	Attribution string `json:"attribution,omitempty"`
1682
1683	Url string `json:"url,omitempty"`
1684
1685	// ForceSendFields is a list of field names (e.g. "Attribution") to
1686	// unconditionally include in API requests. By default, fields with
1687	// empty values are omitted from API requests. However, any non-pointer,
1688	// non-interface field appearing in ForceSendFields will be sent to the
1689	// server regardless of whether the field is empty or not. This may be
1690	// used to include empty fields in Patch requests.
1691	ForceSendFields []string `json:"-"`
1692
1693	// NullFields is a list of field names (e.g. "Attribution") to include
1694	// in API requests with the JSON null value. By default, fields with
1695	// empty values are omitted from API requests. However, any field with
1696	// an empty value appearing in NullFields will be sent to the server as
1697	// null. It is an error if a field in this list has a non-empty value.
1698	// This may be used to include null fields in Patch requests.
1699	NullFields []string `json:"-"`
1700}
1701
1702func (s *DictlayerdataDictWordsSource) MarshalJSON() ([]byte, error) {
1703	type NoMethod DictlayerdataDictWordsSource
1704	raw := NoMethod(*s)
1705	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1706}
1707
1708type Discoveryclusters struct {
1709	Clusters []*DiscoveryclustersClusters `json:"clusters,omitempty"`
1710
1711	// Kind: Resorce type.
1712	Kind string `json:"kind,omitempty"`
1713
1714	TotalClusters int64 `json:"totalClusters,omitempty"`
1715
1716	// ServerResponse contains the HTTP response code and headers from the
1717	// server.
1718	googleapi.ServerResponse `json:"-"`
1719
1720	// ForceSendFields is a list of field names (e.g. "Clusters") to
1721	// unconditionally include in API requests. By default, fields with
1722	// empty values are omitted from API requests. However, any non-pointer,
1723	// non-interface field appearing in ForceSendFields will be sent to the
1724	// server regardless of whether the field is empty or not. This may be
1725	// used to include empty fields in Patch requests.
1726	ForceSendFields []string `json:"-"`
1727
1728	// NullFields is a list of field names (e.g. "Clusters") to include in
1729	// API requests with the JSON null value. By default, fields with empty
1730	// values are omitted from API requests. However, any field with an
1731	// empty value appearing in NullFields will be sent to the server as
1732	// null. It is an error if a field in this list has a non-empty value.
1733	// This may be used to include null fields in Patch requests.
1734	NullFields []string `json:"-"`
1735}
1736
1737func (s *Discoveryclusters) MarshalJSON() ([]byte, error) {
1738	type NoMethod Discoveryclusters
1739	raw := NoMethod(*s)
1740	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1741}
1742
1743type DiscoveryclustersClusters struct {
1744	BannerWithContentContainer *DiscoveryclustersClustersBannerWithContentContainer `json:"banner_with_content_container,omitempty"`
1745
1746	SubTitle string `json:"subTitle,omitempty"`
1747
1748	Title string `json:"title,omitempty"`
1749
1750	TotalVolumes int64 `json:"totalVolumes,omitempty"`
1751
1752	Uid string `json:"uid,omitempty"`
1753
1754	Volumes []*Volume `json:"volumes,omitempty"`
1755
1756	// ForceSendFields is a list of field names (e.g.
1757	// "BannerWithContentContainer") to unconditionally include in API
1758	// requests. By default, fields with empty values are omitted from API
1759	// requests. However, any non-pointer, non-interface field appearing in
1760	// ForceSendFields will be sent to the server regardless of whether the
1761	// field is empty or not. This may be used to include empty fields in
1762	// Patch requests.
1763	ForceSendFields []string `json:"-"`
1764
1765	// NullFields is a list of field names (e.g.
1766	// "BannerWithContentContainer") to include in API requests with the
1767	// JSON null value. By default, fields with empty values are omitted
1768	// from API requests. However, any field with an empty value appearing
1769	// in NullFields will be sent to the server as null. It is an error if a
1770	// field in this list has a non-empty value. This may be used to include
1771	// null fields in Patch requests.
1772	NullFields []string `json:"-"`
1773}
1774
1775func (s *DiscoveryclustersClusters) MarshalJSON() ([]byte, error) {
1776	type NoMethod DiscoveryclustersClusters
1777	raw := NoMethod(*s)
1778	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1779}
1780
1781type DiscoveryclustersClustersBannerWithContentContainer struct {
1782	FillColorArgb string `json:"fillColorArgb,omitempty"`
1783
1784	ImageUrl string `json:"imageUrl,omitempty"`
1785
1786	MaskColorArgb string `json:"maskColorArgb,omitempty"`
1787
1788	MoreButtonText string `json:"moreButtonText,omitempty"`
1789
1790	MoreButtonUrl string `json:"moreButtonUrl,omitempty"`
1791
1792	TextColorArgb string `json:"textColorArgb,omitempty"`
1793
1794	// ForceSendFields is a list of field names (e.g. "FillColorArgb") to
1795	// unconditionally include in API requests. By default, fields with
1796	// empty values are omitted from API requests. However, any non-pointer,
1797	// non-interface field appearing in ForceSendFields will be sent to the
1798	// server regardless of whether the field is empty or not. This may be
1799	// used to include empty fields in Patch requests.
1800	ForceSendFields []string `json:"-"`
1801
1802	// NullFields is a list of field names (e.g. "FillColorArgb") to include
1803	// in API requests with the JSON null value. By default, fields with
1804	// empty values are omitted from API requests. However, any field with
1805	// an empty value appearing in NullFields will be sent to the server as
1806	// null. It is an error if a field in this list has a non-empty value.
1807	// This may be used to include null fields in Patch requests.
1808	NullFields []string `json:"-"`
1809}
1810
1811func (s *DiscoveryclustersClustersBannerWithContentContainer) MarshalJSON() ([]byte, error) {
1812	type NoMethod DiscoveryclustersClustersBannerWithContentContainer
1813	raw := NoMethod(*s)
1814	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1815}
1816
1817type DownloadAccessRestriction struct {
1818	// DeviceAllowed: If restricted, whether access is granted for this
1819	// (user, device, volume).
1820	DeviceAllowed bool `json:"deviceAllowed,omitempty"`
1821
1822	// DownloadsAcquired: If restricted, the number of content download
1823	// licenses already acquired (including the requesting client, if
1824	// licensed).
1825	DownloadsAcquired int64 `json:"downloadsAcquired,omitempty"`
1826
1827	// JustAcquired: If deviceAllowed, whether access was just acquired with
1828	// this request.
1829	JustAcquired bool `json:"justAcquired,omitempty"`
1830
1831	// Kind: Resource type.
1832	Kind string `json:"kind,omitempty"`
1833
1834	// MaxDownloadDevices: If restricted, the maximum number of content
1835	// download licenses for this volume.
1836	MaxDownloadDevices int64 `json:"maxDownloadDevices,omitempty"`
1837
1838	// Message: Error/warning message.
1839	Message string `json:"message,omitempty"`
1840
1841	// Nonce: Client nonce for verification. Download access and
1842	// client-validation only.
1843	Nonce string `json:"nonce,omitempty"`
1844
1845	// ReasonCode: Error/warning reason code. Additional codes may be added
1846	// in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101
1847	// ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
1848	ReasonCode string `json:"reasonCode,omitempty"`
1849
1850	// Restricted: Whether this volume has any download access restrictions.
1851	Restricted bool `json:"restricted,omitempty"`
1852
1853	// Signature: Response signature.
1854	Signature string `json:"signature,omitempty"`
1855
1856	// Source: Client app identifier for verification. Download access and
1857	// client-validation only.
1858	Source string `json:"source,omitempty"`
1859
1860	// VolumeId: Identifies the volume for which this entry applies.
1861	VolumeId string `json:"volumeId,omitempty"`
1862
1863	// ForceSendFields is a list of field names (e.g. "DeviceAllowed") to
1864	// unconditionally include in API requests. By default, fields with
1865	// empty values are omitted from API requests. However, any non-pointer,
1866	// non-interface field appearing in ForceSendFields will be sent to the
1867	// server regardless of whether the field is empty or not. This may be
1868	// used to include empty fields in Patch requests.
1869	ForceSendFields []string `json:"-"`
1870
1871	// NullFields is a list of field names (e.g. "DeviceAllowed") to include
1872	// in API requests with the JSON null value. By default, fields with
1873	// empty values are omitted from API requests. However, any field with
1874	// an empty value appearing in NullFields will be sent to the server as
1875	// null. It is an error if a field in this list has a non-empty value.
1876	// This may be used to include null fields in Patch requests.
1877	NullFields []string `json:"-"`
1878}
1879
1880func (s *DownloadAccessRestriction) MarshalJSON() ([]byte, error) {
1881	type NoMethod DownloadAccessRestriction
1882	raw := NoMethod(*s)
1883	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1884}
1885
1886type DownloadAccesses struct {
1887	// DownloadAccessList: A list of download access responses.
1888	DownloadAccessList []*DownloadAccessRestriction `json:"downloadAccessList,omitempty"`
1889
1890	// Kind: Resource type.
1891	Kind string `json:"kind,omitempty"`
1892
1893	// ServerResponse contains the HTTP response code and headers from the
1894	// server.
1895	googleapi.ServerResponse `json:"-"`
1896
1897	// ForceSendFields is a list of field names (e.g. "DownloadAccessList")
1898	// to unconditionally include in API requests. By default, fields with
1899	// empty values are omitted from API requests. However, any non-pointer,
1900	// non-interface field appearing in ForceSendFields will be sent to the
1901	// server regardless of whether the field is empty or not. This may be
1902	// used to include empty fields in Patch requests.
1903	ForceSendFields []string `json:"-"`
1904
1905	// NullFields is a list of field names (e.g. "DownloadAccessList") to
1906	// include in API requests with the JSON null value. By default, fields
1907	// with empty values are omitted from API requests. However, any field
1908	// with an empty value appearing in NullFields will be sent to the
1909	// server as null. It is an error if a field in this list has a
1910	// non-empty value. This may be used to include null fields in Patch
1911	// requests.
1912	NullFields []string `json:"-"`
1913}
1914
1915func (s *DownloadAccesses) MarshalJSON() ([]byte, error) {
1916	type NoMethod DownloadAccesses
1917	raw := NoMethod(*s)
1918	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1919}
1920
1921// Empty: A generic empty message that you can re-use to avoid defining
1922// duplicated empty messages in your APIs. A typical example is to use
1923// it as the request or the response type of an API method. For
1924// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
1925// (google.protobuf.Empty); } The JSON representation for `Empty` is
1926// empty JSON object `{}`.
1927type Empty struct {
1928	// ServerResponse contains the HTTP response code and headers from the
1929	// server.
1930	googleapi.ServerResponse `json:"-"`
1931}
1932
1933type FamilyInfo struct {
1934	// Kind: Resource type.
1935	Kind string `json:"kind,omitempty"`
1936
1937	// Membership: Family membership info of the user that made the request.
1938	Membership *FamilyInfoMembership `json:"membership,omitempty"`
1939
1940	// ServerResponse contains the HTTP response code and headers from the
1941	// server.
1942	googleapi.ServerResponse `json:"-"`
1943
1944	// ForceSendFields is a list of field names (e.g. "Kind") to
1945	// unconditionally include in API requests. By default, fields with
1946	// empty values are omitted from API requests. However, any non-pointer,
1947	// non-interface field appearing in ForceSendFields will be sent to the
1948	// server regardless of whether the field is empty or not. This may be
1949	// used to include empty fields in Patch requests.
1950	ForceSendFields []string `json:"-"`
1951
1952	// NullFields is a list of field names (e.g. "Kind") to include in API
1953	// requests with the JSON null value. By default, fields with empty
1954	// values are omitted from API requests. However, any field with an
1955	// empty value appearing in NullFields will be sent to the server as
1956	// null. It is an error if a field in this list has a non-empty value.
1957	// This may be used to include null fields in Patch requests.
1958	NullFields []string `json:"-"`
1959}
1960
1961func (s *FamilyInfo) MarshalJSON() ([]byte, error) {
1962	type NoMethod FamilyInfo
1963	raw := NoMethod(*s)
1964	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1965}
1966
1967// FamilyInfoMembership: Family membership info of the user that made
1968// the request.
1969type FamilyInfoMembership struct {
1970	// AcquirePermission: Restrictions on user buying and acquiring content.
1971	AcquirePermission string `json:"acquirePermission,omitempty"`
1972
1973	// AgeGroup: The age group of the user.
1974	AgeGroup string `json:"ageGroup,omitempty"`
1975
1976	// AllowedMaturityRating: The maximum allowed maturity rating for the
1977	// user.
1978	AllowedMaturityRating string `json:"allowedMaturityRating,omitempty"`
1979
1980	IsInFamily bool `json:"isInFamily,omitempty"`
1981
1982	// Role: The role of the user in the family.
1983	Role string `json:"role,omitempty"`
1984
1985	// ForceSendFields is a list of field names (e.g. "AcquirePermission")
1986	// to unconditionally include in API requests. By default, fields with
1987	// empty values are omitted from API requests. However, any non-pointer,
1988	// non-interface field appearing in ForceSendFields will be sent to the
1989	// server regardless of whether the field is empty or not. This may be
1990	// used to include empty fields in Patch requests.
1991	ForceSendFields []string `json:"-"`
1992
1993	// NullFields is a list of field names (e.g. "AcquirePermission") to
1994	// include in API requests with the JSON null value. By default, fields
1995	// with empty values are omitted from API requests. However, any field
1996	// with an empty value appearing in NullFields will be sent to the
1997	// server as null. It is an error if a field in this list has a
1998	// non-empty value. This may be used to include null fields in Patch
1999	// requests.
2000	NullFields []string `json:"-"`
2001}
2002
2003func (s *FamilyInfoMembership) MarshalJSON() ([]byte, error) {
2004	type NoMethod FamilyInfoMembership
2005	raw := NoMethod(*s)
2006	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2007}
2008
2009type GeoAnnotationdata struct {
2010	// AnnotationType: The type of annotation this data is for.
2011	AnnotationType string `json:"annotationType,omitempty"`
2012
2013	// Data: JSON encoded data for this geo annotation data. Emitted with
2014	// name 'data' in JSON output. Either this or dict_data will be
2015	// populated.
2016	Data *Geolayerdata `json:"data,omitempty"`
2017
2018	// EncodedData: Base64 encoded data for this annotation data.
2019	EncodedData string `json:"encodedData,omitempty"`
2020
2021	// Id: Unique id for this annotation data.
2022	Id string `json:"id,omitempty"`
2023
2024	// Kind: Resource Type
2025	Kind string `json:"kind,omitempty"`
2026
2027	// LayerId: The Layer id for this data. *
2028	LayerId string `json:"layerId,omitempty"`
2029
2030	// SelfLink: URL for this resource. *
2031	SelfLink string `json:"selfLink,omitempty"`
2032
2033	// Updated: Timestamp for the last time this data was updated. (RFC 3339
2034	// UTC date-time format).
2035	Updated string `json:"updated,omitempty"`
2036
2037	// VolumeId: The volume id for this data. *
2038	VolumeId string `json:"volumeId,omitempty"`
2039
2040	// ForceSendFields is a list of field names (e.g. "AnnotationType") to
2041	// unconditionally include in API requests. By default, fields with
2042	// empty values are omitted from API requests. However, any non-pointer,
2043	// non-interface field appearing in ForceSendFields will be sent to the
2044	// server regardless of whether the field is empty or not. This may be
2045	// used to include empty fields in Patch requests.
2046	ForceSendFields []string `json:"-"`
2047
2048	// NullFields is a list of field names (e.g. "AnnotationType") to
2049	// include in API requests with the JSON null value. By default, fields
2050	// with empty values are omitted from API requests. However, any field
2051	// with an empty value appearing in NullFields will be sent to the
2052	// server as null. It is an error if a field in this list has a
2053	// non-empty value. This may be used to include null fields in Patch
2054	// requests.
2055	NullFields []string `json:"-"`
2056}
2057
2058func (s *GeoAnnotationdata) MarshalJSON() ([]byte, error) {
2059	type NoMethod GeoAnnotationdata
2060	raw := NoMethod(*s)
2061	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2062}
2063
2064type Geolayerdata struct {
2065	Common *GeolayerdataCommon `json:"common,omitempty"`
2066
2067	Geo *GeolayerdataGeo `json:"geo,omitempty"`
2068
2069	Kind string `json:"kind,omitempty"`
2070
2071	// ForceSendFields is a list of field names (e.g. "Common") to
2072	// unconditionally include in API requests. By default, fields with
2073	// empty values are omitted from API requests. However, any non-pointer,
2074	// non-interface field appearing in ForceSendFields will be sent to the
2075	// server regardless of whether the field is empty or not. This may be
2076	// used to include empty fields in Patch requests.
2077	ForceSendFields []string `json:"-"`
2078
2079	// NullFields is a list of field names (e.g. "Common") to include in API
2080	// requests with the JSON null value. By default, fields with empty
2081	// values are omitted from API requests. However, any field with an
2082	// empty value appearing in NullFields will be sent to the server as
2083	// null. It is an error if a field in this list has a non-empty value.
2084	// This may be used to include null fields in Patch requests.
2085	NullFields []string `json:"-"`
2086}
2087
2088func (s *Geolayerdata) MarshalJSON() ([]byte, error) {
2089	type NoMethod Geolayerdata
2090	raw := NoMethod(*s)
2091	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2092}
2093
2094type GeolayerdataCommon struct {
2095	// Lang: The language of the information url and description.
2096	Lang string `json:"lang,omitempty"`
2097
2098	// PreviewImageUrl: The URL for the preview image information.
2099	PreviewImageUrl string `json:"previewImageUrl,omitempty"`
2100
2101	// Snippet: The description for this location.
2102	Snippet string `json:"snippet,omitempty"`
2103
2104	// SnippetUrl: The URL for information for this location. Ex: wikipedia
2105	// link.
2106	SnippetUrl string `json:"snippetUrl,omitempty"`
2107
2108	// Title: The display title and localized canonical name to use when
2109	// searching for this entity on Google search.
2110	Title string `json:"title,omitempty"`
2111
2112	// ForceSendFields is a list of field names (e.g. "Lang") to
2113	// unconditionally include in API requests. By default, fields with
2114	// empty values are omitted from API requests. However, any non-pointer,
2115	// non-interface field appearing in ForceSendFields will be sent to the
2116	// server regardless of whether the field is empty or not. This may be
2117	// used to include empty fields in Patch requests.
2118	ForceSendFields []string `json:"-"`
2119
2120	// NullFields is a list of field names (e.g. "Lang") to include in API
2121	// requests with the JSON null value. By default, fields with empty
2122	// values are omitted from API requests. However, any field with an
2123	// empty value appearing in NullFields will be sent to the server as
2124	// null. It is an error if a field in this list has a non-empty value.
2125	// This may be used to include null fields in Patch requests.
2126	NullFields []string `json:"-"`
2127}
2128
2129func (s *GeolayerdataCommon) MarshalJSON() ([]byte, error) {
2130	type NoMethod GeolayerdataCommon
2131	raw := NoMethod(*s)
2132	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2133}
2134
2135type GeolayerdataGeo struct {
2136	// Boundary: The boundary of the location as a set of loops containing
2137	// pairs of latitude, longitude coordinates.
2138	Boundary []string `json:"boundary,omitempty"`
2139
2140	// CachePolicy: The cache policy active for this data. EX: UNRESTRICTED,
2141	// RESTRICTED, NEVER
2142	CachePolicy string `json:"cachePolicy,omitempty"`
2143
2144	// CountryCode: The country code of the location.
2145	CountryCode string `json:"countryCode,omitempty"`
2146
2147	// Latitude: The latitude of the location.
2148	Latitude float64 `json:"latitude,omitempty"`
2149
2150	// Longitude: The longitude of the location.
2151	Longitude float64 `json:"longitude,omitempty"`
2152
2153	// MapType: The type of map that should be used for this location. EX:
2154	// HYBRID, ROADMAP, SATELLITE, TERRAIN
2155	MapType string `json:"mapType,omitempty"`
2156
2157	// Viewport: The viewport for showing this location. This is a latitude,
2158	// longitude rectangle.
2159	Viewport *GeolayerdataGeoViewport `json:"viewport,omitempty"`
2160
2161	// Zoom: The Zoom level to use for the map. Zoom levels between 0 (the
2162	// lowest zoom level, in which the entire world can be seen on one map)
2163	// to 21+ (down to individual buildings). See: https:
2164	// //developers.google.com/maps/documentation/staticmaps/#Zoomlevels
2165	Zoom int64 `json:"zoom,omitempty"`
2166
2167	// ForceSendFields is a list of field names (e.g. "Boundary") to
2168	// unconditionally include in API requests. By default, fields with
2169	// empty values are omitted from API requests. However, any non-pointer,
2170	// non-interface field appearing in ForceSendFields will be sent to the
2171	// server regardless of whether the field is empty or not. This may be
2172	// used to include empty fields in Patch requests.
2173	ForceSendFields []string `json:"-"`
2174
2175	// NullFields is a list of field names (e.g. "Boundary") to include in
2176	// API requests with the JSON null value. By default, fields with empty
2177	// values are omitted from API requests. However, any field with an
2178	// empty value appearing in NullFields will be sent to the server as
2179	// null. It is an error if a field in this list has a non-empty value.
2180	// This may be used to include null fields in Patch requests.
2181	NullFields []string `json:"-"`
2182}
2183
2184func (s *GeolayerdataGeo) MarshalJSON() ([]byte, error) {
2185	type NoMethod GeolayerdataGeo
2186	raw := NoMethod(*s)
2187	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2188}
2189
2190func (s *GeolayerdataGeo) UnmarshalJSON(data []byte) error {
2191	type NoMethod GeolayerdataGeo
2192	var s1 struct {
2193		Latitude  gensupport.JSONFloat64 `json:"latitude"`
2194		Longitude gensupport.JSONFloat64 `json:"longitude"`
2195		*NoMethod
2196	}
2197	s1.NoMethod = (*NoMethod)(s)
2198	if err := json.Unmarshal(data, &s1); err != nil {
2199		return err
2200	}
2201	s.Latitude = float64(s1.Latitude)
2202	s.Longitude = float64(s1.Longitude)
2203	return nil
2204}
2205
2206// GeolayerdataGeoViewport: The viewport for showing this location. This
2207// is a latitude, longitude rectangle.
2208type GeolayerdataGeoViewport struct {
2209	Hi *GeolayerdataGeoViewportHi `json:"hi,omitempty"`
2210
2211	Lo *GeolayerdataGeoViewportLo `json:"lo,omitempty"`
2212
2213	// ForceSendFields is a list of field names (e.g. "Hi") to
2214	// unconditionally include in API requests. By default, fields with
2215	// empty values are omitted from API requests. However, any non-pointer,
2216	// non-interface field appearing in ForceSendFields will be sent to the
2217	// server regardless of whether the field is empty or not. This may be
2218	// used to include empty fields in Patch requests.
2219	ForceSendFields []string `json:"-"`
2220
2221	// NullFields is a list of field names (e.g. "Hi") to include in API
2222	// requests with the JSON null value. By default, fields with empty
2223	// values are omitted from API requests. However, any field with an
2224	// empty value appearing in NullFields will be sent to the server as
2225	// null. It is an error if a field in this list has a non-empty value.
2226	// This may be used to include null fields in Patch requests.
2227	NullFields []string `json:"-"`
2228}
2229
2230func (s *GeolayerdataGeoViewport) MarshalJSON() ([]byte, error) {
2231	type NoMethod GeolayerdataGeoViewport
2232	raw := NoMethod(*s)
2233	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2234}
2235
2236type GeolayerdataGeoViewportHi struct {
2237	Latitude float64 `json:"latitude,omitempty"`
2238
2239	Longitude float64 `json:"longitude,omitempty"`
2240
2241	// ForceSendFields is a list of field names (e.g. "Latitude") to
2242	// unconditionally include in API requests. By default, fields with
2243	// empty values are omitted from API requests. However, any non-pointer,
2244	// non-interface field appearing in ForceSendFields will be sent to the
2245	// server regardless of whether the field is empty or not. This may be
2246	// used to include empty fields in Patch requests.
2247	ForceSendFields []string `json:"-"`
2248
2249	// NullFields is a list of field names (e.g. "Latitude") to include in
2250	// API requests with the JSON null value. By default, fields with empty
2251	// values are omitted from API requests. However, any field with an
2252	// empty value appearing in NullFields will be sent to the server as
2253	// null. It is an error if a field in this list has a non-empty value.
2254	// This may be used to include null fields in Patch requests.
2255	NullFields []string `json:"-"`
2256}
2257
2258func (s *GeolayerdataGeoViewportHi) MarshalJSON() ([]byte, error) {
2259	type NoMethod GeolayerdataGeoViewportHi
2260	raw := NoMethod(*s)
2261	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2262}
2263
2264func (s *GeolayerdataGeoViewportHi) UnmarshalJSON(data []byte) error {
2265	type NoMethod GeolayerdataGeoViewportHi
2266	var s1 struct {
2267		Latitude  gensupport.JSONFloat64 `json:"latitude"`
2268		Longitude gensupport.JSONFloat64 `json:"longitude"`
2269		*NoMethod
2270	}
2271	s1.NoMethod = (*NoMethod)(s)
2272	if err := json.Unmarshal(data, &s1); err != nil {
2273		return err
2274	}
2275	s.Latitude = float64(s1.Latitude)
2276	s.Longitude = float64(s1.Longitude)
2277	return nil
2278}
2279
2280type GeolayerdataGeoViewportLo struct {
2281	Latitude float64 `json:"latitude,omitempty"`
2282
2283	Longitude float64 `json:"longitude,omitempty"`
2284
2285	// ForceSendFields is a list of field names (e.g. "Latitude") to
2286	// unconditionally include in API requests. By default, fields with
2287	// empty values are omitted from API requests. However, any non-pointer,
2288	// non-interface field appearing in ForceSendFields will be sent to the
2289	// server regardless of whether the field is empty or not. This may be
2290	// used to include empty fields in Patch requests.
2291	ForceSendFields []string `json:"-"`
2292
2293	// NullFields is a list of field names (e.g. "Latitude") to include in
2294	// API requests with the JSON null value. By default, fields with empty
2295	// values are omitted from API requests. However, any field with an
2296	// empty value appearing in NullFields will be sent to the server as
2297	// null. It is an error if a field in this list has a non-empty value.
2298	// This may be used to include null fields in Patch requests.
2299	NullFields []string `json:"-"`
2300}
2301
2302func (s *GeolayerdataGeoViewportLo) MarshalJSON() ([]byte, error) {
2303	type NoMethod GeolayerdataGeoViewportLo
2304	raw := NoMethod(*s)
2305	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2306}
2307
2308func (s *GeolayerdataGeoViewportLo) UnmarshalJSON(data []byte) error {
2309	type NoMethod GeolayerdataGeoViewportLo
2310	var s1 struct {
2311		Latitude  gensupport.JSONFloat64 `json:"latitude"`
2312		Longitude gensupport.JSONFloat64 `json:"longitude"`
2313		*NoMethod
2314	}
2315	s1.NoMethod = (*NoMethod)(s)
2316	if err := json.Unmarshal(data, &s1); err != nil {
2317		return err
2318	}
2319	s.Latitude = float64(s1.Latitude)
2320	s.Longitude = float64(s1.Longitude)
2321	return nil
2322}
2323
2324type Layersummaries struct {
2325	// Items: A list of layer summary items.
2326	Items []*Layersummary `json:"items,omitempty"`
2327
2328	// Kind: Resource type.
2329	Kind string `json:"kind,omitempty"`
2330
2331	// TotalItems: The total number of layer summaries found.
2332	TotalItems int64 `json:"totalItems,omitempty"`
2333
2334	// ServerResponse contains the HTTP response code and headers from the
2335	// server.
2336	googleapi.ServerResponse `json:"-"`
2337
2338	// ForceSendFields is a list of field names (e.g. "Items") to
2339	// unconditionally include in API requests. By default, fields with
2340	// empty values are omitted from API requests. However, any non-pointer,
2341	// non-interface field appearing in ForceSendFields will be sent to the
2342	// server regardless of whether the field is empty or not. This may be
2343	// used to include empty fields in Patch requests.
2344	ForceSendFields []string `json:"-"`
2345
2346	// NullFields is a list of field names (e.g. "Items") to include in API
2347	// requests with the JSON null value. By default, fields with empty
2348	// values are omitted from API requests. However, any field with an
2349	// empty value appearing in NullFields will be sent to the server as
2350	// null. It is an error if a field in this list has a non-empty value.
2351	// This may be used to include null fields in Patch requests.
2352	NullFields []string `json:"-"`
2353}
2354
2355func (s *Layersummaries) MarshalJSON() ([]byte, error) {
2356	type NoMethod Layersummaries
2357	raw := NoMethod(*s)
2358	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2359}
2360
2361type Layersummary struct {
2362	// AnnotationCount: The number of annotations for this layer.
2363	AnnotationCount int64 `json:"annotationCount,omitempty"`
2364
2365	// AnnotationTypes: The list of annotation types contained for this
2366	// layer.
2367	AnnotationTypes []string `json:"annotationTypes,omitempty"`
2368
2369	// AnnotationsDataLink: Link to get data for this annotation.
2370	AnnotationsDataLink string `json:"annotationsDataLink,omitempty"`
2371
2372	// AnnotationsLink: The link to get the annotations for this layer.
2373	AnnotationsLink string `json:"annotationsLink,omitempty"`
2374
2375	// ContentVersion: The content version this resource is for.
2376	ContentVersion string `json:"contentVersion,omitempty"`
2377
2378	// DataCount: The number of data items for this layer.
2379	DataCount int64 `json:"dataCount,omitempty"`
2380
2381	// Id: Unique id of this layer summary.
2382	Id string `json:"id,omitempty"`
2383
2384	// Kind: Resource Type
2385	Kind string `json:"kind,omitempty"`
2386
2387	// LayerId: The layer id for this summary.
2388	LayerId string `json:"layerId,omitempty"`
2389
2390	// SelfLink: URL to this resource.
2391	SelfLink string `json:"selfLink,omitempty"`
2392
2393	// Updated: Timestamp for the last time an item in this layer was
2394	// updated. (RFC 3339 UTC date-time format).
2395	Updated string `json:"updated,omitempty"`
2396
2397	// VolumeAnnotationsVersion: The current version of this layer's volume
2398	// annotations. Note that this version applies only to the data in the
2399	// books.layers.volumeAnnotations.* responses. The actual annotation
2400	// data is versioned separately.
2401	VolumeAnnotationsVersion string `json:"volumeAnnotationsVersion,omitempty"`
2402
2403	// VolumeId: The volume id this resource is for.
2404	VolumeId string `json:"volumeId,omitempty"`
2405
2406	// ServerResponse contains the HTTP response code and headers from the
2407	// server.
2408	googleapi.ServerResponse `json:"-"`
2409
2410	// ForceSendFields is a list of field names (e.g. "AnnotationCount") to
2411	// unconditionally include in API requests. By default, fields with
2412	// empty values are omitted from API requests. However, any non-pointer,
2413	// non-interface field appearing in ForceSendFields will be sent to the
2414	// server regardless of whether the field is empty or not. This may be
2415	// used to include empty fields in Patch requests.
2416	ForceSendFields []string `json:"-"`
2417
2418	// NullFields is a list of field names (e.g. "AnnotationCount") to
2419	// include in API requests with the JSON null value. By default, fields
2420	// with empty values are omitted from API requests. However, any field
2421	// with an empty value appearing in NullFields will be sent to the
2422	// server as null. It is an error if a field in this list has a
2423	// non-empty value. This may be used to include null fields in Patch
2424	// requests.
2425	NullFields []string `json:"-"`
2426}
2427
2428func (s *Layersummary) MarshalJSON() ([]byte, error) {
2429	type NoMethod Layersummary
2430	raw := NoMethod(*s)
2431	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2432}
2433
2434type Metadata struct {
2435	// Items: A list of offline dictionary metadata.
2436	Items []*MetadataItems `json:"items,omitempty"`
2437
2438	// Kind: Resource type.
2439	Kind string `json:"kind,omitempty"`
2440
2441	// ServerResponse contains the HTTP response code and headers from the
2442	// server.
2443	googleapi.ServerResponse `json:"-"`
2444
2445	// ForceSendFields is a list of field names (e.g. "Items") to
2446	// unconditionally include in API requests. By default, fields with
2447	// empty values are omitted from API requests. However, any non-pointer,
2448	// non-interface field appearing in ForceSendFields will be sent to the
2449	// server regardless of whether the field is empty or not. This may be
2450	// used to include empty fields in Patch requests.
2451	ForceSendFields []string `json:"-"`
2452
2453	// NullFields is a list of field names (e.g. "Items") to include in API
2454	// requests with the JSON null value. By default, fields with empty
2455	// values are omitted from API requests. However, any field with an
2456	// empty value appearing in NullFields will be sent to the server as
2457	// null. It is an error if a field in this list has a non-empty value.
2458	// This may be used to include null fields in Patch requests.
2459	NullFields []string `json:"-"`
2460}
2461
2462func (s *Metadata) MarshalJSON() ([]byte, error) {
2463	type NoMethod Metadata
2464	raw := NoMethod(*s)
2465	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2466}
2467
2468type MetadataItems struct {
2469	DownloadUrl string `json:"download_url,omitempty"`
2470
2471	EncryptedKey string `json:"encrypted_key,omitempty"`
2472
2473	Language string `json:"language,omitempty"`
2474
2475	Size int64 `json:"size,omitempty,string"`
2476
2477	Version int64 `json:"version,omitempty,string"`
2478
2479	// ForceSendFields is a list of field names (e.g. "DownloadUrl") to
2480	// unconditionally include in API requests. By default, fields with
2481	// empty values are omitted from API requests. However, any non-pointer,
2482	// non-interface field appearing in ForceSendFields will be sent to the
2483	// server regardless of whether the field is empty or not. This may be
2484	// used to include empty fields in Patch requests.
2485	ForceSendFields []string `json:"-"`
2486
2487	// NullFields is a list of field names (e.g. "DownloadUrl") to include
2488	// in API requests with the JSON null value. By default, fields with
2489	// empty values are omitted from API requests. However, any field with
2490	// an empty value appearing in NullFields will be sent to the server as
2491	// null. It is an error if a field in this list has a non-empty value.
2492	// This may be used to include null fields in Patch requests.
2493	NullFields []string `json:"-"`
2494}
2495
2496func (s *MetadataItems) MarshalJSON() ([]byte, error) {
2497	type NoMethod MetadataItems
2498	raw := NoMethod(*s)
2499	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2500}
2501
2502type Notification struct {
2503	Body string `json:"body,omitempty"`
2504
2505	// CrmExperimentIds: The list of crm experiment ids.
2506	CrmExperimentIds googleapi.Int64s `json:"crmExperimentIds,omitempty"`
2507
2508	DocId string `json:"doc_id,omitempty"`
2509
2510	DocType string `json:"doc_type,omitempty"`
2511
2512	DontShowNotification bool `json:"dont_show_notification,omitempty"`
2513
2514	IconUrl string `json:"iconUrl,omitempty"`
2515
2516	IsDocumentMature bool `json:"is_document_mature,omitempty"`
2517
2518	// Kind: Resource type.
2519	Kind string `json:"kind,omitempty"`
2520
2521	NotificationGroup string `json:"notificationGroup,omitempty"`
2522
2523	NotificationType string `json:"notification_type,omitempty"`
2524
2525	PcampaignId string `json:"pcampaign_id,omitempty"`
2526
2527	Reason string `json:"reason,omitempty"`
2528
2529	ShowNotificationSettingsAction bool `json:"show_notification_settings_action,omitempty"`
2530
2531	TargetUrl string `json:"targetUrl,omitempty"`
2532
2533	TimeToExpireMs int64 `json:"timeToExpireMs,omitempty,string"`
2534
2535	Title string `json:"title,omitempty"`
2536
2537	// ServerResponse contains the HTTP response code and headers from the
2538	// server.
2539	googleapi.ServerResponse `json:"-"`
2540
2541	// ForceSendFields is a list of field names (e.g. "Body") to
2542	// unconditionally include in API requests. By default, fields with
2543	// empty values are omitted from API requests. However, any non-pointer,
2544	// non-interface field appearing in ForceSendFields will be sent to the
2545	// server regardless of whether the field is empty or not. This may be
2546	// used to include empty fields in Patch requests.
2547	ForceSendFields []string `json:"-"`
2548
2549	// NullFields is a list of field names (e.g. "Body") to include in API
2550	// requests with the JSON null value. By default, fields with empty
2551	// values are omitted from API requests. However, any field with an
2552	// empty value appearing in NullFields will be sent to the server as
2553	// null. It is an error if a field in this list has a non-empty value.
2554	// This may be used to include null fields in Patch requests.
2555	NullFields []string `json:"-"`
2556}
2557
2558func (s *Notification) MarshalJSON() ([]byte, error) {
2559	type NoMethod Notification
2560	raw := NoMethod(*s)
2561	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2562}
2563
2564type Offers struct {
2565	// Items: A list of offers.
2566	Items []*OffersItems `json:"items,omitempty"`
2567
2568	// Kind: Resource type.
2569	Kind string `json:"kind,omitempty"`
2570
2571	// ServerResponse contains the HTTP response code and headers from the
2572	// server.
2573	googleapi.ServerResponse `json:"-"`
2574
2575	// ForceSendFields is a list of field names (e.g. "Items") to
2576	// unconditionally include in API requests. By default, fields with
2577	// empty values are omitted from API requests. However, any non-pointer,
2578	// non-interface field appearing in ForceSendFields will be sent to the
2579	// server regardless of whether the field is empty or not. This may be
2580	// used to include empty fields in Patch requests.
2581	ForceSendFields []string `json:"-"`
2582
2583	// NullFields is a list of field names (e.g. "Items") to include in API
2584	// requests with the JSON null value. By default, fields with empty
2585	// values are omitted from API requests. However, any field with an
2586	// empty value appearing in NullFields will be sent to the server as
2587	// null. It is an error if a field in this list has a non-empty value.
2588	// This may be used to include null fields in Patch requests.
2589	NullFields []string `json:"-"`
2590}
2591
2592func (s *Offers) MarshalJSON() ([]byte, error) {
2593	type NoMethod Offers
2594	raw := NoMethod(*s)
2595	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2596}
2597
2598type OffersItems struct {
2599	ArtUrl string `json:"artUrl,omitempty"`
2600
2601	GservicesKey string `json:"gservicesKey,omitempty"`
2602
2603	Id string `json:"id,omitempty"`
2604
2605	Items []*OffersItemsItems `json:"items,omitempty"`
2606
2607	// ForceSendFields is a list of field names (e.g. "ArtUrl") to
2608	// unconditionally include in API requests. By default, fields with
2609	// empty values are omitted from API requests. However, any non-pointer,
2610	// non-interface field appearing in ForceSendFields will be sent to the
2611	// server regardless of whether the field is empty or not. This may be
2612	// used to include empty fields in Patch requests.
2613	ForceSendFields []string `json:"-"`
2614
2615	// NullFields is a list of field names (e.g. "ArtUrl") to include in API
2616	// requests with the JSON null value. By default, fields with empty
2617	// values are omitted from API requests. However, any field with an
2618	// empty value appearing in NullFields will be sent to the server as
2619	// null. It is an error if a field in this list has a non-empty value.
2620	// This may be used to include null fields in Patch requests.
2621	NullFields []string `json:"-"`
2622}
2623
2624func (s *OffersItems) MarshalJSON() ([]byte, error) {
2625	type NoMethod OffersItems
2626	raw := NoMethod(*s)
2627	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2628}
2629
2630type OffersItemsItems struct {
2631	Author string `json:"author,omitempty"`
2632
2633	CanonicalVolumeLink string `json:"canonicalVolumeLink,omitempty"`
2634
2635	CoverUrl string `json:"coverUrl,omitempty"`
2636
2637	Description string `json:"description,omitempty"`
2638
2639	Title string `json:"title,omitempty"`
2640
2641	VolumeId string `json:"volumeId,omitempty"`
2642
2643	// ForceSendFields is a list of field names (e.g. "Author") to
2644	// unconditionally include in API requests. By default, fields with
2645	// empty values are omitted from API requests. However, any non-pointer,
2646	// non-interface field appearing in ForceSendFields will be sent to the
2647	// server regardless of whether the field is empty or not. This may be
2648	// used to include empty fields in Patch requests.
2649	ForceSendFields []string `json:"-"`
2650
2651	// NullFields is a list of field names (e.g. "Author") to include in API
2652	// requests with the JSON null value. By default, fields with empty
2653	// values are omitted from API requests. However, any field with an
2654	// empty value appearing in NullFields will be sent to the server as
2655	// null. It is an error if a field in this list has a non-empty value.
2656	// This may be used to include null fields in Patch requests.
2657	NullFields []string `json:"-"`
2658}
2659
2660func (s *OffersItemsItems) MarshalJSON() ([]byte, error) {
2661	type NoMethod OffersItemsItems
2662	raw := NoMethod(*s)
2663	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2664}
2665
2666type ReadingPosition struct {
2667	// EpubCfiPosition: Position in an EPUB as a CFI.
2668	EpubCfiPosition string `json:"epubCfiPosition,omitempty"`
2669
2670	// GbImagePosition: Position in a volume for image-based content.
2671	GbImagePosition string `json:"gbImagePosition,omitempty"`
2672
2673	// GbTextPosition: Position in a volume for text-based content.
2674	GbTextPosition string `json:"gbTextPosition,omitempty"`
2675
2676	// Kind: Resource type for a reading position.
2677	Kind string `json:"kind,omitempty"`
2678
2679	// PdfPosition: Position in a PDF file.
2680	PdfPosition string `json:"pdfPosition,omitempty"`
2681
2682	// Updated: Timestamp when this reading position was last updated
2683	// (formatted UTC timestamp with millisecond resolution).
2684	Updated string `json:"updated,omitempty"`
2685
2686	// VolumeId: Volume id associated with this reading position.
2687	VolumeId string `json:"volumeId,omitempty"`
2688
2689	// ServerResponse contains the HTTP response code and headers from the
2690	// server.
2691	googleapi.ServerResponse `json:"-"`
2692
2693	// ForceSendFields is a list of field names (e.g. "EpubCfiPosition") to
2694	// unconditionally include in API requests. By default, fields with
2695	// empty values are omitted from API requests. However, any non-pointer,
2696	// non-interface field appearing in ForceSendFields will be sent to the
2697	// server regardless of whether the field is empty or not. This may be
2698	// used to include empty fields in Patch requests.
2699	ForceSendFields []string `json:"-"`
2700
2701	// NullFields is a list of field names (e.g. "EpubCfiPosition") to
2702	// include in API requests with the JSON null value. By default, fields
2703	// with empty values are omitted from API requests. However, any field
2704	// with an empty value appearing in NullFields will be sent to the
2705	// server as null. It is an error if a field in this list has a
2706	// non-empty value. This may be used to include null fields in Patch
2707	// requests.
2708	NullFields []string `json:"-"`
2709}
2710
2711func (s *ReadingPosition) MarshalJSON() ([]byte, error) {
2712	type NoMethod ReadingPosition
2713	raw := NoMethod(*s)
2714	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2715}
2716
2717type RequestAccessData struct {
2718	// ConcurrentAccess: A concurrent access response.
2719	ConcurrentAccess *ConcurrentAccessRestriction `json:"concurrentAccess,omitempty"`
2720
2721	// DownloadAccess: A download access response.
2722	DownloadAccess *DownloadAccessRestriction `json:"downloadAccess,omitempty"`
2723
2724	// Kind: Resource type.
2725	Kind string `json:"kind,omitempty"`
2726
2727	// ServerResponse contains the HTTP response code and headers from the
2728	// server.
2729	googleapi.ServerResponse `json:"-"`
2730
2731	// ForceSendFields is a list of field names (e.g. "ConcurrentAccess") to
2732	// unconditionally include in API requests. By default, fields with
2733	// empty values are omitted from API requests. However, any non-pointer,
2734	// non-interface field appearing in ForceSendFields will be sent to the
2735	// server regardless of whether the field is empty or not. This may be
2736	// used to include empty fields in Patch requests.
2737	ForceSendFields []string `json:"-"`
2738
2739	// NullFields is a list of field names (e.g. "ConcurrentAccess") to
2740	// include in API requests with the JSON null value. By default, fields
2741	// with empty values are omitted from API requests. However, any field
2742	// with an empty value appearing in NullFields will be sent to the
2743	// server as null. It is an error if a field in this list has a
2744	// non-empty value. This may be used to include null fields in Patch
2745	// requests.
2746	NullFields []string `json:"-"`
2747}
2748
2749func (s *RequestAccessData) MarshalJSON() ([]byte, error) {
2750	type NoMethod RequestAccessData
2751	raw := NoMethod(*s)
2752	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2753}
2754
2755type Review struct {
2756	// Author: Author of this review.
2757	Author *ReviewAuthor `json:"author,omitempty"`
2758
2759	// Content: Review text.
2760	Content string `json:"content,omitempty"`
2761
2762	// Date: Date of this review.
2763	Date string `json:"date,omitempty"`
2764
2765	// FullTextUrl: URL for the full review text, for reviews gathered from
2766	// the web.
2767	FullTextUrl string `json:"fullTextUrl,omitempty"`
2768
2769	// Kind: Resource type for a review.
2770	Kind string `json:"kind,omitempty"`
2771
2772	// Rating: Star rating for this review. Possible values are ONE, TWO,
2773	// THREE, FOUR, FIVE or NOT_RATED.
2774	Rating string `json:"rating,omitempty"`
2775
2776	// Source: Information regarding the source of this review, when the
2777	// review is not from a Google Books user.
2778	Source *ReviewSource `json:"source,omitempty"`
2779
2780	// Title: Title for this review.
2781	Title string `json:"title,omitempty"`
2782
2783	// Type: Source type for this review. Possible values are EDITORIAL,
2784	// WEB_USER or GOOGLE_USER.
2785	Type string `json:"type,omitempty"`
2786
2787	// VolumeId: Volume that this review is for.
2788	VolumeId string `json:"volumeId,omitempty"`
2789
2790	// ForceSendFields is a list of field names (e.g. "Author") to
2791	// unconditionally include in API requests. By default, fields with
2792	// empty values are omitted from API requests. However, any non-pointer,
2793	// non-interface field appearing in ForceSendFields will be sent to the
2794	// server regardless of whether the field is empty or not. This may be
2795	// used to include empty fields in Patch requests.
2796	ForceSendFields []string `json:"-"`
2797
2798	// NullFields is a list of field names (e.g. "Author") to include in API
2799	// requests with the JSON null value. By default, fields with empty
2800	// values are omitted from API requests. However, any field with an
2801	// empty value appearing in NullFields will be sent to the server as
2802	// null. It is an error if a field in this list has a non-empty value.
2803	// This may be used to include null fields in Patch requests.
2804	NullFields []string `json:"-"`
2805}
2806
2807func (s *Review) MarshalJSON() ([]byte, error) {
2808	type NoMethod Review
2809	raw := NoMethod(*s)
2810	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2811}
2812
2813// ReviewAuthor: Author of this review.
2814type ReviewAuthor struct {
2815	// DisplayName: Name of this person.
2816	DisplayName string `json:"displayName,omitempty"`
2817
2818	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2819	// unconditionally include in API requests. By default, fields with
2820	// empty values are omitted from API requests. However, any non-pointer,
2821	// non-interface field appearing in ForceSendFields will be sent to the
2822	// server regardless of whether the field is empty or not. This may be
2823	// used to include empty fields in Patch requests.
2824	ForceSendFields []string `json:"-"`
2825
2826	// NullFields is a list of field names (e.g. "DisplayName") to include
2827	// in API requests with the JSON null value. By default, fields with
2828	// empty values are omitted from API requests. However, any field with
2829	// an empty value appearing in NullFields will be sent to the server as
2830	// null. It is an error if a field in this list has a non-empty value.
2831	// This may be used to include null fields in Patch requests.
2832	NullFields []string `json:"-"`
2833}
2834
2835func (s *ReviewAuthor) MarshalJSON() ([]byte, error) {
2836	type NoMethod ReviewAuthor
2837	raw := NoMethod(*s)
2838	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2839}
2840
2841// ReviewSource: Information regarding the source of this review, when
2842// the review is not from a Google Books user.
2843type ReviewSource struct {
2844	// Description: Name of the source.
2845	Description string `json:"description,omitempty"`
2846
2847	// ExtraDescription: Extra text about the source of the review.
2848	ExtraDescription string `json:"extraDescription,omitempty"`
2849
2850	// Url: URL of the source of the review.
2851	Url string `json:"url,omitempty"`
2852
2853	// ForceSendFields is a list of field names (e.g. "Description") to
2854	// unconditionally include in API requests. By default, fields with
2855	// empty values are omitted from API requests. However, any non-pointer,
2856	// non-interface field appearing in ForceSendFields will be sent to the
2857	// server regardless of whether the field is empty or not. This may be
2858	// used to include empty fields in Patch requests.
2859	ForceSendFields []string `json:"-"`
2860
2861	// NullFields is a list of field names (e.g. "Description") to include
2862	// in API requests with the JSON null value. By default, fields with
2863	// empty values are omitted from API requests. However, any field with
2864	// an empty value appearing in NullFields will be sent to the server as
2865	// null. It is an error if a field in this list has a non-empty value.
2866	// This may be used to include null fields in Patch requests.
2867	NullFields []string `json:"-"`
2868}
2869
2870func (s *ReviewSource) MarshalJSON() ([]byte, error) {
2871	type NoMethod ReviewSource
2872	raw := NoMethod(*s)
2873	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2874}
2875
2876type Series struct {
2877	// Kind: Resource type.
2878	Kind string `json:"kind,omitempty"`
2879
2880	Series []*SeriesSeries `json:"series,omitempty"`
2881
2882	// ServerResponse contains the HTTP response code and headers from the
2883	// server.
2884	googleapi.ServerResponse `json:"-"`
2885
2886	// ForceSendFields is a list of field names (e.g. "Kind") to
2887	// unconditionally include in API requests. By default, fields with
2888	// empty values are omitted from API requests. However, any non-pointer,
2889	// non-interface field appearing in ForceSendFields will be sent to the
2890	// server regardless of whether the field is empty or not. This may be
2891	// used to include empty fields in Patch requests.
2892	ForceSendFields []string `json:"-"`
2893
2894	// NullFields is a list of field names (e.g. "Kind") to include in API
2895	// requests with the JSON null value. By default, fields with empty
2896	// values are omitted from API requests. However, any field with an
2897	// empty value appearing in NullFields will be sent to the server as
2898	// null. It is an error if a field in this list has a non-empty value.
2899	// This may be used to include null fields in Patch requests.
2900	NullFields []string `json:"-"`
2901}
2902
2903func (s *Series) MarshalJSON() ([]byte, error) {
2904	type NoMethod Series
2905	raw := NoMethod(*s)
2906	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2907}
2908
2909type SeriesSeries struct {
2910	BannerImageUrl string `json:"bannerImageUrl,omitempty"`
2911
2912	EligibleForSubscription bool `json:"eligibleForSubscription,omitempty"`
2913
2914	ImageUrl string `json:"imageUrl,omitempty"`
2915
2916	IsComplete bool `json:"isComplete,omitempty"`
2917
2918	SeriesFormatType string `json:"seriesFormatType,omitempty"`
2919
2920	SeriesId string `json:"seriesId,omitempty"`
2921
2922	SeriesSubscriptionReleaseInfo *SeriesSeriesSeriesSubscriptionReleaseInfo `json:"seriesSubscriptionReleaseInfo,omitempty"`
2923
2924	SeriesType string `json:"seriesType,omitempty"`
2925
2926	SubscriptionId string `json:"subscriptionId,omitempty"`
2927
2928	Title string `json:"title,omitempty"`
2929
2930	// ForceSendFields is a list of field names (e.g. "BannerImageUrl") to
2931	// unconditionally include in API requests. By default, fields with
2932	// empty values are omitted from API requests. However, any non-pointer,
2933	// non-interface field appearing in ForceSendFields will be sent to the
2934	// server regardless of whether the field is empty or not. This may be
2935	// used to include empty fields in Patch requests.
2936	ForceSendFields []string `json:"-"`
2937
2938	// NullFields is a list of field names (e.g. "BannerImageUrl") to
2939	// include in API requests with the JSON null value. By default, fields
2940	// with empty values are omitted from API requests. However, any field
2941	// with an empty value appearing in NullFields will be sent to the
2942	// server as null. It is an error if a field in this list has a
2943	// non-empty value. This may be used to include null fields in Patch
2944	// requests.
2945	NullFields []string `json:"-"`
2946}
2947
2948func (s *SeriesSeries) MarshalJSON() ([]byte, error) {
2949	type NoMethod SeriesSeries
2950	raw := NoMethod(*s)
2951	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2952}
2953
2954type SeriesSeriesSeriesSubscriptionReleaseInfo struct {
2955	CancelTime string `json:"cancelTime,omitempty"`
2956
2957	CurrentReleaseInfo *SeriesSeriesSeriesSubscriptionReleaseInfoCurrentReleaseInfo `json:"currentReleaseInfo,omitempty"`
2958
2959	NextReleaseInfo *SeriesSeriesSeriesSubscriptionReleaseInfoNextReleaseInfo `json:"nextReleaseInfo,omitempty"`
2960
2961	SeriesSubscriptionType string `json:"seriesSubscriptionType,omitempty"`
2962
2963	// ForceSendFields is a list of field names (e.g. "CancelTime") to
2964	// unconditionally include in API requests. By default, fields with
2965	// empty values are omitted from API requests. However, any non-pointer,
2966	// non-interface field appearing in ForceSendFields will be sent to the
2967	// server regardless of whether the field is empty or not. This may be
2968	// used to include empty fields in Patch requests.
2969	ForceSendFields []string `json:"-"`
2970
2971	// NullFields is a list of field names (e.g. "CancelTime") to include in
2972	// API requests with the JSON null value. By default, fields with empty
2973	// values are omitted from API requests. However, any field with an
2974	// empty value appearing in NullFields will be sent to the server as
2975	// null. It is an error if a field in this list has a non-empty value.
2976	// This may be used to include null fields in Patch requests.
2977	NullFields []string `json:"-"`
2978}
2979
2980func (s *SeriesSeriesSeriesSubscriptionReleaseInfo) MarshalJSON() ([]byte, error) {
2981	type NoMethod SeriesSeriesSeriesSubscriptionReleaseInfo
2982	raw := NoMethod(*s)
2983	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2984}
2985
2986type SeriesSeriesSeriesSubscriptionReleaseInfoCurrentReleaseInfo struct {
2987	AmountInMicros float64 `json:"amountInMicros,omitempty"`
2988
2989	CurrencyCode string `json:"currencyCode,omitempty"`
2990
2991	ReleaseNumber string `json:"releaseNumber,omitempty"`
2992
2993	ReleaseTime string `json:"releaseTime,omitempty"`
2994
2995	// ForceSendFields is a list of field names (e.g. "AmountInMicros") to
2996	// unconditionally include in API requests. By default, fields with
2997	// empty values are omitted from API requests. However, any non-pointer,
2998	// non-interface field appearing in ForceSendFields will be sent to the
2999	// server regardless of whether the field is empty or not. This may be
3000	// used to include empty fields in Patch requests.
3001	ForceSendFields []string `json:"-"`
3002
3003	// NullFields is a list of field names (e.g. "AmountInMicros") to
3004	// include in API requests with the JSON null value. By default, fields
3005	// with empty values are omitted from API requests. However, any field
3006	// with an empty value appearing in NullFields will be sent to the
3007	// server as null. It is an error if a field in this list has a
3008	// non-empty value. This may be used to include null fields in Patch
3009	// requests.
3010	NullFields []string `json:"-"`
3011}
3012
3013func (s *SeriesSeriesSeriesSubscriptionReleaseInfoCurrentReleaseInfo) MarshalJSON() ([]byte, error) {
3014	type NoMethod SeriesSeriesSeriesSubscriptionReleaseInfoCurrentReleaseInfo
3015	raw := NoMethod(*s)
3016	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3017}
3018
3019func (s *SeriesSeriesSeriesSubscriptionReleaseInfoCurrentReleaseInfo) UnmarshalJSON(data []byte) error {
3020	type NoMethod SeriesSeriesSeriesSubscriptionReleaseInfoCurrentReleaseInfo
3021	var s1 struct {
3022		AmountInMicros gensupport.JSONFloat64 `json:"amountInMicros"`
3023		*NoMethod
3024	}
3025	s1.NoMethod = (*NoMethod)(s)
3026	if err := json.Unmarshal(data, &s1); err != nil {
3027		return err
3028	}
3029	s.AmountInMicros = float64(s1.AmountInMicros)
3030	return nil
3031}
3032
3033type SeriesSeriesSeriesSubscriptionReleaseInfoNextReleaseInfo struct {
3034	AmountInMicros float64 `json:"amountInMicros,omitempty"`
3035
3036	CurrencyCode string `json:"currencyCode,omitempty"`
3037
3038	ReleaseNumber string `json:"releaseNumber,omitempty"`
3039
3040	ReleaseTime string `json:"releaseTime,omitempty"`
3041
3042	// ForceSendFields is a list of field names (e.g. "AmountInMicros") to
3043	// unconditionally include in API requests. By default, fields with
3044	// empty values are omitted from API requests. However, any non-pointer,
3045	// non-interface field appearing in ForceSendFields will be sent to the
3046	// server regardless of whether the field is empty or not. This may be
3047	// used to include empty fields in Patch requests.
3048	ForceSendFields []string `json:"-"`
3049
3050	// NullFields is a list of field names (e.g. "AmountInMicros") to
3051	// include in API requests with the JSON null value. By default, fields
3052	// with empty values are omitted from API requests. However, any field
3053	// with an empty value appearing in NullFields will be sent to the
3054	// server as null. It is an error if a field in this list has a
3055	// non-empty value. This may be used to include null fields in Patch
3056	// requests.
3057	NullFields []string `json:"-"`
3058}
3059
3060func (s *SeriesSeriesSeriesSubscriptionReleaseInfoNextReleaseInfo) MarshalJSON() ([]byte, error) {
3061	type NoMethod SeriesSeriesSeriesSubscriptionReleaseInfoNextReleaseInfo
3062	raw := NoMethod(*s)
3063	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3064}
3065
3066func (s *SeriesSeriesSeriesSubscriptionReleaseInfoNextReleaseInfo) UnmarshalJSON(data []byte) error {
3067	type NoMethod SeriesSeriesSeriesSubscriptionReleaseInfoNextReleaseInfo
3068	var s1 struct {
3069		AmountInMicros gensupport.JSONFloat64 `json:"amountInMicros"`
3070		*NoMethod
3071	}
3072	s1.NoMethod = (*NoMethod)(s)
3073	if err := json.Unmarshal(data, &s1); err != nil {
3074		return err
3075	}
3076	s.AmountInMicros = float64(s1.AmountInMicros)
3077	return nil
3078}
3079
3080type Seriesmembership struct {
3081	// Kind: Resorce type.
3082	Kind string `json:"kind,omitempty"`
3083
3084	Member []*Volume `json:"member,omitempty"`
3085
3086	NextPageToken string `json:"nextPageToken,omitempty"`
3087
3088	// ServerResponse contains the HTTP response code and headers from the
3089	// server.
3090	googleapi.ServerResponse `json:"-"`
3091
3092	// ForceSendFields is a list of field names (e.g. "Kind") to
3093	// unconditionally include in API requests. By default, fields with
3094	// empty values are omitted from API requests. However, any non-pointer,
3095	// non-interface field appearing in ForceSendFields will be sent to the
3096	// server regardless of whether the field is empty or not. This may be
3097	// used to include empty fields in Patch requests.
3098	ForceSendFields []string `json:"-"`
3099
3100	// NullFields is a list of field names (e.g. "Kind") to include in API
3101	// requests with the JSON null value. By default, fields with empty
3102	// values are omitted from API requests. However, any field with an
3103	// empty value appearing in NullFields will be sent to the server as
3104	// null. It is an error if a field in this list has a non-empty value.
3105	// This may be used to include null fields in Patch requests.
3106	NullFields []string `json:"-"`
3107}
3108
3109func (s *Seriesmembership) MarshalJSON() ([]byte, error) {
3110	type NoMethod Seriesmembership
3111	raw := NoMethod(*s)
3112	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3113}
3114
3115type Usersettings struct {
3116	// Kind: Resource type.
3117	Kind string `json:"kind,omitempty"`
3118
3119	// NotesExport: User settings in sub-objects, each for different
3120	// purposes.
3121	NotesExport *UsersettingsNotesExport `json:"notesExport,omitempty"`
3122
3123	Notification *UsersettingsNotification `json:"notification,omitempty"`
3124
3125	// ServerResponse contains the HTTP response code and headers from the
3126	// server.
3127	googleapi.ServerResponse `json:"-"`
3128
3129	// ForceSendFields is a list of field names (e.g. "Kind") to
3130	// unconditionally include in API requests. By default, fields with
3131	// empty values are omitted from API requests. However, any non-pointer,
3132	// non-interface field appearing in ForceSendFields will be sent to the
3133	// server regardless of whether the field is empty or not. This may be
3134	// used to include empty fields in Patch requests.
3135	ForceSendFields []string `json:"-"`
3136
3137	// NullFields is a list of field names (e.g. "Kind") to include in API
3138	// requests with the JSON null value. By default, fields with empty
3139	// values are omitted from API requests. However, any field with an
3140	// empty value appearing in NullFields will be sent to the server as
3141	// null. It is an error if a field in this list has a non-empty value.
3142	// This may be used to include null fields in Patch requests.
3143	NullFields []string `json:"-"`
3144}
3145
3146func (s *Usersettings) MarshalJSON() ([]byte, error) {
3147	type NoMethod Usersettings
3148	raw := NoMethod(*s)
3149	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3150}
3151
3152// UsersettingsNotesExport: User settings in sub-objects, each for
3153// different purposes.
3154type UsersettingsNotesExport struct {
3155	FolderName string `json:"folderName,omitempty"`
3156
3157	IsEnabled bool `json:"isEnabled,omitempty"`
3158
3159	// ForceSendFields is a list of field names (e.g. "FolderName") to
3160	// unconditionally include in API requests. By default, fields with
3161	// empty values are omitted from API requests. However, any non-pointer,
3162	// non-interface field appearing in ForceSendFields will be sent to the
3163	// server regardless of whether the field is empty or not. This may be
3164	// used to include empty fields in Patch requests.
3165	ForceSendFields []string `json:"-"`
3166
3167	// NullFields is a list of field names (e.g. "FolderName") to include in
3168	// API requests with the JSON null value. By default, fields with empty
3169	// values are omitted from API requests. However, any field with an
3170	// empty value appearing in NullFields will be sent to the server as
3171	// null. It is an error if a field in this list has a non-empty value.
3172	// This may be used to include null fields in Patch requests.
3173	NullFields []string `json:"-"`
3174}
3175
3176func (s *UsersettingsNotesExport) MarshalJSON() ([]byte, error) {
3177	type NoMethod UsersettingsNotesExport
3178	raw := NoMethod(*s)
3179	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3180}
3181
3182type UsersettingsNotification struct {
3183	MatchMyInterests *UsersettingsNotificationMatchMyInterests `json:"matchMyInterests,omitempty"`
3184
3185	MoreFromAuthors *UsersettingsNotificationMoreFromAuthors `json:"moreFromAuthors,omitempty"`
3186
3187	MoreFromSeries *UsersettingsNotificationMoreFromSeries `json:"moreFromSeries,omitempty"`
3188
3189	PriceDrop *UsersettingsNotificationPriceDrop `json:"priceDrop,omitempty"`
3190
3191	RewardExpirations *UsersettingsNotificationRewardExpirations `json:"rewardExpirations,omitempty"`
3192
3193	// ForceSendFields is a list of field names (e.g. "MatchMyInterests") to
3194	// unconditionally include in API requests. By default, fields with
3195	// empty values are omitted from API requests. However, any non-pointer,
3196	// non-interface field appearing in ForceSendFields will be sent to the
3197	// server regardless of whether the field is empty or not. This may be
3198	// used to include empty fields in Patch requests.
3199	ForceSendFields []string `json:"-"`
3200
3201	// NullFields is a list of field names (e.g. "MatchMyInterests") to
3202	// include in API requests with the JSON null value. By default, fields
3203	// with empty values are omitted from API requests. However, any field
3204	// with an empty value appearing in NullFields will be sent to the
3205	// server as null. It is an error if a field in this list has a
3206	// non-empty value. This may be used to include null fields in Patch
3207	// requests.
3208	NullFields []string `json:"-"`
3209}
3210
3211func (s *UsersettingsNotification) MarshalJSON() ([]byte, error) {
3212	type NoMethod UsersettingsNotification
3213	raw := NoMethod(*s)
3214	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3215}
3216
3217type UsersettingsNotificationMatchMyInterests struct {
3218	OptedState string `json:"opted_state,omitempty"`
3219
3220	// ForceSendFields is a list of field names (e.g. "OptedState") to
3221	// unconditionally include in API requests. By default, fields with
3222	// empty values are omitted from API requests. However, any non-pointer,
3223	// non-interface field appearing in ForceSendFields will be sent to the
3224	// server regardless of whether the field is empty or not. This may be
3225	// used to include empty fields in Patch requests.
3226	ForceSendFields []string `json:"-"`
3227
3228	// NullFields is a list of field names (e.g. "OptedState") to include in
3229	// API requests with the JSON null value. By default, fields with empty
3230	// values are omitted from API requests. However, any field with an
3231	// empty value appearing in NullFields will be sent to the server as
3232	// null. It is an error if a field in this list has a non-empty value.
3233	// This may be used to include null fields in Patch requests.
3234	NullFields []string `json:"-"`
3235}
3236
3237func (s *UsersettingsNotificationMatchMyInterests) MarshalJSON() ([]byte, error) {
3238	type NoMethod UsersettingsNotificationMatchMyInterests
3239	raw := NoMethod(*s)
3240	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3241}
3242
3243type UsersettingsNotificationMoreFromAuthors struct {
3244	OptedState string `json:"opted_state,omitempty"`
3245
3246	// ForceSendFields is a list of field names (e.g. "OptedState") to
3247	// unconditionally include in API requests. By default, fields with
3248	// empty values are omitted from API requests. However, any non-pointer,
3249	// non-interface field appearing in ForceSendFields will be sent to the
3250	// server regardless of whether the field is empty or not. This may be
3251	// used to include empty fields in Patch requests.
3252	ForceSendFields []string `json:"-"`
3253
3254	// NullFields is a list of field names (e.g. "OptedState") to include in
3255	// API requests with the JSON null value. By default, fields with empty
3256	// values are omitted from API requests. However, any field with an
3257	// empty value appearing in NullFields will be sent to the server as
3258	// null. It is an error if a field in this list has a non-empty value.
3259	// This may be used to include null fields in Patch requests.
3260	NullFields []string `json:"-"`
3261}
3262
3263func (s *UsersettingsNotificationMoreFromAuthors) MarshalJSON() ([]byte, error) {
3264	type NoMethod UsersettingsNotificationMoreFromAuthors
3265	raw := NoMethod(*s)
3266	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3267}
3268
3269type UsersettingsNotificationMoreFromSeries struct {
3270	OptedState string `json:"opted_state,omitempty"`
3271
3272	// ForceSendFields is a list of field names (e.g. "OptedState") to
3273	// unconditionally include in API requests. By default, fields with
3274	// empty values are omitted from API requests. However, any non-pointer,
3275	// non-interface field appearing in ForceSendFields will be sent to the
3276	// server regardless of whether the field is empty or not. This may be
3277	// used to include empty fields in Patch requests.
3278	ForceSendFields []string `json:"-"`
3279
3280	// NullFields is a list of field names (e.g. "OptedState") to include in
3281	// API requests with the JSON null value. By default, fields with empty
3282	// values are omitted from API requests. However, any field with an
3283	// empty value appearing in NullFields will be sent to the server as
3284	// null. It is an error if a field in this list has a non-empty value.
3285	// This may be used to include null fields in Patch requests.
3286	NullFields []string `json:"-"`
3287}
3288
3289func (s *UsersettingsNotificationMoreFromSeries) MarshalJSON() ([]byte, error) {
3290	type NoMethod UsersettingsNotificationMoreFromSeries
3291	raw := NoMethod(*s)
3292	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3293}
3294
3295type UsersettingsNotificationPriceDrop struct {
3296	OptedState string `json:"opted_state,omitempty"`
3297
3298	// ForceSendFields is a list of field names (e.g. "OptedState") to
3299	// unconditionally include in API requests. By default, fields with
3300	// empty values are omitted from API requests. However, any non-pointer,
3301	// non-interface field appearing in ForceSendFields will be sent to the
3302	// server regardless of whether the field is empty or not. This may be
3303	// used to include empty fields in Patch requests.
3304	ForceSendFields []string `json:"-"`
3305
3306	// NullFields is a list of field names (e.g. "OptedState") to include in
3307	// API requests with the JSON null value. By default, fields with empty
3308	// values are omitted from API requests. However, any field with an
3309	// empty value appearing in NullFields will be sent to the server as
3310	// null. It is an error if a field in this list has a non-empty value.
3311	// This may be used to include null fields in Patch requests.
3312	NullFields []string `json:"-"`
3313}
3314
3315func (s *UsersettingsNotificationPriceDrop) MarshalJSON() ([]byte, error) {
3316	type NoMethod UsersettingsNotificationPriceDrop
3317	raw := NoMethod(*s)
3318	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3319}
3320
3321type UsersettingsNotificationRewardExpirations struct {
3322	OptedState string `json:"opted_state,omitempty"`
3323
3324	// ForceSendFields is a list of field names (e.g. "OptedState") to
3325	// unconditionally include in API requests. By default, fields with
3326	// empty values are omitted from API requests. However, any non-pointer,
3327	// non-interface field appearing in ForceSendFields will be sent to the
3328	// server regardless of whether the field is empty or not. This may be
3329	// used to include empty fields in Patch requests.
3330	ForceSendFields []string `json:"-"`
3331
3332	// NullFields is a list of field names (e.g. "OptedState") to include in
3333	// API requests with the JSON null value. By default, fields with empty
3334	// values are omitted from API requests. However, any field with an
3335	// empty value appearing in NullFields will be sent to the server as
3336	// null. It is an error if a field in this list has a non-empty value.
3337	// This may be used to include null fields in Patch requests.
3338	NullFields []string `json:"-"`
3339}
3340
3341func (s *UsersettingsNotificationRewardExpirations) MarshalJSON() ([]byte, error) {
3342	type NoMethod UsersettingsNotificationRewardExpirations
3343	raw := NoMethod(*s)
3344	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3345}
3346
3347type Volume struct {
3348	// AccessInfo: Any information about a volume related to reading or
3349	// obtaining that volume text. This information can depend on country
3350	// (books may be public domain in one country but not in another, e.g.).
3351	AccessInfo *VolumeAccessInfo `json:"accessInfo,omitempty"`
3352
3353	// Etag: Opaque identifier for a specific version of a volume resource.
3354	// (In LITE projection)
3355	Etag string `json:"etag,omitempty"`
3356
3357	// Id: Unique identifier for a volume. (In LITE projection.)
3358	Id string `json:"id,omitempty"`
3359
3360	// Kind: Resource type for a volume. (In LITE projection.)
3361	Kind string `json:"kind,omitempty"`
3362
3363	// LayerInfo: What layers exist in this volume and high level
3364	// information about them.
3365	LayerInfo *VolumeLayerInfo `json:"layerInfo,omitempty"`
3366
3367	// RecommendedInfo: Recommendation related information for this volume.
3368	RecommendedInfo *VolumeRecommendedInfo `json:"recommendedInfo,omitempty"`
3369
3370	// SaleInfo: Any information about a volume related to the eBookstore
3371	// and/or purchaseability. This information can depend on the country
3372	// where the request originates from (i.e. books may not be for sale in
3373	// certain countries).
3374	SaleInfo *VolumeSaleInfo `json:"saleInfo,omitempty"`
3375
3376	// SearchInfo: Search result information related to this volume.
3377	SearchInfo *VolumeSearchInfo `json:"searchInfo,omitempty"`
3378
3379	// SelfLink: URL to this resource. (In LITE projection.)
3380	SelfLink string `json:"selfLink,omitempty"`
3381
3382	// UserInfo: User specific information related to this volume. (e.g.
3383	// page this user last read or whether they purchased this book)
3384	UserInfo *VolumeUserInfo `json:"userInfo,omitempty"`
3385
3386	// VolumeInfo: General volume information.
3387	VolumeInfo *VolumeVolumeInfo `json:"volumeInfo,omitempty"`
3388
3389	// ServerResponse contains the HTTP response code and headers from the
3390	// server.
3391	googleapi.ServerResponse `json:"-"`
3392
3393	// ForceSendFields is a list of field names (e.g. "AccessInfo") to
3394	// unconditionally include in API requests. By default, fields with
3395	// empty values are omitted from API requests. However, any non-pointer,
3396	// non-interface field appearing in ForceSendFields will be sent to the
3397	// server regardless of whether the field is empty or not. This may be
3398	// used to include empty fields in Patch requests.
3399	ForceSendFields []string `json:"-"`
3400
3401	// NullFields is a list of field names (e.g. "AccessInfo") to include in
3402	// API requests with the JSON null value. By default, fields with empty
3403	// values are omitted from API requests. However, any field with an
3404	// empty value appearing in NullFields will be sent to the server as
3405	// null. It is an error if a field in this list has a non-empty value.
3406	// This may be used to include null fields in Patch requests.
3407	NullFields []string `json:"-"`
3408}
3409
3410func (s *Volume) MarshalJSON() ([]byte, error) {
3411	type NoMethod Volume
3412	raw := NoMethod(*s)
3413	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3414}
3415
3416// VolumeAccessInfo: Any information about a volume related to reading
3417// or obtaining that volume text. This information can depend on country
3418// (books may be public domain in one country but not in another, e.g.).
3419type VolumeAccessInfo struct {
3420	// AccessViewStatus: Combines the access and viewability of this volume
3421	// into a single status field for this user. Values can be
3422	// FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE
3423	// projection.)
3424	AccessViewStatus string `json:"accessViewStatus,omitempty"`
3425
3426	// Country: The two-letter ISO_3166-1 country code for which this access
3427	// information is valid. (In LITE projection.)
3428	Country string `json:"country,omitempty"`
3429
3430	// DownloadAccess: Information about a volume's download license access
3431	// restrictions.
3432	DownloadAccess *DownloadAccessRestriction `json:"downloadAccess,omitempty"`
3433
3434	// DriveImportedContentLink: URL to the Google Drive viewer if this
3435	// volume is uploaded by the user by selecting the file from Google
3436	// Drive.
3437	DriveImportedContentLink string `json:"driveImportedContentLink,omitempty"`
3438
3439	// Embeddable: Whether this volume can be embedded in a viewport using
3440	// the Embedded Viewer API.
3441	Embeddable bool `json:"embeddable,omitempty"`
3442
3443	// Epub: Information about epub content. (In LITE projection.)
3444	Epub *VolumeAccessInfoEpub `json:"epub,omitempty"`
3445
3446	// ExplicitOfflineLicenseManagement: Whether this volume requires that
3447	// the client explicitly request offline download license rather than
3448	// have it done automatically when loading the content, if the client
3449	// supports it.
3450	ExplicitOfflineLicenseManagement bool `json:"explicitOfflineLicenseManagement,omitempty"`
3451
3452	// Pdf: Information about pdf content. (In LITE projection.)
3453	Pdf *VolumeAccessInfoPdf `json:"pdf,omitempty"`
3454
3455	// PublicDomain: Whether or not this book is public domain in the
3456	// country listed above.
3457	PublicDomain bool `json:"publicDomain,omitempty"`
3458
3459	// QuoteSharingAllowed: Whether quote sharing is allowed for this
3460	// volume.
3461	QuoteSharingAllowed bool `json:"quoteSharingAllowed,omitempty"`
3462
3463	// TextToSpeechPermission: Whether text-to-speech is permitted for this
3464	// volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or
3465	// NOT_ALLOWED.
3466	TextToSpeechPermission string `json:"textToSpeechPermission,omitempty"`
3467
3468	// ViewOrderUrl: For ordered but not yet processed orders, we give a URL
3469	// that can be used to go to the appropriate Google Wallet page.
3470	ViewOrderUrl string `json:"viewOrderUrl,omitempty"`
3471
3472	// Viewability: The read access of a volume. Possible values are
3473	// PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the
3474	// country listed above. A value of PARTIAL means that the publisher has
3475	// allowed some portion of the volume to be viewed publicly, without
3476	// purchase. This can apply to eBooks as well as non-eBooks. Public
3477	// domain books will always have a value of ALL_PAGES.
3478	Viewability string `json:"viewability,omitempty"`
3479
3480	// WebReaderLink: URL to read this volume on the Google Books site. Link
3481	// will not allow users to read non-viewable volumes.
3482	WebReaderLink string `json:"webReaderLink,omitempty"`
3483
3484	// ForceSendFields is a list of field names (e.g. "AccessViewStatus") to
3485	// unconditionally include in API requests. By default, fields with
3486	// empty values are omitted from API requests. However, any non-pointer,
3487	// non-interface field appearing in ForceSendFields will be sent to the
3488	// server regardless of whether the field is empty or not. This may be
3489	// used to include empty fields in Patch requests.
3490	ForceSendFields []string `json:"-"`
3491
3492	// NullFields is a list of field names (e.g. "AccessViewStatus") to
3493	// include in API requests with the JSON null value. By default, fields
3494	// with empty values are omitted from API requests. However, any field
3495	// with an empty value appearing in NullFields will be sent to the
3496	// server as null. It is an error if a field in this list has a
3497	// non-empty value. This may be used to include null fields in Patch
3498	// requests.
3499	NullFields []string `json:"-"`
3500}
3501
3502func (s *VolumeAccessInfo) MarshalJSON() ([]byte, error) {
3503	type NoMethod VolumeAccessInfo
3504	raw := NoMethod(*s)
3505	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3506}
3507
3508// VolumeAccessInfoEpub: Information about epub content. (In LITE
3509// projection.)
3510type VolumeAccessInfoEpub struct {
3511	// AcsTokenLink: URL to retrieve ACS token for epub download. (In LITE
3512	// projection.)
3513	AcsTokenLink string `json:"acsTokenLink,omitempty"`
3514
3515	// DownloadLink: URL to download epub. (In LITE projection.)
3516	DownloadLink string `json:"downloadLink,omitempty"`
3517
3518	// IsAvailable: Is a flowing text epub available either as public domain
3519	// or for purchase. (In LITE projection.)
3520	IsAvailable bool `json:"isAvailable,omitempty"`
3521
3522	// ForceSendFields is a list of field names (e.g. "AcsTokenLink") to
3523	// unconditionally include in API requests. By default, fields with
3524	// empty values are omitted from API requests. However, any non-pointer,
3525	// non-interface field appearing in ForceSendFields will be sent to the
3526	// server regardless of whether the field is empty or not. This may be
3527	// used to include empty fields in Patch requests.
3528	ForceSendFields []string `json:"-"`
3529
3530	// NullFields is a list of field names (e.g. "AcsTokenLink") to include
3531	// in API requests with the JSON null value. By default, fields with
3532	// empty values are omitted from API requests. However, any field with
3533	// an empty value appearing in NullFields will be sent to the server as
3534	// null. It is an error if a field in this list has a non-empty value.
3535	// This may be used to include null fields in Patch requests.
3536	NullFields []string `json:"-"`
3537}
3538
3539func (s *VolumeAccessInfoEpub) MarshalJSON() ([]byte, error) {
3540	type NoMethod VolumeAccessInfoEpub
3541	raw := NoMethod(*s)
3542	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3543}
3544
3545// VolumeAccessInfoPdf: Information about pdf content. (In LITE
3546// projection.)
3547type VolumeAccessInfoPdf struct {
3548	// AcsTokenLink: URL to retrieve ACS token for pdf download. (In LITE
3549	// projection.)
3550	AcsTokenLink string `json:"acsTokenLink,omitempty"`
3551
3552	// DownloadLink: URL to download pdf. (In LITE projection.)
3553	DownloadLink string `json:"downloadLink,omitempty"`
3554
3555	// IsAvailable: Is a scanned image pdf available either as public domain
3556	// or for purchase. (In LITE projection.)
3557	IsAvailable bool `json:"isAvailable,omitempty"`
3558
3559	// ForceSendFields is a list of field names (e.g. "AcsTokenLink") to
3560	// unconditionally include in API requests. By default, fields with
3561	// empty values are omitted from API requests. However, any non-pointer,
3562	// non-interface field appearing in ForceSendFields will be sent to the
3563	// server regardless of whether the field is empty or not. This may be
3564	// used to include empty fields in Patch requests.
3565	ForceSendFields []string `json:"-"`
3566
3567	// NullFields is a list of field names (e.g. "AcsTokenLink") to include
3568	// in API requests with the JSON null value. By default, fields with
3569	// empty values are omitted from API requests. However, any field with
3570	// an empty value appearing in NullFields will be sent to the server as
3571	// null. It is an error if a field in this list has a non-empty value.
3572	// This may be used to include null fields in Patch requests.
3573	NullFields []string `json:"-"`
3574}
3575
3576func (s *VolumeAccessInfoPdf) MarshalJSON() ([]byte, error) {
3577	type NoMethod VolumeAccessInfoPdf
3578	raw := NoMethod(*s)
3579	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3580}
3581
3582// VolumeLayerInfo: What layers exist in this volume and high level
3583// information about them.
3584type VolumeLayerInfo struct {
3585	// Layers: A layer should appear here if and only if the layer exists
3586	// for this book.
3587	Layers []*VolumeLayerInfoLayers `json:"layers,omitempty"`
3588
3589	// ForceSendFields is a list of field names (e.g. "Layers") to
3590	// unconditionally include in API requests. By default, fields with
3591	// empty values are omitted from API requests. However, any non-pointer,
3592	// non-interface field appearing in ForceSendFields will be sent to the
3593	// server regardless of whether the field is empty or not. This may be
3594	// used to include empty fields in Patch requests.
3595	ForceSendFields []string `json:"-"`
3596
3597	// NullFields is a list of field names (e.g. "Layers") to include in API
3598	// requests with the JSON null value. By default, fields with empty
3599	// values are omitted from API requests. However, any field with an
3600	// empty value appearing in NullFields will be sent to the server as
3601	// null. It is an error if a field in this list has a non-empty value.
3602	// This may be used to include null fields in Patch requests.
3603	NullFields []string `json:"-"`
3604}
3605
3606func (s *VolumeLayerInfo) MarshalJSON() ([]byte, error) {
3607	type NoMethod VolumeLayerInfo
3608	raw := NoMethod(*s)
3609	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3610}
3611
3612type VolumeLayerInfoLayers struct {
3613	// LayerId: The layer id of this layer (e.g. "geo").
3614	LayerId string `json:"layerId,omitempty"`
3615
3616	// VolumeAnnotationsVersion: The current version of this layer's volume
3617	// annotations. Note that this version applies only to the data in the
3618	// books.layers.volumeAnnotations.* responses. The actual annotation
3619	// data is versioned separately.
3620	VolumeAnnotationsVersion string `json:"volumeAnnotationsVersion,omitempty"`
3621
3622	// ForceSendFields is a list of field names (e.g. "LayerId") to
3623	// unconditionally include in API requests. By default, fields with
3624	// empty values are omitted from API requests. However, any non-pointer,
3625	// non-interface field appearing in ForceSendFields will be sent to the
3626	// server regardless of whether the field is empty or not. This may be
3627	// used to include empty fields in Patch requests.
3628	ForceSendFields []string `json:"-"`
3629
3630	// NullFields is a list of field names (e.g. "LayerId") to include in
3631	// API requests with the JSON null value. By default, fields with empty
3632	// values are omitted from API requests. However, any field with an
3633	// empty value appearing in NullFields will be sent to the server as
3634	// null. It is an error if a field in this list has a non-empty value.
3635	// This may be used to include null fields in Patch requests.
3636	NullFields []string `json:"-"`
3637}
3638
3639func (s *VolumeLayerInfoLayers) MarshalJSON() ([]byte, error) {
3640	type NoMethod VolumeLayerInfoLayers
3641	raw := NoMethod(*s)
3642	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3643}
3644
3645// VolumeRecommendedInfo: Recommendation related information for this
3646// volume.
3647type VolumeRecommendedInfo struct {
3648	// Explanation: A text explaining why this volume is recommended.
3649	Explanation string `json:"explanation,omitempty"`
3650
3651	// ForceSendFields is a list of field names (e.g. "Explanation") to
3652	// unconditionally include in API requests. By default, fields with
3653	// empty values are omitted from API requests. However, any non-pointer,
3654	// non-interface field appearing in ForceSendFields will be sent to the
3655	// server regardless of whether the field is empty or not. This may be
3656	// used to include empty fields in Patch requests.
3657	ForceSendFields []string `json:"-"`
3658
3659	// NullFields is a list of field names (e.g. "Explanation") to include
3660	// in API requests with the JSON null value. By default, fields with
3661	// empty values are omitted from API requests. However, any field with
3662	// an empty value appearing in NullFields will be sent to the server as
3663	// null. It is an error if a field in this list has a non-empty value.
3664	// This may be used to include null fields in Patch requests.
3665	NullFields []string `json:"-"`
3666}
3667
3668func (s *VolumeRecommendedInfo) MarshalJSON() ([]byte, error) {
3669	type NoMethod VolumeRecommendedInfo
3670	raw := NoMethod(*s)
3671	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3672}
3673
3674// VolumeSaleInfo: Any information about a volume related to the
3675// eBookstore and/or purchaseability. This information can depend on the
3676// country where the request originates from (i.e. books may not be for
3677// sale in certain countries).
3678type VolumeSaleInfo struct {
3679	// BuyLink: URL to purchase this volume on the Google Books site. (In
3680	// LITE projection)
3681	BuyLink string `json:"buyLink,omitempty"`
3682
3683	// Country: The two-letter ISO_3166-1 country code for which this sale
3684	// information is valid. (In LITE projection.)
3685	Country string `json:"country,omitempty"`
3686
3687	// IsEbook: Whether or not this volume is an eBook (can be added to the
3688	// My eBooks shelf).
3689	IsEbook bool `json:"isEbook,omitempty"`
3690
3691	// ListPrice: Suggested retail price. (In LITE projection.)
3692	ListPrice *VolumeSaleInfoListPrice `json:"listPrice,omitempty"`
3693
3694	// Offers: Offers available for this volume (sales and rentals).
3695	Offers []*VolumeSaleInfoOffers `json:"offers,omitempty"`
3696
3697	// OnSaleDate: The date on which this book is available for sale.
3698	OnSaleDate string `json:"onSaleDate,omitempty"`
3699
3700	// RetailPrice: The actual selling price of the book. This is the same
3701	// as the suggested retail or list price unless there are offers or
3702	// discounts on this volume. (In LITE projection.)
3703	RetailPrice *VolumeSaleInfoRetailPrice `json:"retailPrice,omitempty"`
3704
3705	// Saleability: Whether or not this book is available for sale or
3706	// offered for free in the Google eBookstore for the country listed
3707	// above. Possible values are FOR_SALE, FOR_RENTAL_ONLY,
3708	// FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
3709	Saleability string `json:"saleability,omitempty"`
3710
3711	// ForceSendFields is a list of field names (e.g. "BuyLink") to
3712	// unconditionally include in API requests. By default, fields with
3713	// empty values are omitted from API requests. However, any non-pointer,
3714	// non-interface field appearing in ForceSendFields will be sent to the
3715	// server regardless of whether the field is empty or not. This may be
3716	// used to include empty fields in Patch requests.
3717	ForceSendFields []string `json:"-"`
3718
3719	// NullFields is a list of field names (e.g. "BuyLink") to include in
3720	// API requests with the JSON null value. By default, fields with empty
3721	// values are omitted from API requests. However, any field with an
3722	// empty value appearing in NullFields will be sent to the server as
3723	// null. It is an error if a field in this list has a non-empty value.
3724	// This may be used to include null fields in Patch requests.
3725	NullFields []string `json:"-"`
3726}
3727
3728func (s *VolumeSaleInfo) MarshalJSON() ([]byte, error) {
3729	type NoMethod VolumeSaleInfo
3730	raw := NoMethod(*s)
3731	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3732}
3733
3734// VolumeSaleInfoListPrice: Suggested retail price. (In LITE
3735// projection.)
3736type VolumeSaleInfoListPrice struct {
3737	// Amount: Amount in the currency listed below. (In LITE projection.)
3738	Amount float64 `json:"amount,omitempty"`
3739
3740	// CurrencyCode: An ISO 4217, three-letter currency code. (In LITE
3741	// projection.)
3742	CurrencyCode string `json:"currencyCode,omitempty"`
3743
3744	// ForceSendFields is a list of field names (e.g. "Amount") to
3745	// unconditionally include in API requests. By default, fields with
3746	// empty values are omitted from API requests. However, any non-pointer,
3747	// non-interface field appearing in ForceSendFields will be sent to the
3748	// server regardless of whether the field is empty or not. This may be
3749	// used to include empty fields in Patch requests.
3750	ForceSendFields []string `json:"-"`
3751
3752	// NullFields is a list of field names (e.g. "Amount") to include in API
3753	// requests with the JSON null value. By default, fields with empty
3754	// values are omitted from API requests. However, any field with an
3755	// empty value appearing in NullFields will be sent to the server as
3756	// null. It is an error if a field in this list has a non-empty value.
3757	// This may be used to include null fields in Patch requests.
3758	NullFields []string `json:"-"`
3759}
3760
3761func (s *VolumeSaleInfoListPrice) MarshalJSON() ([]byte, error) {
3762	type NoMethod VolumeSaleInfoListPrice
3763	raw := NoMethod(*s)
3764	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3765}
3766
3767func (s *VolumeSaleInfoListPrice) UnmarshalJSON(data []byte) error {
3768	type NoMethod VolumeSaleInfoListPrice
3769	var s1 struct {
3770		Amount gensupport.JSONFloat64 `json:"amount"`
3771		*NoMethod
3772	}
3773	s1.NoMethod = (*NoMethod)(s)
3774	if err := json.Unmarshal(data, &s1); err != nil {
3775		return err
3776	}
3777	s.Amount = float64(s1.Amount)
3778	return nil
3779}
3780
3781type VolumeSaleInfoOffers struct {
3782	// FinskyOfferType: The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
3783	FinskyOfferType int64 `json:"finskyOfferType,omitempty"`
3784
3785	// Giftable: Indicates whether the offer is giftable.
3786	Giftable bool `json:"giftable,omitempty"`
3787
3788	// ListPrice: Offer list (=undiscounted) price in Micros.
3789	ListPrice *VolumeSaleInfoOffersListPrice `json:"listPrice,omitempty"`
3790
3791	// RentalDuration: The rental duration (for rental offers only).
3792	RentalDuration *VolumeSaleInfoOffersRentalDuration `json:"rentalDuration,omitempty"`
3793
3794	// RetailPrice: Offer retail (=discounted) price in Micros
3795	RetailPrice *VolumeSaleInfoOffersRetailPrice `json:"retailPrice,omitempty"`
3796
3797	// ForceSendFields is a list of field names (e.g. "FinskyOfferType") to
3798	// unconditionally include in API requests. By default, fields with
3799	// empty values are omitted from API requests. However, any non-pointer,
3800	// non-interface field appearing in ForceSendFields will be sent to the
3801	// server regardless of whether the field is empty or not. This may be
3802	// used to include empty fields in Patch requests.
3803	ForceSendFields []string `json:"-"`
3804
3805	// NullFields is a list of field names (e.g. "FinskyOfferType") to
3806	// include in API requests with the JSON null value. By default, fields
3807	// with empty values are omitted from API requests. However, any field
3808	// with an empty value appearing in NullFields will be sent to the
3809	// server as null. It is an error if a field in this list has a
3810	// non-empty value. This may be used to include null fields in Patch
3811	// requests.
3812	NullFields []string `json:"-"`
3813}
3814
3815func (s *VolumeSaleInfoOffers) MarshalJSON() ([]byte, error) {
3816	type NoMethod VolumeSaleInfoOffers
3817	raw := NoMethod(*s)
3818	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3819}
3820
3821// VolumeSaleInfoOffersListPrice: Offer list (=undiscounted) price in
3822// Micros.
3823type VolumeSaleInfoOffersListPrice struct {
3824	AmountInMicros float64 `json:"amountInMicros,omitempty"`
3825
3826	CurrencyCode string `json:"currencyCode,omitempty"`
3827
3828	// ForceSendFields is a list of field names (e.g. "AmountInMicros") to
3829	// unconditionally include in API requests. By default, fields with
3830	// empty values are omitted from API requests. However, any non-pointer,
3831	// non-interface field appearing in ForceSendFields will be sent to the
3832	// server regardless of whether the field is empty or not. This may be
3833	// used to include empty fields in Patch requests.
3834	ForceSendFields []string `json:"-"`
3835
3836	// NullFields is a list of field names (e.g. "AmountInMicros") to
3837	// include in API requests with the JSON null value. By default, fields
3838	// with empty values are omitted from API requests. However, any field
3839	// with an empty value appearing in NullFields will be sent to the
3840	// server as null. It is an error if a field in this list has a
3841	// non-empty value. This may be used to include null fields in Patch
3842	// requests.
3843	NullFields []string `json:"-"`
3844}
3845
3846func (s *VolumeSaleInfoOffersListPrice) MarshalJSON() ([]byte, error) {
3847	type NoMethod VolumeSaleInfoOffersListPrice
3848	raw := NoMethod(*s)
3849	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3850}
3851
3852func (s *VolumeSaleInfoOffersListPrice) UnmarshalJSON(data []byte) error {
3853	type NoMethod VolumeSaleInfoOffersListPrice
3854	var s1 struct {
3855		AmountInMicros gensupport.JSONFloat64 `json:"amountInMicros"`
3856		*NoMethod
3857	}
3858	s1.NoMethod = (*NoMethod)(s)
3859	if err := json.Unmarshal(data, &s1); err != nil {
3860		return err
3861	}
3862	s.AmountInMicros = float64(s1.AmountInMicros)
3863	return nil
3864}
3865
3866// VolumeSaleInfoOffersRentalDuration: The rental duration (for rental
3867// offers only).
3868type VolumeSaleInfoOffersRentalDuration struct {
3869	Count float64 `json:"count,omitempty"`
3870
3871	Unit string `json:"unit,omitempty"`
3872
3873	// ForceSendFields is a list of field names (e.g. "Count") to
3874	// unconditionally include in API requests. By default, fields with
3875	// empty values are omitted from API requests. However, any non-pointer,
3876	// non-interface field appearing in ForceSendFields will be sent to the
3877	// server regardless of whether the field is empty or not. This may be
3878	// used to include empty fields in Patch requests.
3879	ForceSendFields []string `json:"-"`
3880
3881	// NullFields is a list of field names (e.g. "Count") to include in API
3882	// requests with the JSON null value. By default, fields with empty
3883	// values are omitted from API requests. However, any field with an
3884	// empty value appearing in NullFields will be sent to the server as
3885	// null. It is an error if a field in this list has a non-empty value.
3886	// This may be used to include null fields in Patch requests.
3887	NullFields []string `json:"-"`
3888}
3889
3890func (s *VolumeSaleInfoOffersRentalDuration) MarshalJSON() ([]byte, error) {
3891	type NoMethod VolumeSaleInfoOffersRentalDuration
3892	raw := NoMethod(*s)
3893	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3894}
3895
3896func (s *VolumeSaleInfoOffersRentalDuration) UnmarshalJSON(data []byte) error {
3897	type NoMethod VolumeSaleInfoOffersRentalDuration
3898	var s1 struct {
3899		Count gensupport.JSONFloat64 `json:"count"`
3900		*NoMethod
3901	}
3902	s1.NoMethod = (*NoMethod)(s)
3903	if err := json.Unmarshal(data, &s1); err != nil {
3904		return err
3905	}
3906	s.Count = float64(s1.Count)
3907	return nil
3908}
3909
3910// VolumeSaleInfoOffersRetailPrice: Offer retail (=discounted) price in
3911// Micros
3912type VolumeSaleInfoOffersRetailPrice struct {
3913	AmountInMicros float64 `json:"amountInMicros,omitempty"`
3914
3915	CurrencyCode string `json:"currencyCode,omitempty"`
3916
3917	// ForceSendFields is a list of field names (e.g. "AmountInMicros") to
3918	// unconditionally include in API requests. By default, fields with
3919	// empty values are omitted from API requests. However, any non-pointer,
3920	// non-interface field appearing in ForceSendFields will be sent to the
3921	// server regardless of whether the field is empty or not. This may be
3922	// used to include empty fields in Patch requests.
3923	ForceSendFields []string `json:"-"`
3924
3925	// NullFields is a list of field names (e.g. "AmountInMicros") to
3926	// include in API requests with the JSON null value. By default, fields
3927	// with empty values are omitted from API requests. However, any field
3928	// with an empty value appearing in NullFields will be sent to the
3929	// server as null. It is an error if a field in this list has a
3930	// non-empty value. This may be used to include null fields in Patch
3931	// requests.
3932	NullFields []string `json:"-"`
3933}
3934
3935func (s *VolumeSaleInfoOffersRetailPrice) MarshalJSON() ([]byte, error) {
3936	type NoMethod VolumeSaleInfoOffersRetailPrice
3937	raw := NoMethod(*s)
3938	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3939}
3940
3941func (s *VolumeSaleInfoOffersRetailPrice) UnmarshalJSON(data []byte) error {
3942	type NoMethod VolumeSaleInfoOffersRetailPrice
3943	var s1 struct {
3944		AmountInMicros gensupport.JSONFloat64 `json:"amountInMicros"`
3945		*NoMethod
3946	}
3947	s1.NoMethod = (*NoMethod)(s)
3948	if err := json.Unmarshal(data, &s1); err != nil {
3949		return err
3950	}
3951	s.AmountInMicros = float64(s1.AmountInMicros)
3952	return nil
3953}
3954
3955// VolumeSaleInfoRetailPrice: The actual selling price of the book. This
3956// is the same as the suggested retail or list price unless there are
3957// offers or discounts on this volume. (In LITE projection.)
3958type VolumeSaleInfoRetailPrice struct {
3959	// Amount: Amount in the currency listed below. (In LITE projection.)
3960	Amount float64 `json:"amount,omitempty"`
3961
3962	// CurrencyCode: An ISO 4217, three-letter currency code. (In LITE
3963	// projection.)
3964	CurrencyCode string `json:"currencyCode,omitempty"`
3965
3966	// ForceSendFields is a list of field names (e.g. "Amount") to
3967	// unconditionally include in API requests. By default, fields with
3968	// empty values are omitted from API requests. However, any non-pointer,
3969	// non-interface field appearing in ForceSendFields will be sent to the
3970	// server regardless of whether the field is empty or not. This may be
3971	// used to include empty fields in Patch requests.
3972	ForceSendFields []string `json:"-"`
3973
3974	// NullFields is a list of field names (e.g. "Amount") to include in API
3975	// requests with the JSON null value. By default, fields with empty
3976	// values are omitted from API requests. However, any field with an
3977	// empty value appearing in NullFields will be sent to the server as
3978	// null. It is an error if a field in this list has a non-empty value.
3979	// This may be used to include null fields in Patch requests.
3980	NullFields []string `json:"-"`
3981}
3982
3983func (s *VolumeSaleInfoRetailPrice) MarshalJSON() ([]byte, error) {
3984	type NoMethod VolumeSaleInfoRetailPrice
3985	raw := NoMethod(*s)
3986	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3987}
3988
3989func (s *VolumeSaleInfoRetailPrice) UnmarshalJSON(data []byte) error {
3990	type NoMethod VolumeSaleInfoRetailPrice
3991	var s1 struct {
3992		Amount gensupport.JSONFloat64 `json:"amount"`
3993		*NoMethod
3994	}
3995	s1.NoMethod = (*NoMethod)(s)
3996	if err := json.Unmarshal(data, &s1); err != nil {
3997		return err
3998	}
3999	s.Amount = float64(s1.Amount)
4000	return nil
4001}
4002
4003// VolumeSearchInfo: Search result information related to this volume.
4004type VolumeSearchInfo struct {
4005	// TextSnippet: A text snippet containing the search query.
4006	TextSnippet string `json:"textSnippet,omitempty"`
4007
4008	// ForceSendFields is a list of field names (e.g. "TextSnippet") to
4009	// unconditionally include in API requests. By default, fields with
4010	// empty values are omitted from API requests. However, any non-pointer,
4011	// non-interface field appearing in ForceSendFields will be sent to the
4012	// server regardless of whether the field is empty or not. This may be
4013	// used to include empty fields in Patch requests.
4014	ForceSendFields []string `json:"-"`
4015
4016	// NullFields is a list of field names (e.g. "TextSnippet") to include
4017	// in API requests with the JSON null value. By default, fields with
4018	// empty values are omitted from API requests. However, any field with
4019	// an empty value appearing in NullFields will be sent to the server as
4020	// null. It is an error if a field in this list has a non-empty value.
4021	// This may be used to include null fields in Patch requests.
4022	NullFields []string `json:"-"`
4023}
4024
4025func (s *VolumeSearchInfo) MarshalJSON() ([]byte, error) {
4026	type NoMethod VolumeSearchInfo
4027	raw := NoMethod(*s)
4028	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4029}
4030
4031// VolumeUserInfo: User specific information related to this volume.
4032// (e.g. page this user last read or whether they purchased this book)
4033type VolumeUserInfo struct {
4034	// AcquiredTime: Timestamp when this volume was acquired by the user.
4035	// (RFC 3339 UTC date-time format) Acquiring includes purchase, user
4036	// upload, receiving family sharing, etc.
4037	AcquiredTime string `json:"acquiredTime,omitempty"`
4038
4039	// AcquisitionType: How this volume was acquired.
4040	AcquisitionType int64 `json:"acquisitionType,omitempty"`
4041
4042	// Copy: Copy/Paste accounting information.
4043	Copy *VolumeUserInfoCopy `json:"copy,omitempty"`
4044
4045	// EntitlementType: Whether this volume is purchased, sample, pd
4046	// download etc.
4047	EntitlementType int64 `json:"entitlementType,omitempty"`
4048
4049	// FamilySharing: Information on the ability to share with the family.
4050	FamilySharing *VolumeUserInfoFamilySharing `json:"familySharing,omitempty"`
4051
4052	// IsFamilySharedFromUser: Whether or not the user shared this volume
4053	// with the family.
4054	IsFamilySharedFromUser bool `json:"isFamilySharedFromUser,omitempty"`
4055
4056	// IsFamilySharedToUser: Whether or not the user received this volume
4057	// through family sharing.
4058	IsFamilySharedToUser bool `json:"isFamilySharedToUser,omitempty"`
4059
4060	// IsFamilySharingAllowed: Deprecated: Replaced by familySharing.
4061	IsFamilySharingAllowed bool `json:"isFamilySharingAllowed,omitempty"`
4062
4063	// IsFamilySharingDisabledByFop: Deprecated: Replaced by familySharing.
4064	IsFamilySharingDisabledByFop bool `json:"isFamilySharingDisabledByFop,omitempty"`
4065
4066	// IsInMyBooks: Whether or not this volume is currently in "my books."
4067	IsInMyBooks bool `json:"isInMyBooks,omitempty"`
4068
4069	// IsPreordered: Whether or not this volume was pre-ordered by the
4070	// authenticated user making the request. (In LITE projection.)
4071	IsPreordered bool `json:"isPreordered,omitempty"`
4072
4073	// IsPurchased: Whether or not this volume was purchased by the
4074	// authenticated user making the request. (In LITE projection.)
4075	IsPurchased bool `json:"isPurchased,omitempty"`
4076
4077	// IsUploaded: Whether or not this volume was user uploaded.
4078	IsUploaded bool `json:"isUploaded,omitempty"`
4079
4080	// ReadingPosition: The user's current reading position in the volume,
4081	// if one is available. (In LITE projection.)
4082	ReadingPosition *ReadingPosition `json:"readingPosition,omitempty"`
4083
4084	// RentalPeriod: Period during this book is/was a valid rental.
4085	RentalPeriod *VolumeUserInfoRentalPeriod `json:"rentalPeriod,omitempty"`
4086
4087	// RentalState: Whether this book is an active or an expired rental.
4088	RentalState string `json:"rentalState,omitempty"`
4089
4090	// Review: This user's review of this volume, if one exists.
4091	Review *Review `json:"review,omitempty"`
4092
4093	// Updated: Timestamp when this volume was last modified by a user
4094	// action, such as a reading position update, volume purchase or writing
4095	// a review. (RFC 3339 UTC date-time format).
4096	Updated string `json:"updated,omitempty"`
4097
4098	UserUploadedVolumeInfo *VolumeUserInfoUserUploadedVolumeInfo `json:"userUploadedVolumeInfo,omitempty"`
4099
4100	// ForceSendFields is a list of field names (e.g. "AcquiredTime") to
4101	// unconditionally include in API requests. By default, fields with
4102	// empty values are omitted from API requests. However, any non-pointer,
4103	// non-interface field appearing in ForceSendFields will be sent to the
4104	// server regardless of whether the field is empty or not. This may be
4105	// used to include empty fields in Patch requests.
4106	ForceSendFields []string `json:"-"`
4107
4108	// NullFields is a list of field names (e.g. "AcquiredTime") to include
4109	// in API requests with the JSON null value. By default, fields with
4110	// empty values are omitted from API requests. However, any field with
4111	// an empty value appearing in NullFields will be sent to the server as
4112	// null. It is an error if a field in this list has a non-empty value.
4113	// This may be used to include null fields in Patch requests.
4114	NullFields []string `json:"-"`
4115}
4116
4117func (s *VolumeUserInfo) MarshalJSON() ([]byte, error) {
4118	type NoMethod VolumeUserInfo
4119	raw := NoMethod(*s)
4120	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4121}
4122
4123// VolumeUserInfoCopy: Copy/Paste accounting information.
4124type VolumeUserInfoCopy struct {
4125	AllowedCharacterCount int64 `json:"allowedCharacterCount,omitempty"`
4126
4127	LimitType string `json:"limitType,omitempty"`
4128
4129	RemainingCharacterCount int64 `json:"remainingCharacterCount,omitempty"`
4130
4131	Updated string `json:"updated,omitempty"`
4132
4133	// ForceSendFields is a list of field names (e.g.
4134	// "AllowedCharacterCount") to unconditionally include in API requests.
4135	// By default, fields with empty values are omitted from API requests.
4136	// However, any non-pointer, non-interface field appearing in
4137	// ForceSendFields will be sent to the server regardless of whether the
4138	// field is empty or not. This may be used to include empty fields in
4139	// Patch requests.
4140	ForceSendFields []string `json:"-"`
4141
4142	// NullFields is a list of field names (e.g. "AllowedCharacterCount") to
4143	// include in API requests with the JSON null value. By default, fields
4144	// with empty values are omitted from API requests. However, any field
4145	// with an empty value appearing in NullFields will be sent to the
4146	// server as null. It is an error if a field in this list has a
4147	// non-empty value. This may be used to include null fields in Patch
4148	// requests.
4149	NullFields []string `json:"-"`
4150}
4151
4152func (s *VolumeUserInfoCopy) MarshalJSON() ([]byte, error) {
4153	type NoMethod VolumeUserInfoCopy
4154	raw := NoMethod(*s)
4155	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4156}
4157
4158// VolumeUserInfoFamilySharing: Information on the ability to share with
4159// the family.
4160type VolumeUserInfoFamilySharing struct {
4161	// FamilyRole: The role of the user in the family.
4162	FamilyRole string `json:"familyRole,omitempty"`
4163
4164	// IsSharingAllowed: Whether or not this volume can be shared with the
4165	// family by the user. This includes sharing eligibility of both the
4166	// volume and the user. If the value is true, the user can initiate a
4167	// family sharing action.
4168	IsSharingAllowed bool `json:"isSharingAllowed,omitempty"`
4169
4170	// IsSharingDisabledByFop: Whether or not sharing this volume is
4171	// temporarily disabled due to issues with the Family Wallet.
4172	IsSharingDisabledByFop bool `json:"isSharingDisabledByFop,omitempty"`
4173
4174	// ForceSendFields is a list of field names (e.g. "FamilyRole") to
4175	// unconditionally include in API requests. By default, fields with
4176	// empty values are omitted from API requests. However, any non-pointer,
4177	// non-interface field appearing in ForceSendFields will be sent to the
4178	// server regardless of whether the field is empty or not. This may be
4179	// used to include empty fields in Patch requests.
4180	ForceSendFields []string `json:"-"`
4181
4182	// NullFields is a list of field names (e.g. "FamilyRole") to include in
4183	// API requests with the JSON null value. By default, fields with empty
4184	// values are omitted from API requests. However, any field with an
4185	// empty value appearing in NullFields will be sent to the server as
4186	// null. It is an error if a field in this list has a non-empty value.
4187	// This may be used to include null fields in Patch requests.
4188	NullFields []string `json:"-"`
4189}
4190
4191func (s *VolumeUserInfoFamilySharing) MarshalJSON() ([]byte, error) {
4192	type NoMethod VolumeUserInfoFamilySharing
4193	raw := NoMethod(*s)
4194	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4195}
4196
4197// VolumeUserInfoRentalPeriod: Period during this book is/was a valid
4198// rental.
4199type VolumeUserInfoRentalPeriod struct {
4200	EndUtcSec int64 `json:"endUtcSec,omitempty,string"`
4201
4202	StartUtcSec int64 `json:"startUtcSec,omitempty,string"`
4203
4204	// ForceSendFields is a list of field names (e.g. "EndUtcSec") to
4205	// unconditionally include in API requests. By default, fields with
4206	// empty values are omitted from API requests. However, any non-pointer,
4207	// non-interface field appearing in ForceSendFields will be sent to the
4208	// server regardless of whether the field is empty or not. This may be
4209	// used to include empty fields in Patch requests.
4210	ForceSendFields []string `json:"-"`
4211
4212	// NullFields is a list of field names (e.g. "EndUtcSec") to include in
4213	// API requests with the JSON null value. By default, fields with empty
4214	// values are omitted from API requests. However, any field with an
4215	// empty value appearing in NullFields will be sent to the server as
4216	// null. It is an error if a field in this list has a non-empty value.
4217	// This may be used to include null fields in Patch requests.
4218	NullFields []string `json:"-"`
4219}
4220
4221func (s *VolumeUserInfoRentalPeriod) MarshalJSON() ([]byte, error) {
4222	type NoMethod VolumeUserInfoRentalPeriod
4223	raw := NoMethod(*s)
4224	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4225}
4226
4227type VolumeUserInfoUserUploadedVolumeInfo struct {
4228	ProcessingState string `json:"processingState,omitempty"`
4229
4230	// ForceSendFields is a list of field names (e.g. "ProcessingState") to
4231	// unconditionally include in API requests. By default, fields with
4232	// empty values are omitted from API requests. However, any non-pointer,
4233	// non-interface field appearing in ForceSendFields will be sent to the
4234	// server regardless of whether the field is empty or not. This may be
4235	// used to include empty fields in Patch requests.
4236	ForceSendFields []string `json:"-"`
4237
4238	// NullFields is a list of field names (e.g. "ProcessingState") to
4239	// include in API requests with the JSON null value. By default, fields
4240	// with empty values are omitted from API requests. However, any field
4241	// with an empty value appearing in NullFields will be sent to the
4242	// server as null. It is an error if a field in this list has a
4243	// non-empty value. This may be used to include null fields in Patch
4244	// requests.
4245	NullFields []string `json:"-"`
4246}
4247
4248func (s *VolumeUserInfoUserUploadedVolumeInfo) MarshalJSON() ([]byte, error) {
4249	type NoMethod VolumeUserInfoUserUploadedVolumeInfo
4250	raw := NoMethod(*s)
4251	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4252}
4253
4254// VolumeVolumeInfo: General volume information.
4255type VolumeVolumeInfo struct {
4256	// AllowAnonLogging: Whether anonymous logging should be allowed.
4257	AllowAnonLogging bool `json:"allowAnonLogging,omitempty"`
4258
4259	// Authors: The names of the authors and/or editors for this volume. (In
4260	// LITE projection)
4261	Authors []string `json:"authors,omitempty"`
4262
4263	// AverageRating: The mean review rating for this volume. (min = 1.0,
4264	// max = 5.0)
4265	AverageRating float64 `json:"averageRating,omitempty"`
4266
4267	// CanonicalVolumeLink: Canonical URL for a volume. (In LITE
4268	// projection.)
4269	CanonicalVolumeLink string `json:"canonicalVolumeLink,omitempty"`
4270
4271	// Categories: A list of subject categories, such as "Fiction",
4272	// "Suspense", etc.
4273	Categories []string `json:"categories,omitempty"`
4274
4275	// ComicsContent: Whether the volume has comics content.
4276	ComicsContent bool `json:"comicsContent,omitempty"`
4277
4278	// ContentVersion: An identifier for the version of the volume content
4279	// (text & images). (In LITE projection)
4280	ContentVersion string `json:"contentVersion,omitempty"`
4281
4282	// Description: A synopsis of the volume. The text of the description is
4283	// formatted in HTML and includes simple formatting elements, such as b,
4284	// i, and br tags. (In LITE projection.)
4285	Description string `json:"description,omitempty"`
4286
4287	// Dimensions: Physical dimensions of this volume.
4288	Dimensions *VolumeVolumeInfoDimensions `json:"dimensions,omitempty"`
4289
4290	// ImageLinks: A list of image links for all the sizes that are
4291	// available. (In LITE projection.)
4292	ImageLinks *VolumeVolumeInfoImageLinks `json:"imageLinks,omitempty"`
4293
4294	// IndustryIdentifiers: Industry standard identifiers for this volume.
4295	IndustryIdentifiers []*VolumeVolumeInfoIndustryIdentifiers `json:"industryIdentifiers,omitempty"`
4296
4297	// InfoLink: URL to view information about this volume on the Google
4298	// Books site. (In LITE projection)
4299	InfoLink string `json:"infoLink,omitempty"`
4300
4301	// Language: Best language for this volume (based on content). It is the
4302	// two-letter ISO 639-1 code such as 'fr', 'en', etc.
4303	Language string `json:"language,omitempty"`
4304
4305	// MainCategory: The main category to which this volume belongs. It will
4306	// be the category from the categories list returned below that has the
4307	// highest weight.
4308	MainCategory string `json:"mainCategory,omitempty"`
4309
4310	MaturityRating string `json:"maturityRating,omitempty"`
4311
4312	// PageCount: Total number of pages as per publisher metadata.
4313	PageCount int64 `json:"pageCount,omitempty"`
4314
4315	// PanelizationSummary: A top-level summary of the panelization info in
4316	// this volume.
4317	PanelizationSummary *VolumeVolumeInfoPanelizationSummary `json:"panelizationSummary,omitempty"`
4318
4319	// PreviewLink: URL to preview this volume on the Google Books site.
4320	PreviewLink string `json:"previewLink,omitempty"`
4321
4322	// PrintType: Type of publication of this volume. Possible values are
4323	// BOOK or MAGAZINE.
4324	PrintType string `json:"printType,omitempty"`
4325
4326	// PrintedPageCount: Total number of printed pages in generated pdf
4327	// representation.
4328	PrintedPageCount int64 `json:"printedPageCount,omitempty"`
4329
4330	// PublishedDate: Date of publication. (In LITE projection.)
4331	PublishedDate string `json:"publishedDate,omitempty"`
4332
4333	// Publisher: Publisher of this volume. (In LITE projection.)
4334	Publisher string `json:"publisher,omitempty"`
4335
4336	// RatingsCount: The number of review ratings for this volume.
4337	RatingsCount int64 `json:"ratingsCount,omitempty"`
4338
4339	// ReadingModes: The reading modes available for this volume.
4340	ReadingModes *VolumeVolumeInfoReadingModes `json:"readingModes,omitempty"`
4341
4342	// SamplePageCount: Total number of sample pages as per publisher
4343	// metadata.
4344	SamplePageCount int64 `json:"samplePageCount,omitempty"`
4345
4346	SeriesInfo *Volumeseriesinfo `json:"seriesInfo,omitempty"`
4347
4348	// Subtitle: Volume subtitle. (In LITE projection.)
4349	Subtitle string `json:"subtitle,omitempty"`
4350
4351	// Title: Volume title. (In LITE projection.)
4352	Title string `json:"title,omitempty"`
4353
4354	// ForceSendFields is a list of field names (e.g. "AllowAnonLogging") to
4355	// unconditionally include in API requests. By default, fields with
4356	// empty values are omitted from API requests. However, any non-pointer,
4357	// non-interface field appearing in ForceSendFields will be sent to the
4358	// server regardless of whether the field is empty or not. This may be
4359	// used to include empty fields in Patch requests.
4360	ForceSendFields []string `json:"-"`
4361
4362	// NullFields is a list of field names (e.g. "AllowAnonLogging") to
4363	// include in API requests with the JSON null value. By default, fields
4364	// with empty values are omitted from API requests. However, any field
4365	// with an empty value appearing in NullFields will be sent to the
4366	// server as null. It is an error if a field in this list has a
4367	// non-empty value. This may be used to include null fields in Patch
4368	// requests.
4369	NullFields []string `json:"-"`
4370}
4371
4372func (s *VolumeVolumeInfo) MarshalJSON() ([]byte, error) {
4373	type NoMethod VolumeVolumeInfo
4374	raw := NoMethod(*s)
4375	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4376}
4377
4378func (s *VolumeVolumeInfo) UnmarshalJSON(data []byte) error {
4379	type NoMethod VolumeVolumeInfo
4380	var s1 struct {
4381		AverageRating gensupport.JSONFloat64 `json:"averageRating"`
4382		*NoMethod
4383	}
4384	s1.NoMethod = (*NoMethod)(s)
4385	if err := json.Unmarshal(data, &s1); err != nil {
4386		return err
4387	}
4388	s.AverageRating = float64(s1.AverageRating)
4389	return nil
4390}
4391
4392// VolumeVolumeInfoDimensions: Physical dimensions of this volume.
4393type VolumeVolumeInfoDimensions struct {
4394	// Height: Height or length of this volume (in cm).
4395	Height string `json:"height,omitempty"`
4396
4397	// Thickness: Thickness of this volume (in cm).
4398	Thickness string `json:"thickness,omitempty"`
4399
4400	// Width: Width of this volume (in cm).
4401	Width string `json:"width,omitempty"`
4402
4403	// ForceSendFields is a list of field names (e.g. "Height") to
4404	// unconditionally include in API requests. By default, fields with
4405	// empty values are omitted from API requests. However, any non-pointer,
4406	// non-interface field appearing in ForceSendFields will be sent to the
4407	// server regardless of whether the field is empty or not. This may be
4408	// used to include empty fields in Patch requests.
4409	ForceSendFields []string `json:"-"`
4410
4411	// NullFields is a list of field names (e.g. "Height") to include in API
4412	// requests with the JSON null value. By default, fields with empty
4413	// values are omitted from API requests. However, any field with an
4414	// empty value appearing in NullFields will be sent to the server as
4415	// null. It is an error if a field in this list has a non-empty value.
4416	// This may be used to include null fields in Patch requests.
4417	NullFields []string `json:"-"`
4418}
4419
4420func (s *VolumeVolumeInfoDimensions) MarshalJSON() ([]byte, error) {
4421	type NoMethod VolumeVolumeInfoDimensions
4422	raw := NoMethod(*s)
4423	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4424}
4425
4426// VolumeVolumeInfoImageLinks: A list of image links for all the sizes
4427// that are available. (In LITE projection.)
4428type VolumeVolumeInfoImageLinks struct {
4429	// ExtraLarge: Image link for extra large size (width of ~1280 pixels).
4430	// (In LITE projection)
4431	ExtraLarge string `json:"extraLarge,omitempty"`
4432
4433	// Large: Image link for large size (width of ~800 pixels). (In LITE
4434	// projection)
4435	Large string `json:"large,omitempty"`
4436
4437	// Medium: Image link for medium size (width of ~575 pixels). (In LITE
4438	// projection)
4439	Medium string `json:"medium,omitempty"`
4440
4441	// Small: Image link for small size (width of ~300 pixels). (In LITE
4442	// projection)
4443	Small string `json:"small,omitempty"`
4444
4445	// SmallThumbnail: Image link for small thumbnail size (width of ~80
4446	// pixels). (In LITE projection)
4447	SmallThumbnail string `json:"smallThumbnail,omitempty"`
4448
4449	// Thumbnail: Image link for thumbnail size (width of ~128 pixels). (In
4450	// LITE projection)
4451	Thumbnail string `json:"thumbnail,omitempty"`
4452
4453	// ForceSendFields is a list of field names (e.g. "ExtraLarge") to
4454	// unconditionally include in API requests. By default, fields with
4455	// empty values are omitted from API requests. However, any non-pointer,
4456	// non-interface field appearing in ForceSendFields will be sent to the
4457	// server regardless of whether the field is empty or not. This may be
4458	// used to include empty fields in Patch requests.
4459	ForceSendFields []string `json:"-"`
4460
4461	// NullFields is a list of field names (e.g. "ExtraLarge") to include in
4462	// API requests with the JSON null value. By default, fields with empty
4463	// values are omitted from API requests. However, any field with an
4464	// empty value appearing in NullFields will be sent to the server as
4465	// null. It is an error if a field in this list has a non-empty value.
4466	// This may be used to include null fields in Patch requests.
4467	NullFields []string `json:"-"`
4468}
4469
4470func (s *VolumeVolumeInfoImageLinks) MarshalJSON() ([]byte, error) {
4471	type NoMethod VolumeVolumeInfoImageLinks
4472	raw := NoMethod(*s)
4473	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4474}
4475
4476type VolumeVolumeInfoIndustryIdentifiers struct {
4477	// Identifier: Industry specific volume identifier.
4478	Identifier string `json:"identifier,omitempty"`
4479
4480	// Type: Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and
4481	// OTHER.
4482	Type string `json:"type,omitempty"`
4483
4484	// ForceSendFields is a list of field names (e.g. "Identifier") to
4485	// unconditionally include in API requests. By default, fields with
4486	// empty values are omitted from API requests. However, any non-pointer,
4487	// non-interface field appearing in ForceSendFields will be sent to the
4488	// server regardless of whether the field is empty or not. This may be
4489	// used to include empty fields in Patch requests.
4490	ForceSendFields []string `json:"-"`
4491
4492	// NullFields is a list of field names (e.g. "Identifier") to include in
4493	// API requests with the JSON null value. By default, fields with empty
4494	// values are omitted from API requests. However, any field with an
4495	// empty value appearing in NullFields will be sent to the server as
4496	// null. It is an error if a field in this list has a non-empty value.
4497	// This may be used to include null fields in Patch requests.
4498	NullFields []string `json:"-"`
4499}
4500
4501func (s *VolumeVolumeInfoIndustryIdentifiers) MarshalJSON() ([]byte, error) {
4502	type NoMethod VolumeVolumeInfoIndustryIdentifiers
4503	raw := NoMethod(*s)
4504	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4505}
4506
4507// VolumeVolumeInfoPanelizationSummary: A top-level summary of the
4508// panelization info in this volume.
4509type VolumeVolumeInfoPanelizationSummary struct {
4510	ContainsEpubBubbles bool `json:"containsEpubBubbles,omitempty"`
4511
4512	ContainsImageBubbles bool `json:"containsImageBubbles,omitempty"`
4513
4514	EpubBubbleVersion string `json:"epubBubbleVersion,omitempty"`
4515
4516	ImageBubbleVersion string `json:"imageBubbleVersion,omitempty"`
4517
4518	// ForceSendFields is a list of field names (e.g. "ContainsEpubBubbles")
4519	// to unconditionally include in API requests. By default, fields with
4520	// empty values are omitted from API requests. However, any non-pointer,
4521	// non-interface field appearing in ForceSendFields will be sent to the
4522	// server regardless of whether the field is empty or not. This may be
4523	// used to include empty fields in Patch requests.
4524	ForceSendFields []string `json:"-"`
4525
4526	// NullFields is a list of field names (e.g. "ContainsEpubBubbles") to
4527	// include in API requests with the JSON null value. By default, fields
4528	// with empty values are omitted from API requests. However, any field
4529	// with an empty value appearing in NullFields will be sent to the
4530	// server as null. It is an error if a field in this list has a
4531	// non-empty value. This may be used to include null fields in Patch
4532	// requests.
4533	NullFields []string `json:"-"`
4534}
4535
4536func (s *VolumeVolumeInfoPanelizationSummary) MarshalJSON() ([]byte, error) {
4537	type NoMethod VolumeVolumeInfoPanelizationSummary
4538	raw := NoMethod(*s)
4539	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4540}
4541
4542// VolumeVolumeInfoReadingModes: The reading modes available for this
4543// volume.
4544type VolumeVolumeInfoReadingModes struct {
4545	Image bool `json:"image,omitempty"`
4546
4547	Text bool `json:"text,omitempty"`
4548
4549	// ForceSendFields is a list of field names (e.g. "Image") to
4550	// unconditionally include in API requests. By default, fields with
4551	// empty values are omitted from API requests. However, any non-pointer,
4552	// non-interface field appearing in ForceSendFields will be sent to the
4553	// server regardless of whether the field is empty or not. This may be
4554	// used to include empty fields in Patch requests.
4555	ForceSendFields []string `json:"-"`
4556
4557	// NullFields is a list of field names (e.g. "Image") to include in API
4558	// requests with the JSON null value. By default, fields with empty
4559	// values are omitted from API requests. However, any field with an
4560	// empty value appearing in NullFields will be sent to the server as
4561	// null. It is an error if a field in this list has a non-empty value.
4562	// This may be used to include null fields in Patch requests.
4563	NullFields []string `json:"-"`
4564}
4565
4566func (s *VolumeVolumeInfoReadingModes) MarshalJSON() ([]byte, error) {
4567	type NoMethod VolumeVolumeInfoReadingModes
4568	raw := NoMethod(*s)
4569	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4570}
4571
4572type Volume2 struct {
4573	// Items: A list of volumes.
4574	Items []*Volume `json:"items,omitempty"`
4575
4576	// Kind: Resource type.
4577	Kind string `json:"kind,omitempty"`
4578
4579	NextPageToken string `json:"nextPageToken,omitempty"`
4580
4581	// ServerResponse contains the HTTP response code and headers from the
4582	// server.
4583	googleapi.ServerResponse `json:"-"`
4584
4585	// ForceSendFields is a list of field names (e.g. "Items") to
4586	// unconditionally include in API requests. By default, fields with
4587	// empty values are omitted from API requests. However, any non-pointer,
4588	// non-interface field appearing in ForceSendFields will be sent to the
4589	// server regardless of whether the field is empty or not. This may be
4590	// used to include empty fields in Patch requests.
4591	ForceSendFields []string `json:"-"`
4592
4593	// NullFields is a list of field names (e.g. "Items") to include in API
4594	// requests with the JSON null value. By default, fields with empty
4595	// values are omitted from API requests. However, any field with an
4596	// empty value appearing in NullFields will be sent to the server as
4597	// null. It is an error if a field in this list has a non-empty value.
4598	// This may be used to include null fields in Patch requests.
4599	NullFields []string `json:"-"`
4600}
4601
4602func (s *Volume2) MarshalJSON() ([]byte, error) {
4603	type NoMethod Volume2
4604	raw := NoMethod(*s)
4605	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4606}
4607
4608type Volumeannotation struct {
4609	// AnnotationDataId: The annotation data id for this volume annotation.
4610	AnnotationDataId string `json:"annotationDataId,omitempty"`
4611
4612	// AnnotationDataLink: Link to get data for this annotation.
4613	AnnotationDataLink string `json:"annotationDataLink,omitempty"`
4614
4615	// AnnotationType: The type of annotation this is.
4616	AnnotationType string `json:"annotationType,omitempty"`
4617
4618	// ContentRanges: The content ranges to identify the selected text.
4619	ContentRanges *VolumeannotationContentRanges `json:"contentRanges,omitempty"`
4620
4621	// Data: Data for this annotation.
4622	Data string `json:"data,omitempty"`
4623
4624	// Deleted: Indicates that this annotation is deleted.
4625	Deleted bool `json:"deleted,omitempty"`
4626
4627	// Id: Unique id of this volume annotation.
4628	Id string `json:"id,omitempty"`
4629
4630	// Kind: Resource Type
4631	Kind string `json:"kind,omitempty"`
4632
4633	// LayerId: The Layer this annotation is for.
4634	LayerId string `json:"layerId,omitempty"`
4635
4636	// PageIds: Pages the annotation spans.
4637	PageIds []string `json:"pageIds,omitempty"`
4638
4639	// SelectedText: Excerpt from the volume.
4640	SelectedText string `json:"selectedText,omitempty"`
4641
4642	// SelfLink: URL to this resource.
4643	SelfLink string `json:"selfLink,omitempty"`
4644
4645	// Updated: Timestamp for the last time this anntoation was updated.
4646	// (RFC 3339 UTC date-time format).
4647	Updated string `json:"updated,omitempty"`
4648
4649	// VolumeId: The Volume this annotation is for.
4650	VolumeId string `json:"volumeId,omitempty"`
4651
4652	// ServerResponse contains the HTTP response code and headers from the
4653	// server.
4654	googleapi.ServerResponse `json:"-"`
4655
4656	// ForceSendFields is a list of field names (e.g. "AnnotationDataId") to
4657	// unconditionally include in API requests. By default, fields with
4658	// empty values are omitted from API requests. However, any non-pointer,
4659	// non-interface field appearing in ForceSendFields will be sent to the
4660	// server regardless of whether the field is empty or not. This may be
4661	// used to include empty fields in Patch requests.
4662	ForceSendFields []string `json:"-"`
4663
4664	// NullFields is a list of field names (e.g. "AnnotationDataId") to
4665	// include in API requests with the JSON null value. By default, fields
4666	// with empty values are omitted from API requests. However, any field
4667	// with an empty value appearing in NullFields will be sent to the
4668	// server as null. It is an error if a field in this list has a
4669	// non-empty value. This may be used to include null fields in Patch
4670	// requests.
4671	NullFields []string `json:"-"`
4672}
4673
4674func (s *Volumeannotation) MarshalJSON() ([]byte, error) {
4675	type NoMethod Volumeannotation
4676	raw := NoMethod(*s)
4677	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4678}
4679
4680// VolumeannotationContentRanges: The content ranges to identify the
4681// selected text.
4682type VolumeannotationContentRanges struct {
4683	// CfiRange: Range in CFI format for this annotation for version above.
4684	CfiRange *BooksAnnotationsRange `json:"cfiRange,omitempty"`
4685
4686	// ContentVersion: Content version applicable to ranges below.
4687	ContentVersion string `json:"contentVersion,omitempty"`
4688
4689	// GbImageRange: Range in GB image format for this annotation for
4690	// version above.
4691	GbImageRange *BooksAnnotationsRange `json:"gbImageRange,omitempty"`
4692
4693	// GbTextRange: Range in GB text format for this annotation for version
4694	// above.
4695	GbTextRange *BooksAnnotationsRange `json:"gbTextRange,omitempty"`
4696
4697	// ForceSendFields is a list of field names (e.g. "CfiRange") to
4698	// unconditionally include in API requests. By default, fields with
4699	// empty values are omitted from API requests. However, any non-pointer,
4700	// non-interface field appearing in ForceSendFields will be sent to the
4701	// server regardless of whether the field is empty or not. This may be
4702	// used to include empty fields in Patch requests.
4703	ForceSendFields []string `json:"-"`
4704
4705	// NullFields is a list of field names (e.g. "CfiRange") to include in
4706	// API requests with the JSON null value. By default, fields with empty
4707	// values are omitted from API requests. However, any field with an
4708	// empty value appearing in NullFields will be sent to the server as
4709	// null. It is an error if a field in this list has a non-empty value.
4710	// This may be used to include null fields in Patch requests.
4711	NullFields []string `json:"-"`
4712}
4713
4714func (s *VolumeannotationContentRanges) MarshalJSON() ([]byte, error) {
4715	type NoMethod VolumeannotationContentRanges
4716	raw := NoMethod(*s)
4717	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4718}
4719
4720type Volumeannotations struct {
4721	// Items: A list of volume annotations.
4722	Items []*Volumeannotation `json:"items,omitempty"`
4723
4724	// Kind: Resource type
4725	Kind string `json:"kind,omitempty"`
4726
4727	// NextPageToken: Token to pass in for pagination for the next page.
4728	// This will not be present if this request does not have more results.
4729	NextPageToken string `json:"nextPageToken,omitempty"`
4730
4731	// TotalItems: The total number of volume annotations found.
4732	TotalItems int64 `json:"totalItems,omitempty"`
4733
4734	// Version: The version string for all of the volume annotations in this
4735	// layer (not just the ones in this response). Note: the version string
4736	// doesn't apply to the annotation data, just the information in this
4737	// response (e.g. the location of annotations in the book).
4738	Version string `json:"version,omitempty"`
4739
4740	// ServerResponse contains the HTTP response code and headers from the
4741	// server.
4742	googleapi.ServerResponse `json:"-"`
4743
4744	// ForceSendFields is a list of field names (e.g. "Items") to
4745	// unconditionally include in API requests. By default, fields with
4746	// empty values are omitted from API requests. However, any non-pointer,
4747	// non-interface field appearing in ForceSendFields will be sent to the
4748	// server regardless of whether the field is empty or not. This may be
4749	// used to include empty fields in Patch requests.
4750	ForceSendFields []string `json:"-"`
4751
4752	// NullFields is a list of field names (e.g. "Items") to include in API
4753	// requests with the JSON null value. By default, fields with empty
4754	// values are omitted from API requests. However, any field with an
4755	// empty value appearing in NullFields will be sent to the server as
4756	// null. It is an error if a field in this list has a non-empty value.
4757	// This may be used to include null fields in Patch requests.
4758	NullFields []string `json:"-"`
4759}
4760
4761func (s *Volumeannotations) MarshalJSON() ([]byte, error) {
4762	type NoMethod Volumeannotations
4763	raw := NoMethod(*s)
4764	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4765}
4766
4767type Volumes struct {
4768	// Items: A list of volumes.
4769	Items []*Volume `json:"items,omitempty"`
4770
4771	// Kind: Resource type.
4772	Kind string `json:"kind,omitempty"`
4773
4774	// TotalItems: Total number of volumes found. This might be greater than
4775	// the number of volumes returned in this response if results have been
4776	// paginated.
4777	TotalItems int64 `json:"totalItems,omitempty"`
4778
4779	// ServerResponse contains the HTTP response code and headers from the
4780	// server.
4781	googleapi.ServerResponse `json:"-"`
4782
4783	// ForceSendFields is a list of field names (e.g. "Items") to
4784	// unconditionally include in API requests. By default, fields with
4785	// empty values are omitted from API requests. However, any non-pointer,
4786	// non-interface field appearing in ForceSendFields will be sent to the
4787	// server regardless of whether the field is empty or not. This may be
4788	// used to include empty fields in Patch requests.
4789	ForceSendFields []string `json:"-"`
4790
4791	// NullFields is a list of field names (e.g. "Items") to include in API
4792	// requests with the JSON null value. By default, fields with empty
4793	// values are omitted from API requests. However, any field with an
4794	// empty value appearing in NullFields will be sent to the server as
4795	// null. It is an error if a field in this list has a non-empty value.
4796	// This may be used to include null fields in Patch requests.
4797	NullFields []string `json:"-"`
4798}
4799
4800func (s *Volumes) MarshalJSON() ([]byte, error) {
4801	type NoMethod Volumes
4802	raw := NoMethod(*s)
4803	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4804}
4805
4806type Volumeseriesinfo struct {
4807	// BookDisplayNumber: The display number string. This should be used
4808	// only for display purposes and the actual sequence should be inferred
4809	// from the below orderNumber.
4810	BookDisplayNumber string `json:"bookDisplayNumber,omitempty"`
4811
4812	// Kind: Resource type.
4813	Kind string `json:"kind,omitempty"`
4814
4815	// ShortSeriesBookTitle: Short book title in the context of the series.
4816	ShortSeriesBookTitle string `json:"shortSeriesBookTitle,omitempty"`
4817
4818	VolumeSeries []*VolumeseriesinfoVolumeSeries `json:"volumeSeries,omitempty"`
4819
4820	// ForceSendFields is a list of field names (e.g. "BookDisplayNumber")
4821	// to unconditionally include in API requests. By default, fields with
4822	// empty values are omitted from API requests. However, any non-pointer,
4823	// non-interface field appearing in ForceSendFields will be sent to the
4824	// server regardless of whether the field is empty or not. This may be
4825	// used to include empty fields in Patch requests.
4826	ForceSendFields []string `json:"-"`
4827
4828	// NullFields is a list of field names (e.g. "BookDisplayNumber") to
4829	// include in API requests with the JSON null value. By default, fields
4830	// with empty values are omitted from API requests. However, any field
4831	// with an empty value appearing in NullFields will be sent to the
4832	// server as null. It is an error if a field in this list has a
4833	// non-empty value. This may be used to include null fields in Patch
4834	// requests.
4835	NullFields []string `json:"-"`
4836}
4837
4838func (s *Volumeseriesinfo) MarshalJSON() ([]byte, error) {
4839	type NoMethod Volumeseriesinfo
4840	raw := NoMethod(*s)
4841	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4842}
4843
4844type VolumeseriesinfoVolumeSeries struct {
4845	// Issue: List of issues. Applicable only for Collection Edition and
4846	// Omnibus.
4847	Issue []*VolumeseriesinfoVolumeSeriesIssue `json:"issue,omitempty"`
4848
4849	// OrderNumber: The book order number in the series.
4850	OrderNumber int64 `json:"orderNumber,omitempty"`
4851
4852	// SeriesBookType: The book type in the context of series. Examples -
4853	// Single Issue, Collection Edition, etc.
4854	SeriesBookType string `json:"seriesBookType,omitempty"`
4855
4856	// SeriesId: The series id.
4857	SeriesId string `json:"seriesId,omitempty"`
4858
4859	// ForceSendFields is a list of field names (e.g. "Issue") to
4860	// unconditionally include in API requests. By default, fields with
4861	// empty values are omitted from API requests. However, any non-pointer,
4862	// non-interface field appearing in ForceSendFields will be sent to the
4863	// server regardless of whether the field is empty or not. This may be
4864	// used to include empty fields in Patch requests.
4865	ForceSendFields []string `json:"-"`
4866
4867	// NullFields is a list of field names (e.g. "Issue") to include in API
4868	// requests with the JSON null value. By default, fields with empty
4869	// values are omitted from API requests. However, any field with an
4870	// empty value appearing in NullFields will be sent to the server as
4871	// null. It is an error if a field in this list has a non-empty value.
4872	// This may be used to include null fields in Patch requests.
4873	NullFields []string `json:"-"`
4874}
4875
4876func (s *VolumeseriesinfoVolumeSeries) MarshalJSON() ([]byte, error) {
4877	type NoMethod VolumeseriesinfoVolumeSeries
4878	raw := NoMethod(*s)
4879	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4880}
4881
4882type VolumeseriesinfoVolumeSeriesIssue struct {
4883	IssueDisplayNumber string `json:"issueDisplayNumber,omitempty"`
4884
4885	IssueOrderNumber int64 `json:"issueOrderNumber,omitempty"`
4886
4887	// ForceSendFields is a list of field names (e.g. "IssueDisplayNumber")
4888	// to unconditionally include in API requests. By default, fields with
4889	// empty values are omitted from API requests. However, any non-pointer,
4890	// non-interface field appearing in ForceSendFields will be sent to the
4891	// server regardless of whether the field is empty or not. This may be
4892	// used to include empty fields in Patch requests.
4893	ForceSendFields []string `json:"-"`
4894
4895	// NullFields is a list of field names (e.g. "IssueDisplayNumber") to
4896	// include in API requests with the JSON null value. By default, fields
4897	// with empty values are omitted from API requests. However, any field
4898	// with an empty value appearing in NullFields will be sent to the
4899	// server as null. It is an error if a field in this list has a
4900	// non-empty value. This may be used to include null fields in Patch
4901	// requests.
4902	NullFields []string `json:"-"`
4903}
4904
4905func (s *VolumeseriesinfoVolumeSeriesIssue) MarshalJSON() ([]byte, error) {
4906	type NoMethod VolumeseriesinfoVolumeSeriesIssue
4907	raw := NoMethod(*s)
4908	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4909}
4910
4911// method id "books.bookshelves.get":
4912
4913type BookshelvesGetCall struct {
4914	s            *Service
4915	userId       string
4916	shelf        string
4917	urlParams_   gensupport.URLParams
4918	ifNoneMatch_ string
4919	ctx_         context.Context
4920	header_      http.Header
4921}
4922
4923// Get: Retrieves metadata for a specific bookshelf for the specified
4924// user.
4925//
4926// - shelf: ID of bookshelf to retrieve.
4927// - userId: ID of user for whom to retrieve bookshelves.
4928func (r *BookshelvesService) Get(userId string, shelf string) *BookshelvesGetCall {
4929	c := &BookshelvesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4930	c.userId = userId
4931	c.shelf = shelf
4932	return c
4933}
4934
4935// Source sets the optional parameter "source": String to identify the
4936// originator of this request.
4937func (c *BookshelvesGetCall) Source(source string) *BookshelvesGetCall {
4938	c.urlParams_.Set("source", source)
4939	return c
4940}
4941
4942// Fields allows partial responses to be retrieved. See
4943// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4944// for more information.
4945func (c *BookshelvesGetCall) Fields(s ...googleapi.Field) *BookshelvesGetCall {
4946	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4947	return c
4948}
4949
4950// IfNoneMatch sets the optional parameter which makes the operation
4951// fail if the object's ETag matches the given value. This is useful for
4952// getting updates only after the object has changed since the last
4953// request. Use googleapi.IsNotModified to check whether the response
4954// error from Do is the result of In-None-Match.
4955func (c *BookshelvesGetCall) IfNoneMatch(entityTag string) *BookshelvesGetCall {
4956	c.ifNoneMatch_ = entityTag
4957	return c
4958}
4959
4960// Context sets the context to be used in this call's Do method. Any
4961// pending HTTP request will be aborted if the provided context is
4962// canceled.
4963func (c *BookshelvesGetCall) Context(ctx context.Context) *BookshelvesGetCall {
4964	c.ctx_ = ctx
4965	return c
4966}
4967
4968// Header returns an http.Header that can be modified by the caller to
4969// add HTTP headers to the request.
4970func (c *BookshelvesGetCall) Header() http.Header {
4971	if c.header_ == nil {
4972		c.header_ = make(http.Header)
4973	}
4974	return c.header_
4975}
4976
4977func (c *BookshelvesGetCall) doRequest(alt string) (*http.Response, error) {
4978	reqHeaders := make(http.Header)
4979	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
4980	for k, v := range c.header_ {
4981		reqHeaders[k] = v
4982	}
4983	reqHeaders.Set("User-Agent", c.s.userAgent())
4984	if c.ifNoneMatch_ != "" {
4985		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4986	}
4987	var body io.Reader = nil
4988	c.urlParams_.Set("alt", alt)
4989	c.urlParams_.Set("prettyPrint", "false")
4990	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/users/{userId}/bookshelves/{shelf}")
4991	urls += "?" + c.urlParams_.Encode()
4992	req, err := http.NewRequest("GET", urls, body)
4993	if err != nil {
4994		return nil, err
4995	}
4996	req.Header = reqHeaders
4997	googleapi.Expand(req.URL, map[string]string{
4998		"userId": c.userId,
4999		"shelf":  c.shelf,
5000	})
5001	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5002}
5003
5004// Do executes the "books.bookshelves.get" call.
5005// Exactly one of *Bookshelf or error will be non-nil. Any non-2xx
5006// status code is an error. Response headers are in either
5007// *Bookshelf.ServerResponse.Header or (if a response was returned at
5008// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5009// to check whether the returned error was because
5010// http.StatusNotModified was returned.
5011func (c *BookshelvesGetCall) Do(opts ...googleapi.CallOption) (*Bookshelf, error) {
5012	gensupport.SetOptions(c.urlParams_, opts...)
5013	res, err := c.doRequest("json")
5014	if res != nil && res.StatusCode == http.StatusNotModified {
5015		if res.Body != nil {
5016			res.Body.Close()
5017		}
5018		return nil, &googleapi.Error{
5019			Code:   res.StatusCode,
5020			Header: res.Header,
5021		}
5022	}
5023	if err != nil {
5024		return nil, err
5025	}
5026	defer googleapi.CloseBody(res)
5027	if err := googleapi.CheckResponse(res); err != nil {
5028		return nil, err
5029	}
5030	ret := &Bookshelf{
5031		ServerResponse: googleapi.ServerResponse{
5032			Header:         res.Header,
5033			HTTPStatusCode: res.StatusCode,
5034		},
5035	}
5036	target := &ret
5037	if err := gensupport.DecodeResponse(target, res); err != nil {
5038		return nil, err
5039	}
5040	return ret, nil
5041	// {
5042	//   "description": "Retrieves metadata for a specific bookshelf for the specified user.",
5043	//   "flatPath": "books/v1/users/{userId}/bookshelves/{shelf}",
5044	//   "httpMethod": "GET",
5045	//   "id": "books.bookshelves.get",
5046	//   "parameterOrder": [
5047	//     "userId",
5048	//     "shelf"
5049	//   ],
5050	//   "parameters": {
5051	//     "shelf": {
5052	//       "description": "ID of bookshelf to retrieve.",
5053	//       "location": "path",
5054	//       "required": true,
5055	//       "type": "string"
5056	//     },
5057	//     "source": {
5058	//       "description": "String to identify the originator of this request.",
5059	//       "location": "query",
5060	//       "type": "string"
5061	//     },
5062	//     "userId": {
5063	//       "description": "ID of user for whom to retrieve bookshelves.",
5064	//       "location": "path",
5065	//       "required": true,
5066	//       "type": "string"
5067	//     }
5068	//   },
5069	//   "path": "books/v1/users/{userId}/bookshelves/{shelf}",
5070	//   "response": {
5071	//     "$ref": "Bookshelf"
5072	//   },
5073	//   "scopes": [
5074	//     "https://www.googleapis.com/auth/books"
5075	//   ]
5076	// }
5077
5078}
5079
5080// method id "books.bookshelves.list":
5081
5082type BookshelvesListCall struct {
5083	s            *Service
5084	userId       string
5085	urlParams_   gensupport.URLParams
5086	ifNoneMatch_ string
5087	ctx_         context.Context
5088	header_      http.Header
5089}
5090
5091// List: Retrieves a list of public bookshelves for the specified user.
5092//
5093// - userId: ID of user for whom to retrieve bookshelves.
5094func (r *BookshelvesService) List(userId string) *BookshelvesListCall {
5095	c := &BookshelvesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5096	c.userId = userId
5097	return c
5098}
5099
5100// Source sets the optional parameter "source": String to identify the
5101// originator of this request.
5102func (c *BookshelvesListCall) Source(source string) *BookshelvesListCall {
5103	c.urlParams_.Set("source", source)
5104	return c
5105}
5106
5107// Fields allows partial responses to be retrieved. See
5108// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5109// for more information.
5110func (c *BookshelvesListCall) Fields(s ...googleapi.Field) *BookshelvesListCall {
5111	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5112	return c
5113}
5114
5115// IfNoneMatch sets the optional parameter which makes the operation
5116// fail if the object's ETag matches the given value. This is useful for
5117// getting updates only after the object has changed since the last
5118// request. Use googleapi.IsNotModified to check whether the response
5119// error from Do is the result of In-None-Match.
5120func (c *BookshelvesListCall) IfNoneMatch(entityTag string) *BookshelvesListCall {
5121	c.ifNoneMatch_ = entityTag
5122	return c
5123}
5124
5125// Context sets the context to be used in this call's Do method. Any
5126// pending HTTP request will be aborted if the provided context is
5127// canceled.
5128func (c *BookshelvesListCall) Context(ctx context.Context) *BookshelvesListCall {
5129	c.ctx_ = ctx
5130	return c
5131}
5132
5133// Header returns an http.Header that can be modified by the caller to
5134// add HTTP headers to the request.
5135func (c *BookshelvesListCall) Header() http.Header {
5136	if c.header_ == nil {
5137		c.header_ = make(http.Header)
5138	}
5139	return c.header_
5140}
5141
5142func (c *BookshelvesListCall) doRequest(alt string) (*http.Response, error) {
5143	reqHeaders := make(http.Header)
5144	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
5145	for k, v := range c.header_ {
5146		reqHeaders[k] = v
5147	}
5148	reqHeaders.Set("User-Agent", c.s.userAgent())
5149	if c.ifNoneMatch_ != "" {
5150		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5151	}
5152	var body io.Reader = nil
5153	c.urlParams_.Set("alt", alt)
5154	c.urlParams_.Set("prettyPrint", "false")
5155	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/users/{userId}/bookshelves")
5156	urls += "?" + c.urlParams_.Encode()
5157	req, err := http.NewRequest("GET", urls, body)
5158	if err != nil {
5159		return nil, err
5160	}
5161	req.Header = reqHeaders
5162	googleapi.Expand(req.URL, map[string]string{
5163		"userId": c.userId,
5164	})
5165	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5166}
5167
5168// Do executes the "books.bookshelves.list" call.
5169// Exactly one of *Bookshelves or error will be non-nil. Any non-2xx
5170// status code is an error. Response headers are in either
5171// *Bookshelves.ServerResponse.Header or (if a response was returned at
5172// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5173// to check whether the returned error was because
5174// http.StatusNotModified was returned.
5175func (c *BookshelvesListCall) Do(opts ...googleapi.CallOption) (*Bookshelves, error) {
5176	gensupport.SetOptions(c.urlParams_, opts...)
5177	res, err := c.doRequest("json")
5178	if res != nil && res.StatusCode == http.StatusNotModified {
5179		if res.Body != nil {
5180			res.Body.Close()
5181		}
5182		return nil, &googleapi.Error{
5183			Code:   res.StatusCode,
5184			Header: res.Header,
5185		}
5186	}
5187	if err != nil {
5188		return nil, err
5189	}
5190	defer googleapi.CloseBody(res)
5191	if err := googleapi.CheckResponse(res); err != nil {
5192		return nil, err
5193	}
5194	ret := &Bookshelves{
5195		ServerResponse: googleapi.ServerResponse{
5196			Header:         res.Header,
5197			HTTPStatusCode: res.StatusCode,
5198		},
5199	}
5200	target := &ret
5201	if err := gensupport.DecodeResponse(target, res); err != nil {
5202		return nil, err
5203	}
5204	return ret, nil
5205	// {
5206	//   "description": "Retrieves a list of public bookshelves for the specified user.",
5207	//   "flatPath": "books/v1/users/{userId}/bookshelves",
5208	//   "httpMethod": "GET",
5209	//   "id": "books.bookshelves.list",
5210	//   "parameterOrder": [
5211	//     "userId"
5212	//   ],
5213	//   "parameters": {
5214	//     "source": {
5215	//       "description": "String to identify the originator of this request.",
5216	//       "location": "query",
5217	//       "type": "string"
5218	//     },
5219	//     "userId": {
5220	//       "description": "ID of user for whom to retrieve bookshelves.",
5221	//       "location": "path",
5222	//       "required": true,
5223	//       "type": "string"
5224	//     }
5225	//   },
5226	//   "path": "books/v1/users/{userId}/bookshelves",
5227	//   "response": {
5228	//     "$ref": "Bookshelves"
5229	//   },
5230	//   "scopes": [
5231	//     "https://www.googleapis.com/auth/books"
5232	//   ]
5233	// }
5234
5235}
5236
5237// method id "books.bookshelves.volumes.list":
5238
5239type BookshelvesVolumesListCall struct {
5240	s            *Service
5241	userId       string
5242	shelf        string
5243	urlParams_   gensupport.URLParams
5244	ifNoneMatch_ string
5245	ctx_         context.Context
5246	header_      http.Header
5247}
5248
5249// List: Retrieves volumes in a specific bookshelf for the specified
5250// user.
5251//
5252// - shelf: ID of bookshelf to retrieve volumes.
5253// - userId: ID of user for whom to retrieve bookshelf volumes.
5254func (r *BookshelvesVolumesService) List(userId string, shelf string) *BookshelvesVolumesListCall {
5255	c := &BookshelvesVolumesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5256	c.userId = userId
5257	c.shelf = shelf
5258	return c
5259}
5260
5261// MaxResults sets the optional parameter "maxResults": Maximum number
5262// of results to return
5263func (c *BookshelvesVolumesListCall) MaxResults(maxResults int64) *BookshelvesVolumesListCall {
5264	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
5265	return c
5266}
5267
5268// ShowPreorders sets the optional parameter "showPreorders": Set to
5269// true to show pre-ordered books. Defaults to false.
5270func (c *BookshelvesVolumesListCall) ShowPreorders(showPreorders bool) *BookshelvesVolumesListCall {
5271	c.urlParams_.Set("showPreorders", fmt.Sprint(showPreorders))
5272	return c
5273}
5274
5275// Source sets the optional parameter "source": String to identify the
5276// originator of this request.
5277func (c *BookshelvesVolumesListCall) Source(source string) *BookshelvesVolumesListCall {
5278	c.urlParams_.Set("source", source)
5279	return c
5280}
5281
5282// StartIndex sets the optional parameter "startIndex": Index of the
5283// first element to return (starts at 0)
5284func (c *BookshelvesVolumesListCall) StartIndex(startIndex int64) *BookshelvesVolumesListCall {
5285	c.urlParams_.Set("startIndex", fmt.Sprint(startIndex))
5286	return c
5287}
5288
5289// Fields allows partial responses to be retrieved. See
5290// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5291// for more information.
5292func (c *BookshelvesVolumesListCall) Fields(s ...googleapi.Field) *BookshelvesVolumesListCall {
5293	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5294	return c
5295}
5296
5297// IfNoneMatch sets the optional parameter which makes the operation
5298// fail if the object's ETag matches the given value. This is useful for
5299// getting updates only after the object has changed since the last
5300// request. Use googleapi.IsNotModified to check whether the response
5301// error from Do is the result of In-None-Match.
5302func (c *BookshelvesVolumesListCall) IfNoneMatch(entityTag string) *BookshelvesVolumesListCall {
5303	c.ifNoneMatch_ = entityTag
5304	return c
5305}
5306
5307// Context sets the context to be used in this call's Do method. Any
5308// pending HTTP request will be aborted if the provided context is
5309// canceled.
5310func (c *BookshelvesVolumesListCall) Context(ctx context.Context) *BookshelvesVolumesListCall {
5311	c.ctx_ = ctx
5312	return c
5313}
5314
5315// Header returns an http.Header that can be modified by the caller to
5316// add HTTP headers to the request.
5317func (c *BookshelvesVolumesListCall) Header() http.Header {
5318	if c.header_ == nil {
5319		c.header_ = make(http.Header)
5320	}
5321	return c.header_
5322}
5323
5324func (c *BookshelvesVolumesListCall) doRequest(alt string) (*http.Response, error) {
5325	reqHeaders := make(http.Header)
5326	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
5327	for k, v := range c.header_ {
5328		reqHeaders[k] = v
5329	}
5330	reqHeaders.Set("User-Agent", c.s.userAgent())
5331	if c.ifNoneMatch_ != "" {
5332		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5333	}
5334	var body io.Reader = nil
5335	c.urlParams_.Set("alt", alt)
5336	c.urlParams_.Set("prettyPrint", "false")
5337	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/users/{userId}/bookshelves/{shelf}/volumes")
5338	urls += "?" + c.urlParams_.Encode()
5339	req, err := http.NewRequest("GET", urls, body)
5340	if err != nil {
5341		return nil, err
5342	}
5343	req.Header = reqHeaders
5344	googleapi.Expand(req.URL, map[string]string{
5345		"userId": c.userId,
5346		"shelf":  c.shelf,
5347	})
5348	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5349}
5350
5351// Do executes the "books.bookshelves.volumes.list" call.
5352// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
5353// code is an error. Response headers are in either
5354// *Volumes.ServerResponse.Header or (if a response was returned at all)
5355// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
5356// check whether the returned error was because http.StatusNotModified
5357// was returned.
5358func (c *BookshelvesVolumesListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
5359	gensupport.SetOptions(c.urlParams_, opts...)
5360	res, err := c.doRequest("json")
5361	if res != nil && res.StatusCode == http.StatusNotModified {
5362		if res.Body != nil {
5363			res.Body.Close()
5364		}
5365		return nil, &googleapi.Error{
5366			Code:   res.StatusCode,
5367			Header: res.Header,
5368		}
5369	}
5370	if err != nil {
5371		return nil, err
5372	}
5373	defer googleapi.CloseBody(res)
5374	if err := googleapi.CheckResponse(res); err != nil {
5375		return nil, err
5376	}
5377	ret := &Volumes{
5378		ServerResponse: googleapi.ServerResponse{
5379			Header:         res.Header,
5380			HTTPStatusCode: res.StatusCode,
5381		},
5382	}
5383	target := &ret
5384	if err := gensupport.DecodeResponse(target, res); err != nil {
5385		return nil, err
5386	}
5387	return ret, nil
5388	// {
5389	//   "description": "Retrieves volumes in a specific bookshelf for the specified user.",
5390	//   "flatPath": "books/v1/users/{userId}/bookshelves/{shelf}/volumes",
5391	//   "httpMethod": "GET",
5392	//   "id": "books.bookshelves.volumes.list",
5393	//   "parameterOrder": [
5394	//     "userId",
5395	//     "shelf"
5396	//   ],
5397	//   "parameters": {
5398	//     "maxResults": {
5399	//       "description": "Maximum number of results to return",
5400	//       "format": "uint32",
5401	//       "location": "query",
5402	//       "minimum": "0",
5403	//       "type": "integer"
5404	//     },
5405	//     "shelf": {
5406	//       "description": "ID of bookshelf to retrieve volumes.",
5407	//       "location": "path",
5408	//       "required": true,
5409	//       "type": "string"
5410	//     },
5411	//     "showPreorders": {
5412	//       "description": "Set to true to show pre-ordered books. Defaults to false.",
5413	//       "location": "query",
5414	//       "type": "boolean"
5415	//     },
5416	//     "source": {
5417	//       "description": "String to identify the originator of this request.",
5418	//       "location": "query",
5419	//       "type": "string"
5420	//     },
5421	//     "startIndex": {
5422	//       "description": "Index of the first element to return (starts at 0)",
5423	//       "format": "uint32",
5424	//       "location": "query",
5425	//       "minimum": "0",
5426	//       "type": "integer"
5427	//     },
5428	//     "userId": {
5429	//       "description": "ID of user for whom to retrieve bookshelf volumes.",
5430	//       "location": "path",
5431	//       "required": true,
5432	//       "type": "string"
5433	//     }
5434	//   },
5435	//   "path": "books/v1/users/{userId}/bookshelves/{shelf}/volumes",
5436	//   "response": {
5437	//     "$ref": "Volumes"
5438	//   },
5439	//   "scopes": [
5440	//     "https://www.googleapis.com/auth/books"
5441	//   ]
5442	// }
5443
5444}
5445
5446// method id "books.cloudloading.addBook":
5447
5448type CloudloadingAddBookCall struct {
5449	s          *Service
5450	urlParams_ gensupport.URLParams
5451	ctx_       context.Context
5452	header_    http.Header
5453}
5454
5455// AddBook: Add a user-upload volume and triggers processing.
5456func (r *CloudloadingService) AddBook() *CloudloadingAddBookCall {
5457	c := &CloudloadingAddBookCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5458	return c
5459}
5460
5461// DriveDocumentId sets the optional parameter "drive_document_id": A
5462// drive document id. The upload_client_token must not be set.
5463func (c *CloudloadingAddBookCall) DriveDocumentId(driveDocumentId string) *CloudloadingAddBookCall {
5464	c.urlParams_.Set("drive_document_id", driveDocumentId)
5465	return c
5466}
5467
5468// MimeType sets the optional parameter "mime_type": The document MIME
5469// type. It can be set only if the drive_document_id is set.
5470func (c *CloudloadingAddBookCall) MimeType(mimeType string) *CloudloadingAddBookCall {
5471	c.urlParams_.Set("mime_type", mimeType)
5472	return c
5473}
5474
5475// Name sets the optional parameter "name": The document name. It can be
5476// set only if the drive_document_id is set.
5477func (c *CloudloadingAddBookCall) Name(name string) *CloudloadingAddBookCall {
5478	c.urlParams_.Set("name", name)
5479	return c
5480}
5481
5482// UploadClientToken sets the optional parameter "upload_client_token":
5483// Scotty upload token.
5484func (c *CloudloadingAddBookCall) UploadClientToken(uploadClientToken string) *CloudloadingAddBookCall {
5485	c.urlParams_.Set("upload_client_token", uploadClientToken)
5486	return c
5487}
5488
5489// Fields allows partial responses to be retrieved. See
5490// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5491// for more information.
5492func (c *CloudloadingAddBookCall) Fields(s ...googleapi.Field) *CloudloadingAddBookCall {
5493	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5494	return c
5495}
5496
5497// Context sets the context to be used in this call's Do method. Any
5498// pending HTTP request will be aborted if the provided context is
5499// canceled.
5500func (c *CloudloadingAddBookCall) Context(ctx context.Context) *CloudloadingAddBookCall {
5501	c.ctx_ = ctx
5502	return c
5503}
5504
5505// Header returns an http.Header that can be modified by the caller to
5506// add HTTP headers to the request.
5507func (c *CloudloadingAddBookCall) Header() http.Header {
5508	if c.header_ == nil {
5509		c.header_ = make(http.Header)
5510	}
5511	return c.header_
5512}
5513
5514func (c *CloudloadingAddBookCall) doRequest(alt string) (*http.Response, error) {
5515	reqHeaders := make(http.Header)
5516	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
5517	for k, v := range c.header_ {
5518		reqHeaders[k] = v
5519	}
5520	reqHeaders.Set("User-Agent", c.s.userAgent())
5521	var body io.Reader = nil
5522	c.urlParams_.Set("alt", alt)
5523	c.urlParams_.Set("prettyPrint", "false")
5524	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/cloudloading/addBook")
5525	urls += "?" + c.urlParams_.Encode()
5526	req, err := http.NewRequest("POST", urls, body)
5527	if err != nil {
5528		return nil, err
5529	}
5530	req.Header = reqHeaders
5531	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5532}
5533
5534// Do executes the "books.cloudloading.addBook" call.
5535// Exactly one of *BooksCloudloadingResource or error will be non-nil.
5536// Any non-2xx status code is an error. Response headers are in either
5537// *BooksCloudloadingResource.ServerResponse.Header or (if a response
5538// was returned at all) in error.(*googleapi.Error).Header. Use
5539// googleapi.IsNotModified to check whether the returned error was
5540// because http.StatusNotModified was returned.
5541func (c *CloudloadingAddBookCall) Do(opts ...googleapi.CallOption) (*BooksCloudloadingResource, error) {
5542	gensupport.SetOptions(c.urlParams_, opts...)
5543	res, err := c.doRequest("json")
5544	if res != nil && res.StatusCode == http.StatusNotModified {
5545		if res.Body != nil {
5546			res.Body.Close()
5547		}
5548		return nil, &googleapi.Error{
5549			Code:   res.StatusCode,
5550			Header: res.Header,
5551		}
5552	}
5553	if err != nil {
5554		return nil, err
5555	}
5556	defer googleapi.CloseBody(res)
5557	if err := googleapi.CheckResponse(res); err != nil {
5558		return nil, err
5559	}
5560	ret := &BooksCloudloadingResource{
5561		ServerResponse: googleapi.ServerResponse{
5562			Header:         res.Header,
5563			HTTPStatusCode: res.StatusCode,
5564		},
5565	}
5566	target := &ret
5567	if err := gensupport.DecodeResponse(target, res); err != nil {
5568		return nil, err
5569	}
5570	return ret, nil
5571	// {
5572	//   "description": "Add a user-upload volume and triggers processing.",
5573	//   "flatPath": "books/v1/cloudloading/addBook",
5574	//   "httpMethod": "POST",
5575	//   "id": "books.cloudloading.addBook",
5576	//   "parameterOrder": [],
5577	//   "parameters": {
5578	//     "drive_document_id": {
5579	//       "description": "A drive document id. The upload_client_token must not be set.",
5580	//       "location": "query",
5581	//       "type": "string"
5582	//     },
5583	//     "mime_type": {
5584	//       "description": "The document MIME type. It can be set only if the drive_document_id is set.",
5585	//       "location": "query",
5586	//       "type": "string"
5587	//     },
5588	//     "name": {
5589	//       "description": "The document name. It can be set only if the drive_document_id is set.",
5590	//       "location": "query",
5591	//       "type": "string"
5592	//     },
5593	//     "upload_client_token": {
5594	//       "description": "Scotty upload token.",
5595	//       "location": "query",
5596	//       "type": "string"
5597	//     }
5598	//   },
5599	//   "path": "books/v1/cloudloading/addBook",
5600	//   "response": {
5601	//     "$ref": "BooksCloudloadingResource"
5602	//   },
5603	//   "scopes": [
5604	//     "https://www.googleapis.com/auth/books"
5605	//   ]
5606	// }
5607
5608}
5609
5610// method id "books.cloudloading.deleteBook":
5611
5612type CloudloadingDeleteBookCall struct {
5613	s          *Service
5614	urlParams_ gensupport.URLParams
5615	ctx_       context.Context
5616	header_    http.Header
5617}
5618
5619// DeleteBook: Remove the book and its contents
5620//
5621// - volumeId: The id of the book to be removed.
5622func (r *CloudloadingService) DeleteBook(volumeId string) *CloudloadingDeleteBookCall {
5623	c := &CloudloadingDeleteBookCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5624	c.urlParams_.Set("volumeId", volumeId)
5625	return c
5626}
5627
5628// Fields allows partial responses to be retrieved. See
5629// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5630// for more information.
5631func (c *CloudloadingDeleteBookCall) Fields(s ...googleapi.Field) *CloudloadingDeleteBookCall {
5632	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5633	return c
5634}
5635
5636// Context sets the context to be used in this call's Do method. Any
5637// pending HTTP request will be aborted if the provided context is
5638// canceled.
5639func (c *CloudloadingDeleteBookCall) Context(ctx context.Context) *CloudloadingDeleteBookCall {
5640	c.ctx_ = ctx
5641	return c
5642}
5643
5644// Header returns an http.Header that can be modified by the caller to
5645// add HTTP headers to the request.
5646func (c *CloudloadingDeleteBookCall) Header() http.Header {
5647	if c.header_ == nil {
5648		c.header_ = make(http.Header)
5649	}
5650	return c.header_
5651}
5652
5653func (c *CloudloadingDeleteBookCall) doRequest(alt string) (*http.Response, error) {
5654	reqHeaders := make(http.Header)
5655	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
5656	for k, v := range c.header_ {
5657		reqHeaders[k] = v
5658	}
5659	reqHeaders.Set("User-Agent", c.s.userAgent())
5660	var body io.Reader = nil
5661	c.urlParams_.Set("alt", alt)
5662	c.urlParams_.Set("prettyPrint", "false")
5663	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/cloudloading/deleteBook")
5664	urls += "?" + c.urlParams_.Encode()
5665	req, err := http.NewRequest("POST", urls, body)
5666	if err != nil {
5667		return nil, err
5668	}
5669	req.Header = reqHeaders
5670	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5671}
5672
5673// Do executes the "books.cloudloading.deleteBook" call.
5674// Exactly one of *Empty or error will be non-nil. Any non-2xx status
5675// code is an error. Response headers are in either
5676// *Empty.ServerResponse.Header or (if a response was returned at all)
5677// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
5678// check whether the returned error was because http.StatusNotModified
5679// was returned.
5680func (c *CloudloadingDeleteBookCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
5681	gensupport.SetOptions(c.urlParams_, opts...)
5682	res, err := c.doRequest("json")
5683	if res != nil && res.StatusCode == http.StatusNotModified {
5684		if res.Body != nil {
5685			res.Body.Close()
5686		}
5687		return nil, &googleapi.Error{
5688			Code:   res.StatusCode,
5689			Header: res.Header,
5690		}
5691	}
5692	if err != nil {
5693		return nil, err
5694	}
5695	defer googleapi.CloseBody(res)
5696	if err := googleapi.CheckResponse(res); err != nil {
5697		return nil, err
5698	}
5699	ret := &Empty{
5700		ServerResponse: googleapi.ServerResponse{
5701			Header:         res.Header,
5702			HTTPStatusCode: res.StatusCode,
5703		},
5704	}
5705	target := &ret
5706	if err := gensupport.DecodeResponse(target, res); err != nil {
5707		return nil, err
5708	}
5709	return ret, nil
5710	// {
5711	//   "description": "Remove the book and its contents",
5712	//   "flatPath": "books/v1/cloudloading/deleteBook",
5713	//   "httpMethod": "POST",
5714	//   "id": "books.cloudloading.deleteBook",
5715	//   "parameterOrder": [
5716	//     "volumeId"
5717	//   ],
5718	//   "parameters": {
5719	//     "volumeId": {
5720	//       "description": "The id of the book to be removed.",
5721	//       "location": "query",
5722	//       "required": true,
5723	//       "type": "string"
5724	//     }
5725	//   },
5726	//   "path": "books/v1/cloudloading/deleteBook",
5727	//   "response": {
5728	//     "$ref": "Empty"
5729	//   },
5730	//   "scopes": [
5731	//     "https://www.googleapis.com/auth/books"
5732	//   ]
5733	// }
5734
5735}
5736
5737// method id "books.cloudloading.updateBook":
5738
5739type CloudloadingUpdateBookCall struct {
5740	s                         *Service
5741	bookscloudloadingresource *BooksCloudloadingResource
5742	urlParams_                gensupport.URLParams
5743	ctx_                      context.Context
5744	header_                   http.Header
5745}
5746
5747// UpdateBook: Updates a user-upload volume.
5748func (r *CloudloadingService) UpdateBook(bookscloudloadingresource *BooksCloudloadingResource) *CloudloadingUpdateBookCall {
5749	c := &CloudloadingUpdateBookCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5750	c.bookscloudloadingresource = bookscloudloadingresource
5751	return c
5752}
5753
5754// Fields allows partial responses to be retrieved. See
5755// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5756// for more information.
5757func (c *CloudloadingUpdateBookCall) Fields(s ...googleapi.Field) *CloudloadingUpdateBookCall {
5758	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5759	return c
5760}
5761
5762// Context sets the context to be used in this call's Do method. Any
5763// pending HTTP request will be aborted if the provided context is
5764// canceled.
5765func (c *CloudloadingUpdateBookCall) Context(ctx context.Context) *CloudloadingUpdateBookCall {
5766	c.ctx_ = ctx
5767	return c
5768}
5769
5770// Header returns an http.Header that can be modified by the caller to
5771// add HTTP headers to the request.
5772func (c *CloudloadingUpdateBookCall) Header() http.Header {
5773	if c.header_ == nil {
5774		c.header_ = make(http.Header)
5775	}
5776	return c.header_
5777}
5778
5779func (c *CloudloadingUpdateBookCall) doRequest(alt string) (*http.Response, error) {
5780	reqHeaders := make(http.Header)
5781	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
5782	for k, v := range c.header_ {
5783		reqHeaders[k] = v
5784	}
5785	reqHeaders.Set("User-Agent", c.s.userAgent())
5786	var body io.Reader = nil
5787	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bookscloudloadingresource)
5788	if err != nil {
5789		return nil, err
5790	}
5791	reqHeaders.Set("Content-Type", "application/json")
5792	c.urlParams_.Set("alt", alt)
5793	c.urlParams_.Set("prettyPrint", "false")
5794	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/cloudloading/updateBook")
5795	urls += "?" + c.urlParams_.Encode()
5796	req, err := http.NewRequest("POST", urls, body)
5797	if err != nil {
5798		return nil, err
5799	}
5800	req.Header = reqHeaders
5801	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5802}
5803
5804// Do executes the "books.cloudloading.updateBook" call.
5805// Exactly one of *BooksCloudloadingResource or error will be non-nil.
5806// Any non-2xx status code is an error. Response headers are in either
5807// *BooksCloudloadingResource.ServerResponse.Header or (if a response
5808// was returned at all) in error.(*googleapi.Error).Header. Use
5809// googleapi.IsNotModified to check whether the returned error was
5810// because http.StatusNotModified was returned.
5811func (c *CloudloadingUpdateBookCall) Do(opts ...googleapi.CallOption) (*BooksCloudloadingResource, error) {
5812	gensupport.SetOptions(c.urlParams_, opts...)
5813	res, err := c.doRequest("json")
5814	if res != nil && res.StatusCode == http.StatusNotModified {
5815		if res.Body != nil {
5816			res.Body.Close()
5817		}
5818		return nil, &googleapi.Error{
5819			Code:   res.StatusCode,
5820			Header: res.Header,
5821		}
5822	}
5823	if err != nil {
5824		return nil, err
5825	}
5826	defer googleapi.CloseBody(res)
5827	if err := googleapi.CheckResponse(res); err != nil {
5828		return nil, err
5829	}
5830	ret := &BooksCloudloadingResource{
5831		ServerResponse: googleapi.ServerResponse{
5832			Header:         res.Header,
5833			HTTPStatusCode: res.StatusCode,
5834		},
5835	}
5836	target := &ret
5837	if err := gensupport.DecodeResponse(target, res); err != nil {
5838		return nil, err
5839	}
5840	return ret, nil
5841	// {
5842	//   "description": "Updates a user-upload volume.",
5843	//   "flatPath": "books/v1/cloudloading/updateBook",
5844	//   "httpMethod": "POST",
5845	//   "id": "books.cloudloading.updateBook",
5846	//   "parameterOrder": [],
5847	//   "parameters": {},
5848	//   "path": "books/v1/cloudloading/updateBook",
5849	//   "request": {
5850	//     "$ref": "BooksCloudloadingResource"
5851	//   },
5852	//   "response": {
5853	//     "$ref": "BooksCloudloadingResource"
5854	//   },
5855	//   "scopes": [
5856	//     "https://www.googleapis.com/auth/books"
5857	//   ]
5858	// }
5859
5860}
5861
5862// method id "books.dictionary.listOfflineMetadata":
5863
5864type DictionaryListOfflineMetadataCall struct {
5865	s            *Service
5866	urlParams_   gensupport.URLParams
5867	ifNoneMatch_ string
5868	ctx_         context.Context
5869	header_      http.Header
5870}
5871
5872// ListOfflineMetadata: Returns a list of offline dictionary metadata
5873// available
5874//
5875// - cpksver: The device/version ID from which to request the data.
5876func (r *DictionaryService) ListOfflineMetadata(cpksver string) *DictionaryListOfflineMetadataCall {
5877	c := &DictionaryListOfflineMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5878	c.urlParams_.Set("cpksver", cpksver)
5879	return c
5880}
5881
5882// Fields allows partial responses to be retrieved. See
5883// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5884// for more information.
5885func (c *DictionaryListOfflineMetadataCall) Fields(s ...googleapi.Field) *DictionaryListOfflineMetadataCall {
5886	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5887	return c
5888}
5889
5890// IfNoneMatch sets the optional parameter which makes the operation
5891// fail if the object's ETag matches the given value. This is useful for
5892// getting updates only after the object has changed since the last
5893// request. Use googleapi.IsNotModified to check whether the response
5894// error from Do is the result of In-None-Match.
5895func (c *DictionaryListOfflineMetadataCall) IfNoneMatch(entityTag string) *DictionaryListOfflineMetadataCall {
5896	c.ifNoneMatch_ = entityTag
5897	return c
5898}
5899
5900// Context sets the context to be used in this call's Do method. Any
5901// pending HTTP request will be aborted if the provided context is
5902// canceled.
5903func (c *DictionaryListOfflineMetadataCall) Context(ctx context.Context) *DictionaryListOfflineMetadataCall {
5904	c.ctx_ = ctx
5905	return c
5906}
5907
5908// Header returns an http.Header that can be modified by the caller to
5909// add HTTP headers to the request.
5910func (c *DictionaryListOfflineMetadataCall) Header() http.Header {
5911	if c.header_ == nil {
5912		c.header_ = make(http.Header)
5913	}
5914	return c.header_
5915}
5916
5917func (c *DictionaryListOfflineMetadataCall) doRequest(alt string) (*http.Response, error) {
5918	reqHeaders := make(http.Header)
5919	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
5920	for k, v := range c.header_ {
5921		reqHeaders[k] = v
5922	}
5923	reqHeaders.Set("User-Agent", c.s.userAgent())
5924	if c.ifNoneMatch_ != "" {
5925		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5926	}
5927	var body io.Reader = nil
5928	c.urlParams_.Set("alt", alt)
5929	c.urlParams_.Set("prettyPrint", "false")
5930	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/dictionary/listOfflineMetadata")
5931	urls += "?" + c.urlParams_.Encode()
5932	req, err := http.NewRequest("GET", urls, body)
5933	if err != nil {
5934		return nil, err
5935	}
5936	req.Header = reqHeaders
5937	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5938}
5939
5940// Do executes the "books.dictionary.listOfflineMetadata" call.
5941// Exactly one of *Metadata or error will be non-nil. Any non-2xx status
5942// code is an error. Response headers are in either
5943// *Metadata.ServerResponse.Header or (if a response was returned at
5944// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5945// to check whether the returned error was because
5946// http.StatusNotModified was returned.
5947func (c *DictionaryListOfflineMetadataCall) Do(opts ...googleapi.CallOption) (*Metadata, error) {
5948	gensupport.SetOptions(c.urlParams_, opts...)
5949	res, err := c.doRequest("json")
5950	if res != nil && res.StatusCode == http.StatusNotModified {
5951		if res.Body != nil {
5952			res.Body.Close()
5953		}
5954		return nil, &googleapi.Error{
5955			Code:   res.StatusCode,
5956			Header: res.Header,
5957		}
5958	}
5959	if err != nil {
5960		return nil, err
5961	}
5962	defer googleapi.CloseBody(res)
5963	if err := googleapi.CheckResponse(res); err != nil {
5964		return nil, err
5965	}
5966	ret := &Metadata{
5967		ServerResponse: googleapi.ServerResponse{
5968			Header:         res.Header,
5969			HTTPStatusCode: res.StatusCode,
5970		},
5971	}
5972	target := &ret
5973	if err := gensupport.DecodeResponse(target, res); err != nil {
5974		return nil, err
5975	}
5976	return ret, nil
5977	// {
5978	//   "description": "Returns a list of offline dictionary metadata available",
5979	//   "flatPath": "books/v1/dictionary/listOfflineMetadata",
5980	//   "httpMethod": "GET",
5981	//   "id": "books.dictionary.listOfflineMetadata",
5982	//   "parameterOrder": [
5983	//     "cpksver"
5984	//   ],
5985	//   "parameters": {
5986	//     "cpksver": {
5987	//       "description": "The device/version ID from which to request the data.",
5988	//       "location": "query",
5989	//       "required": true,
5990	//       "type": "string"
5991	//     }
5992	//   },
5993	//   "path": "books/v1/dictionary/listOfflineMetadata",
5994	//   "response": {
5995	//     "$ref": "Metadata"
5996	//   },
5997	//   "scopes": [
5998	//     "https://www.googleapis.com/auth/books"
5999	//   ]
6000	// }
6001
6002}
6003
6004// method id "books.familysharing.getFamilyInfo":
6005
6006type FamilysharingGetFamilyInfoCall struct {
6007	s            *Service
6008	urlParams_   gensupport.URLParams
6009	ifNoneMatch_ string
6010	ctx_         context.Context
6011	header_      http.Header
6012}
6013
6014// GetFamilyInfo: Gets information regarding the family that the user is
6015// part of.
6016func (r *FamilysharingService) GetFamilyInfo() *FamilysharingGetFamilyInfoCall {
6017	c := &FamilysharingGetFamilyInfoCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6018	return c
6019}
6020
6021// Source sets the optional parameter "source": String to identify the
6022// originator of this request.
6023func (c *FamilysharingGetFamilyInfoCall) Source(source string) *FamilysharingGetFamilyInfoCall {
6024	c.urlParams_.Set("source", source)
6025	return c
6026}
6027
6028// Fields allows partial responses to be retrieved. See
6029// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6030// for more information.
6031func (c *FamilysharingGetFamilyInfoCall) Fields(s ...googleapi.Field) *FamilysharingGetFamilyInfoCall {
6032	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6033	return c
6034}
6035
6036// IfNoneMatch sets the optional parameter which makes the operation
6037// fail if the object's ETag matches the given value. This is useful for
6038// getting updates only after the object has changed since the last
6039// request. Use googleapi.IsNotModified to check whether the response
6040// error from Do is the result of In-None-Match.
6041func (c *FamilysharingGetFamilyInfoCall) IfNoneMatch(entityTag string) *FamilysharingGetFamilyInfoCall {
6042	c.ifNoneMatch_ = entityTag
6043	return c
6044}
6045
6046// Context sets the context to be used in this call's Do method. Any
6047// pending HTTP request will be aborted if the provided context is
6048// canceled.
6049func (c *FamilysharingGetFamilyInfoCall) Context(ctx context.Context) *FamilysharingGetFamilyInfoCall {
6050	c.ctx_ = ctx
6051	return c
6052}
6053
6054// Header returns an http.Header that can be modified by the caller to
6055// add HTTP headers to the request.
6056func (c *FamilysharingGetFamilyInfoCall) Header() http.Header {
6057	if c.header_ == nil {
6058		c.header_ = make(http.Header)
6059	}
6060	return c.header_
6061}
6062
6063func (c *FamilysharingGetFamilyInfoCall) doRequest(alt string) (*http.Response, error) {
6064	reqHeaders := make(http.Header)
6065	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
6066	for k, v := range c.header_ {
6067		reqHeaders[k] = v
6068	}
6069	reqHeaders.Set("User-Agent", c.s.userAgent())
6070	if c.ifNoneMatch_ != "" {
6071		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6072	}
6073	var body io.Reader = nil
6074	c.urlParams_.Set("alt", alt)
6075	c.urlParams_.Set("prettyPrint", "false")
6076	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/familysharing/getFamilyInfo")
6077	urls += "?" + c.urlParams_.Encode()
6078	req, err := http.NewRequest("GET", urls, body)
6079	if err != nil {
6080		return nil, err
6081	}
6082	req.Header = reqHeaders
6083	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6084}
6085
6086// Do executes the "books.familysharing.getFamilyInfo" call.
6087// Exactly one of *FamilyInfo or error will be non-nil. Any non-2xx
6088// status code is an error. Response headers are in either
6089// *FamilyInfo.ServerResponse.Header or (if a response was returned at
6090// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6091// to check whether the returned error was because
6092// http.StatusNotModified was returned.
6093func (c *FamilysharingGetFamilyInfoCall) Do(opts ...googleapi.CallOption) (*FamilyInfo, error) {
6094	gensupport.SetOptions(c.urlParams_, opts...)
6095	res, err := c.doRequest("json")
6096	if res != nil && res.StatusCode == http.StatusNotModified {
6097		if res.Body != nil {
6098			res.Body.Close()
6099		}
6100		return nil, &googleapi.Error{
6101			Code:   res.StatusCode,
6102			Header: res.Header,
6103		}
6104	}
6105	if err != nil {
6106		return nil, err
6107	}
6108	defer googleapi.CloseBody(res)
6109	if err := googleapi.CheckResponse(res); err != nil {
6110		return nil, err
6111	}
6112	ret := &FamilyInfo{
6113		ServerResponse: googleapi.ServerResponse{
6114			Header:         res.Header,
6115			HTTPStatusCode: res.StatusCode,
6116		},
6117	}
6118	target := &ret
6119	if err := gensupport.DecodeResponse(target, res); err != nil {
6120		return nil, err
6121	}
6122	return ret, nil
6123	// {
6124	//   "description": "Gets information regarding the family that the user is part of.",
6125	//   "flatPath": "books/v1/familysharing/getFamilyInfo",
6126	//   "httpMethod": "GET",
6127	//   "id": "books.familysharing.getFamilyInfo",
6128	//   "parameterOrder": [],
6129	//   "parameters": {
6130	//     "source": {
6131	//       "description": "String to identify the originator of this request.",
6132	//       "location": "query",
6133	//       "type": "string"
6134	//     }
6135	//   },
6136	//   "path": "books/v1/familysharing/getFamilyInfo",
6137	//   "response": {
6138	//     "$ref": "FamilyInfo"
6139	//   },
6140	//   "scopes": [
6141	//     "https://www.googleapis.com/auth/books"
6142	//   ]
6143	// }
6144
6145}
6146
6147// method id "books.familysharing.share":
6148
6149type FamilysharingShareCall struct {
6150	s          *Service
6151	urlParams_ gensupport.URLParams
6152	ctx_       context.Context
6153	header_    http.Header
6154}
6155
6156// Share: Initiates sharing of the content with the user's family. Empty
6157// response indicates success.
6158func (r *FamilysharingService) Share() *FamilysharingShareCall {
6159	c := &FamilysharingShareCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6160	return c
6161}
6162
6163// DocId sets the optional parameter "docId": The docid to share.
6164func (c *FamilysharingShareCall) DocId(docId string) *FamilysharingShareCall {
6165	c.urlParams_.Set("docId", docId)
6166	return c
6167}
6168
6169// Source sets the optional parameter "source": String to identify the
6170// originator of this request.
6171func (c *FamilysharingShareCall) Source(source string) *FamilysharingShareCall {
6172	c.urlParams_.Set("source", source)
6173	return c
6174}
6175
6176// VolumeId sets the optional parameter "volumeId": The volume to share.
6177func (c *FamilysharingShareCall) VolumeId(volumeId string) *FamilysharingShareCall {
6178	c.urlParams_.Set("volumeId", volumeId)
6179	return c
6180}
6181
6182// Fields allows partial responses to be retrieved. See
6183// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6184// for more information.
6185func (c *FamilysharingShareCall) Fields(s ...googleapi.Field) *FamilysharingShareCall {
6186	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6187	return c
6188}
6189
6190// Context sets the context to be used in this call's Do method. Any
6191// pending HTTP request will be aborted if the provided context is
6192// canceled.
6193func (c *FamilysharingShareCall) Context(ctx context.Context) *FamilysharingShareCall {
6194	c.ctx_ = ctx
6195	return c
6196}
6197
6198// Header returns an http.Header that can be modified by the caller to
6199// add HTTP headers to the request.
6200func (c *FamilysharingShareCall) Header() http.Header {
6201	if c.header_ == nil {
6202		c.header_ = make(http.Header)
6203	}
6204	return c.header_
6205}
6206
6207func (c *FamilysharingShareCall) doRequest(alt string) (*http.Response, error) {
6208	reqHeaders := make(http.Header)
6209	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
6210	for k, v := range c.header_ {
6211		reqHeaders[k] = v
6212	}
6213	reqHeaders.Set("User-Agent", c.s.userAgent())
6214	var body io.Reader = nil
6215	c.urlParams_.Set("alt", alt)
6216	c.urlParams_.Set("prettyPrint", "false")
6217	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/familysharing/share")
6218	urls += "?" + c.urlParams_.Encode()
6219	req, err := http.NewRequest("POST", urls, body)
6220	if err != nil {
6221		return nil, err
6222	}
6223	req.Header = reqHeaders
6224	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6225}
6226
6227// Do executes the "books.familysharing.share" call.
6228// Exactly one of *Empty or error will be non-nil. Any non-2xx status
6229// code is an error. Response headers are in either
6230// *Empty.ServerResponse.Header or (if a response was returned at all)
6231// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
6232// check whether the returned error was because http.StatusNotModified
6233// was returned.
6234func (c *FamilysharingShareCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
6235	gensupport.SetOptions(c.urlParams_, opts...)
6236	res, err := c.doRequest("json")
6237	if res != nil && res.StatusCode == http.StatusNotModified {
6238		if res.Body != nil {
6239			res.Body.Close()
6240		}
6241		return nil, &googleapi.Error{
6242			Code:   res.StatusCode,
6243			Header: res.Header,
6244		}
6245	}
6246	if err != nil {
6247		return nil, err
6248	}
6249	defer googleapi.CloseBody(res)
6250	if err := googleapi.CheckResponse(res); err != nil {
6251		return nil, err
6252	}
6253	ret := &Empty{
6254		ServerResponse: googleapi.ServerResponse{
6255			Header:         res.Header,
6256			HTTPStatusCode: res.StatusCode,
6257		},
6258	}
6259	target := &ret
6260	if err := gensupport.DecodeResponse(target, res); err != nil {
6261		return nil, err
6262	}
6263	return ret, nil
6264	// {
6265	//   "description": "Initiates sharing of the content with the user's family. Empty response indicates success.",
6266	//   "flatPath": "books/v1/familysharing/share",
6267	//   "httpMethod": "POST",
6268	//   "id": "books.familysharing.share",
6269	//   "parameterOrder": [],
6270	//   "parameters": {
6271	//     "docId": {
6272	//       "description": "The docid to share.",
6273	//       "location": "query",
6274	//       "type": "string"
6275	//     },
6276	//     "source": {
6277	//       "description": "String to identify the originator of this request.",
6278	//       "location": "query",
6279	//       "type": "string"
6280	//     },
6281	//     "volumeId": {
6282	//       "description": "The volume to share.",
6283	//       "location": "query",
6284	//       "type": "string"
6285	//     }
6286	//   },
6287	//   "path": "books/v1/familysharing/share",
6288	//   "response": {
6289	//     "$ref": "Empty"
6290	//   },
6291	//   "scopes": [
6292	//     "https://www.googleapis.com/auth/books"
6293	//   ]
6294	// }
6295
6296}
6297
6298// method id "books.familysharing.unshare":
6299
6300type FamilysharingUnshareCall struct {
6301	s          *Service
6302	urlParams_ gensupport.URLParams
6303	ctx_       context.Context
6304	header_    http.Header
6305}
6306
6307// Unshare: Initiates revoking content that has already been shared with
6308// the user's family. Empty response indicates success.
6309func (r *FamilysharingService) Unshare() *FamilysharingUnshareCall {
6310	c := &FamilysharingUnshareCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6311	return c
6312}
6313
6314// DocId sets the optional parameter "docId": The docid to unshare.
6315func (c *FamilysharingUnshareCall) DocId(docId string) *FamilysharingUnshareCall {
6316	c.urlParams_.Set("docId", docId)
6317	return c
6318}
6319
6320// Source sets the optional parameter "source": String to identify the
6321// originator of this request.
6322func (c *FamilysharingUnshareCall) Source(source string) *FamilysharingUnshareCall {
6323	c.urlParams_.Set("source", source)
6324	return c
6325}
6326
6327// VolumeId sets the optional parameter "volumeId": The volume to
6328// unshare.
6329func (c *FamilysharingUnshareCall) VolumeId(volumeId string) *FamilysharingUnshareCall {
6330	c.urlParams_.Set("volumeId", volumeId)
6331	return c
6332}
6333
6334// Fields allows partial responses to be retrieved. See
6335// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6336// for more information.
6337func (c *FamilysharingUnshareCall) Fields(s ...googleapi.Field) *FamilysharingUnshareCall {
6338	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6339	return c
6340}
6341
6342// Context sets the context to be used in this call's Do method. Any
6343// pending HTTP request will be aborted if the provided context is
6344// canceled.
6345func (c *FamilysharingUnshareCall) Context(ctx context.Context) *FamilysharingUnshareCall {
6346	c.ctx_ = ctx
6347	return c
6348}
6349
6350// Header returns an http.Header that can be modified by the caller to
6351// add HTTP headers to the request.
6352func (c *FamilysharingUnshareCall) Header() http.Header {
6353	if c.header_ == nil {
6354		c.header_ = make(http.Header)
6355	}
6356	return c.header_
6357}
6358
6359func (c *FamilysharingUnshareCall) doRequest(alt string) (*http.Response, error) {
6360	reqHeaders := make(http.Header)
6361	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
6362	for k, v := range c.header_ {
6363		reqHeaders[k] = v
6364	}
6365	reqHeaders.Set("User-Agent", c.s.userAgent())
6366	var body io.Reader = nil
6367	c.urlParams_.Set("alt", alt)
6368	c.urlParams_.Set("prettyPrint", "false")
6369	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/familysharing/unshare")
6370	urls += "?" + c.urlParams_.Encode()
6371	req, err := http.NewRequest("POST", urls, body)
6372	if err != nil {
6373		return nil, err
6374	}
6375	req.Header = reqHeaders
6376	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6377}
6378
6379// Do executes the "books.familysharing.unshare" call.
6380// Exactly one of *Empty or error will be non-nil. Any non-2xx status
6381// code is an error. Response headers are in either
6382// *Empty.ServerResponse.Header or (if a response was returned at all)
6383// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
6384// check whether the returned error was because http.StatusNotModified
6385// was returned.
6386func (c *FamilysharingUnshareCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
6387	gensupport.SetOptions(c.urlParams_, opts...)
6388	res, err := c.doRequest("json")
6389	if res != nil && res.StatusCode == http.StatusNotModified {
6390		if res.Body != nil {
6391			res.Body.Close()
6392		}
6393		return nil, &googleapi.Error{
6394			Code:   res.StatusCode,
6395			Header: res.Header,
6396		}
6397	}
6398	if err != nil {
6399		return nil, err
6400	}
6401	defer googleapi.CloseBody(res)
6402	if err := googleapi.CheckResponse(res); err != nil {
6403		return nil, err
6404	}
6405	ret := &Empty{
6406		ServerResponse: googleapi.ServerResponse{
6407			Header:         res.Header,
6408			HTTPStatusCode: res.StatusCode,
6409		},
6410	}
6411	target := &ret
6412	if err := gensupport.DecodeResponse(target, res); err != nil {
6413		return nil, err
6414	}
6415	return ret, nil
6416	// {
6417	//   "description": "Initiates revoking content that has already been shared with the user's family. Empty response indicates success.",
6418	//   "flatPath": "books/v1/familysharing/unshare",
6419	//   "httpMethod": "POST",
6420	//   "id": "books.familysharing.unshare",
6421	//   "parameterOrder": [],
6422	//   "parameters": {
6423	//     "docId": {
6424	//       "description": "The docid to unshare.",
6425	//       "location": "query",
6426	//       "type": "string"
6427	//     },
6428	//     "source": {
6429	//       "description": "String to identify the originator of this request.",
6430	//       "location": "query",
6431	//       "type": "string"
6432	//     },
6433	//     "volumeId": {
6434	//       "description": "The volume to unshare.",
6435	//       "location": "query",
6436	//       "type": "string"
6437	//     }
6438	//   },
6439	//   "path": "books/v1/familysharing/unshare",
6440	//   "response": {
6441	//     "$ref": "Empty"
6442	//   },
6443	//   "scopes": [
6444	//     "https://www.googleapis.com/auth/books"
6445	//   ]
6446	// }
6447
6448}
6449
6450// method id "books.layers.get":
6451
6452type LayersGetCall struct {
6453	s            *Service
6454	volumeId     string
6455	summaryId    string
6456	urlParams_   gensupport.URLParams
6457	ifNoneMatch_ string
6458	ctx_         context.Context
6459	header_      http.Header
6460}
6461
6462// Get: Gets the layer summary for a volume.
6463//
6464// - summaryId: The ID for the layer to get the summary for.
6465// - volumeId: The volume to retrieve layers for.
6466func (r *LayersService) Get(volumeId string, summaryId string) *LayersGetCall {
6467	c := &LayersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6468	c.volumeId = volumeId
6469	c.summaryId = summaryId
6470	return c
6471}
6472
6473// ContentVersion sets the optional parameter "contentVersion": The
6474// content version for the requested volume.
6475func (c *LayersGetCall) ContentVersion(contentVersion string) *LayersGetCall {
6476	c.urlParams_.Set("contentVersion", contentVersion)
6477	return c
6478}
6479
6480// Source sets the optional parameter "source": String to identify the
6481// originator of this request.
6482func (c *LayersGetCall) Source(source string) *LayersGetCall {
6483	c.urlParams_.Set("source", source)
6484	return c
6485}
6486
6487// Fields allows partial responses to be retrieved. See
6488// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6489// for more information.
6490func (c *LayersGetCall) Fields(s ...googleapi.Field) *LayersGetCall {
6491	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6492	return c
6493}
6494
6495// IfNoneMatch sets the optional parameter which makes the operation
6496// fail if the object's ETag matches the given value. This is useful for
6497// getting updates only after the object has changed since the last
6498// request. Use googleapi.IsNotModified to check whether the response
6499// error from Do is the result of In-None-Match.
6500func (c *LayersGetCall) IfNoneMatch(entityTag string) *LayersGetCall {
6501	c.ifNoneMatch_ = entityTag
6502	return c
6503}
6504
6505// Context sets the context to be used in this call's Do method. Any
6506// pending HTTP request will be aborted if the provided context is
6507// canceled.
6508func (c *LayersGetCall) Context(ctx context.Context) *LayersGetCall {
6509	c.ctx_ = ctx
6510	return c
6511}
6512
6513// Header returns an http.Header that can be modified by the caller to
6514// add HTTP headers to the request.
6515func (c *LayersGetCall) Header() http.Header {
6516	if c.header_ == nil {
6517		c.header_ = make(http.Header)
6518	}
6519	return c.header_
6520}
6521
6522func (c *LayersGetCall) doRequest(alt string) (*http.Response, error) {
6523	reqHeaders := make(http.Header)
6524	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
6525	for k, v := range c.header_ {
6526		reqHeaders[k] = v
6527	}
6528	reqHeaders.Set("User-Agent", c.s.userAgent())
6529	if c.ifNoneMatch_ != "" {
6530		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6531	}
6532	var body io.Reader = nil
6533	c.urlParams_.Set("alt", alt)
6534	c.urlParams_.Set("prettyPrint", "false")
6535	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/volumes/{volumeId}/layersummary/{summaryId}")
6536	urls += "?" + c.urlParams_.Encode()
6537	req, err := http.NewRequest("GET", urls, body)
6538	if err != nil {
6539		return nil, err
6540	}
6541	req.Header = reqHeaders
6542	googleapi.Expand(req.URL, map[string]string{
6543		"volumeId":  c.volumeId,
6544		"summaryId": c.summaryId,
6545	})
6546	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6547}
6548
6549// Do executes the "books.layers.get" call.
6550// Exactly one of *Layersummary or error will be non-nil. Any non-2xx
6551// status code is an error. Response headers are in either
6552// *Layersummary.ServerResponse.Header or (if a response was returned at
6553// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6554// to check whether the returned error was because
6555// http.StatusNotModified was returned.
6556func (c *LayersGetCall) Do(opts ...googleapi.CallOption) (*Layersummary, error) {
6557	gensupport.SetOptions(c.urlParams_, opts...)
6558	res, err := c.doRequest("json")
6559	if res != nil && res.StatusCode == http.StatusNotModified {
6560		if res.Body != nil {
6561			res.Body.Close()
6562		}
6563		return nil, &googleapi.Error{
6564			Code:   res.StatusCode,
6565			Header: res.Header,
6566		}
6567	}
6568	if err != nil {
6569		return nil, err
6570	}
6571	defer googleapi.CloseBody(res)
6572	if err := googleapi.CheckResponse(res); err != nil {
6573		return nil, err
6574	}
6575	ret := &Layersummary{
6576		ServerResponse: googleapi.ServerResponse{
6577			Header:         res.Header,
6578			HTTPStatusCode: res.StatusCode,
6579		},
6580	}
6581	target := &ret
6582	if err := gensupport.DecodeResponse(target, res); err != nil {
6583		return nil, err
6584	}
6585	return ret, nil
6586	// {
6587	//   "description": "Gets the layer summary for a volume.",
6588	//   "flatPath": "books/v1/volumes/{volumeId}/layersummary/{summaryId}",
6589	//   "httpMethod": "GET",
6590	//   "id": "books.layers.get",
6591	//   "parameterOrder": [
6592	//     "volumeId",
6593	//     "summaryId"
6594	//   ],
6595	//   "parameters": {
6596	//     "contentVersion": {
6597	//       "description": "The content version for the requested volume.",
6598	//       "location": "query",
6599	//       "type": "string"
6600	//     },
6601	//     "source": {
6602	//       "description": "String to identify the originator of this request.",
6603	//       "location": "query",
6604	//       "type": "string"
6605	//     },
6606	//     "summaryId": {
6607	//       "description": "The ID for the layer to get the summary for.",
6608	//       "location": "path",
6609	//       "required": true,
6610	//       "type": "string"
6611	//     },
6612	//     "volumeId": {
6613	//       "description": "The volume to retrieve layers for.",
6614	//       "location": "path",
6615	//       "required": true,
6616	//       "type": "string"
6617	//     }
6618	//   },
6619	//   "path": "books/v1/volumes/{volumeId}/layersummary/{summaryId}",
6620	//   "response": {
6621	//     "$ref": "Layersummary"
6622	//   },
6623	//   "scopes": [
6624	//     "https://www.googleapis.com/auth/books"
6625	//   ]
6626	// }
6627
6628}
6629
6630// method id "books.layers.list":
6631
6632type LayersListCall struct {
6633	s            *Service
6634	volumeId     string
6635	urlParams_   gensupport.URLParams
6636	ifNoneMatch_ string
6637	ctx_         context.Context
6638	header_      http.Header
6639}
6640
6641// List: List the layer summaries for a volume.
6642//
6643// - volumeId: The volume to retrieve layers for.
6644func (r *LayersService) List(volumeId string) *LayersListCall {
6645	c := &LayersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6646	c.volumeId = volumeId
6647	return c
6648}
6649
6650// ContentVersion sets the optional parameter "contentVersion": The
6651// content version for the requested volume.
6652func (c *LayersListCall) ContentVersion(contentVersion string) *LayersListCall {
6653	c.urlParams_.Set("contentVersion", contentVersion)
6654	return c
6655}
6656
6657// MaxResults sets the optional parameter "maxResults": Maximum number
6658// of results to return
6659func (c *LayersListCall) MaxResults(maxResults int64) *LayersListCall {
6660	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
6661	return c
6662}
6663
6664// PageToken sets the optional parameter "pageToken": The value of the
6665// nextToken from the previous page.
6666func (c *LayersListCall) PageToken(pageToken string) *LayersListCall {
6667	c.urlParams_.Set("pageToken", pageToken)
6668	return c
6669}
6670
6671// Source sets the optional parameter "source": String to identify the
6672// originator of this request.
6673func (c *LayersListCall) Source(source string) *LayersListCall {
6674	c.urlParams_.Set("source", source)
6675	return c
6676}
6677
6678// Fields allows partial responses to be retrieved. See
6679// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6680// for more information.
6681func (c *LayersListCall) Fields(s ...googleapi.Field) *LayersListCall {
6682	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6683	return c
6684}
6685
6686// IfNoneMatch sets the optional parameter which makes the operation
6687// fail if the object's ETag matches the given value. This is useful for
6688// getting updates only after the object has changed since the last
6689// request. Use googleapi.IsNotModified to check whether the response
6690// error from Do is the result of In-None-Match.
6691func (c *LayersListCall) IfNoneMatch(entityTag string) *LayersListCall {
6692	c.ifNoneMatch_ = entityTag
6693	return c
6694}
6695
6696// Context sets the context to be used in this call's Do method. Any
6697// pending HTTP request will be aborted if the provided context is
6698// canceled.
6699func (c *LayersListCall) Context(ctx context.Context) *LayersListCall {
6700	c.ctx_ = ctx
6701	return c
6702}
6703
6704// Header returns an http.Header that can be modified by the caller to
6705// add HTTP headers to the request.
6706func (c *LayersListCall) Header() http.Header {
6707	if c.header_ == nil {
6708		c.header_ = make(http.Header)
6709	}
6710	return c.header_
6711}
6712
6713func (c *LayersListCall) doRequest(alt string) (*http.Response, error) {
6714	reqHeaders := make(http.Header)
6715	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
6716	for k, v := range c.header_ {
6717		reqHeaders[k] = v
6718	}
6719	reqHeaders.Set("User-Agent", c.s.userAgent())
6720	if c.ifNoneMatch_ != "" {
6721		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6722	}
6723	var body io.Reader = nil
6724	c.urlParams_.Set("alt", alt)
6725	c.urlParams_.Set("prettyPrint", "false")
6726	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/volumes/{volumeId}/layersummary")
6727	urls += "?" + c.urlParams_.Encode()
6728	req, err := http.NewRequest("GET", urls, body)
6729	if err != nil {
6730		return nil, err
6731	}
6732	req.Header = reqHeaders
6733	googleapi.Expand(req.URL, map[string]string{
6734		"volumeId": c.volumeId,
6735	})
6736	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6737}
6738
6739// Do executes the "books.layers.list" call.
6740// Exactly one of *Layersummaries or error will be non-nil. Any non-2xx
6741// status code is an error. Response headers are in either
6742// *Layersummaries.ServerResponse.Header or (if a response was returned
6743// at all) in error.(*googleapi.Error).Header. Use
6744// googleapi.IsNotModified to check whether the returned error was
6745// because http.StatusNotModified was returned.
6746func (c *LayersListCall) Do(opts ...googleapi.CallOption) (*Layersummaries, error) {
6747	gensupport.SetOptions(c.urlParams_, opts...)
6748	res, err := c.doRequest("json")
6749	if res != nil && res.StatusCode == http.StatusNotModified {
6750		if res.Body != nil {
6751			res.Body.Close()
6752		}
6753		return nil, &googleapi.Error{
6754			Code:   res.StatusCode,
6755			Header: res.Header,
6756		}
6757	}
6758	if err != nil {
6759		return nil, err
6760	}
6761	defer googleapi.CloseBody(res)
6762	if err := googleapi.CheckResponse(res); err != nil {
6763		return nil, err
6764	}
6765	ret := &Layersummaries{
6766		ServerResponse: googleapi.ServerResponse{
6767			Header:         res.Header,
6768			HTTPStatusCode: res.StatusCode,
6769		},
6770	}
6771	target := &ret
6772	if err := gensupport.DecodeResponse(target, res); err != nil {
6773		return nil, err
6774	}
6775	return ret, nil
6776	// {
6777	//   "description": "List the layer summaries for a volume.",
6778	//   "flatPath": "books/v1/volumes/{volumeId}/layersummary",
6779	//   "httpMethod": "GET",
6780	//   "id": "books.layers.list",
6781	//   "parameterOrder": [
6782	//     "volumeId"
6783	//   ],
6784	//   "parameters": {
6785	//     "contentVersion": {
6786	//       "description": "The content version for the requested volume.",
6787	//       "location": "query",
6788	//       "type": "string"
6789	//     },
6790	//     "maxResults": {
6791	//       "description": "Maximum number of results to return",
6792	//       "format": "uint32",
6793	//       "location": "query",
6794	//       "maximum": "200",
6795	//       "minimum": "0",
6796	//       "type": "integer"
6797	//     },
6798	//     "pageToken": {
6799	//       "description": "The value of the nextToken from the previous page.",
6800	//       "location": "query",
6801	//       "type": "string"
6802	//     },
6803	//     "source": {
6804	//       "description": "String to identify the originator of this request.",
6805	//       "location": "query",
6806	//       "type": "string"
6807	//     },
6808	//     "volumeId": {
6809	//       "description": "The volume to retrieve layers for.",
6810	//       "location": "path",
6811	//       "required": true,
6812	//       "type": "string"
6813	//     }
6814	//   },
6815	//   "path": "books/v1/volumes/{volumeId}/layersummary",
6816	//   "response": {
6817	//     "$ref": "Layersummaries"
6818	//   },
6819	//   "scopes": [
6820	//     "https://www.googleapis.com/auth/books"
6821	//   ]
6822	// }
6823
6824}
6825
6826// method id "books.layers.annotationData.get":
6827
6828type LayersAnnotationDataGetCall struct {
6829	s                *Service
6830	volumeId         string
6831	layerId          string
6832	annotationDataId string
6833	urlParams_       gensupport.URLParams
6834	ifNoneMatch_     string
6835	ctx_             context.Context
6836	header_          http.Header
6837}
6838
6839// Get: Gets the annotation data.
6840//
6841// - annotationDataId: The ID of the annotation data to retrieve.
6842// - contentVersion: The content version for the volume you are trying
6843//   to retrieve.
6844// - layerId: The ID for the layer to get the annotations.
6845// - volumeId: The volume to retrieve annotations for.
6846func (r *LayersAnnotationDataService) Get(volumeId string, layerId string, annotationDataId string, contentVersion string) *LayersAnnotationDataGetCall {
6847	c := &LayersAnnotationDataGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6848	c.volumeId = volumeId
6849	c.layerId = layerId
6850	c.annotationDataId = annotationDataId
6851	c.urlParams_.Set("contentVersion", contentVersion)
6852	return c
6853}
6854
6855// AllowWebDefinitions sets the optional parameter
6856// "allowWebDefinitions": For the dictionary layer. Whether or not to
6857// allow web definitions.
6858func (c *LayersAnnotationDataGetCall) AllowWebDefinitions(allowWebDefinitions bool) *LayersAnnotationDataGetCall {
6859	c.urlParams_.Set("allowWebDefinitions", fmt.Sprint(allowWebDefinitions))
6860	return c
6861}
6862
6863// H sets the optional parameter "h": The requested pixel height for any
6864// images. If height is provided width must also be provided.
6865func (c *LayersAnnotationDataGetCall) H(h int64) *LayersAnnotationDataGetCall {
6866	c.urlParams_.Set("h", fmt.Sprint(h))
6867	return c
6868}
6869
6870// Locale sets the optional parameter "locale": The locale information
6871// for the data. ISO-639-1 language and ISO-3166-1 country code. Ex:
6872// 'en_US'.
6873func (c *LayersAnnotationDataGetCall) Locale(locale string) *LayersAnnotationDataGetCall {
6874	c.urlParams_.Set("locale", locale)
6875	return c
6876}
6877
6878// Scale sets the optional parameter "scale": The requested scale for
6879// the image.
6880func (c *LayersAnnotationDataGetCall) Scale(scale int64) *LayersAnnotationDataGetCall {
6881	c.urlParams_.Set("scale", fmt.Sprint(scale))
6882	return c
6883}
6884
6885// Source sets the optional parameter "source": String to identify the
6886// originator of this request.
6887func (c *LayersAnnotationDataGetCall) Source(source string) *LayersAnnotationDataGetCall {
6888	c.urlParams_.Set("source", source)
6889	return c
6890}
6891
6892// W sets the optional parameter "w": The requested pixel width for any
6893// images. If width is provided height must also be provided.
6894func (c *LayersAnnotationDataGetCall) W(w int64) *LayersAnnotationDataGetCall {
6895	c.urlParams_.Set("w", fmt.Sprint(w))
6896	return c
6897}
6898
6899// Fields allows partial responses to be retrieved. See
6900// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6901// for more information.
6902func (c *LayersAnnotationDataGetCall) Fields(s ...googleapi.Field) *LayersAnnotationDataGetCall {
6903	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6904	return c
6905}
6906
6907// IfNoneMatch sets the optional parameter which makes the operation
6908// fail if the object's ETag matches the given value. This is useful for
6909// getting updates only after the object has changed since the last
6910// request. Use googleapi.IsNotModified to check whether the response
6911// error from Do is the result of In-None-Match.
6912func (c *LayersAnnotationDataGetCall) IfNoneMatch(entityTag string) *LayersAnnotationDataGetCall {
6913	c.ifNoneMatch_ = entityTag
6914	return c
6915}
6916
6917// Context sets the context to be used in this call's Do method. Any
6918// pending HTTP request will be aborted if the provided context is
6919// canceled.
6920func (c *LayersAnnotationDataGetCall) Context(ctx context.Context) *LayersAnnotationDataGetCall {
6921	c.ctx_ = ctx
6922	return c
6923}
6924
6925// Header returns an http.Header that can be modified by the caller to
6926// add HTTP headers to the request.
6927func (c *LayersAnnotationDataGetCall) Header() http.Header {
6928	if c.header_ == nil {
6929		c.header_ = make(http.Header)
6930	}
6931	return c.header_
6932}
6933
6934func (c *LayersAnnotationDataGetCall) doRequest(alt string) (*http.Response, error) {
6935	reqHeaders := make(http.Header)
6936	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
6937	for k, v := range c.header_ {
6938		reqHeaders[k] = v
6939	}
6940	reqHeaders.Set("User-Agent", c.s.userAgent())
6941	if c.ifNoneMatch_ != "" {
6942		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6943	}
6944	var body io.Reader = nil
6945	c.urlParams_.Set("alt", alt)
6946	c.urlParams_.Set("prettyPrint", "false")
6947	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}")
6948	urls += "?" + c.urlParams_.Encode()
6949	req, err := http.NewRequest("GET", urls, body)
6950	if err != nil {
6951		return nil, err
6952	}
6953	req.Header = reqHeaders
6954	googleapi.Expand(req.URL, map[string]string{
6955		"volumeId":         c.volumeId,
6956		"layerId":          c.layerId,
6957		"annotationDataId": c.annotationDataId,
6958	})
6959	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6960}
6961
6962// Do executes the "books.layers.annotationData.get" call.
6963// Exactly one of *DictionaryAnnotationdata or error will be non-nil.
6964// Any non-2xx status code is an error. Response headers are in either
6965// *DictionaryAnnotationdata.ServerResponse.Header or (if a response was
6966// returned at all) in error.(*googleapi.Error).Header. Use
6967// googleapi.IsNotModified to check whether the returned error was
6968// because http.StatusNotModified was returned.
6969func (c *LayersAnnotationDataGetCall) Do(opts ...googleapi.CallOption) (*DictionaryAnnotationdata, error) {
6970	gensupport.SetOptions(c.urlParams_, opts...)
6971	res, err := c.doRequest("json")
6972	if res != nil && res.StatusCode == http.StatusNotModified {
6973		if res.Body != nil {
6974			res.Body.Close()
6975		}
6976		return nil, &googleapi.Error{
6977			Code:   res.StatusCode,
6978			Header: res.Header,
6979		}
6980	}
6981	if err != nil {
6982		return nil, err
6983	}
6984	defer googleapi.CloseBody(res)
6985	if err := googleapi.CheckResponse(res); err != nil {
6986		return nil, err
6987	}
6988	ret := &DictionaryAnnotationdata{
6989		ServerResponse: googleapi.ServerResponse{
6990			Header:         res.Header,
6991			HTTPStatusCode: res.StatusCode,
6992		},
6993	}
6994	target := &ret
6995	if err := gensupport.DecodeResponse(target, res); err != nil {
6996		return nil, err
6997	}
6998	return ret, nil
6999	// {
7000	//   "description": "Gets the annotation data.",
7001	//   "flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}",
7002	//   "httpMethod": "GET",
7003	//   "id": "books.layers.annotationData.get",
7004	//   "parameterOrder": [
7005	//     "volumeId",
7006	//     "layerId",
7007	//     "annotationDataId",
7008	//     "contentVersion"
7009	//   ],
7010	//   "parameters": {
7011	//     "allowWebDefinitions": {
7012	//       "description": "For the dictionary layer. Whether or not to allow web definitions.",
7013	//       "location": "query",
7014	//       "type": "boolean"
7015	//     },
7016	//     "annotationDataId": {
7017	//       "description": "The ID of the annotation data to retrieve.",
7018	//       "location": "path",
7019	//       "required": true,
7020	//       "type": "string"
7021	//     },
7022	//     "contentVersion": {
7023	//       "description": "The content version for the volume you are trying to retrieve.",
7024	//       "location": "query",
7025	//       "required": true,
7026	//       "type": "string"
7027	//     },
7028	//     "h": {
7029	//       "description": "The requested pixel height for any images. If height is provided width must also be provided.",
7030	//       "format": "int32",
7031	//       "location": "query",
7032	//       "type": "integer"
7033	//     },
7034	//     "layerId": {
7035	//       "description": "The ID for the layer to get the annotations.",
7036	//       "location": "path",
7037	//       "required": true,
7038	//       "type": "string"
7039	//     },
7040	//     "locale": {
7041	//       "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.",
7042	//       "location": "query",
7043	//       "type": "string"
7044	//     },
7045	//     "scale": {
7046	//       "description": "The requested scale for the image.",
7047	//       "format": "int32",
7048	//       "location": "query",
7049	//       "minimum": "0",
7050	//       "type": "integer"
7051	//     },
7052	//     "source": {
7053	//       "description": "String to identify the originator of this request.",
7054	//       "location": "query",
7055	//       "type": "string"
7056	//     },
7057	//     "volumeId": {
7058	//       "description": "The volume to retrieve annotations for.",
7059	//       "location": "path",
7060	//       "required": true,
7061	//       "type": "string"
7062	//     },
7063	//     "w": {
7064	//       "description": "The requested pixel width for any images. If width is provided height must also be provided.",
7065	//       "format": "int32",
7066	//       "location": "query",
7067	//       "type": "integer"
7068	//     }
7069	//   },
7070	//   "path": "books/v1/volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}",
7071	//   "response": {
7072	//     "$ref": "DictionaryAnnotationdata"
7073	//   },
7074	//   "scopes": [
7075	//     "https://www.googleapis.com/auth/books"
7076	//   ]
7077	// }
7078
7079}
7080
7081// method id "books.layers.annotationData.list":
7082
7083type LayersAnnotationDataListCall struct {
7084	s            *Service
7085	volumeId     string
7086	layerId      string
7087	urlParams_   gensupport.URLParams
7088	ifNoneMatch_ string
7089	ctx_         context.Context
7090	header_      http.Header
7091}
7092
7093// List: Gets the annotation data for a volume and layer.
7094//
7095// - contentVersion: The content version for the requested volume.
7096// - layerId: The ID for the layer to get the annotation data.
7097// - volumeId: The volume to retrieve annotation data for.
7098func (r *LayersAnnotationDataService) List(volumeId string, layerId string, contentVersion string) *LayersAnnotationDataListCall {
7099	c := &LayersAnnotationDataListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7100	c.volumeId = volumeId
7101	c.layerId = layerId
7102	c.urlParams_.Set("contentVersion", contentVersion)
7103	return c
7104}
7105
7106// AnnotationDataId sets the optional parameter "annotationDataId": The
7107// list of Annotation Data Ids to retrieve. Pagination is ignored if
7108// this is set.
7109func (c *LayersAnnotationDataListCall) AnnotationDataId(annotationDataId ...string) *LayersAnnotationDataListCall {
7110	c.urlParams_.SetMulti("annotationDataId", append([]string{}, annotationDataId...))
7111	return c
7112}
7113
7114// H sets the optional parameter "h": The requested pixel height for any
7115// images. If height is provided width must also be provided.
7116func (c *LayersAnnotationDataListCall) H(h int64) *LayersAnnotationDataListCall {
7117	c.urlParams_.Set("h", fmt.Sprint(h))
7118	return c
7119}
7120
7121// Locale sets the optional parameter "locale": The locale information
7122// for the data. ISO-639-1 language and ISO-3166-1 country code. Ex:
7123// 'en_US'.
7124func (c *LayersAnnotationDataListCall) Locale(locale string) *LayersAnnotationDataListCall {
7125	c.urlParams_.Set("locale", locale)
7126	return c
7127}
7128
7129// MaxResults sets the optional parameter "maxResults": Maximum number
7130// of results to return
7131func (c *LayersAnnotationDataListCall) MaxResults(maxResults int64) *LayersAnnotationDataListCall {
7132	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
7133	return c
7134}
7135
7136// PageToken sets the optional parameter "pageToken": The value of the
7137// nextToken from the previous page.
7138func (c *LayersAnnotationDataListCall) PageToken(pageToken string) *LayersAnnotationDataListCall {
7139	c.urlParams_.Set("pageToken", pageToken)
7140	return c
7141}
7142
7143// Scale sets the optional parameter "scale": The requested scale for
7144// the image.
7145func (c *LayersAnnotationDataListCall) Scale(scale int64) *LayersAnnotationDataListCall {
7146	c.urlParams_.Set("scale", fmt.Sprint(scale))
7147	return c
7148}
7149
7150// Source sets the optional parameter "source": String to identify the
7151// originator of this request.
7152func (c *LayersAnnotationDataListCall) Source(source string) *LayersAnnotationDataListCall {
7153	c.urlParams_.Set("source", source)
7154	return c
7155}
7156
7157// UpdatedMax sets the optional parameter "updatedMax": RFC 3339
7158// timestamp to restrict to items updated prior to this timestamp
7159// (exclusive).
7160func (c *LayersAnnotationDataListCall) UpdatedMax(updatedMax string) *LayersAnnotationDataListCall {
7161	c.urlParams_.Set("updatedMax", updatedMax)
7162	return c
7163}
7164
7165// UpdatedMin sets the optional parameter "updatedMin": RFC 3339
7166// timestamp to restrict to items updated since this timestamp
7167// (inclusive).
7168func (c *LayersAnnotationDataListCall) UpdatedMin(updatedMin string) *LayersAnnotationDataListCall {
7169	c.urlParams_.Set("updatedMin", updatedMin)
7170	return c
7171}
7172
7173// W sets the optional parameter "w": The requested pixel width for any
7174// images. If width is provided height must also be provided.
7175func (c *LayersAnnotationDataListCall) W(w int64) *LayersAnnotationDataListCall {
7176	c.urlParams_.Set("w", fmt.Sprint(w))
7177	return c
7178}
7179
7180// Fields allows partial responses to be retrieved. See
7181// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7182// for more information.
7183func (c *LayersAnnotationDataListCall) Fields(s ...googleapi.Field) *LayersAnnotationDataListCall {
7184	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7185	return c
7186}
7187
7188// IfNoneMatch sets the optional parameter which makes the operation
7189// fail if the object's ETag matches the given value. This is useful for
7190// getting updates only after the object has changed since the last
7191// request. Use googleapi.IsNotModified to check whether the response
7192// error from Do is the result of In-None-Match.
7193func (c *LayersAnnotationDataListCall) IfNoneMatch(entityTag string) *LayersAnnotationDataListCall {
7194	c.ifNoneMatch_ = entityTag
7195	return c
7196}
7197
7198// Context sets the context to be used in this call's Do method. Any
7199// pending HTTP request will be aborted if the provided context is
7200// canceled.
7201func (c *LayersAnnotationDataListCall) Context(ctx context.Context) *LayersAnnotationDataListCall {
7202	c.ctx_ = ctx
7203	return c
7204}
7205
7206// Header returns an http.Header that can be modified by the caller to
7207// add HTTP headers to the request.
7208func (c *LayersAnnotationDataListCall) Header() http.Header {
7209	if c.header_ == nil {
7210		c.header_ = make(http.Header)
7211	}
7212	return c.header_
7213}
7214
7215func (c *LayersAnnotationDataListCall) doRequest(alt string) (*http.Response, error) {
7216	reqHeaders := make(http.Header)
7217	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
7218	for k, v := range c.header_ {
7219		reqHeaders[k] = v
7220	}
7221	reqHeaders.Set("User-Agent", c.s.userAgent())
7222	if c.ifNoneMatch_ != "" {
7223		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7224	}
7225	var body io.Reader = nil
7226	c.urlParams_.Set("alt", alt)
7227	c.urlParams_.Set("prettyPrint", "false")
7228	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/volumes/{volumeId}/layers/{layerId}/data")
7229	urls += "?" + c.urlParams_.Encode()
7230	req, err := http.NewRequest("GET", urls, body)
7231	if err != nil {
7232		return nil, err
7233	}
7234	req.Header = reqHeaders
7235	googleapi.Expand(req.URL, map[string]string{
7236		"volumeId": c.volumeId,
7237		"layerId":  c.layerId,
7238	})
7239	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7240}
7241
7242// Do executes the "books.layers.annotationData.list" call.
7243// Exactly one of *Annotationsdata or error will be non-nil. Any non-2xx
7244// status code is an error. Response headers are in either
7245// *Annotationsdata.ServerResponse.Header or (if a response was returned
7246// at all) in error.(*googleapi.Error).Header. Use
7247// googleapi.IsNotModified to check whether the returned error was
7248// because http.StatusNotModified was returned.
7249func (c *LayersAnnotationDataListCall) Do(opts ...googleapi.CallOption) (*Annotationsdata, error) {
7250	gensupport.SetOptions(c.urlParams_, opts...)
7251	res, err := c.doRequest("json")
7252	if res != nil && res.StatusCode == http.StatusNotModified {
7253		if res.Body != nil {
7254			res.Body.Close()
7255		}
7256		return nil, &googleapi.Error{
7257			Code:   res.StatusCode,
7258			Header: res.Header,
7259		}
7260	}
7261	if err != nil {
7262		return nil, err
7263	}
7264	defer googleapi.CloseBody(res)
7265	if err := googleapi.CheckResponse(res); err != nil {
7266		return nil, err
7267	}
7268	ret := &Annotationsdata{
7269		ServerResponse: googleapi.ServerResponse{
7270			Header:         res.Header,
7271			HTTPStatusCode: res.StatusCode,
7272		},
7273	}
7274	target := &ret
7275	if err := gensupport.DecodeResponse(target, res); err != nil {
7276		return nil, err
7277	}
7278	return ret, nil
7279	// {
7280	//   "description": "Gets the annotation data for a volume and layer.",
7281	//   "flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}/data",
7282	//   "httpMethod": "GET",
7283	//   "id": "books.layers.annotationData.list",
7284	//   "parameterOrder": [
7285	//     "volumeId",
7286	//     "layerId",
7287	//     "contentVersion"
7288	//   ],
7289	//   "parameters": {
7290	//     "annotationDataId": {
7291	//       "description": "The list of Annotation Data Ids to retrieve. Pagination is ignored if this is set.",
7292	//       "location": "query",
7293	//       "repeated": true,
7294	//       "type": "string"
7295	//     },
7296	//     "contentVersion": {
7297	//       "description": "The content version for the requested volume.",
7298	//       "location": "query",
7299	//       "required": true,
7300	//       "type": "string"
7301	//     },
7302	//     "h": {
7303	//       "description": "The requested pixel height for any images. If height is provided width must also be provided.",
7304	//       "format": "int32",
7305	//       "location": "query",
7306	//       "type": "integer"
7307	//     },
7308	//     "layerId": {
7309	//       "description": "The ID for the layer to get the annotation data.",
7310	//       "location": "path",
7311	//       "required": true,
7312	//       "type": "string"
7313	//     },
7314	//     "locale": {
7315	//       "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.",
7316	//       "location": "query",
7317	//       "type": "string"
7318	//     },
7319	//     "maxResults": {
7320	//       "description": "Maximum number of results to return",
7321	//       "format": "uint32",
7322	//       "location": "query",
7323	//       "maximum": "200",
7324	//       "minimum": "0",
7325	//       "type": "integer"
7326	//     },
7327	//     "pageToken": {
7328	//       "description": "The value of the nextToken from the previous page.",
7329	//       "location": "query",
7330	//       "type": "string"
7331	//     },
7332	//     "scale": {
7333	//       "description": "The requested scale for the image.",
7334	//       "format": "int32",
7335	//       "location": "query",
7336	//       "minimum": "0",
7337	//       "type": "integer"
7338	//     },
7339	//     "source": {
7340	//       "description": "String to identify the originator of this request.",
7341	//       "location": "query",
7342	//       "type": "string"
7343	//     },
7344	//     "updatedMax": {
7345	//       "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).",
7346	//       "location": "query",
7347	//       "type": "string"
7348	//     },
7349	//     "updatedMin": {
7350	//       "description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).",
7351	//       "location": "query",
7352	//       "type": "string"
7353	//     },
7354	//     "volumeId": {
7355	//       "description": "The volume to retrieve annotation data for.",
7356	//       "location": "path",
7357	//       "required": true,
7358	//       "type": "string"
7359	//     },
7360	//     "w": {
7361	//       "description": "The requested pixel width for any images. If width is provided height must also be provided.",
7362	//       "format": "int32",
7363	//       "location": "query",
7364	//       "type": "integer"
7365	//     }
7366	//   },
7367	//   "path": "books/v1/volumes/{volumeId}/layers/{layerId}/data",
7368	//   "response": {
7369	//     "$ref": "Annotationsdata"
7370	//   },
7371	//   "scopes": [
7372	//     "https://www.googleapis.com/auth/books"
7373	//   ]
7374	// }
7375
7376}
7377
7378// Pages invokes f for each page of results.
7379// A non-nil error returned from f will halt the iteration.
7380// The provided context supersedes any context provided to the Context method.
7381func (c *LayersAnnotationDataListCall) Pages(ctx context.Context, f func(*Annotationsdata) error) error {
7382	c.ctx_ = ctx
7383	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7384	for {
7385		x, err := c.Do()
7386		if err != nil {
7387			return err
7388		}
7389		if err := f(x); err != nil {
7390			return err
7391		}
7392		if x.NextPageToken == "" {
7393			return nil
7394		}
7395		c.PageToken(x.NextPageToken)
7396	}
7397}
7398
7399// method id "books.layers.volumeAnnotations.get":
7400
7401type LayersVolumeAnnotationsGetCall struct {
7402	s            *Service
7403	volumeId     string
7404	layerId      string
7405	annotationId string
7406	urlParams_   gensupport.URLParams
7407	ifNoneMatch_ string
7408	ctx_         context.Context
7409	header_      http.Header
7410}
7411
7412// Get: Gets the volume annotation.
7413//
7414// - annotationId: The ID of the volume annotation to retrieve.
7415// - layerId: The ID for the layer to get the annotations.
7416// - volumeId: The volume to retrieve annotations for.
7417func (r *LayersVolumeAnnotationsService) Get(volumeId string, layerId string, annotationId string) *LayersVolumeAnnotationsGetCall {
7418	c := &LayersVolumeAnnotationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7419	c.volumeId = volumeId
7420	c.layerId = layerId
7421	c.annotationId = annotationId
7422	return c
7423}
7424
7425// Locale sets the optional parameter "locale": The locale information
7426// for the data. ISO-639-1 language and ISO-3166-1 country code. Ex:
7427// 'en_US'.
7428func (c *LayersVolumeAnnotationsGetCall) Locale(locale string) *LayersVolumeAnnotationsGetCall {
7429	c.urlParams_.Set("locale", locale)
7430	return c
7431}
7432
7433// Source sets the optional parameter "source": String to identify the
7434// originator of this request.
7435func (c *LayersVolumeAnnotationsGetCall) Source(source string) *LayersVolumeAnnotationsGetCall {
7436	c.urlParams_.Set("source", source)
7437	return c
7438}
7439
7440// Fields allows partial responses to be retrieved. See
7441// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7442// for more information.
7443func (c *LayersVolumeAnnotationsGetCall) Fields(s ...googleapi.Field) *LayersVolumeAnnotationsGetCall {
7444	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7445	return c
7446}
7447
7448// IfNoneMatch sets the optional parameter which makes the operation
7449// fail if the object's ETag matches the given value. This is useful for
7450// getting updates only after the object has changed since the last
7451// request. Use googleapi.IsNotModified to check whether the response
7452// error from Do is the result of In-None-Match.
7453func (c *LayersVolumeAnnotationsGetCall) IfNoneMatch(entityTag string) *LayersVolumeAnnotationsGetCall {
7454	c.ifNoneMatch_ = entityTag
7455	return c
7456}
7457
7458// Context sets the context to be used in this call's Do method. Any
7459// pending HTTP request will be aborted if the provided context is
7460// canceled.
7461func (c *LayersVolumeAnnotationsGetCall) Context(ctx context.Context) *LayersVolumeAnnotationsGetCall {
7462	c.ctx_ = ctx
7463	return c
7464}
7465
7466// Header returns an http.Header that can be modified by the caller to
7467// add HTTP headers to the request.
7468func (c *LayersVolumeAnnotationsGetCall) Header() http.Header {
7469	if c.header_ == nil {
7470		c.header_ = make(http.Header)
7471	}
7472	return c.header_
7473}
7474
7475func (c *LayersVolumeAnnotationsGetCall) doRequest(alt string) (*http.Response, error) {
7476	reqHeaders := make(http.Header)
7477	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
7478	for k, v := range c.header_ {
7479		reqHeaders[k] = v
7480	}
7481	reqHeaders.Set("User-Agent", c.s.userAgent())
7482	if c.ifNoneMatch_ != "" {
7483		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7484	}
7485	var body io.Reader = nil
7486	c.urlParams_.Set("alt", alt)
7487	c.urlParams_.Set("prettyPrint", "false")
7488	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}")
7489	urls += "?" + c.urlParams_.Encode()
7490	req, err := http.NewRequest("GET", urls, body)
7491	if err != nil {
7492		return nil, err
7493	}
7494	req.Header = reqHeaders
7495	googleapi.Expand(req.URL, map[string]string{
7496		"volumeId":     c.volumeId,
7497		"layerId":      c.layerId,
7498		"annotationId": c.annotationId,
7499	})
7500	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7501}
7502
7503// Do executes the "books.layers.volumeAnnotations.get" call.
7504// Exactly one of *Volumeannotation or error will be non-nil. Any
7505// non-2xx status code is an error. Response headers are in either
7506// *Volumeannotation.ServerResponse.Header or (if a response was
7507// returned at all) in error.(*googleapi.Error).Header. Use
7508// googleapi.IsNotModified to check whether the returned error was
7509// because http.StatusNotModified was returned.
7510func (c *LayersVolumeAnnotationsGetCall) Do(opts ...googleapi.CallOption) (*Volumeannotation, error) {
7511	gensupport.SetOptions(c.urlParams_, opts...)
7512	res, err := c.doRequest("json")
7513	if res != nil && res.StatusCode == http.StatusNotModified {
7514		if res.Body != nil {
7515			res.Body.Close()
7516		}
7517		return nil, &googleapi.Error{
7518			Code:   res.StatusCode,
7519			Header: res.Header,
7520		}
7521	}
7522	if err != nil {
7523		return nil, err
7524	}
7525	defer googleapi.CloseBody(res)
7526	if err := googleapi.CheckResponse(res); err != nil {
7527		return nil, err
7528	}
7529	ret := &Volumeannotation{
7530		ServerResponse: googleapi.ServerResponse{
7531			Header:         res.Header,
7532			HTTPStatusCode: res.StatusCode,
7533		},
7534	}
7535	target := &ret
7536	if err := gensupport.DecodeResponse(target, res); err != nil {
7537		return nil, err
7538	}
7539	return ret, nil
7540	// {
7541	//   "description": "Gets the volume annotation.",
7542	//   "flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}",
7543	//   "httpMethod": "GET",
7544	//   "id": "books.layers.volumeAnnotations.get",
7545	//   "parameterOrder": [
7546	//     "volumeId",
7547	//     "layerId",
7548	//     "annotationId"
7549	//   ],
7550	//   "parameters": {
7551	//     "annotationId": {
7552	//       "description": "The ID of the volume annotation to retrieve.",
7553	//       "location": "path",
7554	//       "required": true,
7555	//       "type": "string"
7556	//     },
7557	//     "layerId": {
7558	//       "description": "The ID for the layer to get the annotations.",
7559	//       "location": "path",
7560	//       "required": true,
7561	//       "type": "string"
7562	//     },
7563	//     "locale": {
7564	//       "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.",
7565	//       "location": "query",
7566	//       "type": "string"
7567	//     },
7568	//     "source": {
7569	//       "description": "String to identify the originator of this request.",
7570	//       "location": "query",
7571	//       "type": "string"
7572	//     },
7573	//     "volumeId": {
7574	//       "description": "The volume to retrieve annotations for.",
7575	//       "location": "path",
7576	//       "required": true,
7577	//       "type": "string"
7578	//     }
7579	//   },
7580	//   "path": "books/v1/volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}",
7581	//   "response": {
7582	//     "$ref": "Volumeannotation"
7583	//   },
7584	//   "scopes": [
7585	//     "https://www.googleapis.com/auth/books"
7586	//   ]
7587	// }
7588
7589}
7590
7591// method id "books.layers.volumeAnnotations.list":
7592
7593type LayersVolumeAnnotationsListCall struct {
7594	s            *Service
7595	volumeId     string
7596	layerId      string
7597	urlParams_   gensupport.URLParams
7598	ifNoneMatch_ string
7599	ctx_         context.Context
7600	header_      http.Header
7601}
7602
7603// List: Gets the volume annotations for a volume and layer.
7604//
7605// - contentVersion: The content version for the requested volume.
7606// - layerId: The ID for the layer to get the annotations.
7607// - volumeId: The volume to retrieve annotations for.
7608func (r *LayersVolumeAnnotationsService) List(volumeId string, layerId string, contentVersion string) *LayersVolumeAnnotationsListCall {
7609	c := &LayersVolumeAnnotationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7610	c.volumeId = volumeId
7611	c.layerId = layerId
7612	c.urlParams_.Set("contentVersion", contentVersion)
7613	return c
7614}
7615
7616// EndOffset sets the optional parameter "endOffset": The end offset to
7617// end retrieving data from.
7618func (c *LayersVolumeAnnotationsListCall) EndOffset(endOffset string) *LayersVolumeAnnotationsListCall {
7619	c.urlParams_.Set("endOffset", endOffset)
7620	return c
7621}
7622
7623// EndPosition sets the optional parameter "endPosition": The end
7624// position to end retrieving data from.
7625func (c *LayersVolumeAnnotationsListCall) EndPosition(endPosition string) *LayersVolumeAnnotationsListCall {
7626	c.urlParams_.Set("endPosition", endPosition)
7627	return c
7628}
7629
7630// Locale sets the optional parameter "locale": The locale information
7631// for the data. ISO-639-1 language and ISO-3166-1 country code. Ex:
7632// 'en_US'.
7633func (c *LayersVolumeAnnotationsListCall) Locale(locale string) *LayersVolumeAnnotationsListCall {
7634	c.urlParams_.Set("locale", locale)
7635	return c
7636}
7637
7638// MaxResults sets the optional parameter "maxResults": Maximum number
7639// of results to return
7640func (c *LayersVolumeAnnotationsListCall) MaxResults(maxResults int64) *LayersVolumeAnnotationsListCall {
7641	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
7642	return c
7643}
7644
7645// PageToken sets the optional parameter "pageToken": The value of the
7646// nextToken from the previous page.
7647func (c *LayersVolumeAnnotationsListCall) PageToken(pageToken string) *LayersVolumeAnnotationsListCall {
7648	c.urlParams_.Set("pageToken", pageToken)
7649	return c
7650}
7651
7652// ShowDeleted sets the optional parameter "showDeleted": Set to true to
7653// return deleted annotations. updatedMin must be in the request to use
7654// this. Defaults to false.
7655func (c *LayersVolumeAnnotationsListCall) ShowDeleted(showDeleted bool) *LayersVolumeAnnotationsListCall {
7656	c.urlParams_.Set("showDeleted", fmt.Sprint(showDeleted))
7657	return c
7658}
7659
7660// Source sets the optional parameter "source": String to identify the
7661// originator of this request.
7662func (c *LayersVolumeAnnotationsListCall) Source(source string) *LayersVolumeAnnotationsListCall {
7663	c.urlParams_.Set("source", source)
7664	return c
7665}
7666
7667// StartOffset sets the optional parameter "startOffset": The start
7668// offset to start retrieving data from.
7669func (c *LayersVolumeAnnotationsListCall) StartOffset(startOffset string) *LayersVolumeAnnotationsListCall {
7670	c.urlParams_.Set("startOffset", startOffset)
7671	return c
7672}
7673
7674// StartPosition sets the optional parameter "startPosition": The start
7675// position to start retrieving data from.
7676func (c *LayersVolumeAnnotationsListCall) StartPosition(startPosition string) *LayersVolumeAnnotationsListCall {
7677	c.urlParams_.Set("startPosition", startPosition)
7678	return c
7679}
7680
7681// UpdatedMax sets the optional parameter "updatedMax": RFC 3339
7682// timestamp to restrict to items updated prior to this timestamp
7683// (exclusive).
7684func (c *LayersVolumeAnnotationsListCall) UpdatedMax(updatedMax string) *LayersVolumeAnnotationsListCall {
7685	c.urlParams_.Set("updatedMax", updatedMax)
7686	return c
7687}
7688
7689// UpdatedMin sets the optional parameter "updatedMin": RFC 3339
7690// timestamp to restrict to items updated since this timestamp
7691// (inclusive).
7692func (c *LayersVolumeAnnotationsListCall) UpdatedMin(updatedMin string) *LayersVolumeAnnotationsListCall {
7693	c.urlParams_.Set("updatedMin", updatedMin)
7694	return c
7695}
7696
7697// VolumeAnnotationsVersion sets the optional parameter
7698// "volumeAnnotationsVersion": The version of the volume annotations
7699// that you are requesting.
7700func (c *LayersVolumeAnnotationsListCall) VolumeAnnotationsVersion(volumeAnnotationsVersion string) *LayersVolumeAnnotationsListCall {
7701	c.urlParams_.Set("volumeAnnotationsVersion", volumeAnnotationsVersion)
7702	return c
7703}
7704
7705// Fields allows partial responses to be retrieved. See
7706// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7707// for more information.
7708func (c *LayersVolumeAnnotationsListCall) Fields(s ...googleapi.Field) *LayersVolumeAnnotationsListCall {
7709	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7710	return c
7711}
7712
7713// IfNoneMatch sets the optional parameter which makes the operation
7714// fail if the object's ETag matches the given value. This is useful for
7715// getting updates only after the object has changed since the last
7716// request. Use googleapi.IsNotModified to check whether the response
7717// error from Do is the result of In-None-Match.
7718func (c *LayersVolumeAnnotationsListCall) IfNoneMatch(entityTag string) *LayersVolumeAnnotationsListCall {
7719	c.ifNoneMatch_ = entityTag
7720	return c
7721}
7722
7723// Context sets the context to be used in this call's Do method. Any
7724// pending HTTP request will be aborted if the provided context is
7725// canceled.
7726func (c *LayersVolumeAnnotationsListCall) Context(ctx context.Context) *LayersVolumeAnnotationsListCall {
7727	c.ctx_ = ctx
7728	return c
7729}
7730
7731// Header returns an http.Header that can be modified by the caller to
7732// add HTTP headers to the request.
7733func (c *LayersVolumeAnnotationsListCall) Header() http.Header {
7734	if c.header_ == nil {
7735		c.header_ = make(http.Header)
7736	}
7737	return c.header_
7738}
7739
7740func (c *LayersVolumeAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
7741	reqHeaders := make(http.Header)
7742	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
7743	for k, v := range c.header_ {
7744		reqHeaders[k] = v
7745	}
7746	reqHeaders.Set("User-Agent", c.s.userAgent())
7747	if c.ifNoneMatch_ != "" {
7748		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7749	}
7750	var body io.Reader = nil
7751	c.urlParams_.Set("alt", alt)
7752	c.urlParams_.Set("prettyPrint", "false")
7753	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/volumes/{volumeId}/layers/{layerId}")
7754	urls += "?" + c.urlParams_.Encode()
7755	req, err := http.NewRequest("GET", urls, body)
7756	if err != nil {
7757		return nil, err
7758	}
7759	req.Header = reqHeaders
7760	googleapi.Expand(req.URL, map[string]string{
7761		"volumeId": c.volumeId,
7762		"layerId":  c.layerId,
7763	})
7764	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7765}
7766
7767// Do executes the "books.layers.volumeAnnotations.list" call.
7768// Exactly one of *Volumeannotations or error will be non-nil. Any
7769// non-2xx status code is an error. Response headers are in either
7770// *Volumeannotations.ServerResponse.Header or (if a response was
7771// returned at all) in error.(*googleapi.Error).Header. Use
7772// googleapi.IsNotModified to check whether the returned error was
7773// because http.StatusNotModified was returned.
7774func (c *LayersVolumeAnnotationsListCall) Do(opts ...googleapi.CallOption) (*Volumeannotations, error) {
7775	gensupport.SetOptions(c.urlParams_, opts...)
7776	res, err := c.doRequest("json")
7777	if res != nil && res.StatusCode == http.StatusNotModified {
7778		if res.Body != nil {
7779			res.Body.Close()
7780		}
7781		return nil, &googleapi.Error{
7782			Code:   res.StatusCode,
7783			Header: res.Header,
7784		}
7785	}
7786	if err != nil {
7787		return nil, err
7788	}
7789	defer googleapi.CloseBody(res)
7790	if err := googleapi.CheckResponse(res); err != nil {
7791		return nil, err
7792	}
7793	ret := &Volumeannotations{
7794		ServerResponse: googleapi.ServerResponse{
7795			Header:         res.Header,
7796			HTTPStatusCode: res.StatusCode,
7797		},
7798	}
7799	target := &ret
7800	if err := gensupport.DecodeResponse(target, res); err != nil {
7801		return nil, err
7802	}
7803	return ret, nil
7804	// {
7805	//   "description": "Gets the volume annotations for a volume and layer.",
7806	//   "flatPath": "books/v1/volumes/{volumeId}/layers/{layerId}",
7807	//   "httpMethod": "GET",
7808	//   "id": "books.layers.volumeAnnotations.list",
7809	//   "parameterOrder": [
7810	//     "volumeId",
7811	//     "layerId",
7812	//     "contentVersion"
7813	//   ],
7814	//   "parameters": {
7815	//     "contentVersion": {
7816	//       "description": "The content version for the requested volume.",
7817	//       "location": "query",
7818	//       "required": true,
7819	//       "type": "string"
7820	//     },
7821	//     "endOffset": {
7822	//       "description": "The end offset to end retrieving data from.",
7823	//       "location": "query",
7824	//       "type": "string"
7825	//     },
7826	//     "endPosition": {
7827	//       "description": "The end position to end retrieving data from.",
7828	//       "location": "query",
7829	//       "type": "string"
7830	//     },
7831	//     "layerId": {
7832	//       "description": "The ID for the layer to get the annotations.",
7833	//       "location": "path",
7834	//       "required": true,
7835	//       "type": "string"
7836	//     },
7837	//     "locale": {
7838	//       "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.",
7839	//       "location": "query",
7840	//       "type": "string"
7841	//     },
7842	//     "maxResults": {
7843	//       "description": "Maximum number of results to return",
7844	//       "format": "uint32",
7845	//       "location": "query",
7846	//       "maximum": "200",
7847	//       "minimum": "0",
7848	//       "type": "integer"
7849	//     },
7850	//     "pageToken": {
7851	//       "description": "The value of the nextToken from the previous page.",
7852	//       "location": "query",
7853	//       "type": "string"
7854	//     },
7855	//     "showDeleted": {
7856	//       "description": "Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.",
7857	//       "location": "query",
7858	//       "type": "boolean"
7859	//     },
7860	//     "source": {
7861	//       "description": "String to identify the originator of this request.",
7862	//       "location": "query",
7863	//       "type": "string"
7864	//     },
7865	//     "startOffset": {
7866	//       "description": "The start offset to start retrieving data from.",
7867	//       "location": "query",
7868	//       "type": "string"
7869	//     },
7870	//     "startPosition": {
7871	//       "description": "The start position to start retrieving data from.",
7872	//       "location": "query",
7873	//       "type": "string"
7874	//     },
7875	//     "updatedMax": {
7876	//       "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).",
7877	//       "location": "query",
7878	//       "type": "string"
7879	//     },
7880	//     "updatedMin": {
7881	//       "description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).",
7882	//       "location": "query",
7883	//       "type": "string"
7884	//     },
7885	//     "volumeAnnotationsVersion": {
7886	//       "description": "The version of the volume annotations that you are requesting.",
7887	//       "location": "query",
7888	//       "type": "string"
7889	//     },
7890	//     "volumeId": {
7891	//       "description": "The volume to retrieve annotations for.",
7892	//       "location": "path",
7893	//       "required": true,
7894	//       "type": "string"
7895	//     }
7896	//   },
7897	//   "path": "books/v1/volumes/{volumeId}/layers/{layerId}",
7898	//   "response": {
7899	//     "$ref": "Volumeannotations"
7900	//   },
7901	//   "scopes": [
7902	//     "https://www.googleapis.com/auth/books"
7903	//   ]
7904	// }
7905
7906}
7907
7908// Pages invokes f for each page of results.
7909// A non-nil error returned from f will halt the iteration.
7910// The provided context supersedes any context provided to the Context method.
7911func (c *LayersVolumeAnnotationsListCall) Pages(ctx context.Context, f func(*Volumeannotations) error) error {
7912	c.ctx_ = ctx
7913	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7914	for {
7915		x, err := c.Do()
7916		if err != nil {
7917			return err
7918		}
7919		if err := f(x); err != nil {
7920			return err
7921		}
7922		if x.NextPageToken == "" {
7923			return nil
7924		}
7925		c.PageToken(x.NextPageToken)
7926	}
7927}
7928
7929// method id "books.myconfig.getUserSettings":
7930
7931type MyconfigGetUserSettingsCall struct {
7932	s            *Service
7933	urlParams_   gensupport.URLParams
7934	ifNoneMatch_ string
7935	ctx_         context.Context
7936	header_      http.Header
7937}
7938
7939// GetUserSettings: Gets the current settings for the user.
7940func (r *MyconfigService) GetUserSettings() *MyconfigGetUserSettingsCall {
7941	c := &MyconfigGetUserSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7942	return c
7943}
7944
7945// Country sets the optional parameter "country": Unused. Added only to
7946// workaround TEX mandatory request template requirement
7947func (c *MyconfigGetUserSettingsCall) Country(country string) *MyconfigGetUserSettingsCall {
7948	c.urlParams_.Set("country", country)
7949	return c
7950}
7951
7952// Fields allows partial responses to be retrieved. See
7953// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7954// for more information.
7955func (c *MyconfigGetUserSettingsCall) Fields(s ...googleapi.Field) *MyconfigGetUserSettingsCall {
7956	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7957	return c
7958}
7959
7960// IfNoneMatch sets the optional parameter which makes the operation
7961// fail if the object's ETag matches the given value. This is useful for
7962// getting updates only after the object has changed since the last
7963// request. Use googleapi.IsNotModified to check whether the response
7964// error from Do is the result of In-None-Match.
7965func (c *MyconfigGetUserSettingsCall) IfNoneMatch(entityTag string) *MyconfigGetUserSettingsCall {
7966	c.ifNoneMatch_ = entityTag
7967	return c
7968}
7969
7970// Context sets the context to be used in this call's Do method. Any
7971// pending HTTP request will be aborted if the provided context is
7972// canceled.
7973func (c *MyconfigGetUserSettingsCall) Context(ctx context.Context) *MyconfigGetUserSettingsCall {
7974	c.ctx_ = ctx
7975	return c
7976}
7977
7978// Header returns an http.Header that can be modified by the caller to
7979// add HTTP headers to the request.
7980func (c *MyconfigGetUserSettingsCall) Header() http.Header {
7981	if c.header_ == nil {
7982		c.header_ = make(http.Header)
7983	}
7984	return c.header_
7985}
7986
7987func (c *MyconfigGetUserSettingsCall) doRequest(alt string) (*http.Response, error) {
7988	reqHeaders := make(http.Header)
7989	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
7990	for k, v := range c.header_ {
7991		reqHeaders[k] = v
7992	}
7993	reqHeaders.Set("User-Agent", c.s.userAgent())
7994	if c.ifNoneMatch_ != "" {
7995		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7996	}
7997	var body io.Reader = nil
7998	c.urlParams_.Set("alt", alt)
7999	c.urlParams_.Set("prettyPrint", "false")
8000	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/myconfig/getUserSettings")
8001	urls += "?" + c.urlParams_.Encode()
8002	req, err := http.NewRequest("GET", urls, body)
8003	if err != nil {
8004		return nil, err
8005	}
8006	req.Header = reqHeaders
8007	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8008}
8009
8010// Do executes the "books.myconfig.getUserSettings" call.
8011// Exactly one of *Usersettings or error will be non-nil. Any non-2xx
8012// status code is an error. Response headers are in either
8013// *Usersettings.ServerResponse.Header or (if a response was returned at
8014// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8015// to check whether the returned error was because
8016// http.StatusNotModified was returned.
8017func (c *MyconfigGetUserSettingsCall) Do(opts ...googleapi.CallOption) (*Usersettings, error) {
8018	gensupport.SetOptions(c.urlParams_, opts...)
8019	res, err := c.doRequest("json")
8020	if res != nil && res.StatusCode == http.StatusNotModified {
8021		if res.Body != nil {
8022			res.Body.Close()
8023		}
8024		return nil, &googleapi.Error{
8025			Code:   res.StatusCode,
8026			Header: res.Header,
8027		}
8028	}
8029	if err != nil {
8030		return nil, err
8031	}
8032	defer googleapi.CloseBody(res)
8033	if err := googleapi.CheckResponse(res); err != nil {
8034		return nil, err
8035	}
8036	ret := &Usersettings{
8037		ServerResponse: googleapi.ServerResponse{
8038			Header:         res.Header,
8039			HTTPStatusCode: res.StatusCode,
8040		},
8041	}
8042	target := &ret
8043	if err := gensupport.DecodeResponse(target, res); err != nil {
8044		return nil, err
8045	}
8046	return ret, nil
8047	// {
8048	//   "description": "Gets the current settings for the user.",
8049	//   "flatPath": "books/v1/myconfig/getUserSettings",
8050	//   "httpMethod": "GET",
8051	//   "id": "books.myconfig.getUserSettings",
8052	//   "parameterOrder": [],
8053	//   "parameters": {
8054	//     "country": {
8055	//       "description": "Unused. Added only to workaround TEX mandatory request template requirement",
8056	//       "location": "query",
8057	//       "type": "string"
8058	//     }
8059	//   },
8060	//   "path": "books/v1/myconfig/getUserSettings",
8061	//   "response": {
8062	//     "$ref": "Usersettings"
8063	//   },
8064	//   "scopes": [
8065	//     "https://www.googleapis.com/auth/books"
8066	//   ]
8067	// }
8068
8069}
8070
8071// method id "books.myconfig.releaseDownloadAccess":
8072
8073type MyconfigReleaseDownloadAccessCall struct {
8074	s          *Service
8075	urlParams_ gensupport.URLParams
8076	ctx_       context.Context
8077	header_    http.Header
8078}
8079
8080// ReleaseDownloadAccess: Release downloaded content access restriction.
8081//
8082// - cpksver: The device/version ID from which to release the
8083//   restriction.
8084// - volumeIds: The volume(s) to release restrictions for.
8085func (r *MyconfigService) ReleaseDownloadAccess(cpksver string, volumeIds []string) *MyconfigReleaseDownloadAccessCall {
8086	c := &MyconfigReleaseDownloadAccessCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8087	c.urlParams_.Set("cpksver", cpksver)
8088	c.urlParams_.SetMulti("volumeIds", append([]string{}, volumeIds...))
8089	return c
8090}
8091
8092// Locale sets the optional parameter "locale": ISO-639-1, ISO-3166-1
8093// codes for message localization, i.e. en_US.
8094func (c *MyconfigReleaseDownloadAccessCall) Locale(locale string) *MyconfigReleaseDownloadAccessCall {
8095	c.urlParams_.Set("locale", locale)
8096	return c
8097}
8098
8099// Source sets the optional parameter "source": String to identify the
8100// originator of this request.
8101func (c *MyconfigReleaseDownloadAccessCall) Source(source string) *MyconfigReleaseDownloadAccessCall {
8102	c.urlParams_.Set("source", source)
8103	return c
8104}
8105
8106// Fields allows partial responses to be retrieved. See
8107// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8108// for more information.
8109func (c *MyconfigReleaseDownloadAccessCall) Fields(s ...googleapi.Field) *MyconfigReleaseDownloadAccessCall {
8110	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8111	return c
8112}
8113
8114// Context sets the context to be used in this call's Do method. Any
8115// pending HTTP request will be aborted if the provided context is
8116// canceled.
8117func (c *MyconfigReleaseDownloadAccessCall) Context(ctx context.Context) *MyconfigReleaseDownloadAccessCall {
8118	c.ctx_ = ctx
8119	return c
8120}
8121
8122// Header returns an http.Header that can be modified by the caller to
8123// add HTTP headers to the request.
8124func (c *MyconfigReleaseDownloadAccessCall) Header() http.Header {
8125	if c.header_ == nil {
8126		c.header_ = make(http.Header)
8127	}
8128	return c.header_
8129}
8130
8131func (c *MyconfigReleaseDownloadAccessCall) doRequest(alt string) (*http.Response, error) {
8132	reqHeaders := make(http.Header)
8133	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
8134	for k, v := range c.header_ {
8135		reqHeaders[k] = v
8136	}
8137	reqHeaders.Set("User-Agent", c.s.userAgent())
8138	var body io.Reader = nil
8139	c.urlParams_.Set("alt", alt)
8140	c.urlParams_.Set("prettyPrint", "false")
8141	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/myconfig/releaseDownloadAccess")
8142	urls += "?" + c.urlParams_.Encode()
8143	req, err := http.NewRequest("POST", urls, body)
8144	if err != nil {
8145		return nil, err
8146	}
8147	req.Header = reqHeaders
8148	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8149}
8150
8151// Do executes the "books.myconfig.releaseDownloadAccess" call.
8152// Exactly one of *DownloadAccesses or error will be non-nil. Any
8153// non-2xx status code is an error. Response headers are in either
8154// *DownloadAccesses.ServerResponse.Header or (if a response was
8155// returned at all) in error.(*googleapi.Error).Header. Use
8156// googleapi.IsNotModified to check whether the returned error was
8157// because http.StatusNotModified was returned.
8158func (c *MyconfigReleaseDownloadAccessCall) Do(opts ...googleapi.CallOption) (*DownloadAccesses, error) {
8159	gensupport.SetOptions(c.urlParams_, opts...)
8160	res, err := c.doRequest("json")
8161	if res != nil && res.StatusCode == http.StatusNotModified {
8162		if res.Body != nil {
8163			res.Body.Close()
8164		}
8165		return nil, &googleapi.Error{
8166			Code:   res.StatusCode,
8167			Header: res.Header,
8168		}
8169	}
8170	if err != nil {
8171		return nil, err
8172	}
8173	defer googleapi.CloseBody(res)
8174	if err := googleapi.CheckResponse(res); err != nil {
8175		return nil, err
8176	}
8177	ret := &DownloadAccesses{
8178		ServerResponse: googleapi.ServerResponse{
8179			Header:         res.Header,
8180			HTTPStatusCode: res.StatusCode,
8181		},
8182	}
8183	target := &ret
8184	if err := gensupport.DecodeResponse(target, res); err != nil {
8185		return nil, err
8186	}
8187	return ret, nil
8188	// {
8189	//   "description": "Release downloaded content access restriction.",
8190	//   "flatPath": "books/v1/myconfig/releaseDownloadAccess",
8191	//   "httpMethod": "POST",
8192	//   "id": "books.myconfig.releaseDownloadAccess",
8193	//   "parameterOrder": [
8194	//     "cpksver",
8195	//     "volumeIds"
8196	//   ],
8197	//   "parameters": {
8198	//     "cpksver": {
8199	//       "description": "The device/version ID from which to release the restriction.",
8200	//       "location": "query",
8201	//       "required": true,
8202	//       "type": "string"
8203	//     },
8204	//     "locale": {
8205	//       "description": "ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.",
8206	//       "location": "query",
8207	//       "type": "string"
8208	//     },
8209	//     "source": {
8210	//       "description": "String to identify the originator of this request.",
8211	//       "location": "query",
8212	//       "type": "string"
8213	//     },
8214	//     "volumeIds": {
8215	//       "description": "The volume(s) to release restrictions for.",
8216	//       "location": "query",
8217	//       "repeated": true,
8218	//       "required": true,
8219	//       "type": "string"
8220	//     }
8221	//   },
8222	//   "path": "books/v1/myconfig/releaseDownloadAccess",
8223	//   "response": {
8224	//     "$ref": "DownloadAccesses"
8225	//   },
8226	//   "scopes": [
8227	//     "https://www.googleapis.com/auth/books"
8228	//   ]
8229	// }
8230
8231}
8232
8233// method id "books.myconfig.requestAccess":
8234
8235type MyconfigRequestAccessCall struct {
8236	s          *Service
8237	urlParams_ gensupport.URLParams
8238	ctx_       context.Context
8239	header_    http.Header
8240}
8241
8242// RequestAccess: Request concurrent and download access restrictions.
8243//
8244// - cpksver: The device/version ID from which to request the
8245//   restrictions.
8246// - nonce: The client nonce value.
8247// - source: String to identify the originator of this request.
8248// - volumeId: The volume to request concurrent/download restrictions
8249//   for.
8250func (r *MyconfigService) RequestAccess(cpksver string, nonce string, source string, volumeId string) *MyconfigRequestAccessCall {
8251	c := &MyconfigRequestAccessCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8252	c.urlParams_.Set("cpksver", cpksver)
8253	c.urlParams_.Set("nonce", nonce)
8254	c.urlParams_.Set("source", source)
8255	c.urlParams_.Set("volumeId", volumeId)
8256	return c
8257}
8258
8259// LicenseTypes sets the optional parameter "licenseTypes": The type of
8260// access license to request. If not specified, the default is BOTH.
8261//
8262// Possible values:
8263//   "LICENSE_TYPES_UNDEFINED"
8264//   "BOTH" - Both concurrent and download licenses.
8265//   "CONCURRENT" - Concurrent access license.
8266//   "DOWNLOAD" - Offline download access license.
8267func (c *MyconfigRequestAccessCall) LicenseTypes(licenseTypes string) *MyconfigRequestAccessCall {
8268	c.urlParams_.Set("licenseTypes", licenseTypes)
8269	return c
8270}
8271
8272// Locale sets the optional parameter "locale": ISO-639-1, ISO-3166-1
8273// codes for message localization, i.e. en_US.
8274func (c *MyconfigRequestAccessCall) Locale(locale string) *MyconfigRequestAccessCall {
8275	c.urlParams_.Set("locale", locale)
8276	return c
8277}
8278
8279// Fields allows partial responses to be retrieved. See
8280// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8281// for more information.
8282func (c *MyconfigRequestAccessCall) Fields(s ...googleapi.Field) *MyconfigRequestAccessCall {
8283	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8284	return c
8285}
8286
8287// Context sets the context to be used in this call's Do method. Any
8288// pending HTTP request will be aborted if the provided context is
8289// canceled.
8290func (c *MyconfigRequestAccessCall) Context(ctx context.Context) *MyconfigRequestAccessCall {
8291	c.ctx_ = ctx
8292	return c
8293}
8294
8295// Header returns an http.Header that can be modified by the caller to
8296// add HTTP headers to the request.
8297func (c *MyconfigRequestAccessCall) Header() http.Header {
8298	if c.header_ == nil {
8299		c.header_ = make(http.Header)
8300	}
8301	return c.header_
8302}
8303
8304func (c *MyconfigRequestAccessCall) doRequest(alt string) (*http.Response, error) {
8305	reqHeaders := make(http.Header)
8306	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
8307	for k, v := range c.header_ {
8308		reqHeaders[k] = v
8309	}
8310	reqHeaders.Set("User-Agent", c.s.userAgent())
8311	var body io.Reader = nil
8312	c.urlParams_.Set("alt", alt)
8313	c.urlParams_.Set("prettyPrint", "false")
8314	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/myconfig/requestAccess")
8315	urls += "?" + c.urlParams_.Encode()
8316	req, err := http.NewRequest("POST", urls, body)
8317	if err != nil {
8318		return nil, err
8319	}
8320	req.Header = reqHeaders
8321	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8322}
8323
8324// Do executes the "books.myconfig.requestAccess" call.
8325// Exactly one of *RequestAccessData or error will be non-nil. Any
8326// non-2xx status code is an error. Response headers are in either
8327// *RequestAccessData.ServerResponse.Header or (if a response was
8328// returned at all) in error.(*googleapi.Error).Header. Use
8329// googleapi.IsNotModified to check whether the returned error was
8330// because http.StatusNotModified was returned.
8331func (c *MyconfigRequestAccessCall) Do(opts ...googleapi.CallOption) (*RequestAccessData, error) {
8332	gensupport.SetOptions(c.urlParams_, opts...)
8333	res, err := c.doRequest("json")
8334	if res != nil && res.StatusCode == http.StatusNotModified {
8335		if res.Body != nil {
8336			res.Body.Close()
8337		}
8338		return nil, &googleapi.Error{
8339			Code:   res.StatusCode,
8340			Header: res.Header,
8341		}
8342	}
8343	if err != nil {
8344		return nil, err
8345	}
8346	defer googleapi.CloseBody(res)
8347	if err := googleapi.CheckResponse(res); err != nil {
8348		return nil, err
8349	}
8350	ret := &RequestAccessData{
8351		ServerResponse: googleapi.ServerResponse{
8352			Header:         res.Header,
8353			HTTPStatusCode: res.StatusCode,
8354		},
8355	}
8356	target := &ret
8357	if err := gensupport.DecodeResponse(target, res); err != nil {
8358		return nil, err
8359	}
8360	return ret, nil
8361	// {
8362	//   "description": "Request concurrent and download access restrictions.",
8363	//   "flatPath": "books/v1/myconfig/requestAccess",
8364	//   "httpMethod": "POST",
8365	//   "id": "books.myconfig.requestAccess",
8366	//   "parameterOrder": [
8367	//     "cpksver",
8368	//     "nonce",
8369	//     "source",
8370	//     "volumeId"
8371	//   ],
8372	//   "parameters": {
8373	//     "cpksver": {
8374	//       "description": "The device/version ID from which to request the restrictions.",
8375	//       "location": "query",
8376	//       "required": true,
8377	//       "type": "string"
8378	//     },
8379	//     "licenseTypes": {
8380	//       "description": "The type of access license to request. If not specified, the default is BOTH.",
8381	//       "enum": [
8382	//         "LICENSE_TYPES_UNDEFINED",
8383	//         "BOTH",
8384	//         "CONCURRENT",
8385	//         "DOWNLOAD"
8386	//       ],
8387	//       "enumDescriptions": [
8388	//         "",
8389	//         "Both concurrent and download licenses.",
8390	//         "Concurrent access license.",
8391	//         "Offline download access license."
8392	//       ],
8393	//       "location": "query",
8394	//       "type": "string"
8395	//     },
8396	//     "locale": {
8397	//       "description": "ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.",
8398	//       "location": "query",
8399	//       "type": "string"
8400	//     },
8401	//     "nonce": {
8402	//       "description": "The client nonce value.",
8403	//       "location": "query",
8404	//       "required": true,
8405	//       "type": "string"
8406	//     },
8407	//     "source": {
8408	//       "description": "String to identify the originator of this request.",
8409	//       "location": "query",
8410	//       "required": true,
8411	//       "type": "string"
8412	//     },
8413	//     "volumeId": {
8414	//       "description": "The volume to request concurrent/download restrictions for.",
8415	//       "location": "query",
8416	//       "required": true,
8417	//       "type": "string"
8418	//     }
8419	//   },
8420	//   "path": "books/v1/myconfig/requestAccess",
8421	//   "response": {
8422	//     "$ref": "RequestAccessData"
8423	//   },
8424	//   "scopes": [
8425	//     "https://www.googleapis.com/auth/books"
8426	//   ]
8427	// }
8428
8429}
8430
8431// method id "books.myconfig.syncVolumeLicenses":
8432
8433type MyconfigSyncVolumeLicensesCall struct {
8434	s          *Service
8435	urlParams_ gensupport.URLParams
8436	ctx_       context.Context
8437	header_    http.Header
8438}
8439
8440// SyncVolumeLicenses: Request downloaded content access for specified
8441// volumes on the My eBooks shelf.
8442//
8443// - cpksver: The device/version ID from which to release the
8444//   restriction.
8445// - nonce: The client nonce value.
8446// - source: String to identify the originator of this request.
8447func (r *MyconfigService) SyncVolumeLicenses(cpksver string, nonce string, source string) *MyconfigSyncVolumeLicensesCall {
8448	c := &MyconfigSyncVolumeLicensesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8449	c.urlParams_.Set("cpksver", cpksver)
8450	c.urlParams_.Set("nonce", nonce)
8451	c.urlParams_.Set("source", source)
8452	return c
8453}
8454
8455// Features sets the optional parameter "features": List of features
8456// supported by the client, i.e., 'RENTALS'
8457//
8458// Possible values:
8459//   "FEATURES_UNDEFINED"
8460//   "RENTALS" - Client supports rentals.
8461func (c *MyconfigSyncVolumeLicensesCall) Features(features ...string) *MyconfigSyncVolumeLicensesCall {
8462	c.urlParams_.SetMulti("features", append([]string{}, features...))
8463	return c
8464}
8465
8466// IncludeNonComicsSeries sets the optional parameter
8467// "includeNonComicsSeries": Set to true to include non-comics series.
8468// Defaults to false.
8469func (c *MyconfigSyncVolumeLicensesCall) IncludeNonComicsSeries(includeNonComicsSeries bool) *MyconfigSyncVolumeLicensesCall {
8470	c.urlParams_.Set("includeNonComicsSeries", fmt.Sprint(includeNonComicsSeries))
8471	return c
8472}
8473
8474// Locale sets the optional parameter "locale": ISO-639-1, ISO-3166-1
8475// codes for message localization, i.e. en_US.
8476func (c *MyconfigSyncVolumeLicensesCall) Locale(locale string) *MyconfigSyncVolumeLicensesCall {
8477	c.urlParams_.Set("locale", locale)
8478	return c
8479}
8480
8481// ShowPreorders sets the optional parameter "showPreorders": Set to
8482// true to show pre-ordered books. Defaults to false.
8483func (c *MyconfigSyncVolumeLicensesCall) ShowPreorders(showPreorders bool) *MyconfigSyncVolumeLicensesCall {
8484	c.urlParams_.Set("showPreorders", fmt.Sprint(showPreorders))
8485	return c
8486}
8487
8488// VolumeIds sets the optional parameter "volumeIds": The volume(s) to
8489// request download restrictions for.
8490func (c *MyconfigSyncVolumeLicensesCall) VolumeIds(volumeIds ...string) *MyconfigSyncVolumeLicensesCall {
8491	c.urlParams_.SetMulti("volumeIds", append([]string{}, volumeIds...))
8492	return c
8493}
8494
8495// Fields allows partial responses to be retrieved. See
8496// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8497// for more information.
8498func (c *MyconfigSyncVolumeLicensesCall) Fields(s ...googleapi.Field) *MyconfigSyncVolumeLicensesCall {
8499	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8500	return c
8501}
8502
8503// Context sets the context to be used in this call's Do method. Any
8504// pending HTTP request will be aborted if the provided context is
8505// canceled.
8506func (c *MyconfigSyncVolumeLicensesCall) Context(ctx context.Context) *MyconfigSyncVolumeLicensesCall {
8507	c.ctx_ = ctx
8508	return c
8509}
8510
8511// Header returns an http.Header that can be modified by the caller to
8512// add HTTP headers to the request.
8513func (c *MyconfigSyncVolumeLicensesCall) Header() http.Header {
8514	if c.header_ == nil {
8515		c.header_ = make(http.Header)
8516	}
8517	return c.header_
8518}
8519
8520func (c *MyconfigSyncVolumeLicensesCall) doRequest(alt string) (*http.Response, error) {
8521	reqHeaders := make(http.Header)
8522	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
8523	for k, v := range c.header_ {
8524		reqHeaders[k] = v
8525	}
8526	reqHeaders.Set("User-Agent", c.s.userAgent())
8527	var body io.Reader = nil
8528	c.urlParams_.Set("alt", alt)
8529	c.urlParams_.Set("prettyPrint", "false")
8530	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/myconfig/syncVolumeLicenses")
8531	urls += "?" + c.urlParams_.Encode()
8532	req, err := http.NewRequest("POST", urls, body)
8533	if err != nil {
8534		return nil, err
8535	}
8536	req.Header = reqHeaders
8537	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8538}
8539
8540// Do executes the "books.myconfig.syncVolumeLicenses" call.
8541// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
8542// code is an error. Response headers are in either
8543// *Volumes.ServerResponse.Header or (if a response was returned at all)
8544// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8545// check whether the returned error was because http.StatusNotModified
8546// was returned.
8547func (c *MyconfigSyncVolumeLicensesCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
8548	gensupport.SetOptions(c.urlParams_, opts...)
8549	res, err := c.doRequest("json")
8550	if res != nil && res.StatusCode == http.StatusNotModified {
8551		if res.Body != nil {
8552			res.Body.Close()
8553		}
8554		return nil, &googleapi.Error{
8555			Code:   res.StatusCode,
8556			Header: res.Header,
8557		}
8558	}
8559	if err != nil {
8560		return nil, err
8561	}
8562	defer googleapi.CloseBody(res)
8563	if err := googleapi.CheckResponse(res); err != nil {
8564		return nil, err
8565	}
8566	ret := &Volumes{
8567		ServerResponse: googleapi.ServerResponse{
8568			Header:         res.Header,
8569			HTTPStatusCode: res.StatusCode,
8570		},
8571	}
8572	target := &ret
8573	if err := gensupport.DecodeResponse(target, res); err != nil {
8574		return nil, err
8575	}
8576	return ret, nil
8577	// {
8578	//   "description": "Request downloaded content access for specified volumes on the My eBooks shelf.",
8579	//   "flatPath": "books/v1/myconfig/syncVolumeLicenses",
8580	//   "httpMethod": "POST",
8581	//   "id": "books.myconfig.syncVolumeLicenses",
8582	//   "parameterOrder": [
8583	//     "cpksver",
8584	//     "nonce",
8585	//     "source"
8586	//   ],
8587	//   "parameters": {
8588	//     "cpksver": {
8589	//       "description": "The device/version ID from which to release the restriction.",
8590	//       "location": "query",
8591	//       "required": true,
8592	//       "type": "string"
8593	//     },
8594	//     "features": {
8595	//       "description": "List of features supported by the client, i.e., 'RENTALS'",
8596	//       "enum": [
8597	//         "FEATURES_UNDEFINED",
8598	//         "RENTALS"
8599	//       ],
8600	//       "enumDescriptions": [
8601	//         "",
8602	//         "Client supports rentals."
8603	//       ],
8604	//       "location": "query",
8605	//       "repeated": true,
8606	//       "type": "string"
8607	//     },
8608	//     "includeNonComicsSeries": {
8609	//       "description": "Set to true to include non-comics series. Defaults to false.",
8610	//       "location": "query",
8611	//       "type": "boolean"
8612	//     },
8613	//     "locale": {
8614	//       "description": "ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.",
8615	//       "location": "query",
8616	//       "type": "string"
8617	//     },
8618	//     "nonce": {
8619	//       "description": "The client nonce value.",
8620	//       "location": "query",
8621	//       "required": true,
8622	//       "type": "string"
8623	//     },
8624	//     "showPreorders": {
8625	//       "description": "Set to true to show pre-ordered books. Defaults to false.",
8626	//       "location": "query",
8627	//       "type": "boolean"
8628	//     },
8629	//     "source": {
8630	//       "description": "String to identify the originator of this request.",
8631	//       "location": "query",
8632	//       "required": true,
8633	//       "type": "string"
8634	//     },
8635	//     "volumeIds": {
8636	//       "description": "The volume(s) to request download restrictions for.",
8637	//       "location": "query",
8638	//       "repeated": true,
8639	//       "type": "string"
8640	//     }
8641	//   },
8642	//   "path": "books/v1/myconfig/syncVolumeLicenses",
8643	//   "response": {
8644	//     "$ref": "Volumes"
8645	//   },
8646	//   "scopes": [
8647	//     "https://www.googleapis.com/auth/books"
8648	//   ]
8649	// }
8650
8651}
8652
8653// method id "books.myconfig.updateUserSettings":
8654
8655type MyconfigUpdateUserSettingsCall struct {
8656	s            *Service
8657	usersettings *Usersettings
8658	urlParams_   gensupport.URLParams
8659	ctx_         context.Context
8660	header_      http.Header
8661}
8662
8663// UpdateUserSettings: Sets the settings for the user. If a sub-object
8664// is specified, it will overwrite the existing sub-object stored in the
8665// server. Unspecified sub-objects will retain the existing value.
8666func (r *MyconfigService) UpdateUserSettings(usersettings *Usersettings) *MyconfigUpdateUserSettingsCall {
8667	c := &MyconfigUpdateUserSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8668	c.usersettings = usersettings
8669	return c
8670}
8671
8672// Fields allows partial responses to be retrieved. See
8673// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8674// for more information.
8675func (c *MyconfigUpdateUserSettingsCall) Fields(s ...googleapi.Field) *MyconfigUpdateUserSettingsCall {
8676	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8677	return c
8678}
8679
8680// Context sets the context to be used in this call's Do method. Any
8681// pending HTTP request will be aborted if the provided context is
8682// canceled.
8683func (c *MyconfigUpdateUserSettingsCall) Context(ctx context.Context) *MyconfigUpdateUserSettingsCall {
8684	c.ctx_ = ctx
8685	return c
8686}
8687
8688// Header returns an http.Header that can be modified by the caller to
8689// add HTTP headers to the request.
8690func (c *MyconfigUpdateUserSettingsCall) Header() http.Header {
8691	if c.header_ == nil {
8692		c.header_ = make(http.Header)
8693	}
8694	return c.header_
8695}
8696
8697func (c *MyconfigUpdateUserSettingsCall) doRequest(alt string) (*http.Response, error) {
8698	reqHeaders := make(http.Header)
8699	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
8700	for k, v := range c.header_ {
8701		reqHeaders[k] = v
8702	}
8703	reqHeaders.Set("User-Agent", c.s.userAgent())
8704	var body io.Reader = nil
8705	body, err := googleapi.WithoutDataWrapper.JSONReader(c.usersettings)
8706	if err != nil {
8707		return nil, err
8708	}
8709	reqHeaders.Set("Content-Type", "application/json")
8710	c.urlParams_.Set("alt", alt)
8711	c.urlParams_.Set("prettyPrint", "false")
8712	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/myconfig/updateUserSettings")
8713	urls += "?" + c.urlParams_.Encode()
8714	req, err := http.NewRequest("POST", urls, body)
8715	if err != nil {
8716		return nil, err
8717	}
8718	req.Header = reqHeaders
8719	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8720}
8721
8722// Do executes the "books.myconfig.updateUserSettings" call.
8723// Exactly one of *Usersettings or error will be non-nil. Any non-2xx
8724// status code is an error. Response headers are in either
8725// *Usersettings.ServerResponse.Header or (if a response was returned at
8726// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8727// to check whether the returned error was because
8728// http.StatusNotModified was returned.
8729func (c *MyconfigUpdateUserSettingsCall) Do(opts ...googleapi.CallOption) (*Usersettings, error) {
8730	gensupport.SetOptions(c.urlParams_, opts...)
8731	res, err := c.doRequest("json")
8732	if res != nil && res.StatusCode == http.StatusNotModified {
8733		if res.Body != nil {
8734			res.Body.Close()
8735		}
8736		return nil, &googleapi.Error{
8737			Code:   res.StatusCode,
8738			Header: res.Header,
8739		}
8740	}
8741	if err != nil {
8742		return nil, err
8743	}
8744	defer googleapi.CloseBody(res)
8745	if err := googleapi.CheckResponse(res); err != nil {
8746		return nil, err
8747	}
8748	ret := &Usersettings{
8749		ServerResponse: googleapi.ServerResponse{
8750			Header:         res.Header,
8751			HTTPStatusCode: res.StatusCode,
8752		},
8753	}
8754	target := &ret
8755	if err := gensupport.DecodeResponse(target, res); err != nil {
8756		return nil, err
8757	}
8758	return ret, nil
8759	// {
8760	//   "description": "Sets the settings for the user. If a sub-object is specified, it will overwrite the existing sub-object stored in the server. Unspecified sub-objects will retain the existing value.",
8761	//   "flatPath": "books/v1/myconfig/updateUserSettings",
8762	//   "httpMethod": "POST",
8763	//   "id": "books.myconfig.updateUserSettings",
8764	//   "parameterOrder": [],
8765	//   "parameters": {},
8766	//   "path": "books/v1/myconfig/updateUserSettings",
8767	//   "request": {
8768	//     "$ref": "Usersettings"
8769	//   },
8770	//   "response": {
8771	//     "$ref": "Usersettings"
8772	//   },
8773	//   "scopes": [
8774	//     "https://www.googleapis.com/auth/books"
8775	//   ]
8776	// }
8777
8778}
8779
8780// method id "books.mylibrary.annotations.delete":
8781
8782type MylibraryAnnotationsDeleteCall struct {
8783	s            *Service
8784	annotationId string
8785	urlParams_   gensupport.URLParams
8786	ctx_         context.Context
8787	header_      http.Header
8788}
8789
8790// Delete: Deletes an annotation.
8791//
8792// - annotationId: The ID for the annotation to delete.
8793func (r *MylibraryAnnotationsService) Delete(annotationId string) *MylibraryAnnotationsDeleteCall {
8794	c := &MylibraryAnnotationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8795	c.annotationId = annotationId
8796	return c
8797}
8798
8799// Source sets the optional parameter "source": String to identify the
8800// originator of this request.
8801func (c *MylibraryAnnotationsDeleteCall) Source(source string) *MylibraryAnnotationsDeleteCall {
8802	c.urlParams_.Set("source", source)
8803	return c
8804}
8805
8806// Fields allows partial responses to be retrieved. See
8807// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8808// for more information.
8809func (c *MylibraryAnnotationsDeleteCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsDeleteCall {
8810	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8811	return c
8812}
8813
8814// Context sets the context to be used in this call's Do method. Any
8815// pending HTTP request will be aborted if the provided context is
8816// canceled.
8817func (c *MylibraryAnnotationsDeleteCall) Context(ctx context.Context) *MylibraryAnnotationsDeleteCall {
8818	c.ctx_ = ctx
8819	return c
8820}
8821
8822// Header returns an http.Header that can be modified by the caller to
8823// add HTTP headers to the request.
8824func (c *MylibraryAnnotationsDeleteCall) Header() http.Header {
8825	if c.header_ == nil {
8826		c.header_ = make(http.Header)
8827	}
8828	return c.header_
8829}
8830
8831func (c *MylibraryAnnotationsDeleteCall) doRequest(alt string) (*http.Response, error) {
8832	reqHeaders := make(http.Header)
8833	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
8834	for k, v := range c.header_ {
8835		reqHeaders[k] = v
8836	}
8837	reqHeaders.Set("User-Agent", c.s.userAgent())
8838	var body io.Reader = nil
8839	c.urlParams_.Set("alt", alt)
8840	c.urlParams_.Set("prettyPrint", "false")
8841	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/annotations/{annotationId}")
8842	urls += "?" + c.urlParams_.Encode()
8843	req, err := http.NewRequest("DELETE", urls, body)
8844	if err != nil {
8845		return nil, err
8846	}
8847	req.Header = reqHeaders
8848	googleapi.Expand(req.URL, map[string]string{
8849		"annotationId": c.annotationId,
8850	})
8851	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8852}
8853
8854// Do executes the "books.mylibrary.annotations.delete" call.
8855// Exactly one of *Empty or error will be non-nil. Any non-2xx status
8856// code is an error. Response headers are in either
8857// *Empty.ServerResponse.Header or (if a response was returned at all)
8858// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8859// check whether the returned error was because http.StatusNotModified
8860// was returned.
8861func (c *MylibraryAnnotationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
8862	gensupport.SetOptions(c.urlParams_, opts...)
8863	res, err := c.doRequest("json")
8864	if res != nil && res.StatusCode == http.StatusNotModified {
8865		if res.Body != nil {
8866			res.Body.Close()
8867		}
8868		return nil, &googleapi.Error{
8869			Code:   res.StatusCode,
8870			Header: res.Header,
8871		}
8872	}
8873	if err != nil {
8874		return nil, err
8875	}
8876	defer googleapi.CloseBody(res)
8877	if err := googleapi.CheckResponse(res); err != nil {
8878		return nil, err
8879	}
8880	ret := &Empty{
8881		ServerResponse: googleapi.ServerResponse{
8882			Header:         res.Header,
8883			HTTPStatusCode: res.StatusCode,
8884		},
8885	}
8886	target := &ret
8887	if err := gensupport.DecodeResponse(target, res); err != nil {
8888		return nil, err
8889	}
8890	return ret, nil
8891	// {
8892	//   "description": "Deletes an annotation.",
8893	//   "flatPath": "books/v1/mylibrary/annotations/{annotationId}",
8894	//   "httpMethod": "DELETE",
8895	//   "id": "books.mylibrary.annotations.delete",
8896	//   "parameterOrder": [
8897	//     "annotationId"
8898	//   ],
8899	//   "parameters": {
8900	//     "annotationId": {
8901	//       "description": "The ID for the annotation to delete.",
8902	//       "location": "path",
8903	//       "required": true,
8904	//       "type": "string"
8905	//     },
8906	//     "source": {
8907	//       "description": "String to identify the originator of this request.",
8908	//       "location": "query",
8909	//       "type": "string"
8910	//     }
8911	//   },
8912	//   "path": "books/v1/mylibrary/annotations/{annotationId}",
8913	//   "response": {
8914	//     "$ref": "Empty"
8915	//   },
8916	//   "scopes": [
8917	//     "https://www.googleapis.com/auth/books"
8918	//   ]
8919	// }
8920
8921}
8922
8923// method id "books.mylibrary.annotations.insert":
8924
8925type MylibraryAnnotationsInsertCall struct {
8926	s          *Service
8927	annotation *Annotation
8928	urlParams_ gensupport.URLParams
8929	ctx_       context.Context
8930	header_    http.Header
8931}
8932
8933// Insert: Inserts a new annotation.
8934func (r *MylibraryAnnotationsService) Insert(annotation *Annotation) *MylibraryAnnotationsInsertCall {
8935	c := &MylibraryAnnotationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8936	c.annotation = annotation
8937	return c
8938}
8939
8940// AnnotationId sets the optional parameter "annotationId": The ID for
8941// the annotation to insert.
8942func (c *MylibraryAnnotationsInsertCall) AnnotationId(annotationId string) *MylibraryAnnotationsInsertCall {
8943	c.urlParams_.Set("annotationId", annotationId)
8944	return c
8945}
8946
8947// Country sets the optional parameter "country": ISO-3166-1 code to
8948// override the IP-based location.
8949func (c *MylibraryAnnotationsInsertCall) Country(country string) *MylibraryAnnotationsInsertCall {
8950	c.urlParams_.Set("country", country)
8951	return c
8952}
8953
8954// ShowOnlySummaryInResponse sets the optional parameter
8955// "showOnlySummaryInResponse": Requests that only the summary of the
8956// specified layer be provided in the response.
8957func (c *MylibraryAnnotationsInsertCall) ShowOnlySummaryInResponse(showOnlySummaryInResponse bool) *MylibraryAnnotationsInsertCall {
8958	c.urlParams_.Set("showOnlySummaryInResponse", fmt.Sprint(showOnlySummaryInResponse))
8959	return c
8960}
8961
8962// Source sets the optional parameter "source": String to identify the
8963// originator of this request.
8964func (c *MylibraryAnnotationsInsertCall) Source(source string) *MylibraryAnnotationsInsertCall {
8965	c.urlParams_.Set("source", source)
8966	return c
8967}
8968
8969// Fields allows partial responses to be retrieved. See
8970// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8971// for more information.
8972func (c *MylibraryAnnotationsInsertCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsInsertCall {
8973	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8974	return c
8975}
8976
8977// Context sets the context to be used in this call's Do method. Any
8978// pending HTTP request will be aborted if the provided context is
8979// canceled.
8980func (c *MylibraryAnnotationsInsertCall) Context(ctx context.Context) *MylibraryAnnotationsInsertCall {
8981	c.ctx_ = ctx
8982	return c
8983}
8984
8985// Header returns an http.Header that can be modified by the caller to
8986// add HTTP headers to the request.
8987func (c *MylibraryAnnotationsInsertCall) Header() http.Header {
8988	if c.header_ == nil {
8989		c.header_ = make(http.Header)
8990	}
8991	return c.header_
8992}
8993
8994func (c *MylibraryAnnotationsInsertCall) doRequest(alt string) (*http.Response, error) {
8995	reqHeaders := make(http.Header)
8996	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
8997	for k, v := range c.header_ {
8998		reqHeaders[k] = v
8999	}
9000	reqHeaders.Set("User-Agent", c.s.userAgent())
9001	var body io.Reader = nil
9002	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotation)
9003	if err != nil {
9004		return nil, err
9005	}
9006	reqHeaders.Set("Content-Type", "application/json")
9007	c.urlParams_.Set("alt", alt)
9008	c.urlParams_.Set("prettyPrint", "false")
9009	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/annotations")
9010	urls += "?" + c.urlParams_.Encode()
9011	req, err := http.NewRequest("POST", urls, body)
9012	if err != nil {
9013		return nil, err
9014	}
9015	req.Header = reqHeaders
9016	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9017}
9018
9019// Do executes the "books.mylibrary.annotations.insert" call.
9020// Exactly one of *Annotation or error will be non-nil. Any non-2xx
9021// status code is an error. Response headers are in either
9022// *Annotation.ServerResponse.Header or (if a response was returned at
9023// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9024// to check whether the returned error was because
9025// http.StatusNotModified was returned.
9026func (c *MylibraryAnnotationsInsertCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
9027	gensupport.SetOptions(c.urlParams_, opts...)
9028	res, err := c.doRequest("json")
9029	if res != nil && res.StatusCode == http.StatusNotModified {
9030		if res.Body != nil {
9031			res.Body.Close()
9032		}
9033		return nil, &googleapi.Error{
9034			Code:   res.StatusCode,
9035			Header: res.Header,
9036		}
9037	}
9038	if err != nil {
9039		return nil, err
9040	}
9041	defer googleapi.CloseBody(res)
9042	if err := googleapi.CheckResponse(res); err != nil {
9043		return nil, err
9044	}
9045	ret := &Annotation{
9046		ServerResponse: googleapi.ServerResponse{
9047			Header:         res.Header,
9048			HTTPStatusCode: res.StatusCode,
9049		},
9050	}
9051	target := &ret
9052	if err := gensupport.DecodeResponse(target, res); err != nil {
9053		return nil, err
9054	}
9055	return ret, nil
9056	// {
9057	//   "description": "Inserts a new annotation.",
9058	//   "flatPath": "books/v1/mylibrary/annotations",
9059	//   "httpMethod": "POST",
9060	//   "id": "books.mylibrary.annotations.insert",
9061	//   "parameterOrder": [],
9062	//   "parameters": {
9063	//     "annotationId": {
9064	//       "description": "The ID for the annotation to insert.",
9065	//       "location": "query",
9066	//       "type": "string"
9067	//     },
9068	//     "country": {
9069	//       "description": "ISO-3166-1 code to override the IP-based location.",
9070	//       "location": "query",
9071	//       "type": "string"
9072	//     },
9073	//     "showOnlySummaryInResponse": {
9074	//       "description": "Requests that only the summary of the specified layer be provided in the response.",
9075	//       "location": "query",
9076	//       "type": "boolean"
9077	//     },
9078	//     "source": {
9079	//       "description": "String to identify the originator of this request.",
9080	//       "location": "query",
9081	//       "type": "string"
9082	//     }
9083	//   },
9084	//   "path": "books/v1/mylibrary/annotations",
9085	//   "request": {
9086	//     "$ref": "Annotation"
9087	//   },
9088	//   "response": {
9089	//     "$ref": "Annotation"
9090	//   },
9091	//   "scopes": [
9092	//     "https://www.googleapis.com/auth/books"
9093	//   ]
9094	// }
9095
9096}
9097
9098// method id "books.mylibrary.annotations.list":
9099
9100type MylibraryAnnotationsListCall struct {
9101	s            *Service
9102	urlParams_   gensupport.URLParams
9103	ifNoneMatch_ string
9104	ctx_         context.Context
9105	header_      http.Header
9106}
9107
9108// List: Retrieves a list of annotations, possibly filtered.
9109func (r *MylibraryAnnotationsService) List() *MylibraryAnnotationsListCall {
9110	c := &MylibraryAnnotationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9111	return c
9112}
9113
9114// ContentVersion sets the optional parameter "contentVersion": The
9115// content version for the requested volume.
9116func (c *MylibraryAnnotationsListCall) ContentVersion(contentVersion string) *MylibraryAnnotationsListCall {
9117	c.urlParams_.Set("contentVersion", contentVersion)
9118	return c
9119}
9120
9121// LayerId sets the optional parameter "layerId": The layer ID to limit
9122// annotation by.
9123func (c *MylibraryAnnotationsListCall) LayerId(layerId string) *MylibraryAnnotationsListCall {
9124	c.urlParams_.Set("layerId", layerId)
9125	return c
9126}
9127
9128// LayerIds sets the optional parameter "layerIds": The layer ID(s) to
9129// limit annotation by.
9130func (c *MylibraryAnnotationsListCall) LayerIds(layerIds ...string) *MylibraryAnnotationsListCall {
9131	c.urlParams_.SetMulti("layerIds", append([]string{}, layerIds...))
9132	return c
9133}
9134
9135// MaxResults sets the optional parameter "maxResults": Maximum number
9136// of results to return
9137func (c *MylibraryAnnotationsListCall) MaxResults(maxResults int64) *MylibraryAnnotationsListCall {
9138	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
9139	return c
9140}
9141
9142// PageToken sets the optional parameter "pageToken": The value of the
9143// nextToken from the previous page.
9144func (c *MylibraryAnnotationsListCall) PageToken(pageToken string) *MylibraryAnnotationsListCall {
9145	c.urlParams_.Set("pageToken", pageToken)
9146	return c
9147}
9148
9149// ShowDeleted sets the optional parameter "showDeleted": Set to true to
9150// return deleted annotations. updatedMin must be in the request to use
9151// this. Defaults to false.
9152func (c *MylibraryAnnotationsListCall) ShowDeleted(showDeleted bool) *MylibraryAnnotationsListCall {
9153	c.urlParams_.Set("showDeleted", fmt.Sprint(showDeleted))
9154	return c
9155}
9156
9157// Source sets the optional parameter "source": String to identify the
9158// originator of this request.
9159func (c *MylibraryAnnotationsListCall) Source(source string) *MylibraryAnnotationsListCall {
9160	c.urlParams_.Set("source", source)
9161	return c
9162}
9163
9164// UpdatedMax sets the optional parameter "updatedMax": RFC 3339
9165// timestamp to restrict to items updated prior to this timestamp
9166// (exclusive).
9167func (c *MylibraryAnnotationsListCall) UpdatedMax(updatedMax string) *MylibraryAnnotationsListCall {
9168	c.urlParams_.Set("updatedMax", updatedMax)
9169	return c
9170}
9171
9172// UpdatedMin sets the optional parameter "updatedMin": RFC 3339
9173// timestamp to restrict to items updated since this timestamp
9174// (inclusive).
9175func (c *MylibraryAnnotationsListCall) UpdatedMin(updatedMin string) *MylibraryAnnotationsListCall {
9176	c.urlParams_.Set("updatedMin", updatedMin)
9177	return c
9178}
9179
9180// VolumeId sets the optional parameter "volumeId": The volume to
9181// restrict annotations to.
9182func (c *MylibraryAnnotationsListCall) VolumeId(volumeId string) *MylibraryAnnotationsListCall {
9183	c.urlParams_.Set("volumeId", volumeId)
9184	return c
9185}
9186
9187// Fields allows partial responses to be retrieved. See
9188// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9189// for more information.
9190func (c *MylibraryAnnotationsListCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsListCall {
9191	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9192	return c
9193}
9194
9195// IfNoneMatch sets the optional parameter which makes the operation
9196// fail if the object's ETag matches the given value. This is useful for
9197// getting updates only after the object has changed since the last
9198// request. Use googleapi.IsNotModified to check whether the response
9199// error from Do is the result of In-None-Match.
9200func (c *MylibraryAnnotationsListCall) IfNoneMatch(entityTag string) *MylibraryAnnotationsListCall {
9201	c.ifNoneMatch_ = entityTag
9202	return c
9203}
9204
9205// Context sets the context to be used in this call's Do method. Any
9206// pending HTTP request will be aborted if the provided context is
9207// canceled.
9208func (c *MylibraryAnnotationsListCall) Context(ctx context.Context) *MylibraryAnnotationsListCall {
9209	c.ctx_ = ctx
9210	return c
9211}
9212
9213// Header returns an http.Header that can be modified by the caller to
9214// add HTTP headers to the request.
9215func (c *MylibraryAnnotationsListCall) Header() http.Header {
9216	if c.header_ == nil {
9217		c.header_ = make(http.Header)
9218	}
9219	return c.header_
9220}
9221
9222func (c *MylibraryAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
9223	reqHeaders := make(http.Header)
9224	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
9225	for k, v := range c.header_ {
9226		reqHeaders[k] = v
9227	}
9228	reqHeaders.Set("User-Agent", c.s.userAgent())
9229	if c.ifNoneMatch_ != "" {
9230		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9231	}
9232	var body io.Reader = nil
9233	c.urlParams_.Set("alt", alt)
9234	c.urlParams_.Set("prettyPrint", "false")
9235	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/annotations")
9236	urls += "?" + c.urlParams_.Encode()
9237	req, err := http.NewRequest("GET", urls, body)
9238	if err != nil {
9239		return nil, err
9240	}
9241	req.Header = reqHeaders
9242	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9243}
9244
9245// Do executes the "books.mylibrary.annotations.list" call.
9246// Exactly one of *Annotations or error will be non-nil. Any non-2xx
9247// status code is an error. Response headers are in either
9248// *Annotations.ServerResponse.Header or (if a response was returned at
9249// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9250// to check whether the returned error was because
9251// http.StatusNotModified was returned.
9252func (c *MylibraryAnnotationsListCall) Do(opts ...googleapi.CallOption) (*Annotations, error) {
9253	gensupport.SetOptions(c.urlParams_, opts...)
9254	res, err := c.doRequest("json")
9255	if res != nil && res.StatusCode == http.StatusNotModified {
9256		if res.Body != nil {
9257			res.Body.Close()
9258		}
9259		return nil, &googleapi.Error{
9260			Code:   res.StatusCode,
9261			Header: res.Header,
9262		}
9263	}
9264	if err != nil {
9265		return nil, err
9266	}
9267	defer googleapi.CloseBody(res)
9268	if err := googleapi.CheckResponse(res); err != nil {
9269		return nil, err
9270	}
9271	ret := &Annotations{
9272		ServerResponse: googleapi.ServerResponse{
9273			Header:         res.Header,
9274			HTTPStatusCode: res.StatusCode,
9275		},
9276	}
9277	target := &ret
9278	if err := gensupport.DecodeResponse(target, res); err != nil {
9279		return nil, err
9280	}
9281	return ret, nil
9282	// {
9283	//   "description": "Retrieves a list of annotations, possibly filtered.",
9284	//   "flatPath": "books/v1/mylibrary/annotations",
9285	//   "httpMethod": "GET",
9286	//   "id": "books.mylibrary.annotations.list",
9287	//   "parameterOrder": [],
9288	//   "parameters": {
9289	//     "contentVersion": {
9290	//       "description": "The content version for the requested volume.",
9291	//       "location": "query",
9292	//       "type": "string"
9293	//     },
9294	//     "layerId": {
9295	//       "description": "The layer ID to limit annotation by.",
9296	//       "location": "query",
9297	//       "type": "string"
9298	//     },
9299	//     "layerIds": {
9300	//       "description": "The layer ID(s) to limit annotation by.",
9301	//       "location": "query",
9302	//       "repeated": true,
9303	//       "type": "string"
9304	//     },
9305	//     "maxResults": {
9306	//       "description": "Maximum number of results to return",
9307	//       "format": "uint32",
9308	//       "location": "query",
9309	//       "maximum": "40",
9310	//       "minimum": "0",
9311	//       "type": "integer"
9312	//     },
9313	//     "pageToken": {
9314	//       "description": "The value of the nextToken from the previous page.",
9315	//       "location": "query",
9316	//       "type": "string"
9317	//     },
9318	//     "showDeleted": {
9319	//       "description": "Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.",
9320	//       "location": "query",
9321	//       "type": "boolean"
9322	//     },
9323	//     "source": {
9324	//       "description": "String to identify the originator of this request.",
9325	//       "location": "query",
9326	//       "type": "string"
9327	//     },
9328	//     "updatedMax": {
9329	//       "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).",
9330	//       "location": "query",
9331	//       "type": "string"
9332	//     },
9333	//     "updatedMin": {
9334	//       "description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).",
9335	//       "location": "query",
9336	//       "type": "string"
9337	//     },
9338	//     "volumeId": {
9339	//       "description": "The volume to restrict annotations to.",
9340	//       "location": "query",
9341	//       "type": "string"
9342	//     }
9343	//   },
9344	//   "path": "books/v1/mylibrary/annotations",
9345	//   "response": {
9346	//     "$ref": "Annotations"
9347	//   },
9348	//   "scopes": [
9349	//     "https://www.googleapis.com/auth/books"
9350	//   ]
9351	// }
9352
9353}
9354
9355// Pages invokes f for each page of results.
9356// A non-nil error returned from f will halt the iteration.
9357// The provided context supersedes any context provided to the Context method.
9358func (c *MylibraryAnnotationsListCall) Pages(ctx context.Context, f func(*Annotations) error) error {
9359	c.ctx_ = ctx
9360	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
9361	for {
9362		x, err := c.Do()
9363		if err != nil {
9364			return err
9365		}
9366		if err := f(x); err != nil {
9367			return err
9368		}
9369		if x.NextPageToken == "" {
9370			return nil
9371		}
9372		c.PageToken(x.NextPageToken)
9373	}
9374}
9375
9376// method id "books.mylibrary.annotations.summary":
9377
9378type MylibraryAnnotationsSummaryCall struct {
9379	s          *Service
9380	urlParams_ gensupport.URLParams
9381	ctx_       context.Context
9382	header_    http.Header
9383}
9384
9385// Summary: Gets the summary of specified layers.
9386//
9387// - layerIds: Array of layer IDs to get the summary for.
9388// - volumeId: Volume id to get the summary for.
9389func (r *MylibraryAnnotationsService) Summary(layerIds []string, volumeId string) *MylibraryAnnotationsSummaryCall {
9390	c := &MylibraryAnnotationsSummaryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9391	c.urlParams_.SetMulti("layerIds", append([]string{}, layerIds...))
9392	c.urlParams_.Set("volumeId", volumeId)
9393	return c
9394}
9395
9396// Fields allows partial responses to be retrieved. See
9397// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9398// for more information.
9399func (c *MylibraryAnnotationsSummaryCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsSummaryCall {
9400	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9401	return c
9402}
9403
9404// Context sets the context to be used in this call's Do method. Any
9405// pending HTTP request will be aborted if the provided context is
9406// canceled.
9407func (c *MylibraryAnnotationsSummaryCall) Context(ctx context.Context) *MylibraryAnnotationsSummaryCall {
9408	c.ctx_ = ctx
9409	return c
9410}
9411
9412// Header returns an http.Header that can be modified by the caller to
9413// add HTTP headers to the request.
9414func (c *MylibraryAnnotationsSummaryCall) Header() http.Header {
9415	if c.header_ == nil {
9416		c.header_ = make(http.Header)
9417	}
9418	return c.header_
9419}
9420
9421func (c *MylibraryAnnotationsSummaryCall) doRequest(alt string) (*http.Response, error) {
9422	reqHeaders := make(http.Header)
9423	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
9424	for k, v := range c.header_ {
9425		reqHeaders[k] = v
9426	}
9427	reqHeaders.Set("User-Agent", c.s.userAgent())
9428	var body io.Reader = nil
9429	c.urlParams_.Set("alt", alt)
9430	c.urlParams_.Set("prettyPrint", "false")
9431	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/annotations/summary")
9432	urls += "?" + c.urlParams_.Encode()
9433	req, err := http.NewRequest("POST", urls, body)
9434	if err != nil {
9435		return nil, err
9436	}
9437	req.Header = reqHeaders
9438	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9439}
9440
9441// Do executes the "books.mylibrary.annotations.summary" call.
9442// Exactly one of *AnnotationsSummary or error will be non-nil. Any
9443// non-2xx status code is an error. Response headers are in either
9444// *AnnotationsSummary.ServerResponse.Header or (if a response was
9445// returned at all) in error.(*googleapi.Error).Header. Use
9446// googleapi.IsNotModified to check whether the returned error was
9447// because http.StatusNotModified was returned.
9448func (c *MylibraryAnnotationsSummaryCall) Do(opts ...googleapi.CallOption) (*AnnotationsSummary, error) {
9449	gensupport.SetOptions(c.urlParams_, opts...)
9450	res, err := c.doRequest("json")
9451	if res != nil && res.StatusCode == http.StatusNotModified {
9452		if res.Body != nil {
9453			res.Body.Close()
9454		}
9455		return nil, &googleapi.Error{
9456			Code:   res.StatusCode,
9457			Header: res.Header,
9458		}
9459	}
9460	if err != nil {
9461		return nil, err
9462	}
9463	defer googleapi.CloseBody(res)
9464	if err := googleapi.CheckResponse(res); err != nil {
9465		return nil, err
9466	}
9467	ret := &AnnotationsSummary{
9468		ServerResponse: googleapi.ServerResponse{
9469			Header:         res.Header,
9470			HTTPStatusCode: res.StatusCode,
9471		},
9472	}
9473	target := &ret
9474	if err := gensupport.DecodeResponse(target, res); err != nil {
9475		return nil, err
9476	}
9477	return ret, nil
9478	// {
9479	//   "description": "Gets the summary of specified layers.",
9480	//   "flatPath": "books/v1/mylibrary/annotations/summary",
9481	//   "httpMethod": "POST",
9482	//   "id": "books.mylibrary.annotations.summary",
9483	//   "parameterOrder": [
9484	//     "layerIds",
9485	//     "volumeId"
9486	//   ],
9487	//   "parameters": {
9488	//     "layerIds": {
9489	//       "description": "Array of layer IDs to get the summary for.",
9490	//       "location": "query",
9491	//       "repeated": true,
9492	//       "required": true,
9493	//       "type": "string"
9494	//     },
9495	//     "volumeId": {
9496	//       "description": "Volume id to get the summary for.",
9497	//       "location": "query",
9498	//       "required": true,
9499	//       "type": "string"
9500	//     }
9501	//   },
9502	//   "path": "books/v1/mylibrary/annotations/summary",
9503	//   "response": {
9504	//     "$ref": "AnnotationsSummary"
9505	//   },
9506	//   "scopes": [
9507	//     "https://www.googleapis.com/auth/books"
9508	//   ]
9509	// }
9510
9511}
9512
9513// method id "books.mylibrary.annotations.update":
9514
9515type MylibraryAnnotationsUpdateCall struct {
9516	s            *Service
9517	annotationId string
9518	annotation   *Annotation
9519	urlParams_   gensupport.URLParams
9520	ctx_         context.Context
9521	header_      http.Header
9522}
9523
9524// Update: Updates an existing annotation.
9525//
9526// - annotationId: The ID for the annotation to update.
9527func (r *MylibraryAnnotationsService) Update(annotationId string, annotation *Annotation) *MylibraryAnnotationsUpdateCall {
9528	c := &MylibraryAnnotationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9529	c.annotationId = annotationId
9530	c.annotation = annotation
9531	return c
9532}
9533
9534// Source sets the optional parameter "source": String to identify the
9535// originator of this request.
9536func (c *MylibraryAnnotationsUpdateCall) Source(source string) *MylibraryAnnotationsUpdateCall {
9537	c.urlParams_.Set("source", source)
9538	return c
9539}
9540
9541// Fields allows partial responses to be retrieved. See
9542// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9543// for more information.
9544func (c *MylibraryAnnotationsUpdateCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsUpdateCall {
9545	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9546	return c
9547}
9548
9549// Context sets the context to be used in this call's Do method. Any
9550// pending HTTP request will be aborted if the provided context is
9551// canceled.
9552func (c *MylibraryAnnotationsUpdateCall) Context(ctx context.Context) *MylibraryAnnotationsUpdateCall {
9553	c.ctx_ = ctx
9554	return c
9555}
9556
9557// Header returns an http.Header that can be modified by the caller to
9558// add HTTP headers to the request.
9559func (c *MylibraryAnnotationsUpdateCall) Header() http.Header {
9560	if c.header_ == nil {
9561		c.header_ = make(http.Header)
9562	}
9563	return c.header_
9564}
9565
9566func (c *MylibraryAnnotationsUpdateCall) doRequest(alt string) (*http.Response, error) {
9567	reqHeaders := make(http.Header)
9568	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
9569	for k, v := range c.header_ {
9570		reqHeaders[k] = v
9571	}
9572	reqHeaders.Set("User-Agent", c.s.userAgent())
9573	var body io.Reader = nil
9574	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotation)
9575	if err != nil {
9576		return nil, err
9577	}
9578	reqHeaders.Set("Content-Type", "application/json")
9579	c.urlParams_.Set("alt", alt)
9580	c.urlParams_.Set("prettyPrint", "false")
9581	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/annotations/{annotationId}")
9582	urls += "?" + c.urlParams_.Encode()
9583	req, err := http.NewRequest("PUT", urls, body)
9584	if err != nil {
9585		return nil, err
9586	}
9587	req.Header = reqHeaders
9588	googleapi.Expand(req.URL, map[string]string{
9589		"annotationId": c.annotationId,
9590	})
9591	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9592}
9593
9594// Do executes the "books.mylibrary.annotations.update" call.
9595// Exactly one of *Annotation or error will be non-nil. Any non-2xx
9596// status code is an error. Response headers are in either
9597// *Annotation.ServerResponse.Header or (if a response was returned at
9598// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9599// to check whether the returned error was because
9600// http.StatusNotModified was returned.
9601func (c *MylibraryAnnotationsUpdateCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
9602	gensupport.SetOptions(c.urlParams_, opts...)
9603	res, err := c.doRequest("json")
9604	if res != nil && res.StatusCode == http.StatusNotModified {
9605		if res.Body != nil {
9606			res.Body.Close()
9607		}
9608		return nil, &googleapi.Error{
9609			Code:   res.StatusCode,
9610			Header: res.Header,
9611		}
9612	}
9613	if err != nil {
9614		return nil, err
9615	}
9616	defer googleapi.CloseBody(res)
9617	if err := googleapi.CheckResponse(res); err != nil {
9618		return nil, err
9619	}
9620	ret := &Annotation{
9621		ServerResponse: googleapi.ServerResponse{
9622			Header:         res.Header,
9623			HTTPStatusCode: res.StatusCode,
9624		},
9625	}
9626	target := &ret
9627	if err := gensupport.DecodeResponse(target, res); err != nil {
9628		return nil, err
9629	}
9630	return ret, nil
9631	// {
9632	//   "description": "Updates an existing annotation.",
9633	//   "flatPath": "books/v1/mylibrary/annotations/{annotationId}",
9634	//   "httpMethod": "PUT",
9635	//   "id": "books.mylibrary.annotations.update",
9636	//   "parameterOrder": [
9637	//     "annotationId"
9638	//   ],
9639	//   "parameters": {
9640	//     "annotationId": {
9641	//       "description": "The ID for the annotation to update.",
9642	//       "location": "path",
9643	//       "required": true,
9644	//       "type": "string"
9645	//     },
9646	//     "source": {
9647	//       "description": "String to identify the originator of this request.",
9648	//       "location": "query",
9649	//       "type": "string"
9650	//     }
9651	//   },
9652	//   "path": "books/v1/mylibrary/annotations/{annotationId}",
9653	//   "request": {
9654	//     "$ref": "Annotation"
9655	//   },
9656	//   "response": {
9657	//     "$ref": "Annotation"
9658	//   },
9659	//   "scopes": [
9660	//     "https://www.googleapis.com/auth/books"
9661	//   ]
9662	// }
9663
9664}
9665
9666// method id "books.mylibrary.bookshelves.addVolume":
9667
9668type MylibraryBookshelvesAddVolumeCall struct {
9669	s          *Service
9670	shelf      string
9671	urlParams_ gensupport.URLParams
9672	ctx_       context.Context
9673	header_    http.Header
9674}
9675
9676// AddVolume: Adds a volume to a bookshelf.
9677//
9678// - shelf: ID of bookshelf to which to add a volume.
9679// - volumeId: ID of volume to add.
9680func (r *MylibraryBookshelvesService) AddVolume(shelf string, volumeId string) *MylibraryBookshelvesAddVolumeCall {
9681	c := &MylibraryBookshelvesAddVolumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9682	c.shelf = shelf
9683	c.urlParams_.Set("volumeId", volumeId)
9684	return c
9685}
9686
9687// Reason sets the optional parameter "reason": The reason for which the
9688// book is added to the library.
9689//
9690// Possible values:
9691//   "REASON_UNDEFINED"
9692//   "IOS_PREX" - Volumes added from the PREX flow on iOS.
9693//   "IOS_SEARCH" - Volumes added from the Search flow on iOS.
9694//   "ONBOARDING" - Volumes added from the Onboarding flow.
9695func (c *MylibraryBookshelvesAddVolumeCall) Reason(reason string) *MylibraryBookshelvesAddVolumeCall {
9696	c.urlParams_.Set("reason", reason)
9697	return c
9698}
9699
9700// Source sets the optional parameter "source": String to identify the
9701// originator of this request.
9702func (c *MylibraryBookshelvesAddVolumeCall) Source(source string) *MylibraryBookshelvesAddVolumeCall {
9703	c.urlParams_.Set("source", source)
9704	return c
9705}
9706
9707// Fields allows partial responses to be retrieved. See
9708// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9709// for more information.
9710func (c *MylibraryBookshelvesAddVolumeCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesAddVolumeCall {
9711	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9712	return c
9713}
9714
9715// Context sets the context to be used in this call's Do method. Any
9716// pending HTTP request will be aborted if the provided context is
9717// canceled.
9718func (c *MylibraryBookshelvesAddVolumeCall) Context(ctx context.Context) *MylibraryBookshelvesAddVolumeCall {
9719	c.ctx_ = ctx
9720	return c
9721}
9722
9723// Header returns an http.Header that can be modified by the caller to
9724// add HTTP headers to the request.
9725func (c *MylibraryBookshelvesAddVolumeCall) Header() http.Header {
9726	if c.header_ == nil {
9727		c.header_ = make(http.Header)
9728	}
9729	return c.header_
9730}
9731
9732func (c *MylibraryBookshelvesAddVolumeCall) doRequest(alt string) (*http.Response, error) {
9733	reqHeaders := make(http.Header)
9734	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
9735	for k, v := range c.header_ {
9736		reqHeaders[k] = v
9737	}
9738	reqHeaders.Set("User-Agent", c.s.userAgent())
9739	var body io.Reader = nil
9740	c.urlParams_.Set("alt", alt)
9741	c.urlParams_.Set("prettyPrint", "false")
9742	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/bookshelves/{shelf}/addVolume")
9743	urls += "?" + c.urlParams_.Encode()
9744	req, err := http.NewRequest("POST", urls, body)
9745	if err != nil {
9746		return nil, err
9747	}
9748	req.Header = reqHeaders
9749	googleapi.Expand(req.URL, map[string]string{
9750		"shelf": c.shelf,
9751	})
9752	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9753}
9754
9755// Do executes the "books.mylibrary.bookshelves.addVolume" call.
9756// Exactly one of *Empty or error will be non-nil. Any non-2xx status
9757// code is an error. Response headers are in either
9758// *Empty.ServerResponse.Header or (if a response was returned at all)
9759// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9760// check whether the returned error was because http.StatusNotModified
9761// was returned.
9762func (c *MylibraryBookshelvesAddVolumeCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
9763	gensupport.SetOptions(c.urlParams_, opts...)
9764	res, err := c.doRequest("json")
9765	if res != nil && res.StatusCode == http.StatusNotModified {
9766		if res.Body != nil {
9767			res.Body.Close()
9768		}
9769		return nil, &googleapi.Error{
9770			Code:   res.StatusCode,
9771			Header: res.Header,
9772		}
9773	}
9774	if err != nil {
9775		return nil, err
9776	}
9777	defer googleapi.CloseBody(res)
9778	if err := googleapi.CheckResponse(res); err != nil {
9779		return nil, err
9780	}
9781	ret := &Empty{
9782		ServerResponse: googleapi.ServerResponse{
9783			Header:         res.Header,
9784			HTTPStatusCode: res.StatusCode,
9785		},
9786	}
9787	target := &ret
9788	if err := gensupport.DecodeResponse(target, res); err != nil {
9789		return nil, err
9790	}
9791	return ret, nil
9792	// {
9793	//   "description": "Adds a volume to a bookshelf.",
9794	//   "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/addVolume",
9795	//   "httpMethod": "POST",
9796	//   "id": "books.mylibrary.bookshelves.addVolume",
9797	//   "parameterOrder": [
9798	//     "shelf",
9799	//     "volumeId"
9800	//   ],
9801	//   "parameters": {
9802	//     "reason": {
9803	//       "description": "The reason for which the book is added to the library.",
9804	//       "enum": [
9805	//         "REASON_UNDEFINED",
9806	//         "IOS_PREX",
9807	//         "IOS_SEARCH",
9808	//         "ONBOARDING"
9809	//       ],
9810	//       "enumDescriptions": [
9811	//         "",
9812	//         "Volumes added from the PREX flow on iOS.",
9813	//         "Volumes added from the Search flow on iOS.",
9814	//         "Volumes added from the Onboarding flow."
9815	//       ],
9816	//       "location": "query",
9817	//       "type": "string"
9818	//     },
9819	//     "shelf": {
9820	//       "description": "ID of bookshelf to which to add a volume.",
9821	//       "location": "path",
9822	//       "required": true,
9823	//       "type": "string"
9824	//     },
9825	//     "source": {
9826	//       "description": "String to identify the originator of this request.",
9827	//       "location": "query",
9828	//       "type": "string"
9829	//     },
9830	//     "volumeId": {
9831	//       "description": "ID of volume to add.",
9832	//       "location": "query",
9833	//       "required": true,
9834	//       "type": "string"
9835	//     }
9836	//   },
9837	//   "path": "books/v1/mylibrary/bookshelves/{shelf}/addVolume",
9838	//   "response": {
9839	//     "$ref": "Empty"
9840	//   },
9841	//   "scopes": [
9842	//     "https://www.googleapis.com/auth/books"
9843	//   ]
9844	// }
9845
9846}
9847
9848// method id "books.mylibrary.bookshelves.clearVolumes":
9849
9850type MylibraryBookshelvesClearVolumesCall struct {
9851	s          *Service
9852	shelf      string
9853	urlParams_ gensupport.URLParams
9854	ctx_       context.Context
9855	header_    http.Header
9856}
9857
9858// ClearVolumes: Clears all volumes from a bookshelf.
9859//
9860// - shelf: ID of bookshelf from which to remove a volume.
9861func (r *MylibraryBookshelvesService) ClearVolumes(shelf string) *MylibraryBookshelvesClearVolumesCall {
9862	c := &MylibraryBookshelvesClearVolumesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9863	c.shelf = shelf
9864	return c
9865}
9866
9867// Source sets the optional parameter "source": String to identify the
9868// originator of this request.
9869func (c *MylibraryBookshelvesClearVolumesCall) Source(source string) *MylibraryBookshelvesClearVolumesCall {
9870	c.urlParams_.Set("source", source)
9871	return c
9872}
9873
9874// Fields allows partial responses to be retrieved. See
9875// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9876// for more information.
9877func (c *MylibraryBookshelvesClearVolumesCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesClearVolumesCall {
9878	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9879	return c
9880}
9881
9882// Context sets the context to be used in this call's Do method. Any
9883// pending HTTP request will be aborted if the provided context is
9884// canceled.
9885func (c *MylibraryBookshelvesClearVolumesCall) Context(ctx context.Context) *MylibraryBookshelvesClearVolumesCall {
9886	c.ctx_ = ctx
9887	return c
9888}
9889
9890// Header returns an http.Header that can be modified by the caller to
9891// add HTTP headers to the request.
9892func (c *MylibraryBookshelvesClearVolumesCall) Header() http.Header {
9893	if c.header_ == nil {
9894		c.header_ = make(http.Header)
9895	}
9896	return c.header_
9897}
9898
9899func (c *MylibraryBookshelvesClearVolumesCall) doRequest(alt string) (*http.Response, error) {
9900	reqHeaders := make(http.Header)
9901	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
9902	for k, v := range c.header_ {
9903		reqHeaders[k] = v
9904	}
9905	reqHeaders.Set("User-Agent", c.s.userAgent())
9906	var body io.Reader = nil
9907	c.urlParams_.Set("alt", alt)
9908	c.urlParams_.Set("prettyPrint", "false")
9909	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/bookshelves/{shelf}/clearVolumes")
9910	urls += "?" + c.urlParams_.Encode()
9911	req, err := http.NewRequest("POST", urls, body)
9912	if err != nil {
9913		return nil, err
9914	}
9915	req.Header = reqHeaders
9916	googleapi.Expand(req.URL, map[string]string{
9917		"shelf": c.shelf,
9918	})
9919	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9920}
9921
9922// Do executes the "books.mylibrary.bookshelves.clearVolumes" call.
9923// Exactly one of *Empty or error will be non-nil. Any non-2xx status
9924// code is an error. Response headers are in either
9925// *Empty.ServerResponse.Header or (if a response was returned at all)
9926// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
9927// check whether the returned error was because http.StatusNotModified
9928// was returned.
9929func (c *MylibraryBookshelvesClearVolumesCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
9930	gensupport.SetOptions(c.urlParams_, opts...)
9931	res, err := c.doRequest("json")
9932	if res != nil && res.StatusCode == http.StatusNotModified {
9933		if res.Body != nil {
9934			res.Body.Close()
9935		}
9936		return nil, &googleapi.Error{
9937			Code:   res.StatusCode,
9938			Header: res.Header,
9939		}
9940	}
9941	if err != nil {
9942		return nil, err
9943	}
9944	defer googleapi.CloseBody(res)
9945	if err := googleapi.CheckResponse(res); err != nil {
9946		return nil, err
9947	}
9948	ret := &Empty{
9949		ServerResponse: googleapi.ServerResponse{
9950			Header:         res.Header,
9951			HTTPStatusCode: res.StatusCode,
9952		},
9953	}
9954	target := &ret
9955	if err := gensupport.DecodeResponse(target, res); err != nil {
9956		return nil, err
9957	}
9958	return ret, nil
9959	// {
9960	//   "description": "Clears all volumes from a bookshelf.",
9961	//   "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/clearVolumes",
9962	//   "httpMethod": "POST",
9963	//   "id": "books.mylibrary.bookshelves.clearVolumes",
9964	//   "parameterOrder": [
9965	//     "shelf"
9966	//   ],
9967	//   "parameters": {
9968	//     "shelf": {
9969	//       "description": "ID of bookshelf from which to remove a volume.",
9970	//       "location": "path",
9971	//       "required": true,
9972	//       "type": "string"
9973	//     },
9974	//     "source": {
9975	//       "description": "String to identify the originator of this request.",
9976	//       "location": "query",
9977	//       "type": "string"
9978	//     }
9979	//   },
9980	//   "path": "books/v1/mylibrary/bookshelves/{shelf}/clearVolumes",
9981	//   "response": {
9982	//     "$ref": "Empty"
9983	//   },
9984	//   "scopes": [
9985	//     "https://www.googleapis.com/auth/books"
9986	//   ]
9987	// }
9988
9989}
9990
9991// method id "books.mylibrary.bookshelves.get":
9992
9993type MylibraryBookshelvesGetCall struct {
9994	s            *Service
9995	shelf        string
9996	urlParams_   gensupport.URLParams
9997	ifNoneMatch_ string
9998	ctx_         context.Context
9999	header_      http.Header
10000}
10001
10002// Get: Retrieves metadata for a specific bookshelf belonging to the
10003// authenticated user.
10004//
10005// - shelf: ID of bookshelf to retrieve.
10006func (r *MylibraryBookshelvesService) Get(shelf string) *MylibraryBookshelvesGetCall {
10007	c := &MylibraryBookshelvesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10008	c.shelf = shelf
10009	return c
10010}
10011
10012// Source sets the optional parameter "source": String to identify the
10013// originator of this request.
10014func (c *MylibraryBookshelvesGetCall) Source(source string) *MylibraryBookshelvesGetCall {
10015	c.urlParams_.Set("source", source)
10016	return c
10017}
10018
10019// Fields allows partial responses to be retrieved. See
10020// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10021// for more information.
10022func (c *MylibraryBookshelvesGetCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesGetCall {
10023	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10024	return c
10025}
10026
10027// IfNoneMatch sets the optional parameter which makes the operation
10028// fail if the object's ETag matches the given value. This is useful for
10029// getting updates only after the object has changed since the last
10030// request. Use googleapi.IsNotModified to check whether the response
10031// error from Do is the result of In-None-Match.
10032func (c *MylibraryBookshelvesGetCall) IfNoneMatch(entityTag string) *MylibraryBookshelvesGetCall {
10033	c.ifNoneMatch_ = entityTag
10034	return c
10035}
10036
10037// Context sets the context to be used in this call's Do method. Any
10038// pending HTTP request will be aborted if the provided context is
10039// canceled.
10040func (c *MylibraryBookshelvesGetCall) Context(ctx context.Context) *MylibraryBookshelvesGetCall {
10041	c.ctx_ = ctx
10042	return c
10043}
10044
10045// Header returns an http.Header that can be modified by the caller to
10046// add HTTP headers to the request.
10047func (c *MylibraryBookshelvesGetCall) Header() http.Header {
10048	if c.header_ == nil {
10049		c.header_ = make(http.Header)
10050	}
10051	return c.header_
10052}
10053
10054func (c *MylibraryBookshelvesGetCall) doRequest(alt string) (*http.Response, error) {
10055	reqHeaders := make(http.Header)
10056	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
10057	for k, v := range c.header_ {
10058		reqHeaders[k] = v
10059	}
10060	reqHeaders.Set("User-Agent", c.s.userAgent())
10061	if c.ifNoneMatch_ != "" {
10062		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10063	}
10064	var body io.Reader = nil
10065	c.urlParams_.Set("alt", alt)
10066	c.urlParams_.Set("prettyPrint", "false")
10067	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/bookshelves/{shelf}")
10068	urls += "?" + c.urlParams_.Encode()
10069	req, err := http.NewRequest("GET", urls, body)
10070	if err != nil {
10071		return nil, err
10072	}
10073	req.Header = reqHeaders
10074	googleapi.Expand(req.URL, map[string]string{
10075		"shelf": c.shelf,
10076	})
10077	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10078}
10079
10080// Do executes the "books.mylibrary.bookshelves.get" call.
10081// Exactly one of *Bookshelf or error will be non-nil. Any non-2xx
10082// status code is an error. Response headers are in either
10083// *Bookshelf.ServerResponse.Header or (if a response was returned at
10084// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10085// to check whether the returned error was because
10086// http.StatusNotModified was returned.
10087func (c *MylibraryBookshelvesGetCall) Do(opts ...googleapi.CallOption) (*Bookshelf, error) {
10088	gensupport.SetOptions(c.urlParams_, opts...)
10089	res, err := c.doRequest("json")
10090	if res != nil && res.StatusCode == http.StatusNotModified {
10091		if res.Body != nil {
10092			res.Body.Close()
10093		}
10094		return nil, &googleapi.Error{
10095			Code:   res.StatusCode,
10096			Header: res.Header,
10097		}
10098	}
10099	if err != nil {
10100		return nil, err
10101	}
10102	defer googleapi.CloseBody(res)
10103	if err := googleapi.CheckResponse(res); err != nil {
10104		return nil, err
10105	}
10106	ret := &Bookshelf{
10107		ServerResponse: googleapi.ServerResponse{
10108			Header:         res.Header,
10109			HTTPStatusCode: res.StatusCode,
10110		},
10111	}
10112	target := &ret
10113	if err := gensupport.DecodeResponse(target, res); err != nil {
10114		return nil, err
10115	}
10116	return ret, nil
10117	// {
10118	//   "description": "Retrieves metadata for a specific bookshelf belonging to the authenticated user.",
10119	//   "flatPath": "books/v1/mylibrary/bookshelves/{shelf}",
10120	//   "httpMethod": "GET",
10121	//   "id": "books.mylibrary.bookshelves.get",
10122	//   "parameterOrder": [
10123	//     "shelf"
10124	//   ],
10125	//   "parameters": {
10126	//     "shelf": {
10127	//       "description": "ID of bookshelf to retrieve.",
10128	//       "location": "path",
10129	//       "required": true,
10130	//       "type": "string"
10131	//     },
10132	//     "source": {
10133	//       "description": "String to identify the originator of this request.",
10134	//       "location": "query",
10135	//       "type": "string"
10136	//     }
10137	//   },
10138	//   "path": "books/v1/mylibrary/bookshelves/{shelf}",
10139	//   "response": {
10140	//     "$ref": "Bookshelf"
10141	//   },
10142	//   "scopes": [
10143	//     "https://www.googleapis.com/auth/books"
10144	//   ]
10145	// }
10146
10147}
10148
10149// method id "books.mylibrary.bookshelves.list":
10150
10151type MylibraryBookshelvesListCall struct {
10152	s            *Service
10153	urlParams_   gensupport.URLParams
10154	ifNoneMatch_ string
10155	ctx_         context.Context
10156	header_      http.Header
10157}
10158
10159// List: Retrieves a list of bookshelves belonging to the authenticated
10160// user.
10161func (r *MylibraryBookshelvesService) List() *MylibraryBookshelvesListCall {
10162	c := &MylibraryBookshelvesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10163	return c
10164}
10165
10166// Source sets the optional parameter "source": String to identify the
10167// originator of this request.
10168func (c *MylibraryBookshelvesListCall) Source(source string) *MylibraryBookshelvesListCall {
10169	c.urlParams_.Set("source", source)
10170	return c
10171}
10172
10173// Fields allows partial responses to be retrieved. See
10174// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10175// for more information.
10176func (c *MylibraryBookshelvesListCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesListCall {
10177	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10178	return c
10179}
10180
10181// IfNoneMatch sets the optional parameter which makes the operation
10182// fail if the object's ETag matches the given value. This is useful for
10183// getting updates only after the object has changed since the last
10184// request. Use googleapi.IsNotModified to check whether the response
10185// error from Do is the result of In-None-Match.
10186func (c *MylibraryBookshelvesListCall) IfNoneMatch(entityTag string) *MylibraryBookshelvesListCall {
10187	c.ifNoneMatch_ = entityTag
10188	return c
10189}
10190
10191// Context sets the context to be used in this call's Do method. Any
10192// pending HTTP request will be aborted if the provided context is
10193// canceled.
10194func (c *MylibraryBookshelvesListCall) Context(ctx context.Context) *MylibraryBookshelvesListCall {
10195	c.ctx_ = ctx
10196	return c
10197}
10198
10199// Header returns an http.Header that can be modified by the caller to
10200// add HTTP headers to the request.
10201func (c *MylibraryBookshelvesListCall) Header() http.Header {
10202	if c.header_ == nil {
10203		c.header_ = make(http.Header)
10204	}
10205	return c.header_
10206}
10207
10208func (c *MylibraryBookshelvesListCall) doRequest(alt string) (*http.Response, error) {
10209	reqHeaders := make(http.Header)
10210	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
10211	for k, v := range c.header_ {
10212		reqHeaders[k] = v
10213	}
10214	reqHeaders.Set("User-Agent", c.s.userAgent())
10215	if c.ifNoneMatch_ != "" {
10216		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10217	}
10218	var body io.Reader = nil
10219	c.urlParams_.Set("alt", alt)
10220	c.urlParams_.Set("prettyPrint", "false")
10221	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/bookshelves")
10222	urls += "?" + c.urlParams_.Encode()
10223	req, err := http.NewRequest("GET", urls, body)
10224	if err != nil {
10225		return nil, err
10226	}
10227	req.Header = reqHeaders
10228	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10229}
10230
10231// Do executes the "books.mylibrary.bookshelves.list" call.
10232// Exactly one of *Bookshelves or error will be non-nil. Any non-2xx
10233// status code is an error. Response headers are in either
10234// *Bookshelves.ServerResponse.Header or (if a response was returned at
10235// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10236// to check whether the returned error was because
10237// http.StatusNotModified was returned.
10238func (c *MylibraryBookshelvesListCall) Do(opts ...googleapi.CallOption) (*Bookshelves, error) {
10239	gensupport.SetOptions(c.urlParams_, opts...)
10240	res, err := c.doRequest("json")
10241	if res != nil && res.StatusCode == http.StatusNotModified {
10242		if res.Body != nil {
10243			res.Body.Close()
10244		}
10245		return nil, &googleapi.Error{
10246			Code:   res.StatusCode,
10247			Header: res.Header,
10248		}
10249	}
10250	if err != nil {
10251		return nil, err
10252	}
10253	defer googleapi.CloseBody(res)
10254	if err := googleapi.CheckResponse(res); err != nil {
10255		return nil, err
10256	}
10257	ret := &Bookshelves{
10258		ServerResponse: googleapi.ServerResponse{
10259			Header:         res.Header,
10260			HTTPStatusCode: res.StatusCode,
10261		},
10262	}
10263	target := &ret
10264	if err := gensupport.DecodeResponse(target, res); err != nil {
10265		return nil, err
10266	}
10267	return ret, nil
10268	// {
10269	//   "description": "Retrieves a list of bookshelves belonging to the authenticated user.",
10270	//   "flatPath": "books/v1/mylibrary/bookshelves",
10271	//   "httpMethod": "GET",
10272	//   "id": "books.mylibrary.bookshelves.list",
10273	//   "parameterOrder": [],
10274	//   "parameters": {
10275	//     "source": {
10276	//       "description": "String to identify the originator of this request.",
10277	//       "location": "query",
10278	//       "type": "string"
10279	//     }
10280	//   },
10281	//   "path": "books/v1/mylibrary/bookshelves",
10282	//   "response": {
10283	//     "$ref": "Bookshelves"
10284	//   },
10285	//   "scopes": [
10286	//     "https://www.googleapis.com/auth/books"
10287	//   ]
10288	// }
10289
10290}
10291
10292// method id "books.mylibrary.bookshelves.moveVolume":
10293
10294type MylibraryBookshelvesMoveVolumeCall struct {
10295	s          *Service
10296	shelf      string
10297	urlParams_ gensupport.URLParams
10298	ctx_       context.Context
10299	header_    http.Header
10300}
10301
10302// MoveVolume: Moves a volume within a bookshelf.
10303//
10304// - shelf: ID of bookshelf with the volume.
10305// - volumeId: ID of volume to move.
10306// - volumePosition: Position on shelf to move the item (0 puts the item
10307//   before the current first item, 1 puts it between the first and the
10308//   second and so on.).
10309func (r *MylibraryBookshelvesService) MoveVolume(shelf string, volumeId string, volumePosition int64) *MylibraryBookshelvesMoveVolumeCall {
10310	c := &MylibraryBookshelvesMoveVolumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10311	c.shelf = shelf
10312	c.urlParams_.Set("volumeId", volumeId)
10313	c.urlParams_.Set("volumePosition", fmt.Sprint(volumePosition))
10314	return c
10315}
10316
10317// Source sets the optional parameter "source": String to identify the
10318// originator of this request.
10319func (c *MylibraryBookshelvesMoveVolumeCall) Source(source string) *MylibraryBookshelvesMoveVolumeCall {
10320	c.urlParams_.Set("source", source)
10321	return c
10322}
10323
10324// Fields allows partial responses to be retrieved. See
10325// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10326// for more information.
10327func (c *MylibraryBookshelvesMoveVolumeCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesMoveVolumeCall {
10328	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10329	return c
10330}
10331
10332// Context sets the context to be used in this call's Do method. Any
10333// pending HTTP request will be aborted if the provided context is
10334// canceled.
10335func (c *MylibraryBookshelvesMoveVolumeCall) Context(ctx context.Context) *MylibraryBookshelvesMoveVolumeCall {
10336	c.ctx_ = ctx
10337	return c
10338}
10339
10340// Header returns an http.Header that can be modified by the caller to
10341// add HTTP headers to the request.
10342func (c *MylibraryBookshelvesMoveVolumeCall) Header() http.Header {
10343	if c.header_ == nil {
10344		c.header_ = make(http.Header)
10345	}
10346	return c.header_
10347}
10348
10349func (c *MylibraryBookshelvesMoveVolumeCall) doRequest(alt string) (*http.Response, error) {
10350	reqHeaders := make(http.Header)
10351	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
10352	for k, v := range c.header_ {
10353		reqHeaders[k] = v
10354	}
10355	reqHeaders.Set("User-Agent", c.s.userAgent())
10356	var body io.Reader = nil
10357	c.urlParams_.Set("alt", alt)
10358	c.urlParams_.Set("prettyPrint", "false")
10359	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/bookshelves/{shelf}/moveVolume")
10360	urls += "?" + c.urlParams_.Encode()
10361	req, err := http.NewRequest("POST", urls, body)
10362	if err != nil {
10363		return nil, err
10364	}
10365	req.Header = reqHeaders
10366	googleapi.Expand(req.URL, map[string]string{
10367		"shelf": c.shelf,
10368	})
10369	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10370}
10371
10372// Do executes the "books.mylibrary.bookshelves.moveVolume" call.
10373// Exactly one of *Empty or error will be non-nil. Any non-2xx status
10374// code is an error. Response headers are in either
10375// *Empty.ServerResponse.Header or (if a response was returned at all)
10376// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10377// check whether the returned error was because http.StatusNotModified
10378// was returned.
10379func (c *MylibraryBookshelvesMoveVolumeCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
10380	gensupport.SetOptions(c.urlParams_, opts...)
10381	res, err := c.doRequest("json")
10382	if res != nil && res.StatusCode == http.StatusNotModified {
10383		if res.Body != nil {
10384			res.Body.Close()
10385		}
10386		return nil, &googleapi.Error{
10387			Code:   res.StatusCode,
10388			Header: res.Header,
10389		}
10390	}
10391	if err != nil {
10392		return nil, err
10393	}
10394	defer googleapi.CloseBody(res)
10395	if err := googleapi.CheckResponse(res); err != nil {
10396		return nil, err
10397	}
10398	ret := &Empty{
10399		ServerResponse: googleapi.ServerResponse{
10400			Header:         res.Header,
10401			HTTPStatusCode: res.StatusCode,
10402		},
10403	}
10404	target := &ret
10405	if err := gensupport.DecodeResponse(target, res); err != nil {
10406		return nil, err
10407	}
10408	return ret, nil
10409	// {
10410	//   "description": "Moves a volume within a bookshelf.",
10411	//   "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/moveVolume",
10412	//   "httpMethod": "POST",
10413	//   "id": "books.mylibrary.bookshelves.moveVolume",
10414	//   "parameterOrder": [
10415	//     "shelf",
10416	//     "volumeId",
10417	//     "volumePosition"
10418	//   ],
10419	//   "parameters": {
10420	//     "shelf": {
10421	//       "description": "ID of bookshelf with the volume.",
10422	//       "location": "path",
10423	//       "required": true,
10424	//       "type": "string"
10425	//     },
10426	//     "source": {
10427	//       "description": "String to identify the originator of this request.",
10428	//       "location": "query",
10429	//       "type": "string"
10430	//     },
10431	//     "volumeId": {
10432	//       "description": "ID of volume to move.",
10433	//       "location": "query",
10434	//       "required": true,
10435	//       "type": "string"
10436	//     },
10437	//     "volumePosition": {
10438	//       "description": "Position on shelf to move the item (0 puts the item before the current first item, 1 puts it between the first and the second and so on.)",
10439	//       "format": "int32",
10440	//       "location": "query",
10441	//       "required": true,
10442	//       "type": "integer"
10443	//     }
10444	//   },
10445	//   "path": "books/v1/mylibrary/bookshelves/{shelf}/moveVolume",
10446	//   "response": {
10447	//     "$ref": "Empty"
10448	//   },
10449	//   "scopes": [
10450	//     "https://www.googleapis.com/auth/books"
10451	//   ]
10452	// }
10453
10454}
10455
10456// method id "books.mylibrary.bookshelves.removeVolume":
10457
10458type MylibraryBookshelvesRemoveVolumeCall struct {
10459	s          *Service
10460	shelf      string
10461	urlParams_ gensupport.URLParams
10462	ctx_       context.Context
10463	header_    http.Header
10464}
10465
10466// RemoveVolume: Removes a volume from a bookshelf.
10467//
10468// - shelf: ID of bookshelf from which to remove a volume.
10469// - volumeId: ID of volume to remove.
10470func (r *MylibraryBookshelvesService) RemoveVolume(shelf string, volumeId string) *MylibraryBookshelvesRemoveVolumeCall {
10471	c := &MylibraryBookshelvesRemoveVolumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10472	c.shelf = shelf
10473	c.urlParams_.Set("volumeId", volumeId)
10474	return c
10475}
10476
10477// Reason sets the optional parameter "reason": The reason for which the
10478// book is removed from the library.
10479//
10480// Possible values:
10481//   "REASON_UNDEFINED"
10482//   "ONBOARDING" - Samples removed from the Onboarding flow.
10483func (c *MylibraryBookshelvesRemoveVolumeCall) Reason(reason string) *MylibraryBookshelvesRemoveVolumeCall {
10484	c.urlParams_.Set("reason", reason)
10485	return c
10486}
10487
10488// Source sets the optional parameter "source": String to identify the
10489// originator of this request.
10490func (c *MylibraryBookshelvesRemoveVolumeCall) Source(source string) *MylibraryBookshelvesRemoveVolumeCall {
10491	c.urlParams_.Set("source", source)
10492	return c
10493}
10494
10495// Fields allows partial responses to be retrieved. See
10496// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10497// for more information.
10498func (c *MylibraryBookshelvesRemoveVolumeCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesRemoveVolumeCall {
10499	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10500	return c
10501}
10502
10503// Context sets the context to be used in this call's Do method. Any
10504// pending HTTP request will be aborted if the provided context is
10505// canceled.
10506func (c *MylibraryBookshelvesRemoveVolumeCall) Context(ctx context.Context) *MylibraryBookshelvesRemoveVolumeCall {
10507	c.ctx_ = ctx
10508	return c
10509}
10510
10511// Header returns an http.Header that can be modified by the caller to
10512// add HTTP headers to the request.
10513func (c *MylibraryBookshelvesRemoveVolumeCall) Header() http.Header {
10514	if c.header_ == nil {
10515		c.header_ = make(http.Header)
10516	}
10517	return c.header_
10518}
10519
10520func (c *MylibraryBookshelvesRemoveVolumeCall) doRequest(alt string) (*http.Response, error) {
10521	reqHeaders := make(http.Header)
10522	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
10523	for k, v := range c.header_ {
10524		reqHeaders[k] = v
10525	}
10526	reqHeaders.Set("User-Agent", c.s.userAgent())
10527	var body io.Reader = nil
10528	c.urlParams_.Set("alt", alt)
10529	c.urlParams_.Set("prettyPrint", "false")
10530	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/bookshelves/{shelf}/removeVolume")
10531	urls += "?" + c.urlParams_.Encode()
10532	req, err := http.NewRequest("POST", urls, body)
10533	if err != nil {
10534		return nil, err
10535	}
10536	req.Header = reqHeaders
10537	googleapi.Expand(req.URL, map[string]string{
10538		"shelf": c.shelf,
10539	})
10540	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10541}
10542
10543// Do executes the "books.mylibrary.bookshelves.removeVolume" call.
10544// Exactly one of *Empty or error will be non-nil. Any non-2xx status
10545// code is an error. Response headers are in either
10546// *Empty.ServerResponse.Header or (if a response was returned at all)
10547// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10548// check whether the returned error was because http.StatusNotModified
10549// was returned.
10550func (c *MylibraryBookshelvesRemoveVolumeCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
10551	gensupport.SetOptions(c.urlParams_, opts...)
10552	res, err := c.doRequest("json")
10553	if res != nil && res.StatusCode == http.StatusNotModified {
10554		if res.Body != nil {
10555			res.Body.Close()
10556		}
10557		return nil, &googleapi.Error{
10558			Code:   res.StatusCode,
10559			Header: res.Header,
10560		}
10561	}
10562	if err != nil {
10563		return nil, err
10564	}
10565	defer googleapi.CloseBody(res)
10566	if err := googleapi.CheckResponse(res); err != nil {
10567		return nil, err
10568	}
10569	ret := &Empty{
10570		ServerResponse: googleapi.ServerResponse{
10571			Header:         res.Header,
10572			HTTPStatusCode: res.StatusCode,
10573		},
10574	}
10575	target := &ret
10576	if err := gensupport.DecodeResponse(target, res); err != nil {
10577		return nil, err
10578	}
10579	return ret, nil
10580	// {
10581	//   "description": "Removes a volume from a bookshelf.",
10582	//   "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/removeVolume",
10583	//   "httpMethod": "POST",
10584	//   "id": "books.mylibrary.bookshelves.removeVolume",
10585	//   "parameterOrder": [
10586	//     "shelf",
10587	//     "volumeId"
10588	//   ],
10589	//   "parameters": {
10590	//     "reason": {
10591	//       "description": "The reason for which the book is removed from the library.",
10592	//       "enum": [
10593	//         "REASON_UNDEFINED",
10594	//         "ONBOARDING"
10595	//       ],
10596	//       "enumDescriptions": [
10597	//         "",
10598	//         "Samples removed from the Onboarding flow."
10599	//       ],
10600	//       "location": "query",
10601	//       "type": "string"
10602	//     },
10603	//     "shelf": {
10604	//       "description": "ID of bookshelf from which to remove a volume.",
10605	//       "location": "path",
10606	//       "required": true,
10607	//       "type": "string"
10608	//     },
10609	//     "source": {
10610	//       "description": "String to identify the originator of this request.",
10611	//       "location": "query",
10612	//       "type": "string"
10613	//     },
10614	//     "volumeId": {
10615	//       "description": "ID of volume to remove.",
10616	//       "location": "query",
10617	//       "required": true,
10618	//       "type": "string"
10619	//     }
10620	//   },
10621	//   "path": "books/v1/mylibrary/bookshelves/{shelf}/removeVolume",
10622	//   "response": {
10623	//     "$ref": "Empty"
10624	//   },
10625	//   "scopes": [
10626	//     "https://www.googleapis.com/auth/books"
10627	//   ]
10628	// }
10629
10630}
10631
10632// method id "books.mylibrary.bookshelves.volumes.list":
10633
10634type MylibraryBookshelvesVolumesListCall struct {
10635	s            *Service
10636	shelf        string
10637	urlParams_   gensupport.URLParams
10638	ifNoneMatch_ string
10639	ctx_         context.Context
10640	header_      http.Header
10641}
10642
10643// List: Gets volume information for volumes on a bookshelf.
10644//
10645// - shelf: The bookshelf ID or name retrieve volumes for.
10646func (r *MylibraryBookshelvesVolumesService) List(shelf string) *MylibraryBookshelvesVolumesListCall {
10647	c := &MylibraryBookshelvesVolumesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10648	c.shelf = shelf
10649	return c
10650}
10651
10652// Country sets the optional parameter "country": ISO-3166-1 code to
10653// override the IP-based location.
10654func (c *MylibraryBookshelvesVolumesListCall) Country(country string) *MylibraryBookshelvesVolumesListCall {
10655	c.urlParams_.Set("country", country)
10656	return c
10657}
10658
10659// MaxResults sets the optional parameter "maxResults": Maximum number
10660// of results to return
10661func (c *MylibraryBookshelvesVolumesListCall) MaxResults(maxResults int64) *MylibraryBookshelvesVolumesListCall {
10662	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
10663	return c
10664}
10665
10666// Projection sets the optional parameter "projection": Restrict
10667// information returned to a set of selected fields.
10668//
10669// Possible values:
10670//   "PROJECTION_UNDEFINED"
10671//   "FULL" - Includes all volume data.
10672//   "LITE" - Includes a subset of fields in volumeInfo and accessInfo.
10673func (c *MylibraryBookshelvesVolumesListCall) Projection(projection string) *MylibraryBookshelvesVolumesListCall {
10674	c.urlParams_.Set("projection", projection)
10675	return c
10676}
10677
10678// Q sets the optional parameter "q": Full-text search query string in
10679// this bookshelf.
10680func (c *MylibraryBookshelvesVolumesListCall) Q(q string) *MylibraryBookshelvesVolumesListCall {
10681	c.urlParams_.Set("q", q)
10682	return c
10683}
10684
10685// ShowPreorders sets the optional parameter "showPreorders": Set to
10686// true to show pre-ordered books. Defaults to false.
10687func (c *MylibraryBookshelvesVolumesListCall) ShowPreorders(showPreorders bool) *MylibraryBookshelvesVolumesListCall {
10688	c.urlParams_.Set("showPreorders", fmt.Sprint(showPreorders))
10689	return c
10690}
10691
10692// Source sets the optional parameter "source": String to identify the
10693// originator of this request.
10694func (c *MylibraryBookshelvesVolumesListCall) Source(source string) *MylibraryBookshelvesVolumesListCall {
10695	c.urlParams_.Set("source", source)
10696	return c
10697}
10698
10699// StartIndex sets the optional parameter "startIndex": Index of the
10700// first element to return (starts at 0)
10701func (c *MylibraryBookshelvesVolumesListCall) StartIndex(startIndex int64) *MylibraryBookshelvesVolumesListCall {
10702	c.urlParams_.Set("startIndex", fmt.Sprint(startIndex))
10703	return c
10704}
10705
10706// Fields allows partial responses to be retrieved. See
10707// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10708// for more information.
10709func (c *MylibraryBookshelvesVolumesListCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesVolumesListCall {
10710	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10711	return c
10712}
10713
10714// IfNoneMatch sets the optional parameter which makes the operation
10715// fail if the object's ETag matches the given value. This is useful for
10716// getting updates only after the object has changed since the last
10717// request. Use googleapi.IsNotModified to check whether the response
10718// error from Do is the result of In-None-Match.
10719func (c *MylibraryBookshelvesVolumesListCall) IfNoneMatch(entityTag string) *MylibraryBookshelvesVolumesListCall {
10720	c.ifNoneMatch_ = entityTag
10721	return c
10722}
10723
10724// Context sets the context to be used in this call's Do method. Any
10725// pending HTTP request will be aborted if the provided context is
10726// canceled.
10727func (c *MylibraryBookshelvesVolumesListCall) Context(ctx context.Context) *MylibraryBookshelvesVolumesListCall {
10728	c.ctx_ = ctx
10729	return c
10730}
10731
10732// Header returns an http.Header that can be modified by the caller to
10733// add HTTP headers to the request.
10734func (c *MylibraryBookshelvesVolumesListCall) Header() http.Header {
10735	if c.header_ == nil {
10736		c.header_ = make(http.Header)
10737	}
10738	return c.header_
10739}
10740
10741func (c *MylibraryBookshelvesVolumesListCall) doRequest(alt string) (*http.Response, error) {
10742	reqHeaders := make(http.Header)
10743	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
10744	for k, v := range c.header_ {
10745		reqHeaders[k] = v
10746	}
10747	reqHeaders.Set("User-Agent", c.s.userAgent())
10748	if c.ifNoneMatch_ != "" {
10749		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10750	}
10751	var body io.Reader = nil
10752	c.urlParams_.Set("alt", alt)
10753	c.urlParams_.Set("prettyPrint", "false")
10754	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/bookshelves/{shelf}/volumes")
10755	urls += "?" + c.urlParams_.Encode()
10756	req, err := http.NewRequest("GET", urls, body)
10757	if err != nil {
10758		return nil, err
10759	}
10760	req.Header = reqHeaders
10761	googleapi.Expand(req.URL, map[string]string{
10762		"shelf": c.shelf,
10763	})
10764	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10765}
10766
10767// Do executes the "books.mylibrary.bookshelves.volumes.list" call.
10768// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
10769// code is an error. Response headers are in either
10770// *Volumes.ServerResponse.Header or (if a response was returned at all)
10771// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10772// check whether the returned error was because http.StatusNotModified
10773// was returned.
10774func (c *MylibraryBookshelvesVolumesListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
10775	gensupport.SetOptions(c.urlParams_, opts...)
10776	res, err := c.doRequest("json")
10777	if res != nil && res.StatusCode == http.StatusNotModified {
10778		if res.Body != nil {
10779			res.Body.Close()
10780		}
10781		return nil, &googleapi.Error{
10782			Code:   res.StatusCode,
10783			Header: res.Header,
10784		}
10785	}
10786	if err != nil {
10787		return nil, err
10788	}
10789	defer googleapi.CloseBody(res)
10790	if err := googleapi.CheckResponse(res); err != nil {
10791		return nil, err
10792	}
10793	ret := &Volumes{
10794		ServerResponse: googleapi.ServerResponse{
10795			Header:         res.Header,
10796			HTTPStatusCode: res.StatusCode,
10797		},
10798	}
10799	target := &ret
10800	if err := gensupport.DecodeResponse(target, res); err != nil {
10801		return nil, err
10802	}
10803	return ret, nil
10804	// {
10805	//   "description": "Gets volume information for volumes on a bookshelf.",
10806	//   "flatPath": "books/v1/mylibrary/bookshelves/{shelf}/volumes",
10807	//   "httpMethod": "GET",
10808	//   "id": "books.mylibrary.bookshelves.volumes.list",
10809	//   "parameterOrder": [
10810	//     "shelf"
10811	//   ],
10812	//   "parameters": {
10813	//     "country": {
10814	//       "description": "ISO-3166-1 code to override the IP-based location.",
10815	//       "location": "query",
10816	//       "type": "string"
10817	//     },
10818	//     "maxResults": {
10819	//       "description": "Maximum number of results to return",
10820	//       "format": "uint32",
10821	//       "location": "query",
10822	//       "minimum": "0",
10823	//       "type": "integer"
10824	//     },
10825	//     "projection": {
10826	//       "description": "Restrict information returned to a set of selected fields.",
10827	//       "enum": [
10828	//         "PROJECTION_UNDEFINED",
10829	//         "FULL",
10830	//         "LITE"
10831	//       ],
10832	//       "enumDescriptions": [
10833	//         "",
10834	//         "Includes all volume data.",
10835	//         "Includes a subset of fields in volumeInfo and accessInfo."
10836	//       ],
10837	//       "location": "query",
10838	//       "type": "string"
10839	//     },
10840	//     "q": {
10841	//       "description": "Full-text search query string in this bookshelf.",
10842	//       "location": "query",
10843	//       "type": "string"
10844	//     },
10845	//     "shelf": {
10846	//       "description": "The bookshelf ID or name retrieve volumes for.",
10847	//       "location": "path",
10848	//       "required": true,
10849	//       "type": "string"
10850	//     },
10851	//     "showPreorders": {
10852	//       "description": "Set to true to show pre-ordered books. Defaults to false.",
10853	//       "location": "query",
10854	//       "type": "boolean"
10855	//     },
10856	//     "source": {
10857	//       "description": "String to identify the originator of this request.",
10858	//       "location": "query",
10859	//       "type": "string"
10860	//     },
10861	//     "startIndex": {
10862	//       "description": "Index of the first element to return (starts at 0)",
10863	//       "format": "uint32",
10864	//       "location": "query",
10865	//       "minimum": "0",
10866	//       "type": "integer"
10867	//     }
10868	//   },
10869	//   "path": "books/v1/mylibrary/bookshelves/{shelf}/volumes",
10870	//   "response": {
10871	//     "$ref": "Volumes"
10872	//   },
10873	//   "scopes": [
10874	//     "https://www.googleapis.com/auth/books"
10875	//   ]
10876	// }
10877
10878}
10879
10880// method id "books.mylibrary.readingpositions.get":
10881
10882type MylibraryReadingpositionsGetCall struct {
10883	s            *Service
10884	volumeId     string
10885	urlParams_   gensupport.URLParams
10886	ifNoneMatch_ string
10887	ctx_         context.Context
10888	header_      http.Header
10889}
10890
10891// Get: Retrieves my reading position information for a volume.
10892//
10893// - volumeId: ID of volume for which to retrieve a reading position.
10894func (r *MylibraryReadingpositionsService) Get(volumeId string) *MylibraryReadingpositionsGetCall {
10895	c := &MylibraryReadingpositionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10896	c.volumeId = volumeId
10897	return c
10898}
10899
10900// ContentVersion sets the optional parameter "contentVersion": Volume
10901// content version for which this reading position is requested.
10902func (c *MylibraryReadingpositionsGetCall) ContentVersion(contentVersion string) *MylibraryReadingpositionsGetCall {
10903	c.urlParams_.Set("contentVersion", contentVersion)
10904	return c
10905}
10906
10907// Source sets the optional parameter "source": String to identify the
10908// originator of this request.
10909func (c *MylibraryReadingpositionsGetCall) Source(source string) *MylibraryReadingpositionsGetCall {
10910	c.urlParams_.Set("source", source)
10911	return c
10912}
10913
10914// Fields allows partial responses to be retrieved. See
10915// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10916// for more information.
10917func (c *MylibraryReadingpositionsGetCall) Fields(s ...googleapi.Field) *MylibraryReadingpositionsGetCall {
10918	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10919	return c
10920}
10921
10922// IfNoneMatch sets the optional parameter which makes the operation
10923// fail if the object's ETag matches the given value. This is useful for
10924// getting updates only after the object has changed since the last
10925// request. Use googleapi.IsNotModified to check whether the response
10926// error from Do is the result of In-None-Match.
10927func (c *MylibraryReadingpositionsGetCall) IfNoneMatch(entityTag string) *MylibraryReadingpositionsGetCall {
10928	c.ifNoneMatch_ = entityTag
10929	return c
10930}
10931
10932// Context sets the context to be used in this call's Do method. Any
10933// pending HTTP request will be aborted if the provided context is
10934// canceled.
10935func (c *MylibraryReadingpositionsGetCall) Context(ctx context.Context) *MylibraryReadingpositionsGetCall {
10936	c.ctx_ = ctx
10937	return c
10938}
10939
10940// Header returns an http.Header that can be modified by the caller to
10941// add HTTP headers to the request.
10942func (c *MylibraryReadingpositionsGetCall) Header() http.Header {
10943	if c.header_ == nil {
10944		c.header_ = make(http.Header)
10945	}
10946	return c.header_
10947}
10948
10949func (c *MylibraryReadingpositionsGetCall) doRequest(alt string) (*http.Response, error) {
10950	reqHeaders := make(http.Header)
10951	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
10952	for k, v := range c.header_ {
10953		reqHeaders[k] = v
10954	}
10955	reqHeaders.Set("User-Agent", c.s.userAgent())
10956	if c.ifNoneMatch_ != "" {
10957		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10958	}
10959	var body io.Reader = nil
10960	c.urlParams_.Set("alt", alt)
10961	c.urlParams_.Set("prettyPrint", "false")
10962	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/readingpositions/{volumeId}")
10963	urls += "?" + c.urlParams_.Encode()
10964	req, err := http.NewRequest("GET", urls, body)
10965	if err != nil {
10966		return nil, err
10967	}
10968	req.Header = reqHeaders
10969	googleapi.Expand(req.URL, map[string]string{
10970		"volumeId": c.volumeId,
10971	})
10972	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10973}
10974
10975// Do executes the "books.mylibrary.readingpositions.get" call.
10976// Exactly one of *ReadingPosition or error will be non-nil. Any non-2xx
10977// status code is an error. Response headers are in either
10978// *ReadingPosition.ServerResponse.Header or (if a response was returned
10979// at all) in error.(*googleapi.Error).Header. Use
10980// googleapi.IsNotModified to check whether the returned error was
10981// because http.StatusNotModified was returned.
10982func (c *MylibraryReadingpositionsGetCall) Do(opts ...googleapi.CallOption) (*ReadingPosition, error) {
10983	gensupport.SetOptions(c.urlParams_, opts...)
10984	res, err := c.doRequest("json")
10985	if res != nil && res.StatusCode == http.StatusNotModified {
10986		if res.Body != nil {
10987			res.Body.Close()
10988		}
10989		return nil, &googleapi.Error{
10990			Code:   res.StatusCode,
10991			Header: res.Header,
10992		}
10993	}
10994	if err != nil {
10995		return nil, err
10996	}
10997	defer googleapi.CloseBody(res)
10998	if err := googleapi.CheckResponse(res); err != nil {
10999		return nil, err
11000	}
11001	ret := &ReadingPosition{
11002		ServerResponse: googleapi.ServerResponse{
11003			Header:         res.Header,
11004			HTTPStatusCode: res.StatusCode,
11005		},
11006	}
11007	target := &ret
11008	if err := gensupport.DecodeResponse(target, res); err != nil {
11009		return nil, err
11010	}
11011	return ret, nil
11012	// {
11013	//   "description": "Retrieves my reading position information for a volume.",
11014	//   "flatPath": "books/v1/mylibrary/readingpositions/{volumeId}",
11015	//   "httpMethod": "GET",
11016	//   "id": "books.mylibrary.readingpositions.get",
11017	//   "parameterOrder": [
11018	//     "volumeId"
11019	//   ],
11020	//   "parameters": {
11021	//     "contentVersion": {
11022	//       "description": "Volume content version for which this reading position is requested.",
11023	//       "location": "query",
11024	//       "type": "string"
11025	//     },
11026	//     "source": {
11027	//       "description": "String to identify the originator of this request.",
11028	//       "location": "query",
11029	//       "type": "string"
11030	//     },
11031	//     "volumeId": {
11032	//       "description": "ID of volume for which to retrieve a reading position.",
11033	//       "location": "path",
11034	//       "required": true,
11035	//       "type": "string"
11036	//     }
11037	//   },
11038	//   "path": "books/v1/mylibrary/readingpositions/{volumeId}",
11039	//   "response": {
11040	//     "$ref": "ReadingPosition"
11041	//   },
11042	//   "scopes": [
11043	//     "https://www.googleapis.com/auth/books"
11044	//   ]
11045	// }
11046
11047}
11048
11049// method id "books.mylibrary.readingpositions.setPosition":
11050
11051type MylibraryReadingpositionsSetPositionCall struct {
11052	s          *Service
11053	volumeId   string
11054	urlParams_ gensupport.URLParams
11055	ctx_       context.Context
11056	header_    http.Header
11057}
11058
11059// SetPosition: Sets my reading position information for a volume.
11060//
11061// - position: Position string for the new volume reading position.
11062// - timestamp: RFC 3339 UTC format timestamp associated with this
11063//   reading position.
11064// - volumeId: ID of volume for which to update the reading position.
11065func (r *MylibraryReadingpositionsService) SetPosition(volumeId string, position string, timestamp string) *MylibraryReadingpositionsSetPositionCall {
11066	c := &MylibraryReadingpositionsSetPositionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11067	c.volumeId = volumeId
11068	c.urlParams_.Set("position", position)
11069	c.urlParams_.Set("timestamp", timestamp)
11070	return c
11071}
11072
11073// Action sets the optional parameter "action": Action that caused this
11074// reading position to be set.
11075//
11076// Possible values:
11077//   "ACTION_UNDEFINED"
11078//   "bookmark" - User chose bookmark within volume.
11079//   "chapter" - User selected chapter from list.
11080//   "next-page" - Next page event.
11081//   "prev-page" - Previous page event.
11082//   "scroll" - User navigated to page.
11083//   "search" - User chose search results within volume.
11084func (c *MylibraryReadingpositionsSetPositionCall) Action(action string) *MylibraryReadingpositionsSetPositionCall {
11085	c.urlParams_.Set("action", action)
11086	return c
11087}
11088
11089// ContentVersion sets the optional parameter "contentVersion": Volume
11090// content version for which this reading position applies.
11091func (c *MylibraryReadingpositionsSetPositionCall) ContentVersion(contentVersion string) *MylibraryReadingpositionsSetPositionCall {
11092	c.urlParams_.Set("contentVersion", contentVersion)
11093	return c
11094}
11095
11096// DeviceCookie sets the optional parameter "deviceCookie": Random
11097// persistent device cookie optional on set position.
11098func (c *MylibraryReadingpositionsSetPositionCall) DeviceCookie(deviceCookie string) *MylibraryReadingpositionsSetPositionCall {
11099	c.urlParams_.Set("deviceCookie", deviceCookie)
11100	return c
11101}
11102
11103// Source sets the optional parameter "source": String to identify the
11104// originator of this request.
11105func (c *MylibraryReadingpositionsSetPositionCall) Source(source string) *MylibraryReadingpositionsSetPositionCall {
11106	c.urlParams_.Set("source", source)
11107	return c
11108}
11109
11110// Fields allows partial responses to be retrieved. See
11111// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11112// for more information.
11113func (c *MylibraryReadingpositionsSetPositionCall) Fields(s ...googleapi.Field) *MylibraryReadingpositionsSetPositionCall {
11114	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11115	return c
11116}
11117
11118// Context sets the context to be used in this call's Do method. Any
11119// pending HTTP request will be aborted if the provided context is
11120// canceled.
11121func (c *MylibraryReadingpositionsSetPositionCall) Context(ctx context.Context) *MylibraryReadingpositionsSetPositionCall {
11122	c.ctx_ = ctx
11123	return c
11124}
11125
11126// Header returns an http.Header that can be modified by the caller to
11127// add HTTP headers to the request.
11128func (c *MylibraryReadingpositionsSetPositionCall) Header() http.Header {
11129	if c.header_ == nil {
11130		c.header_ = make(http.Header)
11131	}
11132	return c.header_
11133}
11134
11135func (c *MylibraryReadingpositionsSetPositionCall) doRequest(alt string) (*http.Response, error) {
11136	reqHeaders := make(http.Header)
11137	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
11138	for k, v := range c.header_ {
11139		reqHeaders[k] = v
11140	}
11141	reqHeaders.Set("User-Agent", c.s.userAgent())
11142	var body io.Reader = nil
11143	c.urlParams_.Set("alt", alt)
11144	c.urlParams_.Set("prettyPrint", "false")
11145	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/mylibrary/readingpositions/{volumeId}/setPosition")
11146	urls += "?" + c.urlParams_.Encode()
11147	req, err := http.NewRequest("POST", urls, body)
11148	if err != nil {
11149		return nil, err
11150	}
11151	req.Header = reqHeaders
11152	googleapi.Expand(req.URL, map[string]string{
11153		"volumeId": c.volumeId,
11154	})
11155	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11156}
11157
11158// Do executes the "books.mylibrary.readingpositions.setPosition" call.
11159// Exactly one of *Empty or error will be non-nil. Any non-2xx status
11160// code is an error. Response headers are in either
11161// *Empty.ServerResponse.Header or (if a response was returned at all)
11162// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11163// check whether the returned error was because http.StatusNotModified
11164// was returned.
11165func (c *MylibraryReadingpositionsSetPositionCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
11166	gensupport.SetOptions(c.urlParams_, opts...)
11167	res, err := c.doRequest("json")
11168	if res != nil && res.StatusCode == http.StatusNotModified {
11169		if res.Body != nil {
11170			res.Body.Close()
11171		}
11172		return nil, &googleapi.Error{
11173			Code:   res.StatusCode,
11174			Header: res.Header,
11175		}
11176	}
11177	if err != nil {
11178		return nil, err
11179	}
11180	defer googleapi.CloseBody(res)
11181	if err := googleapi.CheckResponse(res); err != nil {
11182		return nil, err
11183	}
11184	ret := &Empty{
11185		ServerResponse: googleapi.ServerResponse{
11186			Header:         res.Header,
11187			HTTPStatusCode: res.StatusCode,
11188		},
11189	}
11190	target := &ret
11191	if err := gensupport.DecodeResponse(target, res); err != nil {
11192		return nil, err
11193	}
11194	return ret, nil
11195	// {
11196	//   "description": "Sets my reading position information for a volume.",
11197	//   "flatPath": "books/v1/mylibrary/readingpositions/{volumeId}/setPosition",
11198	//   "httpMethod": "POST",
11199	//   "id": "books.mylibrary.readingpositions.setPosition",
11200	//   "parameterOrder": [
11201	//     "volumeId",
11202	//     "position",
11203	//     "timestamp"
11204	//   ],
11205	//   "parameters": {
11206	//     "action": {
11207	//       "description": "Action that caused this reading position to be set.",
11208	//       "enum": [
11209	//         "ACTION_UNDEFINED",
11210	//         "bookmark",
11211	//         "chapter",
11212	//         "next-page",
11213	//         "prev-page",
11214	//         "scroll",
11215	//         "search"
11216	//       ],
11217	//       "enumDescriptions": [
11218	//         "",
11219	//         "User chose bookmark within volume.",
11220	//         "User selected chapter from list.",
11221	//         "Next page event.",
11222	//         "Previous page event.",
11223	//         "User navigated to page.",
11224	//         "User chose search results within volume."
11225	//       ],
11226	//       "location": "query",
11227	//       "type": "string"
11228	//     },
11229	//     "contentVersion": {
11230	//       "description": "Volume content version for which this reading position applies.",
11231	//       "location": "query",
11232	//       "type": "string"
11233	//     },
11234	//     "deviceCookie": {
11235	//       "description": "Random persistent device cookie optional on set position.",
11236	//       "location": "query",
11237	//       "type": "string"
11238	//     },
11239	//     "position": {
11240	//       "description": "Position string for the new volume reading position.",
11241	//       "location": "query",
11242	//       "required": true,
11243	//       "type": "string"
11244	//     },
11245	//     "source": {
11246	//       "description": "String to identify the originator of this request.",
11247	//       "location": "query",
11248	//       "type": "string"
11249	//     },
11250	//     "timestamp": {
11251	//       "description": "RFC 3339 UTC format timestamp associated with this reading position.",
11252	//       "location": "query",
11253	//       "required": true,
11254	//       "type": "string"
11255	//     },
11256	//     "volumeId": {
11257	//       "description": "ID of volume for which to update the reading position.",
11258	//       "location": "path",
11259	//       "required": true,
11260	//       "type": "string"
11261	//     }
11262	//   },
11263	//   "path": "books/v1/mylibrary/readingpositions/{volumeId}/setPosition",
11264	//   "response": {
11265	//     "$ref": "Empty"
11266	//   },
11267	//   "scopes": [
11268	//     "https://www.googleapis.com/auth/books"
11269	//   ]
11270	// }
11271
11272}
11273
11274// method id "books.notification.get":
11275
11276type NotificationGetCall struct {
11277	s            *Service
11278	urlParams_   gensupport.URLParams
11279	ifNoneMatch_ string
11280	ctx_         context.Context
11281	header_      http.Header
11282}
11283
11284// Get: Returns notification details for a given notification id.
11285//
11286// - notificationId: String to identify the notification.
11287func (r *NotificationService) Get(notificationId string) *NotificationGetCall {
11288	c := &NotificationGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11289	c.urlParams_.Set("notification_id", notificationId)
11290	return c
11291}
11292
11293// Locale sets the optional parameter "locale": ISO-639-1 language and
11294// ISO-3166-1 country code. Ex: 'en_US'. Used for generating
11295// notification title and body.
11296func (c *NotificationGetCall) Locale(locale string) *NotificationGetCall {
11297	c.urlParams_.Set("locale", locale)
11298	return c
11299}
11300
11301// Source sets the optional parameter "source": String to identify the
11302// originator of this request.
11303func (c *NotificationGetCall) Source(source string) *NotificationGetCall {
11304	c.urlParams_.Set("source", source)
11305	return c
11306}
11307
11308// Fields allows partial responses to be retrieved. See
11309// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11310// for more information.
11311func (c *NotificationGetCall) Fields(s ...googleapi.Field) *NotificationGetCall {
11312	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11313	return c
11314}
11315
11316// IfNoneMatch sets the optional parameter which makes the operation
11317// fail if the object's ETag matches the given value. This is useful for
11318// getting updates only after the object has changed since the last
11319// request. Use googleapi.IsNotModified to check whether the response
11320// error from Do is the result of In-None-Match.
11321func (c *NotificationGetCall) IfNoneMatch(entityTag string) *NotificationGetCall {
11322	c.ifNoneMatch_ = entityTag
11323	return c
11324}
11325
11326// Context sets the context to be used in this call's Do method. Any
11327// pending HTTP request will be aborted if the provided context is
11328// canceled.
11329func (c *NotificationGetCall) Context(ctx context.Context) *NotificationGetCall {
11330	c.ctx_ = ctx
11331	return c
11332}
11333
11334// Header returns an http.Header that can be modified by the caller to
11335// add HTTP headers to the request.
11336func (c *NotificationGetCall) Header() http.Header {
11337	if c.header_ == nil {
11338		c.header_ = make(http.Header)
11339	}
11340	return c.header_
11341}
11342
11343func (c *NotificationGetCall) doRequest(alt string) (*http.Response, error) {
11344	reqHeaders := make(http.Header)
11345	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
11346	for k, v := range c.header_ {
11347		reqHeaders[k] = v
11348	}
11349	reqHeaders.Set("User-Agent", c.s.userAgent())
11350	if c.ifNoneMatch_ != "" {
11351		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11352	}
11353	var body io.Reader = nil
11354	c.urlParams_.Set("alt", alt)
11355	c.urlParams_.Set("prettyPrint", "false")
11356	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/notification/get")
11357	urls += "?" + c.urlParams_.Encode()
11358	req, err := http.NewRequest("GET", urls, body)
11359	if err != nil {
11360		return nil, err
11361	}
11362	req.Header = reqHeaders
11363	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11364}
11365
11366// Do executes the "books.notification.get" call.
11367// Exactly one of *Notification or error will be non-nil. Any non-2xx
11368// status code is an error. Response headers are in either
11369// *Notification.ServerResponse.Header or (if a response was returned at
11370// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11371// to check whether the returned error was because
11372// http.StatusNotModified was returned.
11373func (c *NotificationGetCall) Do(opts ...googleapi.CallOption) (*Notification, error) {
11374	gensupport.SetOptions(c.urlParams_, opts...)
11375	res, err := c.doRequest("json")
11376	if res != nil && res.StatusCode == http.StatusNotModified {
11377		if res.Body != nil {
11378			res.Body.Close()
11379		}
11380		return nil, &googleapi.Error{
11381			Code:   res.StatusCode,
11382			Header: res.Header,
11383		}
11384	}
11385	if err != nil {
11386		return nil, err
11387	}
11388	defer googleapi.CloseBody(res)
11389	if err := googleapi.CheckResponse(res); err != nil {
11390		return nil, err
11391	}
11392	ret := &Notification{
11393		ServerResponse: googleapi.ServerResponse{
11394			Header:         res.Header,
11395			HTTPStatusCode: res.StatusCode,
11396		},
11397	}
11398	target := &ret
11399	if err := gensupport.DecodeResponse(target, res); err != nil {
11400		return nil, err
11401	}
11402	return ret, nil
11403	// {
11404	//   "description": "Returns notification details for a given notification id.",
11405	//   "flatPath": "books/v1/notification/get",
11406	//   "httpMethod": "GET",
11407	//   "id": "books.notification.get",
11408	//   "parameterOrder": [
11409	//     "notification_id"
11410	//   ],
11411	//   "parameters": {
11412	//     "locale": {
11413	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating notification title and body.",
11414	//       "location": "query",
11415	//       "type": "string"
11416	//     },
11417	//     "notification_id": {
11418	//       "description": "String to identify the notification.",
11419	//       "location": "query",
11420	//       "required": true,
11421	//       "type": "string"
11422	//     },
11423	//     "source": {
11424	//       "description": "String to identify the originator of this request.",
11425	//       "location": "query",
11426	//       "type": "string"
11427	//     }
11428	//   },
11429	//   "path": "books/v1/notification/get",
11430	//   "response": {
11431	//     "$ref": "Notification"
11432	//   },
11433	//   "scopes": [
11434	//     "https://www.googleapis.com/auth/books"
11435	//   ]
11436	// }
11437
11438}
11439
11440// method id "books.onboarding.listCategories":
11441
11442type OnboardingListCategoriesCall struct {
11443	s            *Service
11444	urlParams_   gensupport.URLParams
11445	ifNoneMatch_ string
11446	ctx_         context.Context
11447	header_      http.Header
11448}
11449
11450// ListCategories: List categories for onboarding experience.
11451func (r *OnboardingService) ListCategories() *OnboardingListCategoriesCall {
11452	c := &OnboardingListCategoriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11453	return c
11454}
11455
11456// Locale sets the optional parameter "locale": ISO-639-1 language and
11457// ISO-3166-1 country code. Default is en-US if unset.
11458func (c *OnboardingListCategoriesCall) Locale(locale string) *OnboardingListCategoriesCall {
11459	c.urlParams_.Set("locale", locale)
11460	return c
11461}
11462
11463// Fields allows partial responses to be retrieved. See
11464// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11465// for more information.
11466func (c *OnboardingListCategoriesCall) Fields(s ...googleapi.Field) *OnboardingListCategoriesCall {
11467	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11468	return c
11469}
11470
11471// IfNoneMatch sets the optional parameter which makes the operation
11472// fail if the object's ETag matches the given value. This is useful for
11473// getting updates only after the object has changed since the last
11474// request. Use googleapi.IsNotModified to check whether the response
11475// error from Do is the result of In-None-Match.
11476func (c *OnboardingListCategoriesCall) IfNoneMatch(entityTag string) *OnboardingListCategoriesCall {
11477	c.ifNoneMatch_ = entityTag
11478	return c
11479}
11480
11481// Context sets the context to be used in this call's Do method. Any
11482// pending HTTP request will be aborted if the provided context is
11483// canceled.
11484func (c *OnboardingListCategoriesCall) Context(ctx context.Context) *OnboardingListCategoriesCall {
11485	c.ctx_ = ctx
11486	return c
11487}
11488
11489// Header returns an http.Header that can be modified by the caller to
11490// add HTTP headers to the request.
11491func (c *OnboardingListCategoriesCall) Header() http.Header {
11492	if c.header_ == nil {
11493		c.header_ = make(http.Header)
11494	}
11495	return c.header_
11496}
11497
11498func (c *OnboardingListCategoriesCall) doRequest(alt string) (*http.Response, error) {
11499	reqHeaders := make(http.Header)
11500	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
11501	for k, v := range c.header_ {
11502		reqHeaders[k] = v
11503	}
11504	reqHeaders.Set("User-Agent", c.s.userAgent())
11505	if c.ifNoneMatch_ != "" {
11506		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11507	}
11508	var body io.Reader = nil
11509	c.urlParams_.Set("alt", alt)
11510	c.urlParams_.Set("prettyPrint", "false")
11511	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/onboarding/listCategories")
11512	urls += "?" + c.urlParams_.Encode()
11513	req, err := http.NewRequest("GET", urls, body)
11514	if err != nil {
11515		return nil, err
11516	}
11517	req.Header = reqHeaders
11518	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11519}
11520
11521// Do executes the "books.onboarding.listCategories" call.
11522// Exactly one of *Category or error will be non-nil. Any non-2xx status
11523// code is an error. Response headers are in either
11524// *Category.ServerResponse.Header or (if a response was returned at
11525// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
11526// to check whether the returned error was because
11527// http.StatusNotModified was returned.
11528func (c *OnboardingListCategoriesCall) Do(opts ...googleapi.CallOption) (*Category, error) {
11529	gensupport.SetOptions(c.urlParams_, opts...)
11530	res, err := c.doRequest("json")
11531	if res != nil && res.StatusCode == http.StatusNotModified {
11532		if res.Body != nil {
11533			res.Body.Close()
11534		}
11535		return nil, &googleapi.Error{
11536			Code:   res.StatusCode,
11537			Header: res.Header,
11538		}
11539	}
11540	if err != nil {
11541		return nil, err
11542	}
11543	defer googleapi.CloseBody(res)
11544	if err := googleapi.CheckResponse(res); err != nil {
11545		return nil, err
11546	}
11547	ret := &Category{
11548		ServerResponse: googleapi.ServerResponse{
11549			Header:         res.Header,
11550			HTTPStatusCode: res.StatusCode,
11551		},
11552	}
11553	target := &ret
11554	if err := gensupport.DecodeResponse(target, res); err != nil {
11555		return nil, err
11556	}
11557	return ret, nil
11558	// {
11559	//   "description": "List categories for onboarding experience.",
11560	//   "flatPath": "books/v1/onboarding/listCategories",
11561	//   "httpMethod": "GET",
11562	//   "id": "books.onboarding.listCategories",
11563	//   "parameterOrder": [],
11564	//   "parameters": {
11565	//     "locale": {
11566	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.",
11567	//       "location": "query",
11568	//       "type": "string"
11569	//     }
11570	//   },
11571	//   "path": "books/v1/onboarding/listCategories",
11572	//   "response": {
11573	//     "$ref": "Category"
11574	//   },
11575	//   "scopes": [
11576	//     "https://www.googleapis.com/auth/books"
11577	//   ]
11578	// }
11579
11580}
11581
11582// method id "books.onboarding.listCategoryVolumes":
11583
11584type OnboardingListCategoryVolumesCall struct {
11585	s            *Service
11586	urlParams_   gensupport.URLParams
11587	ifNoneMatch_ string
11588	ctx_         context.Context
11589	header_      http.Header
11590}
11591
11592// ListCategoryVolumes: List available volumes under categories for
11593// onboarding experience.
11594func (r *OnboardingService) ListCategoryVolumes() *OnboardingListCategoryVolumesCall {
11595	c := &OnboardingListCategoryVolumesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11596	return c
11597}
11598
11599// CategoryId sets the optional parameter "categoryId": List of category
11600// ids requested.
11601func (c *OnboardingListCategoryVolumesCall) CategoryId(categoryId ...string) *OnboardingListCategoryVolumesCall {
11602	c.urlParams_.SetMulti("categoryId", append([]string{}, categoryId...))
11603	return c
11604}
11605
11606// Locale sets the optional parameter "locale": ISO-639-1 language and
11607// ISO-3166-1 country code. Default is en-US if unset.
11608func (c *OnboardingListCategoryVolumesCall) Locale(locale string) *OnboardingListCategoryVolumesCall {
11609	c.urlParams_.Set("locale", locale)
11610	return c
11611}
11612
11613// MaxAllowedMaturityRating sets the optional parameter
11614// "maxAllowedMaturityRating": The maximum allowed maturity rating of
11615// returned volumes. Books with a higher maturity rating are filtered
11616// out.
11617//
11618// Possible values:
11619//   "MAX_ALLOWED_MATURITY_RATING_UNDEFINED"
11620//   "MATURE" - Show books which are rated mature or lower.
11621//   "not-mature" - Show books which are rated not mature.
11622func (c *OnboardingListCategoryVolumesCall) MaxAllowedMaturityRating(maxAllowedMaturityRating string) *OnboardingListCategoryVolumesCall {
11623	c.urlParams_.Set("maxAllowedMaturityRating", maxAllowedMaturityRating)
11624	return c
11625}
11626
11627// PageSize sets the optional parameter "pageSize": Number of maximum
11628// results per page to be included in the response.
11629func (c *OnboardingListCategoryVolumesCall) PageSize(pageSize int64) *OnboardingListCategoryVolumesCall {
11630	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
11631	return c
11632}
11633
11634// PageToken sets the optional parameter "pageToken": The value of the
11635// nextToken from the previous page.
11636func (c *OnboardingListCategoryVolumesCall) PageToken(pageToken string) *OnboardingListCategoryVolumesCall {
11637	c.urlParams_.Set("pageToken", pageToken)
11638	return c
11639}
11640
11641// Fields allows partial responses to be retrieved. See
11642// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11643// for more information.
11644func (c *OnboardingListCategoryVolumesCall) Fields(s ...googleapi.Field) *OnboardingListCategoryVolumesCall {
11645	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11646	return c
11647}
11648
11649// IfNoneMatch sets the optional parameter which makes the operation
11650// fail if the object's ETag matches the given value. This is useful for
11651// getting updates only after the object has changed since the last
11652// request. Use googleapi.IsNotModified to check whether the response
11653// error from Do is the result of In-None-Match.
11654func (c *OnboardingListCategoryVolumesCall) IfNoneMatch(entityTag string) *OnboardingListCategoryVolumesCall {
11655	c.ifNoneMatch_ = entityTag
11656	return c
11657}
11658
11659// Context sets the context to be used in this call's Do method. Any
11660// pending HTTP request will be aborted if the provided context is
11661// canceled.
11662func (c *OnboardingListCategoryVolumesCall) Context(ctx context.Context) *OnboardingListCategoryVolumesCall {
11663	c.ctx_ = ctx
11664	return c
11665}
11666
11667// Header returns an http.Header that can be modified by the caller to
11668// add HTTP headers to the request.
11669func (c *OnboardingListCategoryVolumesCall) Header() http.Header {
11670	if c.header_ == nil {
11671		c.header_ = make(http.Header)
11672	}
11673	return c.header_
11674}
11675
11676func (c *OnboardingListCategoryVolumesCall) doRequest(alt string) (*http.Response, error) {
11677	reqHeaders := make(http.Header)
11678	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
11679	for k, v := range c.header_ {
11680		reqHeaders[k] = v
11681	}
11682	reqHeaders.Set("User-Agent", c.s.userAgent())
11683	if c.ifNoneMatch_ != "" {
11684		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11685	}
11686	var body io.Reader = nil
11687	c.urlParams_.Set("alt", alt)
11688	c.urlParams_.Set("prettyPrint", "false")
11689	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/onboarding/listCategoryVolumes")
11690	urls += "?" + c.urlParams_.Encode()
11691	req, err := http.NewRequest("GET", urls, body)
11692	if err != nil {
11693		return nil, err
11694	}
11695	req.Header = reqHeaders
11696	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11697}
11698
11699// Do executes the "books.onboarding.listCategoryVolumes" call.
11700// Exactly one of *Volume2 or error will be non-nil. Any non-2xx status
11701// code is an error. Response headers are in either
11702// *Volume2.ServerResponse.Header or (if a response was returned at all)
11703// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11704// check whether the returned error was because http.StatusNotModified
11705// was returned.
11706func (c *OnboardingListCategoryVolumesCall) Do(opts ...googleapi.CallOption) (*Volume2, error) {
11707	gensupport.SetOptions(c.urlParams_, opts...)
11708	res, err := c.doRequest("json")
11709	if res != nil && res.StatusCode == http.StatusNotModified {
11710		if res.Body != nil {
11711			res.Body.Close()
11712		}
11713		return nil, &googleapi.Error{
11714			Code:   res.StatusCode,
11715			Header: res.Header,
11716		}
11717	}
11718	if err != nil {
11719		return nil, err
11720	}
11721	defer googleapi.CloseBody(res)
11722	if err := googleapi.CheckResponse(res); err != nil {
11723		return nil, err
11724	}
11725	ret := &Volume2{
11726		ServerResponse: googleapi.ServerResponse{
11727			Header:         res.Header,
11728			HTTPStatusCode: res.StatusCode,
11729		},
11730	}
11731	target := &ret
11732	if err := gensupport.DecodeResponse(target, res); err != nil {
11733		return nil, err
11734	}
11735	return ret, nil
11736	// {
11737	//   "description": "List available volumes under categories for onboarding experience.",
11738	//   "flatPath": "books/v1/onboarding/listCategoryVolumes",
11739	//   "httpMethod": "GET",
11740	//   "id": "books.onboarding.listCategoryVolumes",
11741	//   "parameterOrder": [],
11742	//   "parameters": {
11743	//     "categoryId": {
11744	//       "description": "List of category ids requested.",
11745	//       "location": "query",
11746	//       "repeated": true,
11747	//       "type": "string"
11748	//     },
11749	//     "locale": {
11750	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.",
11751	//       "location": "query",
11752	//       "type": "string"
11753	//     },
11754	//     "maxAllowedMaturityRating": {
11755	//       "description": "The maximum allowed maturity rating of returned volumes. Books with a higher maturity rating are filtered out.",
11756	//       "enum": [
11757	//         "MAX_ALLOWED_MATURITY_RATING_UNDEFINED",
11758	//         "MATURE",
11759	//         "not-mature"
11760	//       ],
11761	//       "enumDescriptions": [
11762	//         "",
11763	//         "Show books which are rated mature or lower.",
11764	//         "Show books which are rated not mature."
11765	//       ],
11766	//       "location": "query",
11767	//       "type": "string"
11768	//     },
11769	//     "pageSize": {
11770	//       "description": "Number of maximum results per page to be included in the response.",
11771	//       "format": "uint32",
11772	//       "location": "query",
11773	//       "type": "integer"
11774	//     },
11775	//     "pageToken": {
11776	//       "description": "The value of the nextToken from the previous page.",
11777	//       "location": "query",
11778	//       "type": "string"
11779	//     }
11780	//   },
11781	//   "path": "books/v1/onboarding/listCategoryVolumes",
11782	//   "response": {
11783	//     "$ref": "Volume2"
11784	//   },
11785	//   "scopes": [
11786	//     "https://www.googleapis.com/auth/books"
11787	//   ]
11788	// }
11789
11790}
11791
11792// Pages invokes f for each page of results.
11793// A non-nil error returned from f will halt the iteration.
11794// The provided context supersedes any context provided to the Context method.
11795func (c *OnboardingListCategoryVolumesCall) Pages(ctx context.Context, f func(*Volume2) error) error {
11796	c.ctx_ = ctx
11797	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
11798	for {
11799		x, err := c.Do()
11800		if err != nil {
11801			return err
11802		}
11803		if err := f(x); err != nil {
11804			return err
11805		}
11806		if x.NextPageToken == "" {
11807			return nil
11808		}
11809		c.PageToken(x.NextPageToken)
11810	}
11811}
11812
11813// method id "books.personalizedstream.get":
11814
11815type PersonalizedstreamGetCall struct {
11816	s            *Service
11817	urlParams_   gensupport.URLParams
11818	ifNoneMatch_ string
11819	ctx_         context.Context
11820	header_      http.Header
11821}
11822
11823// Get: Returns a stream of personalized book clusters
11824func (r *PersonalizedstreamService) Get() *PersonalizedstreamGetCall {
11825	c := &PersonalizedstreamGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11826	return c
11827}
11828
11829// Locale sets the optional parameter "locale": ISO-639-1 language and
11830// ISO-3166-1 country code. Ex: 'en_US'. Used for generating
11831// recommendations.
11832func (c *PersonalizedstreamGetCall) Locale(locale string) *PersonalizedstreamGetCall {
11833	c.urlParams_.Set("locale", locale)
11834	return c
11835}
11836
11837// MaxAllowedMaturityRating sets the optional parameter
11838// "maxAllowedMaturityRating": The maximum allowed maturity rating of
11839// returned recommendations. Books with a higher maturity rating are
11840// filtered out.
11841//
11842// Possible values:
11843//   "MAX_ALLOWED_MATURITY_RATING_UNDEFINED"
11844//   "MATURE" - Show books which are rated mature or lower.
11845//   "not-mature" - Show books which are rated not mature.
11846func (c *PersonalizedstreamGetCall) MaxAllowedMaturityRating(maxAllowedMaturityRating string) *PersonalizedstreamGetCall {
11847	c.urlParams_.Set("maxAllowedMaturityRating", maxAllowedMaturityRating)
11848	return c
11849}
11850
11851// Source sets the optional parameter "source": String to identify the
11852// originator of this request.
11853func (c *PersonalizedstreamGetCall) Source(source string) *PersonalizedstreamGetCall {
11854	c.urlParams_.Set("source", source)
11855	return c
11856}
11857
11858// Fields allows partial responses to be retrieved. See
11859// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11860// for more information.
11861func (c *PersonalizedstreamGetCall) Fields(s ...googleapi.Field) *PersonalizedstreamGetCall {
11862	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11863	return c
11864}
11865
11866// IfNoneMatch sets the optional parameter which makes the operation
11867// fail if the object's ETag matches the given value. This is useful for
11868// getting updates only after the object has changed since the last
11869// request. Use googleapi.IsNotModified to check whether the response
11870// error from Do is the result of In-None-Match.
11871func (c *PersonalizedstreamGetCall) IfNoneMatch(entityTag string) *PersonalizedstreamGetCall {
11872	c.ifNoneMatch_ = entityTag
11873	return c
11874}
11875
11876// Context sets the context to be used in this call's Do method. Any
11877// pending HTTP request will be aborted if the provided context is
11878// canceled.
11879func (c *PersonalizedstreamGetCall) Context(ctx context.Context) *PersonalizedstreamGetCall {
11880	c.ctx_ = ctx
11881	return c
11882}
11883
11884// Header returns an http.Header that can be modified by the caller to
11885// add HTTP headers to the request.
11886func (c *PersonalizedstreamGetCall) Header() http.Header {
11887	if c.header_ == nil {
11888		c.header_ = make(http.Header)
11889	}
11890	return c.header_
11891}
11892
11893func (c *PersonalizedstreamGetCall) doRequest(alt string) (*http.Response, error) {
11894	reqHeaders := make(http.Header)
11895	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
11896	for k, v := range c.header_ {
11897		reqHeaders[k] = v
11898	}
11899	reqHeaders.Set("User-Agent", c.s.userAgent())
11900	if c.ifNoneMatch_ != "" {
11901		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11902	}
11903	var body io.Reader = nil
11904	c.urlParams_.Set("alt", alt)
11905	c.urlParams_.Set("prettyPrint", "false")
11906	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/personalizedstream/get")
11907	urls += "?" + c.urlParams_.Encode()
11908	req, err := http.NewRequest("GET", urls, body)
11909	if err != nil {
11910		return nil, err
11911	}
11912	req.Header = reqHeaders
11913	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11914}
11915
11916// Do executes the "books.personalizedstream.get" call.
11917// Exactly one of *Discoveryclusters or error will be non-nil. Any
11918// non-2xx status code is an error. Response headers are in either
11919// *Discoveryclusters.ServerResponse.Header or (if a response was
11920// returned at all) in error.(*googleapi.Error).Header. Use
11921// googleapi.IsNotModified to check whether the returned error was
11922// because http.StatusNotModified was returned.
11923func (c *PersonalizedstreamGetCall) Do(opts ...googleapi.CallOption) (*Discoveryclusters, error) {
11924	gensupport.SetOptions(c.urlParams_, opts...)
11925	res, err := c.doRequest("json")
11926	if res != nil && res.StatusCode == http.StatusNotModified {
11927		if res.Body != nil {
11928			res.Body.Close()
11929		}
11930		return nil, &googleapi.Error{
11931			Code:   res.StatusCode,
11932			Header: res.Header,
11933		}
11934	}
11935	if err != nil {
11936		return nil, err
11937	}
11938	defer googleapi.CloseBody(res)
11939	if err := googleapi.CheckResponse(res); err != nil {
11940		return nil, err
11941	}
11942	ret := &Discoveryclusters{
11943		ServerResponse: googleapi.ServerResponse{
11944			Header:         res.Header,
11945			HTTPStatusCode: res.StatusCode,
11946		},
11947	}
11948	target := &ret
11949	if err := gensupport.DecodeResponse(target, res); err != nil {
11950		return nil, err
11951	}
11952	return ret, nil
11953	// {
11954	//   "description": "Returns a stream of personalized book clusters",
11955	//   "flatPath": "books/v1/personalizedstream/get",
11956	//   "httpMethod": "GET",
11957	//   "id": "books.personalizedstream.get",
11958	//   "parameterOrder": [],
11959	//   "parameters": {
11960	//     "locale": {
11961	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.",
11962	//       "location": "query",
11963	//       "type": "string"
11964	//     },
11965	//     "maxAllowedMaturityRating": {
11966	//       "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.",
11967	//       "enum": [
11968	//         "MAX_ALLOWED_MATURITY_RATING_UNDEFINED",
11969	//         "MATURE",
11970	//         "not-mature"
11971	//       ],
11972	//       "enumDescriptions": [
11973	//         "",
11974	//         "Show books which are rated mature or lower.",
11975	//         "Show books which are rated not mature."
11976	//       ],
11977	//       "location": "query",
11978	//       "type": "string"
11979	//     },
11980	//     "source": {
11981	//       "description": "String to identify the originator of this request.",
11982	//       "location": "query",
11983	//       "type": "string"
11984	//     }
11985	//   },
11986	//   "path": "books/v1/personalizedstream/get",
11987	//   "response": {
11988	//     "$ref": "Discoveryclusters"
11989	//   },
11990	//   "scopes": [
11991	//     "https://www.googleapis.com/auth/books"
11992	//   ]
11993	// }
11994
11995}
11996
11997// method id "books.promooffer.accept":
11998
11999type PromoofferAcceptCall struct {
12000	s          *Service
12001	urlParams_ gensupport.URLParams
12002	ctx_       context.Context
12003	header_    http.Header
12004}
12005
12006// Accept: Accepts the promo offer.
12007func (r *PromoofferService) Accept() *PromoofferAcceptCall {
12008	c := &PromoofferAcceptCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12009	return c
12010}
12011
12012// AndroidId sets the optional parameter "androidId": device android_id
12013func (c *PromoofferAcceptCall) AndroidId(androidId string) *PromoofferAcceptCall {
12014	c.urlParams_.Set("androidId", androidId)
12015	return c
12016}
12017
12018// Device sets the optional parameter "device": device device
12019func (c *PromoofferAcceptCall) Device(device string) *PromoofferAcceptCall {
12020	c.urlParams_.Set("device", device)
12021	return c
12022}
12023
12024// Manufacturer sets the optional parameter "manufacturer": device
12025// manufacturer
12026func (c *PromoofferAcceptCall) Manufacturer(manufacturer string) *PromoofferAcceptCall {
12027	c.urlParams_.Set("manufacturer", manufacturer)
12028	return c
12029}
12030
12031// Model sets the optional parameter "model": device model
12032func (c *PromoofferAcceptCall) Model(model string) *PromoofferAcceptCall {
12033	c.urlParams_.Set("model", model)
12034	return c
12035}
12036
12037// OfferId sets the optional parameter "offerId":
12038func (c *PromoofferAcceptCall) OfferId(offerId string) *PromoofferAcceptCall {
12039	c.urlParams_.Set("offerId", offerId)
12040	return c
12041}
12042
12043// Product sets the optional parameter "product": device product
12044func (c *PromoofferAcceptCall) Product(product string) *PromoofferAcceptCall {
12045	c.urlParams_.Set("product", product)
12046	return c
12047}
12048
12049// Serial sets the optional parameter "serial": device serial
12050func (c *PromoofferAcceptCall) Serial(serial string) *PromoofferAcceptCall {
12051	c.urlParams_.Set("serial", serial)
12052	return c
12053}
12054
12055// VolumeId sets the optional parameter "volumeId": Volume id to
12056// exercise the offer
12057func (c *PromoofferAcceptCall) VolumeId(volumeId string) *PromoofferAcceptCall {
12058	c.urlParams_.Set("volumeId", volumeId)
12059	return c
12060}
12061
12062// Fields allows partial responses to be retrieved. See
12063// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12064// for more information.
12065func (c *PromoofferAcceptCall) Fields(s ...googleapi.Field) *PromoofferAcceptCall {
12066	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12067	return c
12068}
12069
12070// Context sets the context to be used in this call's Do method. Any
12071// pending HTTP request will be aborted if the provided context is
12072// canceled.
12073func (c *PromoofferAcceptCall) Context(ctx context.Context) *PromoofferAcceptCall {
12074	c.ctx_ = ctx
12075	return c
12076}
12077
12078// Header returns an http.Header that can be modified by the caller to
12079// add HTTP headers to the request.
12080func (c *PromoofferAcceptCall) Header() http.Header {
12081	if c.header_ == nil {
12082		c.header_ = make(http.Header)
12083	}
12084	return c.header_
12085}
12086
12087func (c *PromoofferAcceptCall) doRequest(alt string) (*http.Response, error) {
12088	reqHeaders := make(http.Header)
12089	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
12090	for k, v := range c.header_ {
12091		reqHeaders[k] = v
12092	}
12093	reqHeaders.Set("User-Agent", c.s.userAgent())
12094	var body io.Reader = nil
12095	c.urlParams_.Set("alt", alt)
12096	c.urlParams_.Set("prettyPrint", "false")
12097	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/promooffer/accept")
12098	urls += "?" + c.urlParams_.Encode()
12099	req, err := http.NewRequest("POST", urls, body)
12100	if err != nil {
12101		return nil, err
12102	}
12103	req.Header = reqHeaders
12104	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12105}
12106
12107// Do executes the "books.promooffer.accept" call.
12108// Exactly one of *Empty or error will be non-nil. Any non-2xx status
12109// code is an error. Response headers are in either
12110// *Empty.ServerResponse.Header or (if a response was returned at all)
12111// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12112// check whether the returned error was because http.StatusNotModified
12113// was returned.
12114func (c *PromoofferAcceptCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
12115	gensupport.SetOptions(c.urlParams_, opts...)
12116	res, err := c.doRequest("json")
12117	if res != nil && res.StatusCode == http.StatusNotModified {
12118		if res.Body != nil {
12119			res.Body.Close()
12120		}
12121		return nil, &googleapi.Error{
12122			Code:   res.StatusCode,
12123			Header: res.Header,
12124		}
12125	}
12126	if err != nil {
12127		return nil, err
12128	}
12129	defer googleapi.CloseBody(res)
12130	if err := googleapi.CheckResponse(res); err != nil {
12131		return nil, err
12132	}
12133	ret := &Empty{
12134		ServerResponse: googleapi.ServerResponse{
12135			Header:         res.Header,
12136			HTTPStatusCode: res.StatusCode,
12137		},
12138	}
12139	target := &ret
12140	if err := gensupport.DecodeResponse(target, res); err != nil {
12141		return nil, err
12142	}
12143	return ret, nil
12144	// {
12145	//   "description": "Accepts the promo offer.",
12146	//   "flatPath": "books/v1/promooffer/accept",
12147	//   "httpMethod": "POST",
12148	//   "id": "books.promooffer.accept",
12149	//   "parameterOrder": [],
12150	//   "parameters": {
12151	//     "androidId": {
12152	//       "description": "device android_id",
12153	//       "location": "query",
12154	//       "type": "string"
12155	//     },
12156	//     "device": {
12157	//       "description": "device device",
12158	//       "location": "query",
12159	//       "type": "string"
12160	//     },
12161	//     "manufacturer": {
12162	//       "description": "device manufacturer",
12163	//       "location": "query",
12164	//       "type": "string"
12165	//     },
12166	//     "model": {
12167	//       "description": "device model",
12168	//       "location": "query",
12169	//       "type": "string"
12170	//     },
12171	//     "offerId": {
12172	//       "location": "query",
12173	//       "type": "string"
12174	//     },
12175	//     "product": {
12176	//       "description": "device product",
12177	//       "location": "query",
12178	//       "type": "string"
12179	//     },
12180	//     "serial": {
12181	//       "description": "device serial",
12182	//       "location": "query",
12183	//       "type": "string"
12184	//     },
12185	//     "volumeId": {
12186	//       "description": "Volume id to exercise the offer",
12187	//       "location": "query",
12188	//       "type": "string"
12189	//     }
12190	//   },
12191	//   "path": "books/v1/promooffer/accept",
12192	//   "response": {
12193	//     "$ref": "Empty"
12194	//   },
12195	//   "scopes": [
12196	//     "https://www.googleapis.com/auth/books"
12197	//   ]
12198	// }
12199
12200}
12201
12202// method id "books.promooffer.dismiss":
12203
12204type PromoofferDismissCall struct {
12205	s          *Service
12206	urlParams_ gensupport.URLParams
12207	ctx_       context.Context
12208	header_    http.Header
12209}
12210
12211// Dismiss: Marks the promo offer as dismissed.
12212func (r *PromoofferService) Dismiss() *PromoofferDismissCall {
12213	c := &PromoofferDismissCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12214	return c
12215}
12216
12217// AndroidId sets the optional parameter "androidId": device android_id
12218func (c *PromoofferDismissCall) AndroidId(androidId string) *PromoofferDismissCall {
12219	c.urlParams_.Set("androidId", androidId)
12220	return c
12221}
12222
12223// Device sets the optional parameter "device": device device
12224func (c *PromoofferDismissCall) Device(device string) *PromoofferDismissCall {
12225	c.urlParams_.Set("device", device)
12226	return c
12227}
12228
12229// Manufacturer sets the optional parameter "manufacturer": device
12230// manufacturer
12231func (c *PromoofferDismissCall) Manufacturer(manufacturer string) *PromoofferDismissCall {
12232	c.urlParams_.Set("manufacturer", manufacturer)
12233	return c
12234}
12235
12236// Model sets the optional parameter "model": device model
12237func (c *PromoofferDismissCall) Model(model string) *PromoofferDismissCall {
12238	c.urlParams_.Set("model", model)
12239	return c
12240}
12241
12242// OfferId sets the optional parameter "offerId": Offer to dimiss
12243func (c *PromoofferDismissCall) OfferId(offerId string) *PromoofferDismissCall {
12244	c.urlParams_.Set("offerId", offerId)
12245	return c
12246}
12247
12248// Product sets the optional parameter "product": device product
12249func (c *PromoofferDismissCall) Product(product string) *PromoofferDismissCall {
12250	c.urlParams_.Set("product", product)
12251	return c
12252}
12253
12254// Serial sets the optional parameter "serial": device serial
12255func (c *PromoofferDismissCall) Serial(serial string) *PromoofferDismissCall {
12256	c.urlParams_.Set("serial", serial)
12257	return c
12258}
12259
12260// Fields allows partial responses to be retrieved. See
12261// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12262// for more information.
12263func (c *PromoofferDismissCall) Fields(s ...googleapi.Field) *PromoofferDismissCall {
12264	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12265	return c
12266}
12267
12268// Context sets the context to be used in this call's Do method. Any
12269// pending HTTP request will be aborted if the provided context is
12270// canceled.
12271func (c *PromoofferDismissCall) Context(ctx context.Context) *PromoofferDismissCall {
12272	c.ctx_ = ctx
12273	return c
12274}
12275
12276// Header returns an http.Header that can be modified by the caller to
12277// add HTTP headers to the request.
12278func (c *PromoofferDismissCall) Header() http.Header {
12279	if c.header_ == nil {
12280		c.header_ = make(http.Header)
12281	}
12282	return c.header_
12283}
12284
12285func (c *PromoofferDismissCall) doRequest(alt string) (*http.Response, error) {
12286	reqHeaders := make(http.Header)
12287	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
12288	for k, v := range c.header_ {
12289		reqHeaders[k] = v
12290	}
12291	reqHeaders.Set("User-Agent", c.s.userAgent())
12292	var body io.Reader = nil
12293	c.urlParams_.Set("alt", alt)
12294	c.urlParams_.Set("prettyPrint", "false")
12295	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/promooffer/dismiss")
12296	urls += "?" + c.urlParams_.Encode()
12297	req, err := http.NewRequest("POST", urls, body)
12298	if err != nil {
12299		return nil, err
12300	}
12301	req.Header = reqHeaders
12302	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12303}
12304
12305// Do executes the "books.promooffer.dismiss" call.
12306// Exactly one of *Empty or error will be non-nil. Any non-2xx status
12307// code is an error. Response headers are in either
12308// *Empty.ServerResponse.Header or (if a response was returned at all)
12309// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12310// check whether the returned error was because http.StatusNotModified
12311// was returned.
12312func (c *PromoofferDismissCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
12313	gensupport.SetOptions(c.urlParams_, opts...)
12314	res, err := c.doRequest("json")
12315	if res != nil && res.StatusCode == http.StatusNotModified {
12316		if res.Body != nil {
12317			res.Body.Close()
12318		}
12319		return nil, &googleapi.Error{
12320			Code:   res.StatusCode,
12321			Header: res.Header,
12322		}
12323	}
12324	if err != nil {
12325		return nil, err
12326	}
12327	defer googleapi.CloseBody(res)
12328	if err := googleapi.CheckResponse(res); err != nil {
12329		return nil, err
12330	}
12331	ret := &Empty{
12332		ServerResponse: googleapi.ServerResponse{
12333			Header:         res.Header,
12334			HTTPStatusCode: res.StatusCode,
12335		},
12336	}
12337	target := &ret
12338	if err := gensupport.DecodeResponse(target, res); err != nil {
12339		return nil, err
12340	}
12341	return ret, nil
12342	// {
12343	//   "description": "Marks the promo offer as dismissed.",
12344	//   "flatPath": "books/v1/promooffer/dismiss",
12345	//   "httpMethod": "POST",
12346	//   "id": "books.promooffer.dismiss",
12347	//   "parameterOrder": [],
12348	//   "parameters": {
12349	//     "androidId": {
12350	//       "description": "device android_id",
12351	//       "location": "query",
12352	//       "type": "string"
12353	//     },
12354	//     "device": {
12355	//       "description": "device device",
12356	//       "location": "query",
12357	//       "type": "string"
12358	//     },
12359	//     "manufacturer": {
12360	//       "description": "device manufacturer",
12361	//       "location": "query",
12362	//       "type": "string"
12363	//     },
12364	//     "model": {
12365	//       "description": "device model",
12366	//       "location": "query",
12367	//       "type": "string"
12368	//     },
12369	//     "offerId": {
12370	//       "description": "Offer to dimiss",
12371	//       "location": "query",
12372	//       "type": "string"
12373	//     },
12374	//     "product": {
12375	//       "description": "device product",
12376	//       "location": "query",
12377	//       "type": "string"
12378	//     },
12379	//     "serial": {
12380	//       "description": "device serial",
12381	//       "location": "query",
12382	//       "type": "string"
12383	//     }
12384	//   },
12385	//   "path": "books/v1/promooffer/dismiss",
12386	//   "response": {
12387	//     "$ref": "Empty"
12388	//   },
12389	//   "scopes": [
12390	//     "https://www.googleapis.com/auth/books"
12391	//   ]
12392	// }
12393
12394}
12395
12396// method id "books.promooffer.get":
12397
12398type PromoofferGetCall struct {
12399	s            *Service
12400	urlParams_   gensupport.URLParams
12401	ifNoneMatch_ string
12402	ctx_         context.Context
12403	header_      http.Header
12404}
12405
12406// Get: Returns a list of promo offers available to the user
12407func (r *PromoofferService) Get() *PromoofferGetCall {
12408	c := &PromoofferGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12409	return c
12410}
12411
12412// AndroidId sets the optional parameter "androidId": device android_id
12413func (c *PromoofferGetCall) AndroidId(androidId string) *PromoofferGetCall {
12414	c.urlParams_.Set("androidId", androidId)
12415	return c
12416}
12417
12418// Device sets the optional parameter "device": device device
12419func (c *PromoofferGetCall) Device(device string) *PromoofferGetCall {
12420	c.urlParams_.Set("device", device)
12421	return c
12422}
12423
12424// Manufacturer sets the optional parameter "manufacturer": device
12425// manufacturer
12426func (c *PromoofferGetCall) Manufacturer(manufacturer string) *PromoofferGetCall {
12427	c.urlParams_.Set("manufacturer", manufacturer)
12428	return c
12429}
12430
12431// Model sets the optional parameter "model": device model
12432func (c *PromoofferGetCall) Model(model string) *PromoofferGetCall {
12433	c.urlParams_.Set("model", model)
12434	return c
12435}
12436
12437// Product sets the optional parameter "product": device product
12438func (c *PromoofferGetCall) Product(product string) *PromoofferGetCall {
12439	c.urlParams_.Set("product", product)
12440	return c
12441}
12442
12443// Serial sets the optional parameter "serial": device serial
12444func (c *PromoofferGetCall) Serial(serial string) *PromoofferGetCall {
12445	c.urlParams_.Set("serial", serial)
12446	return c
12447}
12448
12449// Fields allows partial responses to be retrieved. See
12450// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12451// for more information.
12452func (c *PromoofferGetCall) Fields(s ...googleapi.Field) *PromoofferGetCall {
12453	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12454	return c
12455}
12456
12457// IfNoneMatch sets the optional parameter which makes the operation
12458// fail if the object's ETag matches the given value. This is useful for
12459// getting updates only after the object has changed since the last
12460// request. Use googleapi.IsNotModified to check whether the response
12461// error from Do is the result of In-None-Match.
12462func (c *PromoofferGetCall) IfNoneMatch(entityTag string) *PromoofferGetCall {
12463	c.ifNoneMatch_ = entityTag
12464	return c
12465}
12466
12467// Context sets the context to be used in this call's Do method. Any
12468// pending HTTP request will be aborted if the provided context is
12469// canceled.
12470func (c *PromoofferGetCall) Context(ctx context.Context) *PromoofferGetCall {
12471	c.ctx_ = ctx
12472	return c
12473}
12474
12475// Header returns an http.Header that can be modified by the caller to
12476// add HTTP headers to the request.
12477func (c *PromoofferGetCall) Header() http.Header {
12478	if c.header_ == nil {
12479		c.header_ = make(http.Header)
12480	}
12481	return c.header_
12482}
12483
12484func (c *PromoofferGetCall) doRequest(alt string) (*http.Response, error) {
12485	reqHeaders := make(http.Header)
12486	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
12487	for k, v := range c.header_ {
12488		reqHeaders[k] = v
12489	}
12490	reqHeaders.Set("User-Agent", c.s.userAgent())
12491	if c.ifNoneMatch_ != "" {
12492		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12493	}
12494	var body io.Reader = nil
12495	c.urlParams_.Set("alt", alt)
12496	c.urlParams_.Set("prettyPrint", "false")
12497	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/promooffer/get")
12498	urls += "?" + c.urlParams_.Encode()
12499	req, err := http.NewRequest("GET", urls, body)
12500	if err != nil {
12501		return nil, err
12502	}
12503	req.Header = reqHeaders
12504	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12505}
12506
12507// Do executes the "books.promooffer.get" call.
12508// Exactly one of *Offers or error will be non-nil. Any non-2xx status
12509// code is an error. Response headers are in either
12510// *Offers.ServerResponse.Header or (if a response was returned at all)
12511// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12512// check whether the returned error was because http.StatusNotModified
12513// was returned.
12514func (c *PromoofferGetCall) Do(opts ...googleapi.CallOption) (*Offers, error) {
12515	gensupport.SetOptions(c.urlParams_, opts...)
12516	res, err := c.doRequest("json")
12517	if res != nil && res.StatusCode == http.StatusNotModified {
12518		if res.Body != nil {
12519			res.Body.Close()
12520		}
12521		return nil, &googleapi.Error{
12522			Code:   res.StatusCode,
12523			Header: res.Header,
12524		}
12525	}
12526	if err != nil {
12527		return nil, err
12528	}
12529	defer googleapi.CloseBody(res)
12530	if err := googleapi.CheckResponse(res); err != nil {
12531		return nil, err
12532	}
12533	ret := &Offers{
12534		ServerResponse: googleapi.ServerResponse{
12535			Header:         res.Header,
12536			HTTPStatusCode: res.StatusCode,
12537		},
12538	}
12539	target := &ret
12540	if err := gensupport.DecodeResponse(target, res); err != nil {
12541		return nil, err
12542	}
12543	return ret, nil
12544	// {
12545	//   "description": "Returns a list of promo offers available to the user",
12546	//   "flatPath": "books/v1/promooffer/get",
12547	//   "httpMethod": "GET",
12548	//   "id": "books.promooffer.get",
12549	//   "parameterOrder": [],
12550	//   "parameters": {
12551	//     "androidId": {
12552	//       "description": "device android_id",
12553	//       "location": "query",
12554	//       "type": "string"
12555	//     },
12556	//     "device": {
12557	//       "description": "device device",
12558	//       "location": "query",
12559	//       "type": "string"
12560	//     },
12561	//     "manufacturer": {
12562	//       "description": "device manufacturer",
12563	//       "location": "query",
12564	//       "type": "string"
12565	//     },
12566	//     "model": {
12567	//       "description": "device model",
12568	//       "location": "query",
12569	//       "type": "string"
12570	//     },
12571	//     "product": {
12572	//       "description": "device product",
12573	//       "location": "query",
12574	//       "type": "string"
12575	//     },
12576	//     "serial": {
12577	//       "description": "device serial",
12578	//       "location": "query",
12579	//       "type": "string"
12580	//     }
12581	//   },
12582	//   "path": "books/v1/promooffer/get",
12583	//   "response": {
12584	//     "$ref": "Offers"
12585	//   },
12586	//   "scopes": [
12587	//     "https://www.googleapis.com/auth/books"
12588	//   ]
12589	// }
12590
12591}
12592
12593// method id "books.series.get":
12594
12595type SeriesGetCall struct {
12596	s            *Service
12597	urlParams_   gensupport.URLParams
12598	ifNoneMatch_ string
12599	ctx_         context.Context
12600	header_      http.Header
12601}
12602
12603// Get: Returns Series metadata for the given series ids.
12604//
12605// - seriesId: String that identifies the series.
12606func (r *SeriesService) Get(seriesId []string) *SeriesGetCall {
12607	c := &SeriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12608	c.urlParams_.SetMulti("series_id", append([]string{}, seriesId...))
12609	return c
12610}
12611
12612// Fields allows partial responses to be retrieved. See
12613// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12614// for more information.
12615func (c *SeriesGetCall) Fields(s ...googleapi.Field) *SeriesGetCall {
12616	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12617	return c
12618}
12619
12620// IfNoneMatch sets the optional parameter which makes the operation
12621// fail if the object's ETag matches the given value. This is useful for
12622// getting updates only after the object has changed since the last
12623// request. Use googleapi.IsNotModified to check whether the response
12624// error from Do is the result of In-None-Match.
12625func (c *SeriesGetCall) IfNoneMatch(entityTag string) *SeriesGetCall {
12626	c.ifNoneMatch_ = entityTag
12627	return c
12628}
12629
12630// Context sets the context to be used in this call's Do method. Any
12631// pending HTTP request will be aborted if the provided context is
12632// canceled.
12633func (c *SeriesGetCall) Context(ctx context.Context) *SeriesGetCall {
12634	c.ctx_ = ctx
12635	return c
12636}
12637
12638// Header returns an http.Header that can be modified by the caller to
12639// add HTTP headers to the request.
12640func (c *SeriesGetCall) Header() http.Header {
12641	if c.header_ == nil {
12642		c.header_ = make(http.Header)
12643	}
12644	return c.header_
12645}
12646
12647func (c *SeriesGetCall) doRequest(alt string) (*http.Response, error) {
12648	reqHeaders := make(http.Header)
12649	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
12650	for k, v := range c.header_ {
12651		reqHeaders[k] = v
12652	}
12653	reqHeaders.Set("User-Agent", c.s.userAgent())
12654	if c.ifNoneMatch_ != "" {
12655		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12656	}
12657	var body io.Reader = nil
12658	c.urlParams_.Set("alt", alt)
12659	c.urlParams_.Set("prettyPrint", "false")
12660	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/series/get")
12661	urls += "?" + c.urlParams_.Encode()
12662	req, err := http.NewRequest("GET", urls, body)
12663	if err != nil {
12664		return nil, err
12665	}
12666	req.Header = reqHeaders
12667	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12668}
12669
12670// Do executes the "books.series.get" call.
12671// Exactly one of *Series or error will be non-nil. Any non-2xx status
12672// code is an error. Response headers are in either
12673// *Series.ServerResponse.Header or (if a response was returned at all)
12674// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12675// check whether the returned error was because http.StatusNotModified
12676// was returned.
12677func (c *SeriesGetCall) Do(opts ...googleapi.CallOption) (*Series, error) {
12678	gensupport.SetOptions(c.urlParams_, opts...)
12679	res, err := c.doRequest("json")
12680	if res != nil && res.StatusCode == http.StatusNotModified {
12681		if res.Body != nil {
12682			res.Body.Close()
12683		}
12684		return nil, &googleapi.Error{
12685			Code:   res.StatusCode,
12686			Header: res.Header,
12687		}
12688	}
12689	if err != nil {
12690		return nil, err
12691	}
12692	defer googleapi.CloseBody(res)
12693	if err := googleapi.CheckResponse(res); err != nil {
12694		return nil, err
12695	}
12696	ret := &Series{
12697		ServerResponse: googleapi.ServerResponse{
12698			Header:         res.Header,
12699			HTTPStatusCode: res.StatusCode,
12700		},
12701	}
12702	target := &ret
12703	if err := gensupport.DecodeResponse(target, res); err != nil {
12704		return nil, err
12705	}
12706	return ret, nil
12707	// {
12708	//   "description": "Returns Series metadata for the given series ids.",
12709	//   "flatPath": "books/v1/series/get",
12710	//   "httpMethod": "GET",
12711	//   "id": "books.series.get",
12712	//   "parameterOrder": [
12713	//     "series_id"
12714	//   ],
12715	//   "parameters": {
12716	//     "series_id": {
12717	//       "description": "String that identifies the series",
12718	//       "location": "query",
12719	//       "repeated": true,
12720	//       "required": true,
12721	//       "type": "string"
12722	//     }
12723	//   },
12724	//   "path": "books/v1/series/get",
12725	//   "response": {
12726	//     "$ref": "Series"
12727	//   },
12728	//   "scopes": [
12729	//     "https://www.googleapis.com/auth/books"
12730	//   ]
12731	// }
12732
12733}
12734
12735// method id "books.series.membership.get":
12736
12737type SeriesMembershipGetCall struct {
12738	s            *Service
12739	urlParams_   gensupport.URLParams
12740	ifNoneMatch_ string
12741	ctx_         context.Context
12742	header_      http.Header
12743}
12744
12745// Get: Returns Series membership data given the series id.
12746//
12747// - seriesId: String that identifies the series.
12748func (r *SeriesMembershipService) Get(seriesId string) *SeriesMembershipGetCall {
12749	c := &SeriesMembershipGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12750	c.urlParams_.Set("series_id", seriesId)
12751	return c
12752}
12753
12754// PageSize sets the optional parameter "page_size": Number of maximum
12755// results per page to be included in the response.
12756func (c *SeriesMembershipGetCall) PageSize(pageSize int64) *SeriesMembershipGetCall {
12757	c.urlParams_.Set("page_size", fmt.Sprint(pageSize))
12758	return c
12759}
12760
12761// PageToken sets the optional parameter "page_token": The value of the
12762// nextToken from the previous page.
12763func (c *SeriesMembershipGetCall) PageToken(pageToken string) *SeriesMembershipGetCall {
12764	c.urlParams_.Set("page_token", pageToken)
12765	return c
12766}
12767
12768// Fields allows partial responses to be retrieved. See
12769// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12770// for more information.
12771func (c *SeriesMembershipGetCall) Fields(s ...googleapi.Field) *SeriesMembershipGetCall {
12772	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12773	return c
12774}
12775
12776// IfNoneMatch sets the optional parameter which makes the operation
12777// fail if the object's ETag matches the given value. This is useful for
12778// getting updates only after the object has changed since the last
12779// request. Use googleapi.IsNotModified to check whether the response
12780// error from Do is the result of In-None-Match.
12781func (c *SeriesMembershipGetCall) IfNoneMatch(entityTag string) *SeriesMembershipGetCall {
12782	c.ifNoneMatch_ = entityTag
12783	return c
12784}
12785
12786// Context sets the context to be used in this call's Do method. Any
12787// pending HTTP request will be aborted if the provided context is
12788// canceled.
12789func (c *SeriesMembershipGetCall) Context(ctx context.Context) *SeriesMembershipGetCall {
12790	c.ctx_ = ctx
12791	return c
12792}
12793
12794// Header returns an http.Header that can be modified by the caller to
12795// add HTTP headers to the request.
12796func (c *SeriesMembershipGetCall) Header() http.Header {
12797	if c.header_ == nil {
12798		c.header_ = make(http.Header)
12799	}
12800	return c.header_
12801}
12802
12803func (c *SeriesMembershipGetCall) doRequest(alt string) (*http.Response, error) {
12804	reqHeaders := make(http.Header)
12805	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
12806	for k, v := range c.header_ {
12807		reqHeaders[k] = v
12808	}
12809	reqHeaders.Set("User-Agent", c.s.userAgent())
12810	if c.ifNoneMatch_ != "" {
12811		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12812	}
12813	var body io.Reader = nil
12814	c.urlParams_.Set("alt", alt)
12815	c.urlParams_.Set("prettyPrint", "false")
12816	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/series/membership/get")
12817	urls += "?" + c.urlParams_.Encode()
12818	req, err := http.NewRequest("GET", urls, body)
12819	if err != nil {
12820		return nil, err
12821	}
12822	req.Header = reqHeaders
12823	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12824}
12825
12826// Do executes the "books.series.membership.get" call.
12827// Exactly one of *Seriesmembership or error will be non-nil. Any
12828// non-2xx status code is an error. Response headers are in either
12829// *Seriesmembership.ServerResponse.Header or (if a response was
12830// returned at all) in error.(*googleapi.Error).Header. Use
12831// googleapi.IsNotModified to check whether the returned error was
12832// because http.StatusNotModified was returned.
12833func (c *SeriesMembershipGetCall) Do(opts ...googleapi.CallOption) (*Seriesmembership, error) {
12834	gensupport.SetOptions(c.urlParams_, opts...)
12835	res, err := c.doRequest("json")
12836	if res != nil && res.StatusCode == http.StatusNotModified {
12837		if res.Body != nil {
12838			res.Body.Close()
12839		}
12840		return nil, &googleapi.Error{
12841			Code:   res.StatusCode,
12842			Header: res.Header,
12843		}
12844	}
12845	if err != nil {
12846		return nil, err
12847	}
12848	defer googleapi.CloseBody(res)
12849	if err := googleapi.CheckResponse(res); err != nil {
12850		return nil, err
12851	}
12852	ret := &Seriesmembership{
12853		ServerResponse: googleapi.ServerResponse{
12854			Header:         res.Header,
12855			HTTPStatusCode: res.StatusCode,
12856		},
12857	}
12858	target := &ret
12859	if err := gensupport.DecodeResponse(target, res); err != nil {
12860		return nil, err
12861	}
12862	return ret, nil
12863	// {
12864	//   "description": "Returns Series membership data given the series id.",
12865	//   "flatPath": "books/v1/series/membership/get",
12866	//   "httpMethod": "GET",
12867	//   "id": "books.series.membership.get",
12868	//   "parameterOrder": [
12869	//     "series_id"
12870	//   ],
12871	//   "parameters": {
12872	//     "page_size": {
12873	//       "description": "Number of maximum results per page to be included in the response.",
12874	//       "format": "uint32",
12875	//       "location": "query",
12876	//       "type": "integer"
12877	//     },
12878	//     "page_token": {
12879	//       "description": "The value of the nextToken from the previous page.",
12880	//       "location": "query",
12881	//       "type": "string"
12882	//     },
12883	//     "series_id": {
12884	//       "description": "String that identifies the series",
12885	//       "location": "query",
12886	//       "required": true,
12887	//       "type": "string"
12888	//     }
12889	//   },
12890	//   "path": "books/v1/series/membership/get",
12891	//   "response": {
12892	//     "$ref": "Seriesmembership"
12893	//   },
12894	//   "scopes": [
12895	//     "https://www.googleapis.com/auth/books"
12896	//   ]
12897	// }
12898
12899}
12900
12901// method id "books.volumes.get":
12902
12903type VolumesGetCall struct {
12904	s            *Service
12905	volumeId     string
12906	urlParams_   gensupport.URLParams
12907	ifNoneMatch_ string
12908	ctx_         context.Context
12909	header_      http.Header
12910}
12911
12912// Get: Gets volume information for a single volume.
12913//
12914// - volumeId: ID of volume to retrieve.
12915func (r *VolumesService) Get(volumeId string) *VolumesGetCall {
12916	c := &VolumesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12917	c.volumeId = volumeId
12918	return c
12919}
12920
12921// Country sets the optional parameter "country": ISO-3166-1 code to
12922// override the IP-based location.
12923func (c *VolumesGetCall) Country(country string) *VolumesGetCall {
12924	c.urlParams_.Set("country", country)
12925	return c
12926}
12927
12928// IncludeNonComicsSeries sets the optional parameter
12929// "includeNonComicsSeries": Set to true to include non-comics series.
12930// Defaults to false.
12931func (c *VolumesGetCall) IncludeNonComicsSeries(includeNonComicsSeries bool) *VolumesGetCall {
12932	c.urlParams_.Set("includeNonComicsSeries", fmt.Sprint(includeNonComicsSeries))
12933	return c
12934}
12935
12936// Partner sets the optional parameter "partner": Brand results for
12937// partner ID.
12938func (c *VolumesGetCall) Partner(partner string) *VolumesGetCall {
12939	c.urlParams_.Set("partner", partner)
12940	return c
12941}
12942
12943// Projection sets the optional parameter "projection": Restrict
12944// information returned to a set of selected fields.
12945//
12946// Possible values:
12947//   "PROJECTION_UNDEFINED"
12948//   "FULL" - Includes all volume data.
12949//   "LITE" - Includes a subset of fields in volumeInfo and accessInfo.
12950func (c *VolumesGetCall) Projection(projection string) *VolumesGetCall {
12951	c.urlParams_.Set("projection", projection)
12952	return c
12953}
12954
12955// Source sets the optional parameter "source": string to identify the
12956// originator of this request.
12957func (c *VolumesGetCall) Source(source string) *VolumesGetCall {
12958	c.urlParams_.Set("source", source)
12959	return c
12960}
12961
12962// UserLibraryConsistentRead sets the optional parameter
12963// "user_library_consistent_read":
12964func (c *VolumesGetCall) UserLibraryConsistentRead(userLibraryConsistentRead bool) *VolumesGetCall {
12965	c.urlParams_.Set("user_library_consistent_read", fmt.Sprint(userLibraryConsistentRead))
12966	return c
12967}
12968
12969// Fields allows partial responses to be retrieved. See
12970// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12971// for more information.
12972func (c *VolumesGetCall) Fields(s ...googleapi.Field) *VolumesGetCall {
12973	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12974	return c
12975}
12976
12977// IfNoneMatch sets the optional parameter which makes the operation
12978// fail if the object's ETag matches the given value. This is useful for
12979// getting updates only after the object has changed since the last
12980// request. Use googleapi.IsNotModified to check whether the response
12981// error from Do is the result of In-None-Match.
12982func (c *VolumesGetCall) IfNoneMatch(entityTag string) *VolumesGetCall {
12983	c.ifNoneMatch_ = entityTag
12984	return c
12985}
12986
12987// Context sets the context to be used in this call's Do method. Any
12988// pending HTTP request will be aborted if the provided context is
12989// canceled.
12990func (c *VolumesGetCall) Context(ctx context.Context) *VolumesGetCall {
12991	c.ctx_ = ctx
12992	return c
12993}
12994
12995// Header returns an http.Header that can be modified by the caller to
12996// add HTTP headers to the request.
12997func (c *VolumesGetCall) Header() http.Header {
12998	if c.header_ == nil {
12999		c.header_ = make(http.Header)
13000	}
13001	return c.header_
13002}
13003
13004func (c *VolumesGetCall) doRequest(alt string) (*http.Response, error) {
13005	reqHeaders := make(http.Header)
13006	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
13007	for k, v := range c.header_ {
13008		reqHeaders[k] = v
13009	}
13010	reqHeaders.Set("User-Agent", c.s.userAgent())
13011	if c.ifNoneMatch_ != "" {
13012		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13013	}
13014	var body io.Reader = nil
13015	c.urlParams_.Set("alt", alt)
13016	c.urlParams_.Set("prettyPrint", "false")
13017	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/volumes/{volumeId}")
13018	urls += "?" + c.urlParams_.Encode()
13019	req, err := http.NewRequest("GET", urls, body)
13020	if err != nil {
13021		return nil, err
13022	}
13023	req.Header = reqHeaders
13024	googleapi.Expand(req.URL, map[string]string{
13025		"volumeId": c.volumeId,
13026	})
13027	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13028}
13029
13030// Do executes the "books.volumes.get" call.
13031// Exactly one of *Volume or error will be non-nil. Any non-2xx status
13032// code is an error. Response headers are in either
13033// *Volume.ServerResponse.Header or (if a response was returned at all)
13034// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13035// check whether the returned error was because http.StatusNotModified
13036// was returned.
13037func (c *VolumesGetCall) Do(opts ...googleapi.CallOption) (*Volume, error) {
13038	gensupport.SetOptions(c.urlParams_, opts...)
13039	res, err := c.doRequest("json")
13040	if res != nil && res.StatusCode == http.StatusNotModified {
13041		if res.Body != nil {
13042			res.Body.Close()
13043		}
13044		return nil, &googleapi.Error{
13045			Code:   res.StatusCode,
13046			Header: res.Header,
13047		}
13048	}
13049	if err != nil {
13050		return nil, err
13051	}
13052	defer googleapi.CloseBody(res)
13053	if err := googleapi.CheckResponse(res); err != nil {
13054		return nil, err
13055	}
13056	ret := &Volume{
13057		ServerResponse: googleapi.ServerResponse{
13058			Header:         res.Header,
13059			HTTPStatusCode: res.StatusCode,
13060		},
13061	}
13062	target := &ret
13063	if err := gensupport.DecodeResponse(target, res); err != nil {
13064		return nil, err
13065	}
13066	return ret, nil
13067	// {
13068	//   "description": "Gets volume information for a single volume.",
13069	//   "flatPath": "books/v1/volumes/{volumeId}",
13070	//   "httpMethod": "GET",
13071	//   "id": "books.volumes.get",
13072	//   "parameterOrder": [
13073	//     "volumeId"
13074	//   ],
13075	//   "parameters": {
13076	//     "country": {
13077	//       "description": "ISO-3166-1 code to override the IP-based location.",
13078	//       "location": "query",
13079	//       "type": "string"
13080	//     },
13081	//     "includeNonComicsSeries": {
13082	//       "description": "Set to true to include non-comics series. Defaults to false.",
13083	//       "location": "query",
13084	//       "type": "boolean"
13085	//     },
13086	//     "partner": {
13087	//       "description": "Brand results for partner ID.",
13088	//       "location": "query",
13089	//       "type": "string"
13090	//     },
13091	//     "projection": {
13092	//       "description": "Restrict information returned to a set of selected fields.",
13093	//       "enum": [
13094	//         "PROJECTION_UNDEFINED",
13095	//         "FULL",
13096	//         "LITE"
13097	//       ],
13098	//       "enumDescriptions": [
13099	//         "",
13100	//         "Includes all volume data.",
13101	//         "Includes a subset of fields in volumeInfo and accessInfo."
13102	//       ],
13103	//       "location": "query",
13104	//       "type": "string"
13105	//     },
13106	//     "source": {
13107	//       "description": "string to identify the originator of this request.",
13108	//       "location": "query",
13109	//       "type": "string"
13110	//     },
13111	//     "user_library_consistent_read": {
13112	//       "location": "query",
13113	//       "type": "boolean"
13114	//     },
13115	//     "volumeId": {
13116	//       "description": "ID of volume to retrieve.",
13117	//       "location": "path",
13118	//       "required": true,
13119	//       "type": "string"
13120	//     }
13121	//   },
13122	//   "path": "books/v1/volumes/{volumeId}",
13123	//   "response": {
13124	//     "$ref": "Volume"
13125	//   },
13126	//   "scopes": [
13127	//     "https://www.googleapis.com/auth/books"
13128	//   ]
13129	// }
13130
13131}
13132
13133// method id "books.volumes.list":
13134
13135type VolumesListCall struct {
13136	s            *Service
13137	urlParams_   gensupport.URLParams
13138	ifNoneMatch_ string
13139	ctx_         context.Context
13140	header_      http.Header
13141}
13142
13143// List: Performs a book search.
13144//
13145// - q: Full-text search query string.
13146func (r *VolumesService) List(q string) *VolumesListCall {
13147	c := &VolumesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13148	c.urlParams_.Set("q", q)
13149	return c
13150}
13151
13152// Download sets the optional parameter "download": Restrict to volumes
13153// by download availability.
13154//
13155// Possible values:
13156//   "DOWNLOAD_UNDEFINED"
13157//   "EPUB" - All volumes with epub.
13158func (c *VolumesListCall) Download(download string) *VolumesListCall {
13159	c.urlParams_.Set("download", download)
13160	return c
13161}
13162
13163// Filter sets the optional parameter "filter": Filter search results.
13164//
13165// Possible values:
13166//   "FILTER_UNDEFINED"
13167//   "ebooks" - All Google eBooks.
13168//   "free-ebooks" - Google eBook with full volume text viewability.
13169//   "full" - Public can view entire volume text.
13170//   "paid-ebooks" - Google eBook with a price.
13171//   "partial" - Public able to see parts of text.
13172func (c *VolumesListCall) Filter(filter string) *VolumesListCall {
13173	c.urlParams_.Set("filter", filter)
13174	return c
13175}
13176
13177// LangRestrict sets the optional parameter "langRestrict": Restrict
13178// results to books with this language code.
13179func (c *VolumesListCall) LangRestrict(langRestrict string) *VolumesListCall {
13180	c.urlParams_.Set("langRestrict", langRestrict)
13181	return c
13182}
13183
13184// LibraryRestrict sets the optional parameter "libraryRestrict":
13185// Restrict search to this user's library.
13186//
13187// Possible values:
13188//   "LIBRARY_RESTRICT_UNDEFINED"
13189//   "my-library" - Restrict to the user's library, any shelf.
13190//   "no-restrict" - Do not restrict based on user's library.
13191func (c *VolumesListCall) LibraryRestrict(libraryRestrict string) *VolumesListCall {
13192	c.urlParams_.Set("libraryRestrict", libraryRestrict)
13193	return c
13194}
13195
13196// MaxAllowedMaturityRating sets the optional parameter
13197// "maxAllowedMaturityRating": The maximum allowed maturity rating of
13198// returned recommendations. Books with a higher maturity rating are
13199// filtered out.
13200//
13201// Possible values:
13202//   "MAX_ALLOWED_MATURITY_RATING_UNDEFINED"
13203//   "MATURE" - Show books which are rated mature or lower.
13204//   "not-mature" - Show books which are rated not mature.
13205func (c *VolumesListCall) MaxAllowedMaturityRating(maxAllowedMaturityRating string) *VolumesListCall {
13206	c.urlParams_.Set("maxAllowedMaturityRating", maxAllowedMaturityRating)
13207	return c
13208}
13209
13210// MaxResults sets the optional parameter "maxResults": Maximum number
13211// of results to return.
13212func (c *VolumesListCall) MaxResults(maxResults int64) *VolumesListCall {
13213	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
13214	return c
13215}
13216
13217// OrderBy sets the optional parameter "orderBy": Sort search results.
13218//
13219// Possible values:
13220//   "ORDER_BY_UNDEFINED"
13221//   "newest" - Most recently published.
13222//   "relevance" - Relevance to search terms.
13223func (c *VolumesListCall) OrderBy(orderBy string) *VolumesListCall {
13224	c.urlParams_.Set("orderBy", orderBy)
13225	return c
13226}
13227
13228// Partner sets the optional parameter "partner": Restrict and brand
13229// results for partner ID.
13230func (c *VolumesListCall) Partner(partner string) *VolumesListCall {
13231	c.urlParams_.Set("partner", partner)
13232	return c
13233}
13234
13235// PrintType sets the optional parameter "printType": Restrict to books
13236// or magazines.
13237//
13238// Possible values:
13239//   "PRINT_TYPE_UNDEFINED"
13240//   "ALL" - All volume content types.
13241//   "BOOKS" - Just books.
13242//   "MAGAZINES" - Just magazines.
13243func (c *VolumesListCall) PrintType(printType string) *VolumesListCall {
13244	c.urlParams_.Set("printType", printType)
13245	return c
13246}
13247
13248// Projection sets the optional parameter "projection": Restrict
13249// information returned to a set of selected fields.
13250//
13251// Possible values:
13252//   "PROJECTION_UNDEFINED"
13253//   "FULL" - Includes all volume data.
13254//   "LITE" - Includes a subset of fields in volumeInfo and accessInfo.
13255func (c *VolumesListCall) Projection(projection string) *VolumesListCall {
13256	c.urlParams_.Set("projection", projection)
13257	return c
13258}
13259
13260// ShowPreorders sets the optional parameter "showPreorders": Set to
13261// true to show books available for preorder. Defaults to false.
13262func (c *VolumesListCall) ShowPreorders(showPreorders bool) *VolumesListCall {
13263	c.urlParams_.Set("showPreorders", fmt.Sprint(showPreorders))
13264	return c
13265}
13266
13267// Source sets the optional parameter "source": String to identify the
13268// originator of this request.
13269func (c *VolumesListCall) Source(source string) *VolumesListCall {
13270	c.urlParams_.Set("source", source)
13271	return c
13272}
13273
13274// StartIndex sets the optional parameter "startIndex": Index of the
13275// first result to return (starts at 0)
13276func (c *VolumesListCall) StartIndex(startIndex int64) *VolumesListCall {
13277	c.urlParams_.Set("startIndex", fmt.Sprint(startIndex))
13278	return c
13279}
13280
13281// Fields allows partial responses to be retrieved. See
13282// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13283// for more information.
13284func (c *VolumesListCall) Fields(s ...googleapi.Field) *VolumesListCall {
13285	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13286	return c
13287}
13288
13289// IfNoneMatch sets the optional parameter which makes the operation
13290// fail if the object's ETag matches the given value. This is useful for
13291// getting updates only after the object has changed since the last
13292// request. Use googleapi.IsNotModified to check whether the response
13293// error from Do is the result of In-None-Match.
13294func (c *VolumesListCall) IfNoneMatch(entityTag string) *VolumesListCall {
13295	c.ifNoneMatch_ = entityTag
13296	return c
13297}
13298
13299// Context sets the context to be used in this call's Do method. Any
13300// pending HTTP request will be aborted if the provided context is
13301// canceled.
13302func (c *VolumesListCall) Context(ctx context.Context) *VolumesListCall {
13303	c.ctx_ = ctx
13304	return c
13305}
13306
13307// Header returns an http.Header that can be modified by the caller to
13308// add HTTP headers to the request.
13309func (c *VolumesListCall) Header() http.Header {
13310	if c.header_ == nil {
13311		c.header_ = make(http.Header)
13312	}
13313	return c.header_
13314}
13315
13316func (c *VolumesListCall) doRequest(alt string) (*http.Response, error) {
13317	reqHeaders := make(http.Header)
13318	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
13319	for k, v := range c.header_ {
13320		reqHeaders[k] = v
13321	}
13322	reqHeaders.Set("User-Agent", c.s.userAgent())
13323	if c.ifNoneMatch_ != "" {
13324		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13325	}
13326	var body io.Reader = nil
13327	c.urlParams_.Set("alt", alt)
13328	c.urlParams_.Set("prettyPrint", "false")
13329	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/volumes")
13330	urls += "?" + c.urlParams_.Encode()
13331	req, err := http.NewRequest("GET", urls, body)
13332	if err != nil {
13333		return nil, err
13334	}
13335	req.Header = reqHeaders
13336	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13337}
13338
13339// Do executes the "books.volumes.list" call.
13340// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
13341// code is an error. Response headers are in either
13342// *Volumes.ServerResponse.Header or (if a response was returned at all)
13343// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13344// check whether the returned error was because http.StatusNotModified
13345// was returned.
13346func (c *VolumesListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
13347	gensupport.SetOptions(c.urlParams_, opts...)
13348	res, err := c.doRequest("json")
13349	if res != nil && res.StatusCode == http.StatusNotModified {
13350		if res.Body != nil {
13351			res.Body.Close()
13352		}
13353		return nil, &googleapi.Error{
13354			Code:   res.StatusCode,
13355			Header: res.Header,
13356		}
13357	}
13358	if err != nil {
13359		return nil, err
13360	}
13361	defer googleapi.CloseBody(res)
13362	if err := googleapi.CheckResponse(res); err != nil {
13363		return nil, err
13364	}
13365	ret := &Volumes{
13366		ServerResponse: googleapi.ServerResponse{
13367			Header:         res.Header,
13368			HTTPStatusCode: res.StatusCode,
13369		},
13370	}
13371	target := &ret
13372	if err := gensupport.DecodeResponse(target, res); err != nil {
13373		return nil, err
13374	}
13375	return ret, nil
13376	// {
13377	//   "description": "Performs a book search.",
13378	//   "flatPath": "books/v1/volumes",
13379	//   "httpMethod": "GET",
13380	//   "id": "books.volumes.list",
13381	//   "parameterOrder": [
13382	//     "q"
13383	//   ],
13384	//   "parameters": {
13385	//     "download": {
13386	//       "description": "Restrict to volumes by download availability.",
13387	//       "enum": [
13388	//         "DOWNLOAD_UNDEFINED",
13389	//         "EPUB"
13390	//       ],
13391	//       "enumDescriptions": [
13392	//         "",
13393	//         "All volumes with epub."
13394	//       ],
13395	//       "location": "query",
13396	//       "type": "string"
13397	//     },
13398	//     "filter": {
13399	//       "description": "Filter search results.",
13400	//       "enum": [
13401	//         "FILTER_UNDEFINED",
13402	//         "ebooks",
13403	//         "free-ebooks",
13404	//         "full",
13405	//         "paid-ebooks",
13406	//         "partial"
13407	//       ],
13408	//       "enumDescriptions": [
13409	//         "",
13410	//         "All Google eBooks.",
13411	//         "Google eBook with full volume text viewability.",
13412	//         "Public can view entire volume text.",
13413	//         "Google eBook with a price.",
13414	//         "Public able to see parts of text."
13415	//       ],
13416	//       "location": "query",
13417	//       "type": "string"
13418	//     },
13419	//     "langRestrict": {
13420	//       "description": "Restrict results to books with this language code.",
13421	//       "location": "query",
13422	//       "type": "string"
13423	//     },
13424	//     "libraryRestrict": {
13425	//       "description": "Restrict search to this user's library.",
13426	//       "enum": [
13427	//         "LIBRARY_RESTRICT_UNDEFINED",
13428	//         "my-library",
13429	//         "no-restrict"
13430	//       ],
13431	//       "enumDescriptions": [
13432	//         "",
13433	//         "Restrict to the user's library, any shelf.",
13434	//         "Do not restrict based on user's library."
13435	//       ],
13436	//       "location": "query",
13437	//       "type": "string"
13438	//     },
13439	//     "maxAllowedMaturityRating": {
13440	//       "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.",
13441	//       "enum": [
13442	//         "MAX_ALLOWED_MATURITY_RATING_UNDEFINED",
13443	//         "MATURE",
13444	//         "not-mature"
13445	//       ],
13446	//       "enumDescriptions": [
13447	//         "",
13448	//         "Show books which are rated mature or lower.",
13449	//         "Show books which are rated not mature."
13450	//       ],
13451	//       "location": "query",
13452	//       "type": "string"
13453	//     },
13454	//     "maxResults": {
13455	//       "description": "Maximum number of results to return.",
13456	//       "format": "uint32",
13457	//       "location": "query",
13458	//       "maximum": "40",
13459	//       "minimum": "0",
13460	//       "type": "integer"
13461	//     },
13462	//     "orderBy": {
13463	//       "description": "Sort search results.",
13464	//       "enum": [
13465	//         "ORDER_BY_UNDEFINED",
13466	//         "newest",
13467	//         "relevance"
13468	//       ],
13469	//       "enumDescriptions": [
13470	//         "",
13471	//         "Most recently published.",
13472	//         "Relevance to search terms."
13473	//       ],
13474	//       "location": "query",
13475	//       "type": "string"
13476	//     },
13477	//     "partner": {
13478	//       "description": "Restrict and brand results for partner ID.",
13479	//       "location": "query",
13480	//       "type": "string"
13481	//     },
13482	//     "printType": {
13483	//       "description": "Restrict to books or magazines.",
13484	//       "enum": [
13485	//         "PRINT_TYPE_UNDEFINED",
13486	//         "ALL",
13487	//         "BOOKS",
13488	//         "MAGAZINES"
13489	//       ],
13490	//       "enumDescriptions": [
13491	//         "",
13492	//         "All volume content types.",
13493	//         "Just books.",
13494	//         "Just magazines."
13495	//       ],
13496	//       "location": "query",
13497	//       "type": "string"
13498	//     },
13499	//     "projection": {
13500	//       "description": "Restrict information returned to a set of selected fields.",
13501	//       "enum": [
13502	//         "PROJECTION_UNDEFINED",
13503	//         "FULL",
13504	//         "LITE"
13505	//       ],
13506	//       "enumDescriptions": [
13507	//         "",
13508	//         "Includes all volume data.",
13509	//         "Includes a subset of fields in volumeInfo and accessInfo."
13510	//       ],
13511	//       "location": "query",
13512	//       "type": "string"
13513	//     },
13514	//     "q": {
13515	//       "description": "Full-text search query string.",
13516	//       "location": "query",
13517	//       "required": true,
13518	//       "type": "string"
13519	//     },
13520	//     "showPreorders": {
13521	//       "description": "Set to true to show books available for preorder. Defaults to false.",
13522	//       "location": "query",
13523	//       "type": "boolean"
13524	//     },
13525	//     "source": {
13526	//       "description": "String to identify the originator of this request.",
13527	//       "location": "query",
13528	//       "type": "string"
13529	//     },
13530	//     "startIndex": {
13531	//       "description": "Index of the first result to return (starts at 0)",
13532	//       "format": "uint32",
13533	//       "location": "query",
13534	//       "minimum": "0",
13535	//       "type": "integer"
13536	//     }
13537	//   },
13538	//   "path": "books/v1/volumes",
13539	//   "response": {
13540	//     "$ref": "Volumes"
13541	//   },
13542	//   "scopes": [
13543	//     "https://www.googleapis.com/auth/books"
13544	//   ]
13545	// }
13546
13547}
13548
13549// method id "books.volumes.associated.list":
13550
13551type VolumesAssociatedListCall struct {
13552	s            *Service
13553	volumeId     string
13554	urlParams_   gensupport.URLParams
13555	ifNoneMatch_ string
13556	ctx_         context.Context
13557	header_      http.Header
13558}
13559
13560// List: Return a list of associated books.
13561//
13562// - volumeId: ID of the source volume.
13563func (r *VolumesAssociatedService) List(volumeId string) *VolumesAssociatedListCall {
13564	c := &VolumesAssociatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13565	c.volumeId = volumeId
13566	return c
13567}
13568
13569// Association sets the optional parameter "association": Association
13570// type.
13571//
13572// Possible values:
13573//   "ASSOCIATION_UNDEFINED"
13574//   "end-of-sample" - Recommendations for display end-of-sample.
13575//   "end-of-volume" - Recommendations for display end-of-volume.
13576//   "related-for-play" - Related volumes for Play Store.
13577func (c *VolumesAssociatedListCall) Association(association string) *VolumesAssociatedListCall {
13578	c.urlParams_.Set("association", association)
13579	return c
13580}
13581
13582// Locale sets the optional parameter "locale": ISO-639-1 language and
13583// ISO-3166-1 country code. Ex: 'en_US'. Used for generating
13584// recommendations.
13585func (c *VolumesAssociatedListCall) Locale(locale string) *VolumesAssociatedListCall {
13586	c.urlParams_.Set("locale", locale)
13587	return c
13588}
13589
13590// MaxAllowedMaturityRating sets the optional parameter
13591// "maxAllowedMaturityRating": The maximum allowed maturity rating of
13592// returned recommendations. Books with a higher maturity rating are
13593// filtered out.
13594//
13595// Possible values:
13596//   "MAX_ALLOWED_MATURITY_RATING_UNDEFINED"
13597//   "MATURE" - Show books which are rated mature or lower.
13598//   "not-mature" - Show books which are rated not mature.
13599func (c *VolumesAssociatedListCall) MaxAllowedMaturityRating(maxAllowedMaturityRating string) *VolumesAssociatedListCall {
13600	c.urlParams_.Set("maxAllowedMaturityRating", maxAllowedMaturityRating)
13601	return c
13602}
13603
13604// Source sets the optional parameter "source": String to identify the
13605// originator of this request.
13606func (c *VolumesAssociatedListCall) Source(source string) *VolumesAssociatedListCall {
13607	c.urlParams_.Set("source", source)
13608	return c
13609}
13610
13611// Fields allows partial responses to be retrieved. See
13612// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13613// for more information.
13614func (c *VolumesAssociatedListCall) Fields(s ...googleapi.Field) *VolumesAssociatedListCall {
13615	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13616	return c
13617}
13618
13619// IfNoneMatch sets the optional parameter which makes the operation
13620// fail if the object's ETag matches the given value. This is useful for
13621// getting updates only after the object has changed since the last
13622// request. Use googleapi.IsNotModified to check whether the response
13623// error from Do is the result of In-None-Match.
13624func (c *VolumesAssociatedListCall) IfNoneMatch(entityTag string) *VolumesAssociatedListCall {
13625	c.ifNoneMatch_ = entityTag
13626	return c
13627}
13628
13629// Context sets the context to be used in this call's Do method. Any
13630// pending HTTP request will be aborted if the provided context is
13631// canceled.
13632func (c *VolumesAssociatedListCall) Context(ctx context.Context) *VolumesAssociatedListCall {
13633	c.ctx_ = ctx
13634	return c
13635}
13636
13637// Header returns an http.Header that can be modified by the caller to
13638// add HTTP headers to the request.
13639func (c *VolumesAssociatedListCall) Header() http.Header {
13640	if c.header_ == nil {
13641		c.header_ = make(http.Header)
13642	}
13643	return c.header_
13644}
13645
13646func (c *VolumesAssociatedListCall) doRequest(alt string) (*http.Response, error) {
13647	reqHeaders := make(http.Header)
13648	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
13649	for k, v := range c.header_ {
13650		reqHeaders[k] = v
13651	}
13652	reqHeaders.Set("User-Agent", c.s.userAgent())
13653	if c.ifNoneMatch_ != "" {
13654		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13655	}
13656	var body io.Reader = nil
13657	c.urlParams_.Set("alt", alt)
13658	c.urlParams_.Set("prettyPrint", "false")
13659	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/volumes/{volumeId}/associated")
13660	urls += "?" + c.urlParams_.Encode()
13661	req, err := http.NewRequest("GET", urls, body)
13662	if err != nil {
13663		return nil, err
13664	}
13665	req.Header = reqHeaders
13666	googleapi.Expand(req.URL, map[string]string{
13667		"volumeId": c.volumeId,
13668	})
13669	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13670}
13671
13672// Do executes the "books.volumes.associated.list" call.
13673// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
13674// code is an error. Response headers are in either
13675// *Volumes.ServerResponse.Header or (if a response was returned at all)
13676// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13677// check whether the returned error was because http.StatusNotModified
13678// was returned.
13679func (c *VolumesAssociatedListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
13680	gensupport.SetOptions(c.urlParams_, opts...)
13681	res, err := c.doRequest("json")
13682	if res != nil && res.StatusCode == http.StatusNotModified {
13683		if res.Body != nil {
13684			res.Body.Close()
13685		}
13686		return nil, &googleapi.Error{
13687			Code:   res.StatusCode,
13688			Header: res.Header,
13689		}
13690	}
13691	if err != nil {
13692		return nil, err
13693	}
13694	defer googleapi.CloseBody(res)
13695	if err := googleapi.CheckResponse(res); err != nil {
13696		return nil, err
13697	}
13698	ret := &Volumes{
13699		ServerResponse: googleapi.ServerResponse{
13700			Header:         res.Header,
13701			HTTPStatusCode: res.StatusCode,
13702		},
13703	}
13704	target := &ret
13705	if err := gensupport.DecodeResponse(target, res); err != nil {
13706		return nil, err
13707	}
13708	return ret, nil
13709	// {
13710	//   "description": "Return a list of associated books.",
13711	//   "flatPath": "books/v1/volumes/{volumeId}/associated",
13712	//   "httpMethod": "GET",
13713	//   "id": "books.volumes.associated.list",
13714	//   "parameterOrder": [
13715	//     "volumeId"
13716	//   ],
13717	//   "parameters": {
13718	//     "association": {
13719	//       "description": "Association type.",
13720	//       "enum": [
13721	//         "ASSOCIATION_UNDEFINED",
13722	//         "end-of-sample",
13723	//         "end-of-volume",
13724	//         "related-for-play"
13725	//       ],
13726	//       "enumDescriptions": [
13727	//         "",
13728	//         "Recommendations for display end-of-sample.",
13729	//         "Recommendations for display end-of-volume.",
13730	//         "Related volumes for Play Store."
13731	//       ],
13732	//       "location": "query",
13733	//       "type": "string"
13734	//     },
13735	//     "locale": {
13736	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.",
13737	//       "location": "query",
13738	//       "type": "string"
13739	//     },
13740	//     "maxAllowedMaturityRating": {
13741	//       "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.",
13742	//       "enum": [
13743	//         "MAX_ALLOWED_MATURITY_RATING_UNDEFINED",
13744	//         "MATURE",
13745	//         "not-mature"
13746	//       ],
13747	//       "enumDescriptions": [
13748	//         "",
13749	//         "Show books which are rated mature or lower.",
13750	//         "Show books which are rated not mature."
13751	//       ],
13752	//       "location": "query",
13753	//       "type": "string"
13754	//     },
13755	//     "source": {
13756	//       "description": "String to identify the originator of this request.",
13757	//       "location": "query",
13758	//       "type": "string"
13759	//     },
13760	//     "volumeId": {
13761	//       "description": "ID of the source volume.",
13762	//       "location": "path",
13763	//       "required": true,
13764	//       "type": "string"
13765	//     }
13766	//   },
13767	//   "path": "books/v1/volumes/{volumeId}/associated",
13768	//   "response": {
13769	//     "$ref": "Volumes"
13770	//   },
13771	//   "scopes": [
13772	//     "https://www.googleapis.com/auth/books"
13773	//   ]
13774	// }
13775
13776}
13777
13778// method id "books.volumes.mybooks.list":
13779
13780type VolumesMybooksListCall struct {
13781	s            *Service
13782	urlParams_   gensupport.URLParams
13783	ifNoneMatch_ string
13784	ctx_         context.Context
13785	header_      http.Header
13786}
13787
13788// List: Return a list of books in My Library.
13789func (r *VolumesMybooksService) List() *VolumesMybooksListCall {
13790	c := &VolumesMybooksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13791	return c
13792}
13793
13794// AcquireMethod sets the optional parameter "acquireMethod": How the
13795// book was acquired
13796//
13797// Possible values:
13798//   "ACQUIRE_METHOD_UNDEFINED"
13799//   "FAMILY_SHARED" - Books acquired via Family Sharing
13800//   "PREORDERED" - Preordered books (not yet available)
13801//   "PREVIOUSLY_RENTED" - User-rented books past their expiration time
13802//   "PUBLIC_DOMAIN" - Public domain books
13803//   "PURCHASED" - Purchased books
13804//   "RENTED" - User-rented books
13805//   "SAMPLE" - Sample books
13806//   "UPLOADED" - User uploaded books
13807func (c *VolumesMybooksListCall) AcquireMethod(acquireMethod ...string) *VolumesMybooksListCall {
13808	c.urlParams_.SetMulti("acquireMethod", append([]string{}, acquireMethod...))
13809	return c
13810}
13811
13812// Country sets the optional parameter "country": ISO-3166-1 code to
13813// override the IP-based location.
13814func (c *VolumesMybooksListCall) Country(country string) *VolumesMybooksListCall {
13815	c.urlParams_.Set("country", country)
13816	return c
13817}
13818
13819// Locale sets the optional parameter "locale": ISO-639-1 language and
13820// ISO-3166-1 country code. Ex:'en_US'. Used for generating
13821// recommendations.
13822func (c *VolumesMybooksListCall) Locale(locale string) *VolumesMybooksListCall {
13823	c.urlParams_.Set("locale", locale)
13824	return c
13825}
13826
13827// MaxResults sets the optional parameter "maxResults": Maximum number
13828// of results to return.
13829func (c *VolumesMybooksListCall) MaxResults(maxResults int64) *VolumesMybooksListCall {
13830	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
13831	return c
13832}
13833
13834// ProcessingState sets the optional parameter "processingState": The
13835// processing state of the user uploaded volumes to be returned.
13836// Applicable only if the UPLOADED is specified in the acquireMethod.
13837//
13838// Possible values:
13839//   "PROCESSING_STATE_UNDEFINED"
13840//   "COMPLETED_FAILED" - The volume processing hase failed.
13841//   "COMPLETED_SUCCESS" - The volume processing was completed.
13842//   "RUNNING" - The volume processing is not completed.
13843func (c *VolumesMybooksListCall) ProcessingState(processingState ...string) *VolumesMybooksListCall {
13844	c.urlParams_.SetMulti("processingState", append([]string{}, processingState...))
13845	return c
13846}
13847
13848// Source sets the optional parameter "source": String to identify the
13849// originator of this request.
13850func (c *VolumesMybooksListCall) Source(source string) *VolumesMybooksListCall {
13851	c.urlParams_.Set("source", source)
13852	return c
13853}
13854
13855// StartIndex sets the optional parameter "startIndex": Index of the
13856// first result to return (starts at 0)
13857func (c *VolumesMybooksListCall) StartIndex(startIndex int64) *VolumesMybooksListCall {
13858	c.urlParams_.Set("startIndex", fmt.Sprint(startIndex))
13859	return c
13860}
13861
13862// Fields allows partial responses to be retrieved. See
13863// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13864// for more information.
13865func (c *VolumesMybooksListCall) Fields(s ...googleapi.Field) *VolumesMybooksListCall {
13866	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13867	return c
13868}
13869
13870// IfNoneMatch sets the optional parameter which makes the operation
13871// fail if the object's ETag matches the given value. This is useful for
13872// getting updates only after the object has changed since the last
13873// request. Use googleapi.IsNotModified to check whether the response
13874// error from Do is the result of In-None-Match.
13875func (c *VolumesMybooksListCall) IfNoneMatch(entityTag string) *VolumesMybooksListCall {
13876	c.ifNoneMatch_ = entityTag
13877	return c
13878}
13879
13880// Context sets the context to be used in this call's Do method. Any
13881// pending HTTP request will be aborted if the provided context is
13882// canceled.
13883func (c *VolumesMybooksListCall) Context(ctx context.Context) *VolumesMybooksListCall {
13884	c.ctx_ = ctx
13885	return c
13886}
13887
13888// Header returns an http.Header that can be modified by the caller to
13889// add HTTP headers to the request.
13890func (c *VolumesMybooksListCall) Header() http.Header {
13891	if c.header_ == nil {
13892		c.header_ = make(http.Header)
13893	}
13894	return c.header_
13895}
13896
13897func (c *VolumesMybooksListCall) doRequest(alt string) (*http.Response, error) {
13898	reqHeaders := make(http.Header)
13899	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
13900	for k, v := range c.header_ {
13901		reqHeaders[k] = v
13902	}
13903	reqHeaders.Set("User-Agent", c.s.userAgent())
13904	if c.ifNoneMatch_ != "" {
13905		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13906	}
13907	var body io.Reader = nil
13908	c.urlParams_.Set("alt", alt)
13909	c.urlParams_.Set("prettyPrint", "false")
13910	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/volumes/mybooks")
13911	urls += "?" + c.urlParams_.Encode()
13912	req, err := http.NewRequest("GET", urls, body)
13913	if err != nil {
13914		return nil, err
13915	}
13916	req.Header = reqHeaders
13917	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13918}
13919
13920// Do executes the "books.volumes.mybooks.list" call.
13921// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
13922// code is an error. Response headers are in either
13923// *Volumes.ServerResponse.Header or (if a response was returned at all)
13924// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13925// check whether the returned error was because http.StatusNotModified
13926// was returned.
13927func (c *VolumesMybooksListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
13928	gensupport.SetOptions(c.urlParams_, opts...)
13929	res, err := c.doRequest("json")
13930	if res != nil && res.StatusCode == http.StatusNotModified {
13931		if res.Body != nil {
13932			res.Body.Close()
13933		}
13934		return nil, &googleapi.Error{
13935			Code:   res.StatusCode,
13936			Header: res.Header,
13937		}
13938	}
13939	if err != nil {
13940		return nil, err
13941	}
13942	defer googleapi.CloseBody(res)
13943	if err := googleapi.CheckResponse(res); err != nil {
13944		return nil, err
13945	}
13946	ret := &Volumes{
13947		ServerResponse: googleapi.ServerResponse{
13948			Header:         res.Header,
13949			HTTPStatusCode: res.StatusCode,
13950		},
13951	}
13952	target := &ret
13953	if err := gensupport.DecodeResponse(target, res); err != nil {
13954		return nil, err
13955	}
13956	return ret, nil
13957	// {
13958	//   "description": "Return a list of books in My Library.",
13959	//   "flatPath": "books/v1/volumes/mybooks",
13960	//   "httpMethod": "GET",
13961	//   "id": "books.volumes.mybooks.list",
13962	//   "parameterOrder": [],
13963	//   "parameters": {
13964	//     "acquireMethod": {
13965	//       "description": "How the book was acquired",
13966	//       "enum": [
13967	//         "ACQUIRE_METHOD_UNDEFINED",
13968	//         "FAMILY_SHARED",
13969	//         "PREORDERED",
13970	//         "PREVIOUSLY_RENTED",
13971	//         "PUBLIC_DOMAIN",
13972	//         "PURCHASED",
13973	//         "RENTED",
13974	//         "SAMPLE",
13975	//         "UPLOADED"
13976	//       ],
13977	//       "enumDescriptions": [
13978	//         "",
13979	//         "Books acquired via Family Sharing",
13980	//         "Preordered books (not yet available)",
13981	//         "User-rented books past their expiration time",
13982	//         "Public domain books",
13983	//         "Purchased books",
13984	//         "User-rented books",
13985	//         "Sample books",
13986	//         "User uploaded books"
13987	//       ],
13988	//       "location": "query",
13989	//       "repeated": true,
13990	//       "type": "string"
13991	//     },
13992	//     "country": {
13993	//       "description": "ISO-3166-1 code to override the IP-based location.",
13994	//       "location": "query",
13995	//       "type": "string"
13996	//     },
13997	//     "locale": {
13998	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for generating recommendations.",
13999	//       "location": "query",
14000	//       "type": "string"
14001	//     },
14002	//     "maxResults": {
14003	//       "description": "Maximum number of results to return.",
14004	//       "format": "uint32",
14005	//       "location": "query",
14006	//       "maximum": "100",
14007	//       "minimum": "0",
14008	//       "type": "integer"
14009	//     },
14010	//     "processingState": {
14011	//       "description": "The processing state of the user uploaded volumes to be returned. Applicable only if the UPLOADED is specified in the acquireMethod.",
14012	//       "enum": [
14013	//         "PROCESSING_STATE_UNDEFINED",
14014	//         "COMPLETED_FAILED",
14015	//         "COMPLETED_SUCCESS",
14016	//         "RUNNING"
14017	//       ],
14018	//       "enumDescriptions": [
14019	//         "",
14020	//         "The volume processing hase failed.",
14021	//         "The volume processing was completed.",
14022	//         "The volume processing is not completed."
14023	//       ],
14024	//       "location": "query",
14025	//       "repeated": true,
14026	//       "type": "string"
14027	//     },
14028	//     "source": {
14029	//       "description": "String to identify the originator of this request.",
14030	//       "location": "query",
14031	//       "type": "string"
14032	//     },
14033	//     "startIndex": {
14034	//       "description": "Index of the first result to return (starts at 0)",
14035	//       "format": "uint32",
14036	//       "location": "query",
14037	//       "minimum": "0",
14038	//       "type": "integer"
14039	//     }
14040	//   },
14041	//   "path": "books/v1/volumes/mybooks",
14042	//   "response": {
14043	//     "$ref": "Volumes"
14044	//   },
14045	//   "scopes": [
14046	//     "https://www.googleapis.com/auth/books"
14047	//   ]
14048	// }
14049
14050}
14051
14052// method id "books.volumes.recommended.list":
14053
14054type VolumesRecommendedListCall struct {
14055	s            *Service
14056	urlParams_   gensupport.URLParams
14057	ifNoneMatch_ string
14058	ctx_         context.Context
14059	header_      http.Header
14060}
14061
14062// List: Return a list of recommended books for the current user.
14063func (r *VolumesRecommendedService) List() *VolumesRecommendedListCall {
14064	c := &VolumesRecommendedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14065	return c
14066}
14067
14068// Locale sets the optional parameter "locale": ISO-639-1 language and
14069// ISO-3166-1 country code. Ex: 'en_US'. Used for generating
14070// recommendations.
14071func (c *VolumesRecommendedListCall) Locale(locale string) *VolumesRecommendedListCall {
14072	c.urlParams_.Set("locale", locale)
14073	return c
14074}
14075
14076// MaxAllowedMaturityRating sets the optional parameter
14077// "maxAllowedMaturityRating": The maximum allowed maturity rating of
14078// returned recommendations. Books with a higher maturity rating are
14079// filtered out.
14080//
14081// Possible values:
14082//   "MAX_ALLOWED_MATURITY_RATING_UNDEFINED"
14083//   "MATURE" - Show books which are rated mature or lower.
14084//   "not-mature" - Show books which are rated not mature.
14085func (c *VolumesRecommendedListCall) MaxAllowedMaturityRating(maxAllowedMaturityRating string) *VolumesRecommendedListCall {
14086	c.urlParams_.Set("maxAllowedMaturityRating", maxAllowedMaturityRating)
14087	return c
14088}
14089
14090// Source sets the optional parameter "source": String to identify the
14091// originator of this request.
14092func (c *VolumesRecommendedListCall) Source(source string) *VolumesRecommendedListCall {
14093	c.urlParams_.Set("source", source)
14094	return c
14095}
14096
14097// Fields allows partial responses to be retrieved. See
14098// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14099// for more information.
14100func (c *VolumesRecommendedListCall) Fields(s ...googleapi.Field) *VolumesRecommendedListCall {
14101	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14102	return c
14103}
14104
14105// IfNoneMatch sets the optional parameter which makes the operation
14106// fail if the object's ETag matches the given value. This is useful for
14107// getting updates only after the object has changed since the last
14108// request. Use googleapi.IsNotModified to check whether the response
14109// error from Do is the result of In-None-Match.
14110func (c *VolumesRecommendedListCall) IfNoneMatch(entityTag string) *VolumesRecommendedListCall {
14111	c.ifNoneMatch_ = entityTag
14112	return c
14113}
14114
14115// Context sets the context to be used in this call's Do method. Any
14116// pending HTTP request will be aborted if the provided context is
14117// canceled.
14118func (c *VolumesRecommendedListCall) Context(ctx context.Context) *VolumesRecommendedListCall {
14119	c.ctx_ = ctx
14120	return c
14121}
14122
14123// Header returns an http.Header that can be modified by the caller to
14124// add HTTP headers to the request.
14125func (c *VolumesRecommendedListCall) Header() http.Header {
14126	if c.header_ == nil {
14127		c.header_ = make(http.Header)
14128	}
14129	return c.header_
14130}
14131
14132func (c *VolumesRecommendedListCall) doRequest(alt string) (*http.Response, error) {
14133	reqHeaders := make(http.Header)
14134	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14135	for k, v := range c.header_ {
14136		reqHeaders[k] = v
14137	}
14138	reqHeaders.Set("User-Agent", c.s.userAgent())
14139	if c.ifNoneMatch_ != "" {
14140		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14141	}
14142	var body io.Reader = nil
14143	c.urlParams_.Set("alt", alt)
14144	c.urlParams_.Set("prettyPrint", "false")
14145	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/volumes/recommended")
14146	urls += "?" + c.urlParams_.Encode()
14147	req, err := http.NewRequest("GET", urls, body)
14148	if err != nil {
14149		return nil, err
14150	}
14151	req.Header = reqHeaders
14152	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14153}
14154
14155// Do executes the "books.volumes.recommended.list" call.
14156// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
14157// code is an error. Response headers are in either
14158// *Volumes.ServerResponse.Header or (if a response was returned at all)
14159// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14160// check whether the returned error was because http.StatusNotModified
14161// was returned.
14162func (c *VolumesRecommendedListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
14163	gensupport.SetOptions(c.urlParams_, opts...)
14164	res, err := c.doRequest("json")
14165	if res != nil && res.StatusCode == http.StatusNotModified {
14166		if res.Body != nil {
14167			res.Body.Close()
14168		}
14169		return nil, &googleapi.Error{
14170			Code:   res.StatusCode,
14171			Header: res.Header,
14172		}
14173	}
14174	if err != nil {
14175		return nil, err
14176	}
14177	defer googleapi.CloseBody(res)
14178	if err := googleapi.CheckResponse(res); err != nil {
14179		return nil, err
14180	}
14181	ret := &Volumes{
14182		ServerResponse: googleapi.ServerResponse{
14183			Header:         res.Header,
14184			HTTPStatusCode: res.StatusCode,
14185		},
14186	}
14187	target := &ret
14188	if err := gensupport.DecodeResponse(target, res); err != nil {
14189		return nil, err
14190	}
14191	return ret, nil
14192	// {
14193	//   "description": "Return a list of recommended books for the current user.",
14194	//   "flatPath": "books/v1/volumes/recommended",
14195	//   "httpMethod": "GET",
14196	//   "id": "books.volumes.recommended.list",
14197	//   "parameterOrder": [],
14198	//   "parameters": {
14199	//     "locale": {
14200	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.",
14201	//       "location": "query",
14202	//       "type": "string"
14203	//     },
14204	//     "maxAllowedMaturityRating": {
14205	//       "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.",
14206	//       "enum": [
14207	//         "MAX_ALLOWED_MATURITY_RATING_UNDEFINED",
14208	//         "MATURE",
14209	//         "not-mature"
14210	//       ],
14211	//       "enumDescriptions": [
14212	//         "",
14213	//         "Show books which are rated mature or lower.",
14214	//         "Show books which are rated not mature."
14215	//       ],
14216	//       "location": "query",
14217	//       "type": "string"
14218	//     },
14219	//     "source": {
14220	//       "description": "String to identify the originator of this request.",
14221	//       "location": "query",
14222	//       "type": "string"
14223	//     }
14224	//   },
14225	//   "path": "books/v1/volumes/recommended",
14226	//   "response": {
14227	//     "$ref": "Volumes"
14228	//   },
14229	//   "scopes": [
14230	//     "https://www.googleapis.com/auth/books"
14231	//   ]
14232	// }
14233
14234}
14235
14236// method id "books.volumes.recommended.rate":
14237
14238type VolumesRecommendedRateCall struct {
14239	s          *Service
14240	urlParams_ gensupport.URLParams
14241	ctx_       context.Context
14242	header_    http.Header
14243}
14244
14245// Rate: Rate a recommended book for the current user.
14246//
14247// - rating: Rating to be given to the volume.
14248// - volumeId: ID of the source volume.
14249func (r *VolumesRecommendedService) Rate(rating string, volumeId string) *VolumesRecommendedRateCall {
14250	c := &VolumesRecommendedRateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14251	c.urlParams_.Set("rating", rating)
14252	c.urlParams_.Set("volumeId", volumeId)
14253	return c
14254}
14255
14256// Locale sets the optional parameter "locale": ISO-639-1 language and
14257// ISO-3166-1 country code. Ex: 'en_US'. Used for generating
14258// recommendations.
14259func (c *VolumesRecommendedRateCall) Locale(locale string) *VolumesRecommendedRateCall {
14260	c.urlParams_.Set("locale", locale)
14261	return c
14262}
14263
14264// Source sets the optional parameter "source": String to identify the
14265// originator of this request.
14266func (c *VolumesRecommendedRateCall) Source(source string) *VolumesRecommendedRateCall {
14267	c.urlParams_.Set("source", source)
14268	return c
14269}
14270
14271// Fields allows partial responses to be retrieved. See
14272// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14273// for more information.
14274func (c *VolumesRecommendedRateCall) Fields(s ...googleapi.Field) *VolumesRecommendedRateCall {
14275	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14276	return c
14277}
14278
14279// Context sets the context to be used in this call's Do method. Any
14280// pending HTTP request will be aborted if the provided context is
14281// canceled.
14282func (c *VolumesRecommendedRateCall) Context(ctx context.Context) *VolumesRecommendedRateCall {
14283	c.ctx_ = ctx
14284	return c
14285}
14286
14287// Header returns an http.Header that can be modified by the caller to
14288// add HTTP headers to the request.
14289func (c *VolumesRecommendedRateCall) Header() http.Header {
14290	if c.header_ == nil {
14291		c.header_ = make(http.Header)
14292	}
14293	return c.header_
14294}
14295
14296func (c *VolumesRecommendedRateCall) doRequest(alt string) (*http.Response, error) {
14297	reqHeaders := make(http.Header)
14298	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14299	for k, v := range c.header_ {
14300		reqHeaders[k] = v
14301	}
14302	reqHeaders.Set("User-Agent", c.s.userAgent())
14303	var body io.Reader = nil
14304	c.urlParams_.Set("alt", alt)
14305	c.urlParams_.Set("prettyPrint", "false")
14306	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/volumes/recommended/rate")
14307	urls += "?" + c.urlParams_.Encode()
14308	req, err := http.NewRequest("POST", urls, body)
14309	if err != nil {
14310		return nil, err
14311	}
14312	req.Header = reqHeaders
14313	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14314}
14315
14316// Do executes the "books.volumes.recommended.rate" call.
14317// Exactly one of *BooksVolumesRecommendedRateResponse or error will be
14318// non-nil. Any non-2xx status code is an error. Response headers are in
14319// either *BooksVolumesRecommendedRateResponse.ServerResponse.Header or
14320// (if a response was returned at all) in
14321// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
14322// whether the returned error was because http.StatusNotModified was
14323// returned.
14324func (c *VolumesRecommendedRateCall) Do(opts ...googleapi.CallOption) (*BooksVolumesRecommendedRateResponse, error) {
14325	gensupport.SetOptions(c.urlParams_, opts...)
14326	res, err := c.doRequest("json")
14327	if res != nil && res.StatusCode == http.StatusNotModified {
14328		if res.Body != nil {
14329			res.Body.Close()
14330		}
14331		return nil, &googleapi.Error{
14332			Code:   res.StatusCode,
14333			Header: res.Header,
14334		}
14335	}
14336	if err != nil {
14337		return nil, err
14338	}
14339	defer googleapi.CloseBody(res)
14340	if err := googleapi.CheckResponse(res); err != nil {
14341		return nil, err
14342	}
14343	ret := &BooksVolumesRecommendedRateResponse{
14344		ServerResponse: googleapi.ServerResponse{
14345			Header:         res.Header,
14346			HTTPStatusCode: res.StatusCode,
14347		},
14348	}
14349	target := &ret
14350	if err := gensupport.DecodeResponse(target, res); err != nil {
14351		return nil, err
14352	}
14353	return ret, nil
14354	// {
14355	//   "description": "Rate a recommended book for the current user.",
14356	//   "flatPath": "books/v1/volumes/recommended/rate",
14357	//   "httpMethod": "POST",
14358	//   "id": "books.volumes.recommended.rate",
14359	//   "parameterOrder": [
14360	//     "rating",
14361	//     "volumeId"
14362	//   ],
14363	//   "parameters": {
14364	//     "locale": {
14365	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.",
14366	//       "location": "query",
14367	//       "type": "string"
14368	//     },
14369	//     "rating": {
14370	//       "description": "Rating to be given to the volume.",
14371	//       "enum": [
14372	//         "RATING_UNDEFINED",
14373	//         "HAVE_IT",
14374	//         "NOT_INTERESTED"
14375	//       ],
14376	//       "enumDescriptions": [
14377	//         "",
14378	//         "Rating indicating a dismissal due to ownership.",
14379	//         "Rating indicating a negative dismissal of a volume."
14380	//       ],
14381	//       "location": "query",
14382	//       "required": true,
14383	//       "type": "string"
14384	//     },
14385	//     "source": {
14386	//       "description": "String to identify the originator of this request.",
14387	//       "location": "query",
14388	//       "type": "string"
14389	//     },
14390	//     "volumeId": {
14391	//       "description": "ID of the source volume.",
14392	//       "location": "query",
14393	//       "required": true,
14394	//       "type": "string"
14395	//     }
14396	//   },
14397	//   "path": "books/v1/volumes/recommended/rate",
14398	//   "response": {
14399	//     "$ref": "BooksVolumesRecommendedRateResponse"
14400	//   },
14401	//   "scopes": [
14402	//     "https://www.googleapis.com/auth/books"
14403	//   ]
14404	// }
14405
14406}
14407
14408// method id "books.volumes.useruploaded.list":
14409
14410type VolumesUseruploadedListCall struct {
14411	s            *Service
14412	urlParams_   gensupport.URLParams
14413	ifNoneMatch_ string
14414	ctx_         context.Context
14415	header_      http.Header
14416}
14417
14418// List: Return a list of books uploaded by the current user.
14419func (r *VolumesUseruploadedService) List() *VolumesUseruploadedListCall {
14420	c := &VolumesUseruploadedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14421	return c
14422}
14423
14424// Locale sets the optional parameter "locale": ISO-639-1 language and
14425// ISO-3166-1 country code. Ex: 'en_US'. Used for generating
14426// recommendations.
14427func (c *VolumesUseruploadedListCall) Locale(locale string) *VolumesUseruploadedListCall {
14428	c.urlParams_.Set("locale", locale)
14429	return c
14430}
14431
14432// MaxResults sets the optional parameter "maxResults": Maximum number
14433// of results to return.
14434func (c *VolumesUseruploadedListCall) MaxResults(maxResults int64) *VolumesUseruploadedListCall {
14435	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
14436	return c
14437}
14438
14439// ProcessingState sets the optional parameter "processingState": The
14440// processing state of the user uploaded volumes to be returned.
14441//
14442// Possible values:
14443//   "PROCESSING_STATE_UNDEFINED"
14444//   "COMPLETED_FAILED" - The volume processing hase failed.
14445//   "COMPLETED_SUCCESS" - The volume processing was completed.
14446//   "RUNNING" - The volume processing is not completed.
14447func (c *VolumesUseruploadedListCall) ProcessingState(processingState ...string) *VolumesUseruploadedListCall {
14448	c.urlParams_.SetMulti("processingState", append([]string{}, processingState...))
14449	return c
14450}
14451
14452// Source sets the optional parameter "source": String to identify the
14453// originator of this request.
14454func (c *VolumesUseruploadedListCall) Source(source string) *VolumesUseruploadedListCall {
14455	c.urlParams_.Set("source", source)
14456	return c
14457}
14458
14459// StartIndex sets the optional parameter "startIndex": Index of the
14460// first result to return (starts at 0)
14461func (c *VolumesUseruploadedListCall) StartIndex(startIndex int64) *VolumesUseruploadedListCall {
14462	c.urlParams_.Set("startIndex", fmt.Sprint(startIndex))
14463	return c
14464}
14465
14466// VolumeId sets the optional parameter "volumeId": The ids of the
14467// volumes to be returned. If not specified all that match the
14468// processingState are returned.
14469func (c *VolumesUseruploadedListCall) VolumeId(volumeId ...string) *VolumesUseruploadedListCall {
14470	c.urlParams_.SetMulti("volumeId", append([]string{}, volumeId...))
14471	return c
14472}
14473
14474// Fields allows partial responses to be retrieved. See
14475// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14476// for more information.
14477func (c *VolumesUseruploadedListCall) Fields(s ...googleapi.Field) *VolumesUseruploadedListCall {
14478	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14479	return c
14480}
14481
14482// IfNoneMatch sets the optional parameter which makes the operation
14483// fail if the object's ETag matches the given value. This is useful for
14484// getting updates only after the object has changed since the last
14485// request. Use googleapi.IsNotModified to check whether the response
14486// error from Do is the result of In-None-Match.
14487func (c *VolumesUseruploadedListCall) IfNoneMatch(entityTag string) *VolumesUseruploadedListCall {
14488	c.ifNoneMatch_ = entityTag
14489	return c
14490}
14491
14492// Context sets the context to be used in this call's Do method. Any
14493// pending HTTP request will be aborted if the provided context is
14494// canceled.
14495func (c *VolumesUseruploadedListCall) Context(ctx context.Context) *VolumesUseruploadedListCall {
14496	c.ctx_ = ctx
14497	return c
14498}
14499
14500// Header returns an http.Header that can be modified by the caller to
14501// add HTTP headers to the request.
14502func (c *VolumesUseruploadedListCall) Header() http.Header {
14503	if c.header_ == nil {
14504		c.header_ = make(http.Header)
14505	}
14506	return c.header_
14507}
14508
14509func (c *VolumesUseruploadedListCall) doRequest(alt string) (*http.Response, error) {
14510	reqHeaders := make(http.Header)
14511	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14512	for k, v := range c.header_ {
14513		reqHeaders[k] = v
14514	}
14515	reqHeaders.Set("User-Agent", c.s.userAgent())
14516	if c.ifNoneMatch_ != "" {
14517		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14518	}
14519	var body io.Reader = nil
14520	c.urlParams_.Set("alt", alt)
14521	c.urlParams_.Set("prettyPrint", "false")
14522	urls := googleapi.ResolveRelative(c.s.BasePath, "books/v1/volumes/useruploaded")
14523	urls += "?" + c.urlParams_.Encode()
14524	req, err := http.NewRequest("GET", urls, body)
14525	if err != nil {
14526		return nil, err
14527	}
14528	req.Header = reqHeaders
14529	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14530}
14531
14532// Do executes the "books.volumes.useruploaded.list" call.
14533// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
14534// code is an error. Response headers are in either
14535// *Volumes.ServerResponse.Header or (if a response was returned at all)
14536// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14537// check whether the returned error was because http.StatusNotModified
14538// was returned.
14539func (c *VolumesUseruploadedListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
14540	gensupport.SetOptions(c.urlParams_, opts...)
14541	res, err := c.doRequest("json")
14542	if res != nil && res.StatusCode == http.StatusNotModified {
14543		if res.Body != nil {
14544			res.Body.Close()
14545		}
14546		return nil, &googleapi.Error{
14547			Code:   res.StatusCode,
14548			Header: res.Header,
14549		}
14550	}
14551	if err != nil {
14552		return nil, err
14553	}
14554	defer googleapi.CloseBody(res)
14555	if err := googleapi.CheckResponse(res); err != nil {
14556		return nil, err
14557	}
14558	ret := &Volumes{
14559		ServerResponse: googleapi.ServerResponse{
14560			Header:         res.Header,
14561			HTTPStatusCode: res.StatusCode,
14562		},
14563	}
14564	target := &ret
14565	if err := gensupport.DecodeResponse(target, res); err != nil {
14566		return nil, err
14567	}
14568	return ret, nil
14569	// {
14570	//   "description": "Return a list of books uploaded by the current user.",
14571	//   "flatPath": "books/v1/volumes/useruploaded",
14572	//   "httpMethod": "GET",
14573	//   "id": "books.volumes.useruploaded.list",
14574	//   "parameterOrder": [],
14575	//   "parameters": {
14576	//     "locale": {
14577	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.",
14578	//       "location": "query",
14579	//       "type": "string"
14580	//     },
14581	//     "maxResults": {
14582	//       "description": "Maximum number of results to return.",
14583	//       "format": "uint32",
14584	//       "location": "query",
14585	//       "maximum": "40",
14586	//       "minimum": "0",
14587	//       "type": "integer"
14588	//     },
14589	//     "processingState": {
14590	//       "description": "The processing state of the user uploaded volumes to be returned.",
14591	//       "enum": [
14592	//         "PROCESSING_STATE_UNDEFINED",
14593	//         "COMPLETED_FAILED",
14594	//         "COMPLETED_SUCCESS",
14595	//         "RUNNING"
14596	//       ],
14597	//       "enumDescriptions": [
14598	//         "",
14599	//         "The volume processing hase failed.",
14600	//         "The volume processing was completed.",
14601	//         "The volume processing is not completed."
14602	//       ],
14603	//       "location": "query",
14604	//       "repeated": true,
14605	//       "type": "string"
14606	//     },
14607	//     "source": {
14608	//       "description": "String to identify the originator of this request.",
14609	//       "location": "query",
14610	//       "type": "string"
14611	//     },
14612	//     "startIndex": {
14613	//       "description": "Index of the first result to return (starts at 0)",
14614	//       "format": "uint32",
14615	//       "location": "query",
14616	//       "minimum": "0",
14617	//       "type": "integer"
14618	//     },
14619	//     "volumeId": {
14620	//       "description": "The ids of the volumes to be returned. If not specified all that match the processingState are returned.",
14621	//       "location": "query",
14622	//       "repeated": true,
14623	//       "type": "string"
14624	//     }
14625	//   },
14626	//   "path": "books/v1/volumes/useruploaded",
14627	//   "response": {
14628	//     "$ref": "Volumes"
14629	//   },
14630	//   "scopes": [
14631	//     "https://www.googleapis.com/auth/books"
14632	//   ]
14633	// }
14634
14635}
14636