1// Copyright 2019 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package books provides access to the Books API.
8//
9// For product documentation, see: https://developers.google.com/books/docs/v1/getting_started
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	gensupport "google.golang.org/api/gensupport"
53	googleapi "google.golang.org/api/googleapi"
54	option "google.golang.org/api/option"
55	htransport "google.golang.org/api/transport/http"
56)
57
58// Always reference these packages, just in case the auto-generated code
59// below doesn't.
60var _ = bytes.NewBuffer
61var _ = strconv.Itoa
62var _ = fmt.Sprintf
63var _ = json.NewDecoder
64var _ = io.Copy
65var _ = url.Parse
66var _ = gensupport.MarshalJSON
67var _ = googleapi.Version
68var _ = errors.New
69var _ = strings.Replace
70var _ = context.Canceled
71
72const apiId = "books:v1"
73const apiName = "books"
74const apiVersion = "v1"
75const basePath = "https://www.googleapis.com/books/v1/"
76
77// OAuth2 scopes used by this API.
78const (
79	// Manage your books
80	BooksScope = "https://www.googleapis.com/auth/books"
81)
82
83// NewService creates a new Service.
84func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
85	scopesOption := option.WithScopes(
86		"https://www.googleapis.com/auth/books",
87	)
88	// NOTE: prepend, so we don't override user-specified scopes.
89	opts = append([]option.ClientOption{scopesOption}, opts...)
90	client, endpoint, err := htransport.NewClient(ctx, opts...)
91	if err != nil {
92		return nil, err
93	}
94	s, err := New(client)
95	if err != nil {
96		return nil, err
97	}
98	if endpoint != "" {
99		s.BasePath = endpoint
100	}
101	return s, nil
102}
103
104// New creates a new Service. It uses the provided http.Client for requests.
105//
106// Deprecated: please use NewService instead.
107// To provide a custom HTTP client, use option.WithHTTPClient.
108// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
109func New(client *http.Client) (*Service, error) {
110	if client == nil {
111		return nil, errors.New("client is nil")
112	}
113	s := &Service{client: client, BasePath: basePath}
114	s.Bookshelves = NewBookshelvesService(s)
115	s.Cloudloading = NewCloudloadingService(s)
116	s.Dictionary = NewDictionaryService(s)
117	s.Familysharing = NewFamilysharingService(s)
118	s.Layers = NewLayersService(s)
119	s.Myconfig = NewMyconfigService(s)
120	s.Mylibrary = NewMylibraryService(s)
121	s.Notification = NewNotificationService(s)
122	s.Onboarding = NewOnboardingService(s)
123	s.Personalizedstream = NewPersonalizedstreamService(s)
124	s.Promooffer = NewPromoofferService(s)
125	s.Series = NewSeriesService(s)
126	s.Volumes = NewVolumesService(s)
127	return s, nil
128}
129
130type Service struct {
131	client    *http.Client
132	BasePath  string // API endpoint base URL
133	UserAgent string // optional additional User-Agent fragment
134
135	Bookshelves *BookshelvesService
136
137	Cloudloading *CloudloadingService
138
139	Dictionary *DictionaryService
140
141	Familysharing *FamilysharingService
142
143	Layers *LayersService
144
145	Myconfig *MyconfigService
146
147	Mylibrary *MylibraryService
148
149	Notification *NotificationService
150
151	Onboarding *OnboardingService
152
153	Personalizedstream *PersonalizedstreamService
154
155	Promooffer *PromoofferService
156
157	Series *SeriesService
158
159	Volumes *VolumesService
160}
161
162func (s *Service) userAgent() string {
163	if s.UserAgent == "" {
164		return googleapi.UserAgent
165	}
166	return googleapi.UserAgent + " " + s.UserAgent
167}
168
169func NewBookshelvesService(s *Service) *BookshelvesService {
170	rs := &BookshelvesService{s: s}
171	rs.Volumes = NewBookshelvesVolumesService(s)
172	return rs
173}
174
175type BookshelvesService struct {
176	s *Service
177
178	Volumes *BookshelvesVolumesService
179}
180
181func NewBookshelvesVolumesService(s *Service) *BookshelvesVolumesService {
182	rs := &BookshelvesVolumesService{s: s}
183	return rs
184}
185
186type BookshelvesVolumesService struct {
187	s *Service
188}
189
190func NewCloudloadingService(s *Service) *CloudloadingService {
191	rs := &CloudloadingService{s: s}
192	return rs
193}
194
195type CloudloadingService struct {
196	s *Service
197}
198
199func NewDictionaryService(s *Service) *DictionaryService {
200	rs := &DictionaryService{s: s}
201	return rs
202}
203
204type DictionaryService struct {
205	s *Service
206}
207
208func NewFamilysharingService(s *Service) *FamilysharingService {
209	rs := &FamilysharingService{s: s}
210	return rs
211}
212
213type FamilysharingService struct {
214	s *Service
215}
216
217func NewLayersService(s *Service) *LayersService {
218	rs := &LayersService{s: s}
219	rs.AnnotationData = NewLayersAnnotationDataService(s)
220	rs.VolumeAnnotations = NewLayersVolumeAnnotationsService(s)
221	return rs
222}
223
224type LayersService struct {
225	s *Service
226
227	AnnotationData *LayersAnnotationDataService
228
229	VolumeAnnotations *LayersVolumeAnnotationsService
230}
231
232func NewLayersAnnotationDataService(s *Service) *LayersAnnotationDataService {
233	rs := &LayersAnnotationDataService{s: s}
234	return rs
235}
236
237type LayersAnnotationDataService struct {
238	s *Service
239}
240
241func NewLayersVolumeAnnotationsService(s *Service) *LayersVolumeAnnotationsService {
242	rs := &LayersVolumeAnnotationsService{s: s}
243	return rs
244}
245
246type LayersVolumeAnnotationsService struct {
247	s *Service
248}
249
250func NewMyconfigService(s *Service) *MyconfigService {
251	rs := &MyconfigService{s: s}
252	return rs
253}
254
255type MyconfigService struct {
256	s *Service
257}
258
259func NewMylibraryService(s *Service) *MylibraryService {
260	rs := &MylibraryService{s: s}
261	rs.Annotations = NewMylibraryAnnotationsService(s)
262	rs.Bookshelves = NewMylibraryBookshelvesService(s)
263	rs.Readingpositions = NewMylibraryReadingpositionsService(s)
264	return rs
265}
266
267type MylibraryService struct {
268	s *Service
269
270	Annotations *MylibraryAnnotationsService
271
272	Bookshelves *MylibraryBookshelvesService
273
274	Readingpositions *MylibraryReadingpositionsService
275}
276
277func NewMylibraryAnnotationsService(s *Service) *MylibraryAnnotationsService {
278	rs := &MylibraryAnnotationsService{s: s}
279	return rs
280}
281
282type MylibraryAnnotationsService struct {
283	s *Service
284}
285
286func NewMylibraryBookshelvesService(s *Service) *MylibraryBookshelvesService {
287	rs := &MylibraryBookshelvesService{s: s}
288	rs.Volumes = NewMylibraryBookshelvesVolumesService(s)
289	return rs
290}
291
292type MylibraryBookshelvesService struct {
293	s *Service
294
295	Volumes *MylibraryBookshelvesVolumesService
296}
297
298func NewMylibraryBookshelvesVolumesService(s *Service) *MylibraryBookshelvesVolumesService {
299	rs := &MylibraryBookshelvesVolumesService{s: s}
300	return rs
301}
302
303type MylibraryBookshelvesVolumesService struct {
304	s *Service
305}
306
307func NewMylibraryReadingpositionsService(s *Service) *MylibraryReadingpositionsService {
308	rs := &MylibraryReadingpositionsService{s: s}
309	return rs
310}
311
312type MylibraryReadingpositionsService struct {
313	s *Service
314}
315
316func NewNotificationService(s *Service) *NotificationService {
317	rs := &NotificationService{s: s}
318	return rs
319}
320
321type NotificationService struct {
322	s *Service
323}
324
325func NewOnboardingService(s *Service) *OnboardingService {
326	rs := &OnboardingService{s: s}
327	return rs
328}
329
330type OnboardingService struct {
331	s *Service
332}
333
334func NewPersonalizedstreamService(s *Service) *PersonalizedstreamService {
335	rs := &PersonalizedstreamService{s: s}
336	return rs
337}
338
339type PersonalizedstreamService struct {
340	s *Service
341}
342
343func NewPromoofferService(s *Service) *PromoofferService {
344	rs := &PromoofferService{s: s}
345	return rs
346}
347
348type PromoofferService struct {
349	s *Service
350}
351
352func NewSeriesService(s *Service) *SeriesService {
353	rs := &SeriesService{s: s}
354	rs.Membership = NewSeriesMembershipService(s)
355	return rs
356}
357
358type SeriesService struct {
359	s *Service
360
361	Membership *SeriesMembershipService
362}
363
364func NewSeriesMembershipService(s *Service) *SeriesMembershipService {
365	rs := &SeriesMembershipService{s: s}
366	return rs
367}
368
369type SeriesMembershipService struct {
370	s *Service
371}
372
373func NewVolumesService(s *Service) *VolumesService {
374	rs := &VolumesService{s: s}
375	rs.Associated = NewVolumesAssociatedService(s)
376	rs.Mybooks = NewVolumesMybooksService(s)
377	rs.Recommended = NewVolumesRecommendedService(s)
378	rs.Useruploaded = NewVolumesUseruploadedService(s)
379	return rs
380}
381
382type VolumesService struct {
383	s *Service
384
385	Associated *VolumesAssociatedService
386
387	Mybooks *VolumesMybooksService
388
389	Recommended *VolumesRecommendedService
390
391	Useruploaded *VolumesUseruploadedService
392}
393
394func NewVolumesAssociatedService(s *Service) *VolumesAssociatedService {
395	rs := &VolumesAssociatedService{s: s}
396	return rs
397}
398
399type VolumesAssociatedService struct {
400	s *Service
401}
402
403func NewVolumesMybooksService(s *Service) *VolumesMybooksService {
404	rs := &VolumesMybooksService{s: s}
405	return rs
406}
407
408type VolumesMybooksService struct {
409	s *Service
410}
411
412func NewVolumesRecommendedService(s *Service) *VolumesRecommendedService {
413	rs := &VolumesRecommendedService{s: s}
414	return rs
415}
416
417type VolumesRecommendedService struct {
418	s *Service
419}
420
421func NewVolumesUseruploadedService(s *Service) *VolumesUseruploadedService {
422	rs := &VolumesUseruploadedService{s: s}
423	return rs
424}
425
426type VolumesUseruploadedService struct {
427	s *Service
428}
429
430type Annotation struct {
431	// AfterSelectedText: Anchor text after excerpt. For requests, if the
432	// user bookmarked a screen that has no flowing text on it, then this
433	// field should be empty.
434	AfterSelectedText string `json:"afterSelectedText,omitempty"`
435
436	// BeforeSelectedText: Anchor text before 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	BeforeSelectedText string `json:"beforeSelectedText,omitempty"`
440
441	// ClientVersionRanges: Selection ranges sent from the client.
442	ClientVersionRanges *AnnotationClientVersionRanges `json:"clientVersionRanges,omitempty"`
443
444	// Created: Timestamp for the created time of this annotation.
445	Created string `json:"created,omitempty"`
446
447	// CurrentVersionRanges: Selection ranges for the most recent content
448	// version.
449	CurrentVersionRanges *AnnotationCurrentVersionRanges `json:"currentVersionRanges,omitempty"`
450
451	// Data: User-created data for this annotation.
452	Data string `json:"data,omitempty"`
453
454	// Deleted: Indicates that this annotation is deleted.
455	Deleted bool `json:"deleted,omitempty"`
456
457	// HighlightStyle: The highlight style for this annotation.
458	HighlightStyle string `json:"highlightStyle,omitempty"`
459
460	// Id: Id of this annotation, in the form of a GUID.
461	Id string `json:"id,omitempty"`
462
463	// Kind: Resource type.
464	Kind string `json:"kind,omitempty"`
465
466	// LayerId: The layer this annotation is for.
467	LayerId string `json:"layerId,omitempty"`
468
469	LayerSummary *AnnotationLayerSummary `json:"layerSummary,omitempty"`
470
471	// PageIds: Pages that this annotation spans.
472	PageIds []string `json:"pageIds,omitempty"`
473
474	// SelectedText: Excerpt from the volume.
475	SelectedText string `json:"selectedText,omitempty"`
476
477	// SelfLink: URL to this resource.
478	SelfLink string `json:"selfLink,omitempty"`
479
480	// Updated: Timestamp for the last time this annotation was modified.
481	Updated string `json:"updated,omitempty"`
482
483	// VolumeId: The volume that this annotation belongs to.
484	VolumeId string `json:"volumeId,omitempty"`
485
486	// ServerResponse contains the HTTP response code and headers from the
487	// server.
488	googleapi.ServerResponse `json:"-"`
489
490	// ForceSendFields is a list of field names (e.g. "AfterSelectedText")
491	// to unconditionally include in API requests. By default, fields with
492	// empty values are omitted from API requests. However, any non-pointer,
493	// non-interface field appearing in ForceSendFields will be sent to the
494	// server regardless of whether the field is empty or not. This may be
495	// used to include empty fields in Patch requests.
496	ForceSendFields []string `json:"-"`
497
498	// NullFields is a list of field names (e.g. "AfterSelectedText") to
499	// include in API requests with the JSON null value. By default, fields
500	// with empty values are omitted from API requests. However, any field
501	// with an empty value appearing in NullFields will be sent to the
502	// server as null. It is an error if a field in this list has a
503	// non-empty value. This may be used to include null fields in Patch
504	// requests.
505	NullFields []string `json:"-"`
506}
507
508func (s *Annotation) MarshalJSON() ([]byte, error) {
509	type NoMethod Annotation
510	raw := NoMethod(*s)
511	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
512}
513
514// AnnotationClientVersionRanges: Selection ranges sent from the client.
515type AnnotationClientVersionRanges struct {
516	// CfiRange: Range in CFI format for this annotation sent by client.
517	CfiRange *BooksAnnotationsRange `json:"cfiRange,omitempty"`
518
519	// ContentVersion: Content version the client sent in.
520	ContentVersion string `json:"contentVersion,omitempty"`
521
522	// GbImageRange: Range in GB image format for this annotation sent by
523	// client.
524	GbImageRange *BooksAnnotationsRange `json:"gbImageRange,omitempty"`
525
526	// GbTextRange: Range in GB text format for this annotation sent by
527	// client.
528	GbTextRange *BooksAnnotationsRange `json:"gbTextRange,omitempty"`
529
530	// ImageCfiRange: Range in image CFI format for this annotation sent by
531	// client.
532	ImageCfiRange *BooksAnnotationsRange `json:"imageCfiRange,omitempty"`
533
534	// ForceSendFields is a list of field names (e.g. "CfiRange") to
535	// unconditionally include in API requests. By default, fields with
536	// empty values are omitted from API requests. However, any non-pointer,
537	// non-interface field appearing in ForceSendFields will be sent to the
538	// server regardless of whether the field is empty or not. This may be
539	// used to include empty fields in Patch requests.
540	ForceSendFields []string `json:"-"`
541
542	// NullFields is a list of field names (e.g. "CfiRange") to include in
543	// API requests with the JSON null value. By default, fields with empty
544	// values are omitted from API requests. However, any field with an
545	// empty value appearing in NullFields will be sent to the server as
546	// null. It is an error if a field in this list has a non-empty value.
547	// This may be used to include null fields in Patch requests.
548	NullFields []string `json:"-"`
549}
550
551func (s *AnnotationClientVersionRanges) MarshalJSON() ([]byte, error) {
552	type NoMethod AnnotationClientVersionRanges
553	raw := NoMethod(*s)
554	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
555}
556
557// AnnotationCurrentVersionRanges: Selection ranges for the most recent
558// content version.
559type AnnotationCurrentVersionRanges struct {
560	// CfiRange: Range in CFI format for this annotation for version above.
561	CfiRange *BooksAnnotationsRange `json:"cfiRange,omitempty"`
562
563	// ContentVersion: Content version applicable to ranges below.
564	ContentVersion string `json:"contentVersion,omitempty"`
565
566	// GbImageRange: Range in GB image format for this annotation for
567	// version above.
568	GbImageRange *BooksAnnotationsRange `json:"gbImageRange,omitempty"`
569
570	// GbTextRange: Range in GB text format for this annotation for version
571	// above.
572	GbTextRange *BooksAnnotationsRange `json:"gbTextRange,omitempty"`
573
574	// ImageCfiRange: Range in image CFI format for this annotation for
575	// version above.
576	ImageCfiRange *BooksAnnotationsRange `json:"imageCfiRange,omitempty"`
577
578	// ForceSendFields is a list of field names (e.g. "CfiRange") to
579	// unconditionally include in API requests. By default, fields with
580	// empty values are omitted from API requests. However, any non-pointer,
581	// non-interface field appearing in ForceSendFields will be sent to the
582	// server regardless of whether the field is empty or not. This may be
583	// used to include empty fields in Patch requests.
584	ForceSendFields []string `json:"-"`
585
586	// NullFields is a list of field names (e.g. "CfiRange") to include in
587	// API requests with the JSON null value. By default, fields with empty
588	// values are omitted from API requests. However, any field with an
589	// empty value appearing in NullFields will be sent to the server as
590	// null. It is an error if a field in this list has a non-empty value.
591	// This may be used to include null fields in Patch requests.
592	NullFields []string `json:"-"`
593}
594
595func (s *AnnotationCurrentVersionRanges) MarshalJSON() ([]byte, error) {
596	type NoMethod AnnotationCurrentVersionRanges
597	raw := NoMethod(*s)
598	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
599}
600
601type AnnotationLayerSummary struct {
602	// AllowedCharacterCount: Maximum allowed characters on this layer,
603	// especially for the "copy" layer.
604	AllowedCharacterCount int64 `json:"allowedCharacterCount,omitempty"`
605
606	// LimitType: Type of limitation on this layer. "limited" or "unlimited"
607	// for the "copy" layer.
608	LimitType string `json:"limitType,omitempty"`
609
610	// RemainingCharacterCount: Remaining allowed characters on this layer,
611	// especially for the "copy" layer.
612	RemainingCharacterCount int64 `json:"remainingCharacterCount,omitempty"`
613
614	// ForceSendFields is a list of field names (e.g.
615	// "AllowedCharacterCount") to unconditionally include in API requests.
616	// By default, fields with empty values are omitted from API requests.
617	// However, any non-pointer, non-interface field appearing in
618	// ForceSendFields will be sent to the server regardless of whether the
619	// field is empty or not. This may be used to include empty fields in
620	// Patch requests.
621	ForceSendFields []string `json:"-"`
622
623	// NullFields is a list of field names (e.g. "AllowedCharacterCount") to
624	// include in API requests with the JSON null value. By default, fields
625	// with empty values are omitted from API requests. However, any field
626	// with an empty value appearing in NullFields will be sent to the
627	// server as null. It is an error if a field in this list has a
628	// non-empty value. This may be used to include null fields in Patch
629	// requests.
630	NullFields []string `json:"-"`
631}
632
633func (s *AnnotationLayerSummary) MarshalJSON() ([]byte, error) {
634	type NoMethod AnnotationLayerSummary
635	raw := NoMethod(*s)
636	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
637}
638
639type Annotationdata struct {
640	// AnnotationType: The type of annotation this data is for.
641	AnnotationType string `json:"annotationType,omitempty"`
642
643	Data interface{} `json:"data,omitempty"`
644
645	// EncodedData: Base64 encoded data for this annotation data.
646	EncodedData string `json:"encoded_data,omitempty"`
647
648	// Id: Unique id for this annotation data.
649	Id string `json:"id,omitempty"`
650
651	// Kind: Resource Type
652	Kind string `json:"kind,omitempty"`
653
654	// LayerId: The Layer id for this data. *
655	LayerId string `json:"layerId,omitempty"`
656
657	// SelfLink: URL for this resource. *
658	SelfLink string `json:"selfLink,omitempty"`
659
660	// Updated: Timestamp for the last time this data was updated. (RFC 3339
661	// UTC date-time format).
662	Updated string `json:"updated,omitempty"`
663
664	// VolumeId: The volume id for this data. *
665	VolumeId string `json:"volumeId,omitempty"`
666
667	// ServerResponse contains the HTTP response code and headers from the
668	// server.
669	googleapi.ServerResponse `json:"-"`
670
671	// ForceSendFields is a list of field names (e.g. "AnnotationType") to
672	// unconditionally include in API requests. By default, fields with
673	// empty values are omitted from API requests. However, any non-pointer,
674	// non-interface field appearing in ForceSendFields will be sent to the
675	// server regardless of whether the field is empty or not. This may be
676	// used to include empty fields in Patch requests.
677	ForceSendFields []string `json:"-"`
678
679	// NullFields is a list of field names (e.g. "AnnotationType") to
680	// include in API requests with the JSON null value. By default, fields
681	// with empty values are omitted from API requests. However, any field
682	// with an empty value appearing in NullFields will be sent to the
683	// server as null. It is an error if a field in this list has a
684	// non-empty value. This may be used to include null fields in Patch
685	// requests.
686	NullFields []string `json:"-"`
687}
688
689func (s *Annotationdata) MarshalJSON() ([]byte, error) {
690	type NoMethod Annotationdata
691	raw := NoMethod(*s)
692	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
693}
694
695type Annotations struct {
696	// Items: A list of annotations.
697	Items []*Annotation `json:"items,omitempty"`
698
699	// Kind: Resource type.
700	Kind string `json:"kind,omitempty"`
701
702	// NextPageToken: Token to pass in for pagination for the next page.
703	// This will not be present if this request does not have more results.
704	NextPageToken string `json:"nextPageToken,omitempty"`
705
706	// TotalItems: Total number of annotations found. This may be greater
707	// than the number of notes returned in this response if results have
708	// been paginated.
709	TotalItems int64 `json:"totalItems,omitempty"`
710
711	// ServerResponse contains the HTTP response code and headers from the
712	// server.
713	googleapi.ServerResponse `json:"-"`
714
715	// ForceSendFields is a list of field names (e.g. "Items") to
716	// unconditionally include in API requests. By default, fields with
717	// empty values are omitted from API requests. However, any non-pointer,
718	// non-interface field appearing in ForceSendFields will be sent to the
719	// server regardless of whether the field is empty or not. This may be
720	// used to include empty fields in Patch requests.
721	ForceSendFields []string `json:"-"`
722
723	// NullFields is a list of field names (e.g. "Items") to include in API
724	// requests with the JSON null value. By default, fields with empty
725	// values are omitted from API requests. However, any field with an
726	// empty value appearing in NullFields will be sent to the server as
727	// null. It is an error if a field in this list has a non-empty value.
728	// This may be used to include null fields in Patch requests.
729	NullFields []string `json:"-"`
730}
731
732func (s *Annotations) MarshalJSON() ([]byte, error) {
733	type NoMethod Annotations
734	raw := NoMethod(*s)
735	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
736}
737
738type AnnotationsSummary struct {
739	Kind string `json:"kind,omitempty"`
740
741	Layers []*AnnotationsSummaryLayers `json:"layers,omitempty"`
742
743	// ServerResponse contains the HTTP response code and headers from the
744	// server.
745	googleapi.ServerResponse `json:"-"`
746
747	// ForceSendFields is a list of field names (e.g. "Kind") to
748	// unconditionally include in API requests. By default, fields with
749	// empty values are omitted from API requests. However, any non-pointer,
750	// non-interface field appearing in ForceSendFields will be sent to the
751	// server regardless of whether the field is empty or not. This may be
752	// used to include empty fields in Patch requests.
753	ForceSendFields []string `json:"-"`
754
755	// NullFields is a list of field names (e.g. "Kind") to include in API
756	// requests with the JSON null value. By default, fields with empty
757	// values are omitted from API requests. However, any field with an
758	// empty value appearing in NullFields will be sent to the server as
759	// null. It is an error if a field in this list has a non-empty value.
760	// This may be used to include null fields in Patch requests.
761	NullFields []string `json:"-"`
762}
763
764func (s *AnnotationsSummary) MarshalJSON() ([]byte, error) {
765	type NoMethod AnnotationsSummary
766	raw := NoMethod(*s)
767	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
768}
769
770type AnnotationsSummaryLayers struct {
771	AllowedCharacterCount int64 `json:"allowedCharacterCount,omitempty"`
772
773	LayerId string `json:"layerId,omitempty"`
774
775	LimitType string `json:"limitType,omitempty"`
776
777	RemainingCharacterCount int64 `json:"remainingCharacterCount,omitempty"`
778
779	Updated string `json:"updated,omitempty"`
780
781	// ForceSendFields is a list of field names (e.g.
782	// "AllowedCharacterCount") to unconditionally include in API requests.
783	// By default, fields with empty values are omitted from API requests.
784	// However, any non-pointer, non-interface field appearing in
785	// ForceSendFields will be sent to the server regardless of whether the
786	// field is empty or not. This may be used to include empty fields in
787	// Patch requests.
788	ForceSendFields []string `json:"-"`
789
790	// NullFields is a list of field names (e.g. "AllowedCharacterCount") to
791	// include in API requests with the JSON null value. By default, fields
792	// with empty values are omitted from API requests. However, any field
793	// with an empty value appearing in NullFields will be sent to the
794	// server as null. It is an error if a field in this list has a
795	// non-empty value. This may be used to include null fields in Patch
796	// requests.
797	NullFields []string `json:"-"`
798}
799
800func (s *AnnotationsSummaryLayers) MarshalJSON() ([]byte, error) {
801	type NoMethod AnnotationsSummaryLayers
802	raw := NoMethod(*s)
803	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
804}
805
806type Annotationsdata struct {
807	// Items: A list of Annotation Data.
808	Items []*Annotationdata `json:"items,omitempty"`
809
810	// Kind: Resource type
811	Kind string `json:"kind,omitempty"`
812
813	// NextPageToken: Token to pass in for pagination for the next page.
814	// This will not be present if this request does not have more results.
815	NextPageToken string `json:"nextPageToken,omitempty"`
816
817	// TotalItems: The total number of volume annotations found.
818	TotalItems int64 `json:"totalItems,omitempty"`
819
820	// ServerResponse contains the HTTP response code and headers from the
821	// server.
822	googleapi.ServerResponse `json:"-"`
823
824	// ForceSendFields is a list of field names (e.g. "Items") to
825	// unconditionally include in API requests. By default, fields with
826	// empty values are omitted from API requests. However, any non-pointer,
827	// non-interface field appearing in ForceSendFields will be sent to the
828	// server regardless of whether the field is empty or not. This may be
829	// used to include empty fields in Patch requests.
830	ForceSendFields []string `json:"-"`
831
832	// NullFields is a list of field names (e.g. "Items") to include in API
833	// requests with the JSON null value. By default, fields with empty
834	// values are omitted from API requests. However, any field with an
835	// empty value appearing in NullFields will be sent to the server as
836	// null. It is an error if a field in this list has a non-empty value.
837	// This may be used to include null fields in Patch requests.
838	NullFields []string `json:"-"`
839}
840
841func (s *Annotationsdata) MarshalJSON() ([]byte, error) {
842	type NoMethod Annotationsdata
843	raw := NoMethod(*s)
844	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
845}
846
847type BooksAnnotationsRange struct {
848	// EndOffset: The offset from the ending position.
849	EndOffset string `json:"endOffset,omitempty"`
850
851	// EndPosition: The ending position for the range.
852	EndPosition string `json:"endPosition,omitempty"`
853
854	// StartOffset: The offset from the starting position.
855	StartOffset string `json:"startOffset,omitempty"`
856
857	// StartPosition: The starting position for the range.
858	StartPosition string `json:"startPosition,omitempty"`
859
860	// ForceSendFields is a list of field names (e.g. "EndOffset") to
861	// unconditionally include in API requests. By default, fields with
862	// empty values are omitted from API requests. However, any non-pointer,
863	// non-interface field appearing in ForceSendFields will be sent to the
864	// server regardless of whether the field is empty or not. This may be
865	// used to include empty fields in Patch requests.
866	ForceSendFields []string `json:"-"`
867
868	// NullFields is a list of field names (e.g. "EndOffset") to include in
869	// API requests with the JSON null value. By default, fields with empty
870	// values are omitted from API requests. However, any field with an
871	// empty value appearing in NullFields will be sent to the server as
872	// null. It is an error if a field in this list has a non-empty value.
873	// This may be used to include null fields in Patch requests.
874	NullFields []string `json:"-"`
875}
876
877func (s *BooksAnnotationsRange) MarshalJSON() ([]byte, error) {
878	type NoMethod BooksAnnotationsRange
879	raw := NoMethod(*s)
880	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
881}
882
883type BooksCloudloadingResource struct {
884	Author string `json:"author,omitempty"`
885
886	ProcessingState string `json:"processingState,omitempty"`
887
888	Title string `json:"title,omitempty"`
889
890	VolumeId string `json:"volumeId,omitempty"`
891
892	// ServerResponse contains the HTTP response code and headers from the
893	// server.
894	googleapi.ServerResponse `json:"-"`
895
896	// ForceSendFields is a list of field names (e.g. "Author") to
897	// unconditionally include in API requests. By default, fields with
898	// empty values are omitted from API requests. However, any non-pointer,
899	// non-interface field appearing in ForceSendFields will be sent to the
900	// server regardless of whether the field is empty or not. This may be
901	// used to include empty fields in Patch requests.
902	ForceSendFields []string `json:"-"`
903
904	// NullFields is a list of field names (e.g. "Author") to include in API
905	// requests with the JSON null value. By default, fields with empty
906	// values are omitted from API requests. However, any field with an
907	// empty value appearing in NullFields will be sent to the server as
908	// null. It is an error if a field in this list has a non-empty value.
909	// This may be used to include null fields in Patch requests.
910	NullFields []string `json:"-"`
911}
912
913func (s *BooksCloudloadingResource) MarshalJSON() ([]byte, error) {
914	type NoMethod BooksCloudloadingResource
915	raw := NoMethod(*s)
916	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
917}
918
919type BooksVolumesRecommendedRateResponse struct {
920	ConsistencyToken string `json:"consistency_token,omitempty"`
921
922	// ServerResponse contains the HTTP response code and headers from the
923	// server.
924	googleapi.ServerResponse `json:"-"`
925
926	// ForceSendFields is a list of field names (e.g. "ConsistencyToken") to
927	// unconditionally include in API requests. By default, fields with
928	// empty values are omitted from API requests. However, any non-pointer,
929	// non-interface field appearing in ForceSendFields will be sent to the
930	// server regardless of whether the field is empty or not. This may be
931	// used to include empty fields in Patch requests.
932	ForceSendFields []string `json:"-"`
933
934	// NullFields is a list of field names (e.g. "ConsistencyToken") to
935	// include in API requests with the JSON null value. By default, fields
936	// with empty values are omitted from API requests. However, any field
937	// with an empty value appearing in NullFields will be sent to the
938	// server as null. It is an error if a field in this list has a
939	// non-empty value. This may be used to include null fields in Patch
940	// requests.
941	NullFields []string `json:"-"`
942}
943
944func (s *BooksVolumesRecommendedRateResponse) MarshalJSON() ([]byte, error) {
945	type NoMethod BooksVolumesRecommendedRateResponse
946	raw := NoMethod(*s)
947	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
948}
949
950type Bookshelf struct {
951	// Access: Whether this bookshelf is PUBLIC or PRIVATE.
952	Access string `json:"access,omitempty"`
953
954	// Created: Created time for this bookshelf (formatted UTC timestamp
955	// with millisecond resolution).
956	Created string `json:"created,omitempty"`
957
958	// Description: Description of this bookshelf.
959	Description string `json:"description,omitempty"`
960
961	// Id: Id of this bookshelf, only unique by user.
962	Id int64 `json:"id,omitempty"`
963
964	// Kind: Resource type for bookshelf metadata.
965	Kind string `json:"kind,omitempty"`
966
967	// SelfLink: URL to this resource.
968	SelfLink string `json:"selfLink,omitempty"`
969
970	// Title: Title of this bookshelf.
971	Title string `json:"title,omitempty"`
972
973	// Updated: Last modified time of this bookshelf (formatted UTC
974	// timestamp with millisecond resolution).
975	Updated string `json:"updated,omitempty"`
976
977	// VolumeCount: Number of volumes in this bookshelf.
978	VolumeCount int64 `json:"volumeCount,omitempty"`
979
980	// VolumesLastUpdated: Last time a volume was added or removed from this
981	// bookshelf (formatted UTC timestamp with millisecond resolution).
982	VolumesLastUpdated string `json:"volumesLastUpdated,omitempty"`
983
984	// ServerResponse contains the HTTP response code and headers from the
985	// server.
986	googleapi.ServerResponse `json:"-"`
987
988	// ForceSendFields is a list of field names (e.g. "Access") to
989	// unconditionally include in API requests. By default, fields with
990	// empty values are omitted from API requests. However, any non-pointer,
991	// non-interface field appearing in ForceSendFields will be sent to the
992	// server regardless of whether the field is empty or not. This may be
993	// used to include empty fields in Patch requests.
994	ForceSendFields []string `json:"-"`
995
996	// NullFields is a list of field names (e.g. "Access") to include in API
997	// requests with the JSON null value. By default, fields with empty
998	// values are omitted from API requests. However, any field with an
999	// empty value appearing in NullFields will be sent to the server as
1000	// null. It is an error if a field in this list has a non-empty value.
1001	// This may be used to include null fields in Patch requests.
1002	NullFields []string `json:"-"`
1003}
1004
1005func (s *Bookshelf) MarshalJSON() ([]byte, error) {
1006	type NoMethod Bookshelf
1007	raw := NoMethod(*s)
1008	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1009}
1010
1011type Bookshelves struct {
1012	// Items: A list of bookshelves.
1013	Items []*Bookshelf `json:"items,omitempty"`
1014
1015	// Kind: Resource type.
1016	Kind string `json:"kind,omitempty"`
1017
1018	// ServerResponse contains the HTTP response code and headers from the
1019	// server.
1020	googleapi.ServerResponse `json:"-"`
1021
1022	// ForceSendFields is a list of field names (e.g. "Items") to
1023	// unconditionally include in API requests. By default, fields with
1024	// empty values are omitted from API requests. However, any non-pointer,
1025	// non-interface field appearing in ForceSendFields will be sent to the
1026	// server regardless of whether the field is empty or not. This may be
1027	// used to include empty fields in Patch requests.
1028	ForceSendFields []string `json:"-"`
1029
1030	// NullFields is a list of field names (e.g. "Items") to include in API
1031	// requests with the JSON null value. By default, fields with empty
1032	// values are omitted from API requests. However, any field with an
1033	// empty value appearing in NullFields will be sent to the server as
1034	// null. It is an error if a field in this list has a non-empty value.
1035	// This may be used to include null fields in Patch requests.
1036	NullFields []string `json:"-"`
1037}
1038
1039func (s *Bookshelves) MarshalJSON() ([]byte, error) {
1040	type NoMethod Bookshelves
1041	raw := NoMethod(*s)
1042	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1043}
1044
1045type Category struct {
1046	// Items: A list of onboarding categories.
1047	Items []*CategoryItems `json:"items,omitempty"`
1048
1049	// Kind: Resource type.
1050	Kind string `json:"kind,omitempty"`
1051
1052	// ServerResponse contains the HTTP response code and headers from the
1053	// server.
1054	googleapi.ServerResponse `json:"-"`
1055
1056	// ForceSendFields is a list of field names (e.g. "Items") to
1057	// unconditionally include in API requests. By default, fields with
1058	// empty values are omitted from API requests. However, any non-pointer,
1059	// non-interface field appearing in ForceSendFields will be sent to the
1060	// server regardless of whether the field is empty or not. This may be
1061	// used to include empty fields in Patch requests.
1062	ForceSendFields []string `json:"-"`
1063
1064	// NullFields is a list of field names (e.g. "Items") to include in API
1065	// requests with the JSON null value. By default, fields with empty
1066	// values are omitted from API requests. However, any field with an
1067	// empty value appearing in NullFields will be sent to the server as
1068	// null. It is an error if a field in this list has a non-empty value.
1069	// This may be used to include null fields in Patch requests.
1070	NullFields []string `json:"-"`
1071}
1072
1073func (s *Category) MarshalJSON() ([]byte, error) {
1074	type NoMethod Category
1075	raw := NoMethod(*s)
1076	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1077}
1078
1079type CategoryItems struct {
1080	BadgeUrl string `json:"badgeUrl,omitempty"`
1081
1082	CategoryId string `json:"categoryId,omitempty"`
1083
1084	Name string `json:"name,omitempty"`
1085
1086	// ForceSendFields is a list of field names (e.g. "BadgeUrl") to
1087	// unconditionally include in API requests. By default, fields with
1088	// empty values are omitted from API requests. However, any non-pointer,
1089	// non-interface field appearing in ForceSendFields will be sent to the
1090	// server regardless of whether the field is empty or not. This may be
1091	// used to include empty fields in Patch requests.
1092	ForceSendFields []string `json:"-"`
1093
1094	// NullFields is a list of field names (e.g. "BadgeUrl") to include in
1095	// API requests with the JSON null value. By default, fields with empty
1096	// values are omitted from API requests. However, any field with an
1097	// empty value appearing in NullFields will be sent to the server as
1098	// null. It is an error if a field in this list has a non-empty value.
1099	// This may be used to include null fields in Patch requests.
1100	NullFields []string `json:"-"`
1101}
1102
1103func (s *CategoryItems) MarshalJSON() ([]byte, error) {
1104	type NoMethod CategoryItems
1105	raw := NoMethod(*s)
1106	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1107}
1108
1109type ConcurrentAccessRestriction struct {
1110	// DeviceAllowed: Whether access is granted for this (user, device,
1111	// volume).
1112	DeviceAllowed bool `json:"deviceAllowed,omitempty"`
1113
1114	// Kind: Resource type.
1115	Kind string `json:"kind,omitempty"`
1116
1117	// MaxConcurrentDevices: The maximum number of concurrent access
1118	// licenses for this volume.
1119	MaxConcurrentDevices int64 `json:"maxConcurrentDevices,omitempty"`
1120
1121	// Message: Error/warning message.
1122	Message string `json:"message,omitempty"`
1123
1124	// Nonce: Client nonce for verification. Download access and
1125	// client-validation only.
1126	Nonce string `json:"nonce,omitempty"`
1127
1128	// ReasonCode: Error/warning reason code.
1129	ReasonCode string `json:"reasonCode,omitempty"`
1130
1131	// Restricted: Whether this volume has any concurrent access
1132	// restrictions.
1133	Restricted bool `json:"restricted,omitempty"`
1134
1135	// Signature: Response signature.
1136	Signature string `json:"signature,omitempty"`
1137
1138	// Source: Client app identifier for verification. Download access and
1139	// client-validation only.
1140	Source string `json:"source,omitempty"`
1141
1142	// TimeWindowSeconds: Time in seconds for license auto-expiration.
1143	TimeWindowSeconds int64 `json:"timeWindowSeconds,omitempty"`
1144
1145	// VolumeId: Identifies the volume for which this entry applies.
1146	VolumeId string `json:"volumeId,omitempty"`
1147
1148	// ForceSendFields is a list of field names (e.g. "DeviceAllowed") to
1149	// unconditionally include in API requests. By default, fields with
1150	// empty values are omitted from API requests. However, any non-pointer,
1151	// non-interface field appearing in ForceSendFields will be sent to the
1152	// server regardless of whether the field is empty or not. This may be
1153	// used to include empty fields in Patch requests.
1154	ForceSendFields []string `json:"-"`
1155
1156	// NullFields is a list of field names (e.g. "DeviceAllowed") to include
1157	// in API requests with the JSON null value. By default, fields with
1158	// empty values are omitted from API requests. However, any field with
1159	// an empty value appearing in NullFields will be sent to the server as
1160	// null. It is an error if a field in this list has a non-empty value.
1161	// This may be used to include null fields in Patch requests.
1162	NullFields []string `json:"-"`
1163}
1164
1165func (s *ConcurrentAccessRestriction) MarshalJSON() ([]byte, error) {
1166	type NoMethod ConcurrentAccessRestriction
1167	raw := NoMethod(*s)
1168	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1169}
1170
1171type Dictlayerdata struct {
1172	Common *DictlayerdataCommon `json:"common,omitempty"`
1173
1174	Dict *DictlayerdataDict `json:"dict,omitempty"`
1175
1176	Kind string `json:"kind,omitempty"`
1177
1178	// ForceSendFields is a list of field names (e.g. "Common") to
1179	// unconditionally include in API requests. By default, fields with
1180	// empty values are omitted from API requests. However, any non-pointer,
1181	// non-interface field appearing in ForceSendFields will be sent to the
1182	// server regardless of whether the field is empty or not. This may be
1183	// used to include empty fields in Patch requests.
1184	ForceSendFields []string `json:"-"`
1185
1186	// NullFields is a list of field names (e.g. "Common") to include in API
1187	// requests with the JSON null value. By default, fields with empty
1188	// values are omitted from API requests. However, any field with an
1189	// empty value appearing in NullFields will be sent to the server as
1190	// null. It is an error if a field in this list has a non-empty value.
1191	// This may be used to include null fields in Patch requests.
1192	NullFields []string `json:"-"`
1193}
1194
1195func (s *Dictlayerdata) MarshalJSON() ([]byte, error) {
1196	type NoMethod Dictlayerdata
1197	raw := NoMethod(*s)
1198	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1199}
1200
1201type DictlayerdataCommon struct {
1202	// Title: The display title and localized canonical name to use when
1203	// searching for this entity on Google search.
1204	Title string `json:"title,omitempty"`
1205
1206	// ForceSendFields is a list of field names (e.g. "Title") to
1207	// unconditionally include in API requests. By default, fields with
1208	// empty values are omitted from API requests. However, any non-pointer,
1209	// non-interface field appearing in ForceSendFields will be sent to the
1210	// server regardless of whether the field is empty or not. This may be
1211	// used to include empty fields in Patch requests.
1212	ForceSendFields []string `json:"-"`
1213
1214	// NullFields is a list of field names (e.g. "Title") to include in API
1215	// requests with the JSON null value. By default, fields with empty
1216	// values are omitted from API requests. However, any field with an
1217	// empty value appearing in NullFields will be sent to the server as
1218	// null. It is an error if a field in this list has a non-empty value.
1219	// This may be used to include null fields in Patch requests.
1220	NullFields []string `json:"-"`
1221}
1222
1223func (s *DictlayerdataCommon) MarshalJSON() ([]byte, error) {
1224	type NoMethod DictlayerdataCommon
1225	raw := NoMethod(*s)
1226	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1227}
1228
1229type DictlayerdataDict struct {
1230	// Source: The source, url and attribution for this dictionary data.
1231	Source *DictlayerdataDictSource `json:"source,omitempty"`
1232
1233	Words []*DictlayerdataDictWords `json:"words,omitempty"`
1234
1235	// ForceSendFields is a list of field names (e.g. "Source") to
1236	// unconditionally include in API requests. By default, fields with
1237	// empty values are omitted from API requests. However, any non-pointer,
1238	// non-interface field appearing in ForceSendFields will be sent to the
1239	// server regardless of whether the field is empty or not. This may be
1240	// used to include empty fields in Patch requests.
1241	ForceSendFields []string `json:"-"`
1242
1243	// NullFields is a list of field names (e.g. "Source") to include in API
1244	// requests with the JSON null value. By default, fields with empty
1245	// values are omitted from API requests. However, any field with an
1246	// empty value appearing in NullFields will be sent to the server as
1247	// null. It is an error if a field in this list has a non-empty value.
1248	// This may be used to include null fields in Patch requests.
1249	NullFields []string `json:"-"`
1250}
1251
1252func (s *DictlayerdataDict) MarshalJSON() ([]byte, error) {
1253	type NoMethod DictlayerdataDict
1254	raw := NoMethod(*s)
1255	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1256}
1257
1258// DictlayerdataDictSource: The source, url and attribution for this
1259// dictionary data.
1260type DictlayerdataDictSource struct {
1261	Attribution string `json:"attribution,omitempty"`
1262
1263	Url string `json:"url,omitempty"`
1264
1265	// ForceSendFields is a list of field names (e.g. "Attribution") to
1266	// unconditionally include in API requests. By default, fields with
1267	// empty values are omitted from API requests. However, any non-pointer,
1268	// non-interface field appearing in ForceSendFields will be sent to the
1269	// server regardless of whether the field is empty or not. This may be
1270	// used to include empty fields in Patch requests.
1271	ForceSendFields []string `json:"-"`
1272
1273	// NullFields is a list of field names (e.g. "Attribution") to include
1274	// in API requests with the JSON null value. By default, fields with
1275	// empty values are omitted from API requests. However, any field with
1276	// an empty value appearing in NullFields will be sent to the server as
1277	// null. It is an error if a field in this list has a non-empty value.
1278	// This may be used to include null fields in Patch requests.
1279	NullFields []string `json:"-"`
1280}
1281
1282func (s *DictlayerdataDictSource) MarshalJSON() ([]byte, error) {
1283	type NoMethod DictlayerdataDictSource
1284	raw := NoMethod(*s)
1285	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1286}
1287
1288type DictlayerdataDictWords struct {
1289	Derivatives []*DictlayerdataDictWordsDerivatives `json:"derivatives,omitempty"`
1290
1291	Examples []*DictlayerdataDictWordsExamples `json:"examples,omitempty"`
1292
1293	Senses []*DictlayerdataDictWordsSenses `json:"senses,omitempty"`
1294
1295	// Source: The words with different meanings but not related words, e.g.
1296	// "go" (game) and "go" (verb).
1297	Source *DictlayerdataDictWordsSource `json:"source,omitempty"`
1298
1299	// ForceSendFields is a list of field names (e.g. "Derivatives") to
1300	// unconditionally include in API requests. By default, fields with
1301	// empty values are omitted from API requests. However, any non-pointer,
1302	// non-interface field appearing in ForceSendFields will be sent to the
1303	// server regardless of whether the field is empty or not. This may be
1304	// used to include empty fields in Patch requests.
1305	ForceSendFields []string `json:"-"`
1306
1307	// NullFields is a list of field names (e.g. "Derivatives") to include
1308	// in API requests with the JSON null value. By default, fields with
1309	// empty values are omitted from API requests. However, any field with
1310	// an empty value appearing in NullFields will be sent to the server as
1311	// null. It is an error if a field in this list has a non-empty value.
1312	// This may be used to include null fields in Patch requests.
1313	NullFields []string `json:"-"`
1314}
1315
1316func (s *DictlayerdataDictWords) MarshalJSON() ([]byte, error) {
1317	type NoMethod DictlayerdataDictWords
1318	raw := NoMethod(*s)
1319	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1320}
1321
1322type DictlayerdataDictWordsDerivatives struct {
1323	Source *DictlayerdataDictWordsDerivativesSource `json:"source,omitempty"`
1324
1325	Text string `json:"text,omitempty"`
1326
1327	// ForceSendFields is a list of field names (e.g. "Source") to
1328	// unconditionally include in API requests. By default, fields with
1329	// empty values are omitted from API requests. However, any non-pointer,
1330	// non-interface field appearing in ForceSendFields will be sent to the
1331	// server regardless of whether the field is empty or not. This may be
1332	// used to include empty fields in Patch requests.
1333	ForceSendFields []string `json:"-"`
1334
1335	// NullFields is a list of field names (e.g. "Source") to include in API
1336	// requests with the JSON null value. By default, fields with empty
1337	// values are omitted from API requests. However, any field with an
1338	// empty value appearing in NullFields will be sent to the server as
1339	// null. It is an error if a field in this list has a non-empty value.
1340	// This may be used to include null fields in Patch requests.
1341	NullFields []string `json:"-"`
1342}
1343
1344func (s *DictlayerdataDictWordsDerivatives) MarshalJSON() ([]byte, error) {
1345	type NoMethod DictlayerdataDictWordsDerivatives
1346	raw := NoMethod(*s)
1347	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1348}
1349
1350type DictlayerdataDictWordsDerivativesSource struct {
1351	Attribution string `json:"attribution,omitempty"`
1352
1353	Url string `json:"url,omitempty"`
1354
1355	// ForceSendFields is a list of field names (e.g. "Attribution") to
1356	// unconditionally include in API requests. By default, fields with
1357	// empty values are omitted from API requests. However, any non-pointer,
1358	// non-interface field appearing in ForceSendFields will be sent to the
1359	// server regardless of whether the field is empty or not. This may be
1360	// used to include empty fields in Patch requests.
1361	ForceSendFields []string `json:"-"`
1362
1363	// NullFields is a list of field names (e.g. "Attribution") to include
1364	// in API requests with the JSON null value. By default, fields with
1365	// empty values are omitted from API requests. However, any field with
1366	// an empty value appearing in NullFields will be sent to the server as
1367	// null. It is an error if a field in this list has a non-empty value.
1368	// This may be used to include null fields in Patch requests.
1369	NullFields []string `json:"-"`
1370}
1371
1372func (s *DictlayerdataDictWordsDerivativesSource) MarshalJSON() ([]byte, error) {
1373	type NoMethod DictlayerdataDictWordsDerivativesSource
1374	raw := NoMethod(*s)
1375	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1376}
1377
1378type DictlayerdataDictWordsExamples struct {
1379	Source *DictlayerdataDictWordsExamplesSource `json:"source,omitempty"`
1380
1381	Text string `json:"text,omitempty"`
1382
1383	// ForceSendFields is a list of field names (e.g. "Source") to
1384	// unconditionally include in API requests. By default, fields with
1385	// empty values are omitted from API requests. However, any non-pointer,
1386	// non-interface field appearing in ForceSendFields will be sent to the
1387	// server regardless of whether the field is empty or not. This may be
1388	// used to include empty fields in Patch requests.
1389	ForceSendFields []string `json:"-"`
1390
1391	// NullFields is a list of field names (e.g. "Source") to include in API
1392	// requests with the JSON null value. By default, fields with empty
1393	// values are omitted from API requests. However, any field with an
1394	// empty value appearing in NullFields will be sent to the server as
1395	// null. It is an error if a field in this list has a non-empty value.
1396	// This may be used to include null fields in Patch requests.
1397	NullFields []string `json:"-"`
1398}
1399
1400func (s *DictlayerdataDictWordsExamples) MarshalJSON() ([]byte, error) {
1401	type NoMethod DictlayerdataDictWordsExamples
1402	raw := NoMethod(*s)
1403	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1404}
1405
1406type DictlayerdataDictWordsExamplesSource struct {
1407	Attribution string `json:"attribution,omitempty"`
1408
1409	Url string `json:"url,omitempty"`
1410
1411	// ForceSendFields is a list of field names (e.g. "Attribution") to
1412	// unconditionally include in API requests. By default, fields with
1413	// empty values are omitted from API requests. However, any non-pointer,
1414	// non-interface field appearing in ForceSendFields will be sent to the
1415	// server regardless of whether the field is empty or not. This may be
1416	// used to include empty fields in Patch requests.
1417	ForceSendFields []string `json:"-"`
1418
1419	// NullFields is a list of field names (e.g. "Attribution") to include
1420	// in API requests with the JSON null value. By default, fields with
1421	// empty values are omitted from API requests. However, any field with
1422	// an empty value appearing in NullFields will be sent to the server as
1423	// null. It is an error if a field in this list has a non-empty value.
1424	// This may be used to include null fields in Patch requests.
1425	NullFields []string `json:"-"`
1426}
1427
1428func (s *DictlayerdataDictWordsExamplesSource) MarshalJSON() ([]byte, error) {
1429	type NoMethod DictlayerdataDictWordsExamplesSource
1430	raw := NoMethod(*s)
1431	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1432}
1433
1434type DictlayerdataDictWordsSenses struct {
1435	Conjugations []*DictlayerdataDictWordsSensesConjugations `json:"conjugations,omitempty"`
1436
1437	Definitions []*DictlayerdataDictWordsSensesDefinitions `json:"definitions,omitempty"`
1438
1439	PartOfSpeech string `json:"partOfSpeech,omitempty"`
1440
1441	Pronunciation string `json:"pronunciation,omitempty"`
1442
1443	PronunciationUrl string `json:"pronunciationUrl,omitempty"`
1444
1445	Source *DictlayerdataDictWordsSensesSource `json:"source,omitempty"`
1446
1447	Syllabification string `json:"syllabification,omitempty"`
1448
1449	Synonyms []*DictlayerdataDictWordsSensesSynonyms `json:"synonyms,omitempty"`
1450
1451	// ForceSendFields is a list of field names (e.g. "Conjugations") to
1452	// unconditionally include in API requests. By default, fields with
1453	// empty values are omitted from API requests. However, any non-pointer,
1454	// non-interface field appearing in ForceSendFields will be sent to the
1455	// server regardless of whether the field is empty or not. This may be
1456	// used to include empty fields in Patch requests.
1457	ForceSendFields []string `json:"-"`
1458
1459	// NullFields is a list of field names (e.g. "Conjugations") to include
1460	// in API requests with the JSON null value. By default, fields with
1461	// empty values are omitted from API requests. However, any field with
1462	// an empty value appearing in NullFields will be sent to the server as
1463	// null. It is an error if a field in this list has a non-empty value.
1464	// This may be used to include null fields in Patch requests.
1465	NullFields []string `json:"-"`
1466}
1467
1468func (s *DictlayerdataDictWordsSenses) MarshalJSON() ([]byte, error) {
1469	type NoMethod DictlayerdataDictWordsSenses
1470	raw := NoMethod(*s)
1471	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1472}
1473
1474type DictlayerdataDictWordsSensesConjugations struct {
1475	Type string `json:"type,omitempty"`
1476
1477	Value string `json:"value,omitempty"`
1478
1479	// ForceSendFields is a list of field names (e.g. "Type") to
1480	// unconditionally include in API requests. By default, fields with
1481	// empty values are omitted from API requests. However, any non-pointer,
1482	// non-interface field appearing in ForceSendFields will be sent to the
1483	// server regardless of whether the field is empty or not. This may be
1484	// used to include empty fields in Patch requests.
1485	ForceSendFields []string `json:"-"`
1486
1487	// NullFields is a list of field names (e.g. "Type") to include in API
1488	// requests with the JSON null value. By default, fields with empty
1489	// values are omitted from API requests. However, any field with an
1490	// empty value appearing in NullFields will be sent to the server as
1491	// null. It is an error if a field in this list has a non-empty value.
1492	// This may be used to include null fields in Patch requests.
1493	NullFields []string `json:"-"`
1494}
1495
1496func (s *DictlayerdataDictWordsSensesConjugations) MarshalJSON() ([]byte, error) {
1497	type NoMethod DictlayerdataDictWordsSensesConjugations
1498	raw := NoMethod(*s)
1499	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1500}
1501
1502type DictlayerdataDictWordsSensesDefinitions struct {
1503	Definition string `json:"definition,omitempty"`
1504
1505	Examples []*DictlayerdataDictWordsSensesDefinitionsExamples `json:"examples,omitempty"`
1506
1507	// ForceSendFields is a list of field names (e.g. "Definition") to
1508	// unconditionally include in API requests. By default, fields with
1509	// empty values are omitted from API requests. However, any non-pointer,
1510	// non-interface field appearing in ForceSendFields will be sent to the
1511	// server regardless of whether the field is empty or not. This may be
1512	// used to include empty fields in Patch requests.
1513	ForceSendFields []string `json:"-"`
1514
1515	// NullFields is a list of field names (e.g. "Definition") to include in
1516	// API requests with the JSON null value. By default, fields with empty
1517	// values are omitted from API requests. However, any field with an
1518	// empty value appearing in NullFields will be sent to the server as
1519	// null. It is an error if a field in this list has a non-empty value.
1520	// This may be used to include null fields in Patch requests.
1521	NullFields []string `json:"-"`
1522}
1523
1524func (s *DictlayerdataDictWordsSensesDefinitions) MarshalJSON() ([]byte, error) {
1525	type NoMethod DictlayerdataDictWordsSensesDefinitions
1526	raw := NoMethod(*s)
1527	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1528}
1529
1530type DictlayerdataDictWordsSensesDefinitionsExamples struct {
1531	Source *DictlayerdataDictWordsSensesDefinitionsExamplesSource `json:"source,omitempty"`
1532
1533	Text string `json:"text,omitempty"`
1534
1535	// ForceSendFields is a list of field names (e.g. "Source") to
1536	// unconditionally include in API requests. By default, fields with
1537	// empty values are omitted from API requests. However, any non-pointer,
1538	// non-interface field appearing in ForceSendFields will be sent to the
1539	// server regardless of whether the field is empty or not. This may be
1540	// used to include empty fields in Patch requests.
1541	ForceSendFields []string `json:"-"`
1542
1543	// NullFields is a list of field names (e.g. "Source") to include in API
1544	// requests with the JSON null value. By default, fields with empty
1545	// values are omitted from API requests. However, any field with an
1546	// empty value appearing in NullFields will be sent to the server as
1547	// null. It is an error if a field in this list has a non-empty value.
1548	// This may be used to include null fields in Patch requests.
1549	NullFields []string `json:"-"`
1550}
1551
1552func (s *DictlayerdataDictWordsSensesDefinitionsExamples) MarshalJSON() ([]byte, error) {
1553	type NoMethod DictlayerdataDictWordsSensesDefinitionsExamples
1554	raw := NoMethod(*s)
1555	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1556}
1557
1558type DictlayerdataDictWordsSensesDefinitionsExamplesSource struct {
1559	Attribution string `json:"attribution,omitempty"`
1560
1561	Url string `json:"url,omitempty"`
1562
1563	// ForceSendFields is a list of field names (e.g. "Attribution") to
1564	// unconditionally include in API requests. By default, fields with
1565	// empty values are omitted from API requests. However, any non-pointer,
1566	// non-interface field appearing in ForceSendFields will be sent to the
1567	// server regardless of whether the field is empty or not. This may be
1568	// used to include empty fields in Patch requests.
1569	ForceSendFields []string `json:"-"`
1570
1571	// NullFields is a list of field names (e.g. "Attribution") to include
1572	// in API requests with the JSON null value. By default, fields with
1573	// empty values are omitted from API requests. However, any field with
1574	// an empty value appearing in NullFields will be sent to the server as
1575	// null. It is an error if a field in this list has a non-empty value.
1576	// This may be used to include null fields in Patch requests.
1577	NullFields []string `json:"-"`
1578}
1579
1580func (s *DictlayerdataDictWordsSensesDefinitionsExamplesSource) MarshalJSON() ([]byte, error) {
1581	type NoMethod DictlayerdataDictWordsSensesDefinitionsExamplesSource
1582	raw := NoMethod(*s)
1583	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1584}
1585
1586type DictlayerdataDictWordsSensesSource struct {
1587	Attribution string `json:"attribution,omitempty"`
1588
1589	Url string `json:"url,omitempty"`
1590
1591	// ForceSendFields is a list of field names (e.g. "Attribution") to
1592	// unconditionally include in API requests. By default, fields with
1593	// empty values are omitted from API requests. However, any non-pointer,
1594	// non-interface field appearing in ForceSendFields will be sent to the
1595	// server regardless of whether the field is empty or not. This may be
1596	// used to include empty fields in Patch requests.
1597	ForceSendFields []string `json:"-"`
1598
1599	// NullFields is a list of field names (e.g. "Attribution") to include
1600	// in API requests with the JSON null value. By default, fields with
1601	// empty values are omitted from API requests. However, any field with
1602	// an empty value appearing in NullFields will be sent to the server as
1603	// null. It is an error if a field in this list has a non-empty value.
1604	// This may be used to include null fields in Patch requests.
1605	NullFields []string `json:"-"`
1606}
1607
1608func (s *DictlayerdataDictWordsSensesSource) MarshalJSON() ([]byte, error) {
1609	type NoMethod DictlayerdataDictWordsSensesSource
1610	raw := NoMethod(*s)
1611	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1612}
1613
1614type DictlayerdataDictWordsSensesSynonyms struct {
1615	Source *DictlayerdataDictWordsSensesSynonymsSource `json:"source,omitempty"`
1616
1617	Text string `json:"text,omitempty"`
1618
1619	// ForceSendFields is a list of field names (e.g. "Source") to
1620	// unconditionally include in API requests. By default, fields with
1621	// empty values are omitted from API requests. However, any non-pointer,
1622	// non-interface field appearing in ForceSendFields will be sent to the
1623	// server regardless of whether the field is empty or not. This may be
1624	// used to include empty fields in Patch requests.
1625	ForceSendFields []string `json:"-"`
1626
1627	// NullFields is a list of field names (e.g. "Source") to include in API
1628	// requests with the JSON null value. By default, fields with empty
1629	// values are omitted from API requests. However, any field with an
1630	// empty value appearing in NullFields will be sent to the server as
1631	// null. It is an error if a field in this list has a non-empty value.
1632	// This may be used to include null fields in Patch requests.
1633	NullFields []string `json:"-"`
1634}
1635
1636func (s *DictlayerdataDictWordsSensesSynonyms) MarshalJSON() ([]byte, error) {
1637	type NoMethod DictlayerdataDictWordsSensesSynonyms
1638	raw := NoMethod(*s)
1639	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1640}
1641
1642type DictlayerdataDictWordsSensesSynonymsSource struct {
1643	Attribution string `json:"attribution,omitempty"`
1644
1645	Url string `json:"url,omitempty"`
1646
1647	// ForceSendFields is a list of field names (e.g. "Attribution") to
1648	// unconditionally include in API requests. By default, fields with
1649	// empty values are omitted from API requests. However, any non-pointer,
1650	// non-interface field appearing in ForceSendFields will be sent to the
1651	// server regardless of whether the field is empty or not. This may be
1652	// used to include empty fields in Patch requests.
1653	ForceSendFields []string `json:"-"`
1654
1655	// NullFields is a list of field names (e.g. "Attribution") to include
1656	// in API requests with the JSON null value. By default, fields with
1657	// empty values are omitted from API requests. However, any field with
1658	// an empty value appearing in NullFields will be sent to the server as
1659	// null. It is an error if a field in this list has a non-empty value.
1660	// This may be used to include null fields in Patch requests.
1661	NullFields []string `json:"-"`
1662}
1663
1664func (s *DictlayerdataDictWordsSensesSynonymsSource) MarshalJSON() ([]byte, error) {
1665	type NoMethod DictlayerdataDictWordsSensesSynonymsSource
1666	raw := NoMethod(*s)
1667	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1668}
1669
1670// DictlayerdataDictWordsSource: The words with different meanings but
1671// not related words, e.g. "go" (game) and "go" (verb).
1672type DictlayerdataDictWordsSource struct {
1673	Attribution string `json:"attribution,omitempty"`
1674
1675	Url string `json:"url,omitempty"`
1676
1677	// ForceSendFields is a list of field names (e.g. "Attribution") to
1678	// unconditionally include in API requests. By default, fields with
1679	// empty values are omitted from API requests. However, any non-pointer,
1680	// non-interface field appearing in ForceSendFields will be sent to the
1681	// server regardless of whether the field is empty or not. This may be
1682	// used to include empty fields in Patch requests.
1683	ForceSendFields []string `json:"-"`
1684
1685	// NullFields is a list of field names (e.g. "Attribution") to include
1686	// in API requests with the JSON null value. By default, fields with
1687	// empty values are omitted from API requests. However, any field with
1688	// an empty value appearing in NullFields will be sent to the server as
1689	// null. It is an error if a field in this list has a non-empty value.
1690	// This may be used to include null fields in Patch requests.
1691	NullFields []string `json:"-"`
1692}
1693
1694func (s *DictlayerdataDictWordsSource) MarshalJSON() ([]byte, error) {
1695	type NoMethod DictlayerdataDictWordsSource
1696	raw := NoMethod(*s)
1697	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1698}
1699
1700type Discoveryclusters struct {
1701	Clusters []*DiscoveryclustersClusters `json:"clusters,omitempty"`
1702
1703	// Kind: Resorce type.
1704	Kind string `json:"kind,omitempty"`
1705
1706	TotalClusters int64 `json:"totalClusters,omitempty"`
1707
1708	// ServerResponse contains the HTTP response code and headers from the
1709	// server.
1710	googleapi.ServerResponse `json:"-"`
1711
1712	// ForceSendFields is a list of field names (e.g. "Clusters") to
1713	// unconditionally include in API requests. By default, fields with
1714	// empty values are omitted from API requests. However, any non-pointer,
1715	// non-interface field appearing in ForceSendFields will be sent to the
1716	// server regardless of whether the field is empty or not. This may be
1717	// used to include empty fields in Patch requests.
1718	ForceSendFields []string `json:"-"`
1719
1720	// NullFields is a list of field names (e.g. "Clusters") to include in
1721	// API requests with the JSON null value. By default, fields with empty
1722	// values are omitted from API requests. However, any field with an
1723	// empty value appearing in NullFields will be sent to the server as
1724	// null. It is an error if a field in this list has a non-empty value.
1725	// This may be used to include null fields in Patch requests.
1726	NullFields []string `json:"-"`
1727}
1728
1729func (s *Discoveryclusters) MarshalJSON() ([]byte, error) {
1730	type NoMethod Discoveryclusters
1731	raw := NoMethod(*s)
1732	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1733}
1734
1735type DiscoveryclustersClusters struct {
1736	BannerWithContentContainer *DiscoveryclustersClustersBannerWithContentContainer `json:"banner_with_content_container,omitempty"`
1737
1738	SubTitle string `json:"subTitle,omitempty"`
1739
1740	Title string `json:"title,omitempty"`
1741
1742	TotalVolumes int64 `json:"totalVolumes,omitempty"`
1743
1744	Uid string `json:"uid,omitempty"`
1745
1746	Volumes []*Volume `json:"volumes,omitempty"`
1747
1748	// ForceSendFields is a list of field names (e.g.
1749	// "BannerWithContentContainer") to unconditionally include in API
1750	// requests. By default, fields with empty values are omitted from API
1751	// requests. However, any non-pointer, non-interface field appearing in
1752	// ForceSendFields will be sent to the server regardless of whether the
1753	// field is empty or not. This may be used to include empty fields in
1754	// Patch requests.
1755	ForceSendFields []string `json:"-"`
1756
1757	// NullFields is a list of field names (e.g.
1758	// "BannerWithContentContainer") to include in API requests with the
1759	// JSON null value. By default, fields with empty values are omitted
1760	// from API requests. However, any field with an empty value appearing
1761	// in NullFields will be sent to the server as null. It is an error if a
1762	// field in this list has a non-empty value. This may be used to include
1763	// null fields in Patch requests.
1764	NullFields []string `json:"-"`
1765}
1766
1767func (s *DiscoveryclustersClusters) MarshalJSON() ([]byte, error) {
1768	type NoMethod DiscoveryclustersClusters
1769	raw := NoMethod(*s)
1770	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1771}
1772
1773type DiscoveryclustersClustersBannerWithContentContainer struct {
1774	FillColorArgb string `json:"fillColorArgb,omitempty"`
1775
1776	ImageUrl string `json:"imageUrl,omitempty"`
1777
1778	MaskColorArgb string `json:"maskColorArgb,omitempty"`
1779
1780	MoreButtonText string `json:"moreButtonText,omitempty"`
1781
1782	MoreButtonUrl string `json:"moreButtonUrl,omitempty"`
1783
1784	TextColorArgb string `json:"textColorArgb,omitempty"`
1785
1786	// ForceSendFields is a list of field names (e.g. "FillColorArgb") to
1787	// unconditionally include in API requests. By default, fields with
1788	// empty values are omitted from API requests. However, any non-pointer,
1789	// non-interface field appearing in ForceSendFields will be sent to the
1790	// server regardless of whether the field is empty or not. This may be
1791	// used to include empty fields in Patch requests.
1792	ForceSendFields []string `json:"-"`
1793
1794	// NullFields is a list of field names (e.g. "FillColorArgb") to include
1795	// in API requests with the JSON null value. By default, fields with
1796	// empty values are omitted from API requests. However, any field with
1797	// an empty value appearing in NullFields will be sent to the server as
1798	// null. It is an error if a field in this list has a non-empty value.
1799	// This may be used to include null fields in Patch requests.
1800	NullFields []string `json:"-"`
1801}
1802
1803func (s *DiscoveryclustersClustersBannerWithContentContainer) MarshalJSON() ([]byte, error) {
1804	type NoMethod DiscoveryclustersClustersBannerWithContentContainer
1805	raw := NoMethod(*s)
1806	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1807}
1808
1809type DownloadAccessRestriction struct {
1810	// DeviceAllowed: If restricted, whether access is granted for this
1811	// (user, device, volume).
1812	DeviceAllowed bool `json:"deviceAllowed,omitempty"`
1813
1814	// DownloadsAcquired: If restricted, the number of content download
1815	// licenses already acquired (including the requesting client, if
1816	// licensed).
1817	DownloadsAcquired int64 `json:"downloadsAcquired,omitempty"`
1818
1819	// JustAcquired: If deviceAllowed, whether access was just acquired with
1820	// this request.
1821	JustAcquired bool `json:"justAcquired,omitempty"`
1822
1823	// Kind: Resource type.
1824	Kind string `json:"kind,omitempty"`
1825
1826	// MaxDownloadDevices: If restricted, the maximum number of content
1827	// download licenses for this volume.
1828	MaxDownloadDevices int64 `json:"maxDownloadDevices,omitempty"`
1829
1830	// Message: Error/warning message.
1831	Message string `json:"message,omitempty"`
1832
1833	// Nonce: Client nonce for verification. Download access and
1834	// client-validation only.
1835	Nonce string `json:"nonce,omitempty"`
1836
1837	// ReasonCode: Error/warning reason code. Additional codes may be added
1838	// in the future. 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101
1839	// ACCESS_DENIED_LIMIT 200 WARNING_USED_LAST_ACCESS
1840	ReasonCode string `json:"reasonCode,omitempty"`
1841
1842	// Restricted: Whether this volume has any download access restrictions.
1843	Restricted bool `json:"restricted,omitempty"`
1844
1845	// Signature: Response signature.
1846	Signature string `json:"signature,omitempty"`
1847
1848	// Source: Client app identifier for verification. Download access and
1849	// client-validation only.
1850	Source string `json:"source,omitempty"`
1851
1852	// VolumeId: Identifies the volume for which this entry applies.
1853	VolumeId string `json:"volumeId,omitempty"`
1854
1855	// ForceSendFields is a list of field names (e.g. "DeviceAllowed") to
1856	// unconditionally include in API requests. By default, fields with
1857	// empty values are omitted from API requests. However, any non-pointer,
1858	// non-interface field appearing in ForceSendFields will be sent to the
1859	// server regardless of whether the field is empty or not. This may be
1860	// used to include empty fields in Patch requests.
1861	ForceSendFields []string `json:"-"`
1862
1863	// NullFields is a list of field names (e.g. "DeviceAllowed") to include
1864	// in API requests with the JSON null value. By default, fields with
1865	// empty values are omitted from API requests. However, any field with
1866	// an empty value appearing in NullFields will be sent to the server as
1867	// null. It is an error if a field in this list has a non-empty value.
1868	// This may be used to include null fields in Patch requests.
1869	NullFields []string `json:"-"`
1870}
1871
1872func (s *DownloadAccessRestriction) MarshalJSON() ([]byte, error) {
1873	type NoMethod DownloadAccessRestriction
1874	raw := NoMethod(*s)
1875	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1876}
1877
1878type DownloadAccesses struct {
1879	// DownloadAccessList: A list of download access responses.
1880	DownloadAccessList []*DownloadAccessRestriction `json:"downloadAccessList,omitempty"`
1881
1882	// Kind: Resource type.
1883	Kind string `json:"kind,omitempty"`
1884
1885	// ServerResponse contains the HTTP response code and headers from the
1886	// server.
1887	googleapi.ServerResponse `json:"-"`
1888
1889	// ForceSendFields is a list of field names (e.g. "DownloadAccessList")
1890	// to unconditionally include in API requests. By default, fields with
1891	// empty values are omitted from API requests. However, any non-pointer,
1892	// non-interface field appearing in ForceSendFields will be sent to the
1893	// server regardless of whether the field is empty or not. This may be
1894	// used to include empty fields in Patch requests.
1895	ForceSendFields []string `json:"-"`
1896
1897	// NullFields is a list of field names (e.g. "DownloadAccessList") to
1898	// include in API requests with the JSON null value. By default, fields
1899	// with empty values are omitted from API requests. However, any field
1900	// with an empty value appearing in NullFields will be sent to the
1901	// server as null. It is an error if a field in this list has a
1902	// non-empty value. This may be used to include null fields in Patch
1903	// requests.
1904	NullFields []string `json:"-"`
1905}
1906
1907func (s *DownloadAccesses) MarshalJSON() ([]byte, error) {
1908	type NoMethod DownloadAccesses
1909	raw := NoMethod(*s)
1910	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1911}
1912
1913type FamilyInfo struct {
1914	// Kind: Resource type.
1915	Kind string `json:"kind,omitempty"`
1916
1917	// Membership: Family membership info of the user that made the request.
1918	Membership *FamilyInfoMembership `json:"membership,omitempty"`
1919
1920	// ServerResponse contains the HTTP response code and headers from the
1921	// server.
1922	googleapi.ServerResponse `json:"-"`
1923
1924	// ForceSendFields is a list of field names (e.g. "Kind") to
1925	// unconditionally include in API requests. By default, fields with
1926	// empty values are omitted from API requests. However, any non-pointer,
1927	// non-interface field appearing in ForceSendFields will be sent to the
1928	// server regardless of whether the field is empty or not. This may be
1929	// used to include empty fields in Patch requests.
1930	ForceSendFields []string `json:"-"`
1931
1932	// NullFields is a list of field names (e.g. "Kind") to include in API
1933	// requests with the JSON null value. By default, fields with empty
1934	// values are omitted from API requests. However, any field with an
1935	// empty value appearing in NullFields will be sent to the server as
1936	// null. It is an error if a field in this list has a non-empty value.
1937	// This may be used to include null fields in Patch requests.
1938	NullFields []string `json:"-"`
1939}
1940
1941func (s *FamilyInfo) MarshalJSON() ([]byte, error) {
1942	type NoMethod FamilyInfo
1943	raw := NoMethod(*s)
1944	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1945}
1946
1947// FamilyInfoMembership: Family membership info of the user that made
1948// the request.
1949type FamilyInfoMembership struct {
1950	// AcquirePermission: Restrictions on user buying and acquiring content.
1951	AcquirePermission string `json:"acquirePermission,omitempty"`
1952
1953	// AgeGroup: The age group of the user.
1954	AgeGroup string `json:"ageGroup,omitempty"`
1955
1956	// AllowedMaturityRating: The maximum allowed maturity rating for the
1957	// user.
1958	AllowedMaturityRating string `json:"allowedMaturityRating,omitempty"`
1959
1960	IsInFamily bool `json:"isInFamily,omitempty"`
1961
1962	// Role: The role of the user in the family.
1963	Role string `json:"role,omitempty"`
1964
1965	// ForceSendFields is a list of field names (e.g. "AcquirePermission")
1966	// to unconditionally include in API requests. By default, fields with
1967	// empty values are omitted from API requests. However, any non-pointer,
1968	// non-interface field appearing in ForceSendFields will be sent to the
1969	// server regardless of whether the field is empty or not. This may be
1970	// used to include empty fields in Patch requests.
1971	ForceSendFields []string `json:"-"`
1972
1973	// NullFields is a list of field names (e.g. "AcquirePermission") to
1974	// include in API requests with the JSON null value. By default, fields
1975	// with empty values are omitted from API requests. However, any field
1976	// with an empty value appearing in NullFields will be sent to the
1977	// server as null. It is an error if a field in this list has a
1978	// non-empty value. This may be used to include null fields in Patch
1979	// requests.
1980	NullFields []string `json:"-"`
1981}
1982
1983func (s *FamilyInfoMembership) MarshalJSON() ([]byte, error) {
1984	type NoMethod FamilyInfoMembership
1985	raw := NoMethod(*s)
1986	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1987}
1988
1989type Geolayerdata struct {
1990	Common *GeolayerdataCommon `json:"common,omitempty"`
1991
1992	Geo *GeolayerdataGeo `json:"geo,omitempty"`
1993
1994	Kind string `json:"kind,omitempty"`
1995
1996	// ForceSendFields is a list of field names (e.g. "Common") to
1997	// unconditionally include in API requests. By default, fields with
1998	// empty values are omitted from API requests. However, any non-pointer,
1999	// non-interface field appearing in ForceSendFields will be sent to the
2000	// server regardless of whether the field is empty or not. This may be
2001	// used to include empty fields in Patch requests.
2002	ForceSendFields []string `json:"-"`
2003
2004	// NullFields is a list of field names (e.g. "Common") to include in API
2005	// requests with the JSON null value. By default, fields with empty
2006	// values are omitted from API requests. However, any field with an
2007	// empty value appearing in NullFields will be sent to the server as
2008	// null. It is an error if a field in this list has a non-empty value.
2009	// This may be used to include null fields in Patch requests.
2010	NullFields []string `json:"-"`
2011}
2012
2013func (s *Geolayerdata) MarshalJSON() ([]byte, error) {
2014	type NoMethod Geolayerdata
2015	raw := NoMethod(*s)
2016	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2017}
2018
2019type GeolayerdataCommon struct {
2020	// Lang: The language of the information url and description.
2021	Lang string `json:"lang,omitempty"`
2022
2023	// PreviewImageUrl: The URL for the preview image information.
2024	PreviewImageUrl string `json:"previewImageUrl,omitempty"`
2025
2026	// Snippet: The description for this location.
2027	Snippet string `json:"snippet,omitempty"`
2028
2029	// SnippetUrl: The URL for information for this location. Ex: wikipedia
2030	// link.
2031	SnippetUrl string `json:"snippetUrl,omitempty"`
2032
2033	// Title: The display title and localized canonical name to use when
2034	// searching for this entity on Google search.
2035	Title string `json:"title,omitempty"`
2036
2037	// ForceSendFields is a list of field names (e.g. "Lang") to
2038	// unconditionally include in API requests. By default, fields with
2039	// empty values are omitted from API requests. However, any non-pointer,
2040	// non-interface field appearing in ForceSendFields will be sent to the
2041	// server regardless of whether the field is empty or not. This may be
2042	// used to include empty fields in Patch requests.
2043	ForceSendFields []string `json:"-"`
2044
2045	// NullFields is a list of field names (e.g. "Lang") to include in API
2046	// requests with the JSON null value. By default, fields with empty
2047	// values are omitted from API requests. However, any field with an
2048	// empty value appearing in NullFields will be sent to the server as
2049	// null. It is an error if a field in this list has a non-empty value.
2050	// This may be used to include null fields in Patch requests.
2051	NullFields []string `json:"-"`
2052}
2053
2054func (s *GeolayerdataCommon) MarshalJSON() ([]byte, error) {
2055	type NoMethod GeolayerdataCommon
2056	raw := NoMethod(*s)
2057	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2058}
2059
2060type GeolayerdataGeo struct {
2061	// Boundary: The boundary of the location as a set of loops containing
2062	// pairs of latitude, longitude coordinates.
2063	Boundary [][]*GeolayerdataGeoBoundaryItem `json:"boundary,omitempty"`
2064
2065	// CachePolicy: The cache policy active for this data. EX: UNRESTRICTED,
2066	// RESTRICTED, NEVER
2067	CachePolicy string `json:"cachePolicy,omitempty"`
2068
2069	// CountryCode: The country code of the location.
2070	CountryCode string `json:"countryCode,omitempty"`
2071
2072	// Latitude: The latitude of the location.
2073	Latitude float64 `json:"latitude,omitempty"`
2074
2075	// Longitude: The longitude of the location.
2076	Longitude float64 `json:"longitude,omitempty"`
2077
2078	// MapType: The type of map that should be used for this location. EX:
2079	// HYBRID, ROADMAP, SATELLITE, TERRAIN
2080	MapType string `json:"mapType,omitempty"`
2081
2082	// Viewport: The viewport for showing this location. This is a latitude,
2083	// longitude rectangle.
2084	Viewport *GeolayerdataGeoViewport `json:"viewport,omitempty"`
2085
2086	// Zoom: The Zoom level to use for the map. Zoom levels between 0 (the
2087	// lowest zoom level, in which the entire world can be seen on one map)
2088	// to 21+ (down to individual buildings). See:
2089	// https://developers.google.com/maps/documentation/staticmaps/#Zoomlevels
2090	Zoom int64 `json:"zoom,omitempty"`
2091
2092	// ForceSendFields is a list of field names (e.g. "Boundary") to
2093	// unconditionally include in API requests. By default, fields with
2094	// empty values are omitted from API requests. However, any non-pointer,
2095	// non-interface field appearing in ForceSendFields will be sent to the
2096	// server regardless of whether the field is empty or not. This may be
2097	// used to include empty fields in Patch requests.
2098	ForceSendFields []string `json:"-"`
2099
2100	// NullFields is a list of field names (e.g. "Boundary") to include in
2101	// API requests with the JSON null value. By default, fields with empty
2102	// values are omitted from API requests. However, any field with an
2103	// empty value appearing in NullFields will be sent to the server as
2104	// null. It is an error if a field in this list has a non-empty value.
2105	// This may be used to include null fields in Patch requests.
2106	NullFields []string `json:"-"`
2107}
2108
2109func (s *GeolayerdataGeo) MarshalJSON() ([]byte, error) {
2110	type NoMethod GeolayerdataGeo
2111	raw := NoMethod(*s)
2112	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2113}
2114
2115func (s *GeolayerdataGeo) UnmarshalJSON(data []byte) error {
2116	type NoMethod GeolayerdataGeo
2117	var s1 struct {
2118		Latitude  gensupport.JSONFloat64 `json:"latitude"`
2119		Longitude gensupport.JSONFloat64 `json:"longitude"`
2120		*NoMethod
2121	}
2122	s1.NoMethod = (*NoMethod)(s)
2123	if err := json.Unmarshal(data, &s1); err != nil {
2124		return err
2125	}
2126	s.Latitude = float64(s1.Latitude)
2127	s.Longitude = float64(s1.Longitude)
2128	return nil
2129}
2130
2131type GeolayerdataGeoBoundaryItem struct {
2132	Latitude int64 `json:"latitude,omitempty"`
2133
2134	Longitude int64 `json:"longitude,omitempty"`
2135
2136	// ForceSendFields is a list of field names (e.g. "Latitude") to
2137	// unconditionally include in API requests. By default, fields with
2138	// empty values are omitted from API requests. However, any non-pointer,
2139	// non-interface field appearing in ForceSendFields will be sent to the
2140	// server regardless of whether the field is empty or not. This may be
2141	// used to include empty fields in Patch requests.
2142	ForceSendFields []string `json:"-"`
2143
2144	// NullFields is a list of field names (e.g. "Latitude") to include in
2145	// API requests with the JSON null value. By default, fields with empty
2146	// values are omitted from API requests. However, any field with an
2147	// empty value appearing in NullFields will be sent to the server as
2148	// null. It is an error if a field in this list has a non-empty value.
2149	// This may be used to include null fields in Patch requests.
2150	NullFields []string `json:"-"`
2151}
2152
2153func (s *GeolayerdataGeoBoundaryItem) MarshalJSON() ([]byte, error) {
2154	type NoMethod GeolayerdataGeoBoundaryItem
2155	raw := NoMethod(*s)
2156	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2157}
2158
2159// GeolayerdataGeoViewport: The viewport for showing this location. This
2160// is a latitude, longitude rectangle.
2161type GeolayerdataGeoViewport struct {
2162	Hi *GeolayerdataGeoViewportHi `json:"hi,omitempty"`
2163
2164	Lo *GeolayerdataGeoViewportLo `json:"lo,omitempty"`
2165
2166	// ForceSendFields is a list of field names (e.g. "Hi") to
2167	// unconditionally include in API requests. By default, fields with
2168	// empty values are omitted from API requests. However, any non-pointer,
2169	// non-interface field appearing in ForceSendFields will be sent to the
2170	// server regardless of whether the field is empty or not. This may be
2171	// used to include empty fields in Patch requests.
2172	ForceSendFields []string `json:"-"`
2173
2174	// NullFields is a list of field names (e.g. "Hi") to include in API
2175	// requests with the JSON null value. By default, fields with empty
2176	// values are omitted from API requests. However, any field with an
2177	// empty value appearing in NullFields will be sent to the server as
2178	// null. It is an error if a field in this list has a non-empty value.
2179	// This may be used to include null fields in Patch requests.
2180	NullFields []string `json:"-"`
2181}
2182
2183func (s *GeolayerdataGeoViewport) MarshalJSON() ([]byte, error) {
2184	type NoMethod GeolayerdataGeoViewport
2185	raw := NoMethod(*s)
2186	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2187}
2188
2189type GeolayerdataGeoViewportHi struct {
2190	Latitude float64 `json:"latitude,omitempty"`
2191
2192	Longitude float64 `json:"longitude,omitempty"`
2193
2194	// ForceSendFields is a list of field names (e.g. "Latitude") to
2195	// unconditionally include in API requests. By default, fields with
2196	// empty values are omitted from API requests. However, any non-pointer,
2197	// non-interface field appearing in ForceSendFields will be sent to the
2198	// server regardless of whether the field is empty or not. This may be
2199	// used to include empty fields in Patch requests.
2200	ForceSendFields []string `json:"-"`
2201
2202	// NullFields is a list of field names (e.g. "Latitude") to include in
2203	// API requests with the JSON null value. By default, fields with empty
2204	// values are omitted from API requests. However, any field with an
2205	// empty value appearing in NullFields will be sent to the server as
2206	// null. It is an error if a field in this list has a non-empty value.
2207	// This may be used to include null fields in Patch requests.
2208	NullFields []string `json:"-"`
2209}
2210
2211func (s *GeolayerdataGeoViewportHi) MarshalJSON() ([]byte, error) {
2212	type NoMethod GeolayerdataGeoViewportHi
2213	raw := NoMethod(*s)
2214	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2215}
2216
2217func (s *GeolayerdataGeoViewportHi) UnmarshalJSON(data []byte) error {
2218	type NoMethod GeolayerdataGeoViewportHi
2219	var s1 struct {
2220		Latitude  gensupport.JSONFloat64 `json:"latitude"`
2221		Longitude gensupport.JSONFloat64 `json:"longitude"`
2222		*NoMethod
2223	}
2224	s1.NoMethod = (*NoMethod)(s)
2225	if err := json.Unmarshal(data, &s1); err != nil {
2226		return err
2227	}
2228	s.Latitude = float64(s1.Latitude)
2229	s.Longitude = float64(s1.Longitude)
2230	return nil
2231}
2232
2233type GeolayerdataGeoViewportLo struct {
2234	Latitude float64 `json:"latitude,omitempty"`
2235
2236	Longitude float64 `json:"longitude,omitempty"`
2237
2238	// ForceSendFields is a list of field names (e.g. "Latitude") to
2239	// unconditionally include in API requests. By default, fields with
2240	// empty values are omitted from API requests. However, any non-pointer,
2241	// non-interface field appearing in ForceSendFields will be sent to the
2242	// server regardless of whether the field is empty or not. This may be
2243	// used to include empty fields in Patch requests.
2244	ForceSendFields []string `json:"-"`
2245
2246	// NullFields is a list of field names (e.g. "Latitude") to include in
2247	// API requests with the JSON null value. By default, fields with empty
2248	// values are omitted from API requests. However, any field with an
2249	// empty value appearing in NullFields will be sent to the server as
2250	// null. It is an error if a field in this list has a non-empty value.
2251	// This may be used to include null fields in Patch requests.
2252	NullFields []string `json:"-"`
2253}
2254
2255func (s *GeolayerdataGeoViewportLo) MarshalJSON() ([]byte, error) {
2256	type NoMethod GeolayerdataGeoViewportLo
2257	raw := NoMethod(*s)
2258	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2259}
2260
2261func (s *GeolayerdataGeoViewportLo) UnmarshalJSON(data []byte) error {
2262	type NoMethod GeolayerdataGeoViewportLo
2263	var s1 struct {
2264		Latitude  gensupport.JSONFloat64 `json:"latitude"`
2265		Longitude gensupport.JSONFloat64 `json:"longitude"`
2266		*NoMethod
2267	}
2268	s1.NoMethod = (*NoMethod)(s)
2269	if err := json.Unmarshal(data, &s1); err != nil {
2270		return err
2271	}
2272	s.Latitude = float64(s1.Latitude)
2273	s.Longitude = float64(s1.Longitude)
2274	return nil
2275}
2276
2277type Layersummaries struct {
2278	// Items: A list of layer summary items.
2279	Items []*Layersummary `json:"items,omitempty"`
2280
2281	// Kind: Resource type.
2282	Kind string `json:"kind,omitempty"`
2283
2284	// TotalItems: The total number of layer summaries found.
2285	TotalItems int64 `json:"totalItems,omitempty"`
2286
2287	// ServerResponse contains the HTTP response code and headers from the
2288	// server.
2289	googleapi.ServerResponse `json:"-"`
2290
2291	// ForceSendFields is a list of field names (e.g. "Items") to
2292	// unconditionally include in API requests. By default, fields with
2293	// empty values are omitted from API requests. However, any non-pointer,
2294	// non-interface field appearing in ForceSendFields will be sent to the
2295	// server regardless of whether the field is empty or not. This may be
2296	// used to include empty fields in Patch requests.
2297	ForceSendFields []string `json:"-"`
2298
2299	// NullFields is a list of field names (e.g. "Items") to include in API
2300	// requests with the JSON null value. By default, fields with empty
2301	// values are omitted from API requests. However, any field with an
2302	// empty value appearing in NullFields will be sent to the server as
2303	// null. It is an error if a field in this list has a non-empty value.
2304	// This may be used to include null fields in Patch requests.
2305	NullFields []string `json:"-"`
2306}
2307
2308func (s *Layersummaries) MarshalJSON() ([]byte, error) {
2309	type NoMethod Layersummaries
2310	raw := NoMethod(*s)
2311	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2312}
2313
2314type Layersummary struct {
2315	// AnnotationCount: The number of annotations for this layer.
2316	AnnotationCount int64 `json:"annotationCount,omitempty"`
2317
2318	// AnnotationTypes: The list of annotation types contained for this
2319	// layer.
2320	AnnotationTypes []string `json:"annotationTypes,omitempty"`
2321
2322	// AnnotationsDataLink: Link to get data for this annotation.
2323	AnnotationsDataLink string `json:"annotationsDataLink,omitempty"`
2324
2325	// AnnotationsLink: The link to get the annotations for this layer.
2326	AnnotationsLink string `json:"annotationsLink,omitempty"`
2327
2328	// ContentVersion: The content version this resource is for.
2329	ContentVersion string `json:"contentVersion,omitempty"`
2330
2331	// DataCount: The number of data items for this layer.
2332	DataCount int64 `json:"dataCount,omitempty"`
2333
2334	// Id: Unique id of this layer summary.
2335	Id string `json:"id,omitempty"`
2336
2337	// Kind: Resource Type
2338	Kind string `json:"kind,omitempty"`
2339
2340	// LayerId: The layer id for this summary.
2341	LayerId string `json:"layerId,omitempty"`
2342
2343	// SelfLink: URL to this resource.
2344	SelfLink string `json:"selfLink,omitempty"`
2345
2346	// Updated: Timestamp for the last time an item in this layer was
2347	// updated. (RFC 3339 UTC date-time format).
2348	Updated string `json:"updated,omitempty"`
2349
2350	// VolumeAnnotationsVersion: The current version of this layer's volume
2351	// annotations. Note that this version applies only to the data in the
2352	// books.layers.volumeAnnotations.* responses. The actual annotation
2353	// data is versioned separately.
2354	VolumeAnnotationsVersion string `json:"volumeAnnotationsVersion,omitempty"`
2355
2356	// VolumeId: The volume id this resource is for.
2357	VolumeId string `json:"volumeId,omitempty"`
2358
2359	// ServerResponse contains the HTTP response code and headers from the
2360	// server.
2361	googleapi.ServerResponse `json:"-"`
2362
2363	// ForceSendFields is a list of field names (e.g. "AnnotationCount") to
2364	// unconditionally include in API requests. By default, fields with
2365	// empty values are omitted from API requests. However, any non-pointer,
2366	// non-interface field appearing in ForceSendFields will be sent to the
2367	// server regardless of whether the field is empty or not. This may be
2368	// used to include empty fields in Patch requests.
2369	ForceSendFields []string `json:"-"`
2370
2371	// NullFields is a list of field names (e.g. "AnnotationCount") to
2372	// include in API requests with the JSON null value. By default, fields
2373	// with empty values are omitted from API requests. However, any field
2374	// with an empty value appearing in NullFields will be sent to the
2375	// server as null. It is an error if a field in this list has a
2376	// non-empty value. This may be used to include null fields in Patch
2377	// requests.
2378	NullFields []string `json:"-"`
2379}
2380
2381func (s *Layersummary) MarshalJSON() ([]byte, error) {
2382	type NoMethod Layersummary
2383	raw := NoMethod(*s)
2384	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2385}
2386
2387type Metadata struct {
2388	// Items: A list of offline dictionary metadata.
2389	Items []*MetadataItems `json:"items,omitempty"`
2390
2391	// Kind: Resource type.
2392	Kind string `json:"kind,omitempty"`
2393
2394	// ServerResponse contains the HTTP response code and headers from the
2395	// server.
2396	googleapi.ServerResponse `json:"-"`
2397
2398	// ForceSendFields is a list of field names (e.g. "Items") to
2399	// unconditionally include in API requests. By default, fields with
2400	// empty values are omitted from API requests. However, any non-pointer,
2401	// non-interface field appearing in ForceSendFields will be sent to the
2402	// server regardless of whether the field is empty or not. This may be
2403	// used to include empty fields in Patch requests.
2404	ForceSendFields []string `json:"-"`
2405
2406	// NullFields is a list of field names (e.g. "Items") to include in API
2407	// requests with the JSON null value. By default, fields with empty
2408	// values are omitted from API requests. However, any field with an
2409	// empty value appearing in NullFields will be sent to the server as
2410	// null. It is an error if a field in this list has a non-empty value.
2411	// This may be used to include null fields in Patch requests.
2412	NullFields []string `json:"-"`
2413}
2414
2415func (s *Metadata) MarshalJSON() ([]byte, error) {
2416	type NoMethod Metadata
2417	raw := NoMethod(*s)
2418	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2419}
2420
2421type MetadataItems struct {
2422	DownloadUrl string `json:"download_url,omitempty"`
2423
2424	EncryptedKey string `json:"encrypted_key,omitempty"`
2425
2426	Language string `json:"language,omitempty"`
2427
2428	Size int64 `json:"size,omitempty,string"`
2429
2430	Version int64 `json:"version,omitempty,string"`
2431
2432	// ForceSendFields is a list of field names (e.g. "DownloadUrl") to
2433	// unconditionally include in API requests. By default, fields with
2434	// empty values are omitted from API requests. However, any non-pointer,
2435	// non-interface field appearing in ForceSendFields will be sent to the
2436	// server regardless of whether the field is empty or not. This may be
2437	// used to include empty fields in Patch requests.
2438	ForceSendFields []string `json:"-"`
2439
2440	// NullFields is a list of field names (e.g. "DownloadUrl") to include
2441	// in API requests with the JSON null value. By default, fields with
2442	// empty values are omitted from API requests. However, any field with
2443	// an empty value appearing in NullFields will be sent to the server as
2444	// null. It is an error if a field in this list has a non-empty value.
2445	// This may be used to include null fields in Patch requests.
2446	NullFields []string `json:"-"`
2447}
2448
2449func (s *MetadataItems) MarshalJSON() ([]byte, error) {
2450	type NoMethod MetadataItems
2451	raw := NoMethod(*s)
2452	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2453}
2454
2455type Notification struct {
2456	Body string `json:"body,omitempty"`
2457
2458	// CrmExperimentIds: The list of crm experiment ids.
2459	CrmExperimentIds googleapi.Int64s `json:"crmExperimentIds,omitempty"`
2460
2461	DocId string `json:"doc_id,omitempty"`
2462
2463	DocType string `json:"doc_type,omitempty"`
2464
2465	DontShowNotification bool `json:"dont_show_notification,omitempty"`
2466
2467	IconUrl string `json:"iconUrl,omitempty"`
2468
2469	IsDocumentMature bool `json:"is_document_mature,omitempty"`
2470
2471	// Kind: Resource type.
2472	Kind string `json:"kind,omitempty"`
2473
2474	NotificationGroup string `json:"notificationGroup,omitempty"`
2475
2476	NotificationType string `json:"notification_type,omitempty"`
2477
2478	PcampaignId string `json:"pcampaign_id,omitempty"`
2479
2480	Reason string `json:"reason,omitempty"`
2481
2482	ShowNotificationSettingsAction bool `json:"show_notification_settings_action,omitempty"`
2483
2484	TargetUrl string `json:"targetUrl,omitempty"`
2485
2486	TimeToExpireMs int64 `json:"timeToExpireMs,omitempty,string"`
2487
2488	Title string `json:"title,omitempty"`
2489
2490	// ServerResponse contains the HTTP response code and headers from the
2491	// server.
2492	googleapi.ServerResponse `json:"-"`
2493
2494	// ForceSendFields is a list of field names (e.g. "Body") to
2495	// unconditionally include in API requests. By default, fields with
2496	// empty values are omitted from API requests. However, any non-pointer,
2497	// non-interface field appearing in ForceSendFields will be sent to the
2498	// server regardless of whether the field is empty or not. This may be
2499	// used to include empty fields in Patch requests.
2500	ForceSendFields []string `json:"-"`
2501
2502	// NullFields is a list of field names (e.g. "Body") to include in API
2503	// requests with the JSON null value. By default, fields with empty
2504	// values are omitted from API requests. However, any field with an
2505	// empty value appearing in NullFields will be sent to the server as
2506	// null. It is an error if a field in this list has a non-empty value.
2507	// This may be used to include null fields in Patch requests.
2508	NullFields []string `json:"-"`
2509}
2510
2511func (s *Notification) MarshalJSON() ([]byte, error) {
2512	type NoMethod Notification
2513	raw := NoMethod(*s)
2514	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2515}
2516
2517type Offers struct {
2518	// Items: A list of offers.
2519	Items []*OffersItems `json:"items,omitempty"`
2520
2521	// Kind: Resource type.
2522	Kind string `json:"kind,omitempty"`
2523
2524	// ServerResponse contains the HTTP response code and headers from the
2525	// server.
2526	googleapi.ServerResponse `json:"-"`
2527
2528	// ForceSendFields is a list of field names (e.g. "Items") to
2529	// unconditionally include in API requests. By default, fields with
2530	// empty values are omitted from API requests. However, any non-pointer,
2531	// non-interface field appearing in ForceSendFields will be sent to the
2532	// server regardless of whether the field is empty or not. This may be
2533	// used to include empty fields in Patch requests.
2534	ForceSendFields []string `json:"-"`
2535
2536	// NullFields is a list of field names (e.g. "Items") to include in API
2537	// requests with the JSON null value. By default, fields with empty
2538	// values are omitted from API requests. However, any field with an
2539	// empty value appearing in NullFields will be sent to the server as
2540	// null. It is an error if a field in this list has a non-empty value.
2541	// This may be used to include null fields in Patch requests.
2542	NullFields []string `json:"-"`
2543}
2544
2545func (s *Offers) MarshalJSON() ([]byte, error) {
2546	type NoMethod Offers
2547	raw := NoMethod(*s)
2548	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2549}
2550
2551type OffersItems struct {
2552	ArtUrl string `json:"artUrl,omitempty"`
2553
2554	GservicesKey string `json:"gservicesKey,omitempty"`
2555
2556	Id string `json:"id,omitempty"`
2557
2558	Items []*OffersItemsItems `json:"items,omitempty"`
2559
2560	// ForceSendFields is a list of field names (e.g. "ArtUrl") to
2561	// unconditionally include in API requests. By default, fields with
2562	// empty values are omitted from API requests. However, any non-pointer,
2563	// non-interface field appearing in ForceSendFields will be sent to the
2564	// server regardless of whether the field is empty or not. This may be
2565	// used to include empty fields in Patch requests.
2566	ForceSendFields []string `json:"-"`
2567
2568	// NullFields is a list of field names (e.g. "ArtUrl") to include in API
2569	// requests with the JSON null value. By default, fields with empty
2570	// values are omitted from API requests. However, any field with an
2571	// empty value appearing in NullFields will be sent to the server as
2572	// null. It is an error if a field in this list has a non-empty value.
2573	// This may be used to include null fields in Patch requests.
2574	NullFields []string `json:"-"`
2575}
2576
2577func (s *OffersItems) MarshalJSON() ([]byte, error) {
2578	type NoMethod OffersItems
2579	raw := NoMethod(*s)
2580	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2581}
2582
2583type OffersItemsItems struct {
2584	Author string `json:"author,omitempty"`
2585
2586	CanonicalVolumeLink string `json:"canonicalVolumeLink,omitempty"`
2587
2588	CoverUrl string `json:"coverUrl,omitempty"`
2589
2590	Description string `json:"description,omitempty"`
2591
2592	Title string `json:"title,omitempty"`
2593
2594	VolumeId string `json:"volumeId,omitempty"`
2595
2596	// ForceSendFields is a list of field names (e.g. "Author") to
2597	// unconditionally include in API requests. By default, fields with
2598	// empty values are omitted from API requests. However, any non-pointer,
2599	// non-interface field appearing in ForceSendFields will be sent to the
2600	// server regardless of whether the field is empty or not. This may be
2601	// used to include empty fields in Patch requests.
2602	ForceSendFields []string `json:"-"`
2603
2604	// NullFields is a list of field names (e.g. "Author") to include in API
2605	// requests with the JSON null value. By default, fields with empty
2606	// values are omitted from API requests. However, any field with an
2607	// empty value appearing in NullFields will be sent to the server as
2608	// null. It is an error if a field in this list has a non-empty value.
2609	// This may be used to include null fields in Patch requests.
2610	NullFields []string `json:"-"`
2611}
2612
2613func (s *OffersItemsItems) MarshalJSON() ([]byte, error) {
2614	type NoMethod OffersItemsItems
2615	raw := NoMethod(*s)
2616	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2617}
2618
2619type ReadingPosition struct {
2620	// EpubCfiPosition: Position in an EPUB as a CFI.
2621	EpubCfiPosition string `json:"epubCfiPosition,omitempty"`
2622
2623	// GbImagePosition: Position in a volume for image-based content.
2624	GbImagePosition string `json:"gbImagePosition,omitempty"`
2625
2626	// GbTextPosition: Position in a volume for text-based content.
2627	GbTextPosition string `json:"gbTextPosition,omitempty"`
2628
2629	// Kind: Resource type for a reading position.
2630	Kind string `json:"kind,omitempty"`
2631
2632	// PdfPosition: Position in a PDF file.
2633	PdfPosition string `json:"pdfPosition,omitempty"`
2634
2635	// Updated: Timestamp when this reading position was last updated
2636	// (formatted UTC timestamp with millisecond resolution).
2637	Updated string `json:"updated,omitempty"`
2638
2639	// VolumeId: Volume id associated with this reading position.
2640	VolumeId string `json:"volumeId,omitempty"`
2641
2642	// ServerResponse contains the HTTP response code and headers from the
2643	// server.
2644	googleapi.ServerResponse `json:"-"`
2645
2646	// ForceSendFields is a list of field names (e.g. "EpubCfiPosition") to
2647	// unconditionally include in API requests. By default, fields with
2648	// empty values are omitted from API requests. However, any non-pointer,
2649	// non-interface field appearing in ForceSendFields will be sent to the
2650	// server regardless of whether the field is empty or not. This may be
2651	// used to include empty fields in Patch requests.
2652	ForceSendFields []string `json:"-"`
2653
2654	// NullFields is a list of field names (e.g. "EpubCfiPosition") to
2655	// include in API requests with the JSON null value. By default, fields
2656	// with empty values are omitted from API requests. However, any field
2657	// with an empty value appearing in NullFields will be sent to the
2658	// server as null. It is an error if a field in this list has a
2659	// non-empty value. This may be used to include null fields in Patch
2660	// requests.
2661	NullFields []string `json:"-"`
2662}
2663
2664func (s *ReadingPosition) MarshalJSON() ([]byte, error) {
2665	type NoMethod ReadingPosition
2666	raw := NoMethod(*s)
2667	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2668}
2669
2670type RequestAccess struct {
2671	// ConcurrentAccess: A concurrent access response.
2672	ConcurrentAccess *ConcurrentAccessRestriction `json:"concurrentAccess,omitempty"`
2673
2674	// DownloadAccess: A download access response.
2675	DownloadAccess *DownloadAccessRestriction `json:"downloadAccess,omitempty"`
2676
2677	// Kind: Resource type.
2678	Kind string `json:"kind,omitempty"`
2679
2680	// ServerResponse contains the HTTP response code and headers from the
2681	// server.
2682	googleapi.ServerResponse `json:"-"`
2683
2684	// ForceSendFields is a list of field names (e.g. "ConcurrentAccess") to
2685	// unconditionally include in API requests. By default, fields with
2686	// empty values are omitted from API requests. However, any non-pointer,
2687	// non-interface field appearing in ForceSendFields will be sent to the
2688	// server regardless of whether the field is empty or not. This may be
2689	// used to include empty fields in Patch requests.
2690	ForceSendFields []string `json:"-"`
2691
2692	// NullFields is a list of field names (e.g. "ConcurrentAccess") to
2693	// include in API requests with the JSON null value. By default, fields
2694	// with empty values are omitted from API requests. However, any field
2695	// with an empty value appearing in NullFields will be sent to the
2696	// server as null. It is an error if a field in this list has a
2697	// non-empty value. This may be used to include null fields in Patch
2698	// requests.
2699	NullFields []string `json:"-"`
2700}
2701
2702func (s *RequestAccess) MarshalJSON() ([]byte, error) {
2703	type NoMethod RequestAccess
2704	raw := NoMethod(*s)
2705	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2706}
2707
2708type Review struct {
2709	// Author: Author of this review.
2710	Author *ReviewAuthor `json:"author,omitempty"`
2711
2712	// Content: Review text.
2713	Content string `json:"content,omitempty"`
2714
2715	// Date: Date of this review.
2716	Date string `json:"date,omitempty"`
2717
2718	// FullTextUrl: URL for the full review text, for reviews gathered from
2719	// the web.
2720	FullTextUrl string `json:"fullTextUrl,omitempty"`
2721
2722	// Kind: Resource type for a review.
2723	Kind string `json:"kind,omitempty"`
2724
2725	// Rating: Star rating for this review. Possible values are ONE, TWO,
2726	// THREE, FOUR, FIVE or NOT_RATED.
2727	Rating string `json:"rating,omitempty"`
2728
2729	// Source: Information regarding the source of this review, when the
2730	// review is not from a Google Books user.
2731	Source *ReviewSource `json:"source,omitempty"`
2732
2733	// Title: Title for this review.
2734	Title string `json:"title,omitempty"`
2735
2736	// Type: Source type for this review. Possible values are EDITORIAL,
2737	// WEB_USER or GOOGLE_USER.
2738	Type string `json:"type,omitempty"`
2739
2740	// VolumeId: Volume that this review is for.
2741	VolumeId string `json:"volumeId,omitempty"`
2742
2743	// ForceSendFields is a list of field names (e.g. "Author") to
2744	// unconditionally include in API requests. By default, fields with
2745	// empty values are omitted from API requests. However, any non-pointer,
2746	// non-interface field appearing in ForceSendFields will be sent to the
2747	// server regardless of whether the field is empty or not. This may be
2748	// used to include empty fields in Patch requests.
2749	ForceSendFields []string `json:"-"`
2750
2751	// NullFields is a list of field names (e.g. "Author") to include in API
2752	// requests with the JSON null value. By default, fields with empty
2753	// values are omitted from API requests. However, any field with an
2754	// empty value appearing in NullFields will be sent to the server as
2755	// null. It is an error if a field in this list has a non-empty value.
2756	// This may be used to include null fields in Patch requests.
2757	NullFields []string `json:"-"`
2758}
2759
2760func (s *Review) MarshalJSON() ([]byte, error) {
2761	type NoMethod Review
2762	raw := NoMethod(*s)
2763	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2764}
2765
2766// ReviewAuthor: Author of this review.
2767type ReviewAuthor struct {
2768	// DisplayName: Name of this person.
2769	DisplayName string `json:"displayName,omitempty"`
2770
2771	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2772	// unconditionally include in API requests. By default, fields with
2773	// empty values are omitted from API requests. However, any non-pointer,
2774	// non-interface field appearing in ForceSendFields will be sent to the
2775	// server regardless of whether the field is empty or not. This may be
2776	// used to include empty fields in Patch requests.
2777	ForceSendFields []string `json:"-"`
2778
2779	// NullFields is a list of field names (e.g. "DisplayName") to include
2780	// in API requests with the JSON null value. By default, fields with
2781	// empty values are omitted from API requests. However, any field with
2782	// an empty value appearing in NullFields will be sent to the server as
2783	// null. It is an error if a field in this list has a non-empty value.
2784	// This may be used to include null fields in Patch requests.
2785	NullFields []string `json:"-"`
2786}
2787
2788func (s *ReviewAuthor) MarshalJSON() ([]byte, error) {
2789	type NoMethod ReviewAuthor
2790	raw := NoMethod(*s)
2791	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2792}
2793
2794// ReviewSource: Information regarding the source of this review, when
2795// the review is not from a Google Books user.
2796type ReviewSource struct {
2797	// Description: Name of the source.
2798	Description string `json:"description,omitempty"`
2799
2800	// ExtraDescription: Extra text about the source of the review.
2801	ExtraDescription string `json:"extraDescription,omitempty"`
2802
2803	// Url: URL of the source of the review.
2804	Url string `json:"url,omitempty"`
2805
2806	// ForceSendFields is a list of field names (e.g. "Description") to
2807	// unconditionally include in API requests. By default, fields with
2808	// empty values are omitted from API requests. However, any non-pointer,
2809	// non-interface field appearing in ForceSendFields will be sent to the
2810	// server regardless of whether the field is empty or not. This may be
2811	// used to include empty fields in Patch requests.
2812	ForceSendFields []string `json:"-"`
2813
2814	// NullFields is a list of field names (e.g. "Description") to include
2815	// in API requests with the JSON null value. By default, fields with
2816	// empty values are omitted from API requests. However, any field with
2817	// an empty value appearing in NullFields will be sent to the server as
2818	// null. It is an error if a field in this list has a non-empty value.
2819	// This may be used to include null fields in Patch requests.
2820	NullFields []string `json:"-"`
2821}
2822
2823func (s *ReviewSource) MarshalJSON() ([]byte, error) {
2824	type NoMethod ReviewSource
2825	raw := NoMethod(*s)
2826	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2827}
2828
2829type Series struct {
2830	// Kind: Resource type.
2831	Kind string `json:"kind,omitempty"`
2832
2833	Series []*SeriesSeries `json:"series,omitempty"`
2834
2835	// ServerResponse contains the HTTP response code and headers from the
2836	// server.
2837	googleapi.ServerResponse `json:"-"`
2838
2839	// ForceSendFields is a list of field names (e.g. "Kind") to
2840	// unconditionally include in API requests. By default, fields with
2841	// empty values are omitted from API requests. However, any non-pointer,
2842	// non-interface field appearing in ForceSendFields will be sent to the
2843	// server regardless of whether the field is empty or not. This may be
2844	// used to include empty fields in Patch requests.
2845	ForceSendFields []string `json:"-"`
2846
2847	// NullFields is a list of field names (e.g. "Kind") to include in API
2848	// requests with the JSON null value. By default, fields with empty
2849	// values are omitted from API requests. However, any field with an
2850	// empty value appearing in NullFields will be sent to the server as
2851	// null. It is an error if a field in this list has a non-empty value.
2852	// This may be used to include null fields in Patch requests.
2853	NullFields []string `json:"-"`
2854}
2855
2856func (s *Series) MarshalJSON() ([]byte, error) {
2857	type NoMethod Series
2858	raw := NoMethod(*s)
2859	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2860}
2861
2862type SeriesSeries struct {
2863	BannerImageUrl string `json:"bannerImageUrl,omitempty"`
2864
2865	ImageUrl string `json:"imageUrl,omitempty"`
2866
2867	SeriesId string `json:"seriesId,omitempty"`
2868
2869	SeriesType string `json:"seriesType,omitempty"`
2870
2871	Title string `json:"title,omitempty"`
2872
2873	// ForceSendFields is a list of field names (e.g. "BannerImageUrl") to
2874	// unconditionally include in API requests. By default, fields with
2875	// empty values are omitted from API requests. However, any non-pointer,
2876	// non-interface field appearing in ForceSendFields will be sent to the
2877	// server regardless of whether the field is empty or not. This may be
2878	// used to include empty fields in Patch requests.
2879	ForceSendFields []string `json:"-"`
2880
2881	// NullFields is a list of field names (e.g. "BannerImageUrl") to
2882	// include in API requests with the JSON null value. By default, fields
2883	// with empty values are omitted from API requests. However, any field
2884	// with an empty value appearing in NullFields will be sent to the
2885	// server as null. It is an error if a field in this list has a
2886	// non-empty value. This may be used to include null fields in Patch
2887	// requests.
2888	NullFields []string `json:"-"`
2889}
2890
2891func (s *SeriesSeries) MarshalJSON() ([]byte, error) {
2892	type NoMethod SeriesSeries
2893	raw := NoMethod(*s)
2894	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2895}
2896
2897type Seriesmembership struct {
2898	// Kind: Resorce type.
2899	Kind string `json:"kind,omitempty"`
2900
2901	Member []*Volume `json:"member,omitempty"`
2902
2903	NextPageToken string `json:"nextPageToken,omitempty"`
2904
2905	// ServerResponse contains the HTTP response code and headers from the
2906	// server.
2907	googleapi.ServerResponse `json:"-"`
2908
2909	// ForceSendFields is a list of field names (e.g. "Kind") to
2910	// unconditionally include in API requests. By default, fields with
2911	// empty values are omitted from API requests. However, any non-pointer,
2912	// non-interface field appearing in ForceSendFields will be sent to the
2913	// server regardless of whether the field is empty or not. This may be
2914	// used to include empty fields in Patch requests.
2915	ForceSendFields []string `json:"-"`
2916
2917	// NullFields is a list of field names (e.g. "Kind") to include in API
2918	// requests with the JSON null value. By default, fields with empty
2919	// values are omitted from API requests. However, any field with an
2920	// empty value appearing in NullFields will be sent to the server as
2921	// null. It is an error if a field in this list has a non-empty value.
2922	// This may be used to include null fields in Patch requests.
2923	NullFields []string `json:"-"`
2924}
2925
2926func (s *Seriesmembership) MarshalJSON() ([]byte, error) {
2927	type NoMethod Seriesmembership
2928	raw := NoMethod(*s)
2929	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2930}
2931
2932type Usersettings struct {
2933	// Kind: Resource type.
2934	Kind string `json:"kind,omitempty"`
2935
2936	// NotesExport: User settings in sub-objects, each for different
2937	// purposes.
2938	NotesExport *UsersettingsNotesExport `json:"notesExport,omitempty"`
2939
2940	Notification *UsersettingsNotification `json:"notification,omitempty"`
2941
2942	// ServerResponse contains the HTTP response code and headers from the
2943	// server.
2944	googleapi.ServerResponse `json:"-"`
2945
2946	// ForceSendFields is a list of field names (e.g. "Kind") to
2947	// unconditionally include in API requests. By default, fields with
2948	// empty values are omitted from API requests. However, any non-pointer,
2949	// non-interface field appearing in ForceSendFields will be sent to the
2950	// server regardless of whether the field is empty or not. This may be
2951	// used to include empty fields in Patch requests.
2952	ForceSendFields []string `json:"-"`
2953
2954	// NullFields is a list of field names (e.g. "Kind") to include in API
2955	// requests with the JSON null value. By default, fields with empty
2956	// values are omitted from API requests. However, any field with an
2957	// empty value appearing in NullFields will be sent to the server as
2958	// null. It is an error if a field in this list has a non-empty value.
2959	// This may be used to include null fields in Patch requests.
2960	NullFields []string `json:"-"`
2961}
2962
2963func (s *Usersettings) MarshalJSON() ([]byte, error) {
2964	type NoMethod Usersettings
2965	raw := NoMethod(*s)
2966	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2967}
2968
2969// UsersettingsNotesExport: User settings in sub-objects, each for
2970// different purposes.
2971type UsersettingsNotesExport struct {
2972	FolderName string `json:"folderName,omitempty"`
2973
2974	IsEnabled bool `json:"isEnabled,omitempty"`
2975
2976	// ForceSendFields is a list of field names (e.g. "FolderName") to
2977	// unconditionally include in API requests. By default, fields with
2978	// empty values are omitted from API requests. However, any non-pointer,
2979	// non-interface field appearing in ForceSendFields will be sent to the
2980	// server regardless of whether the field is empty or not. This may be
2981	// used to include empty fields in Patch requests.
2982	ForceSendFields []string `json:"-"`
2983
2984	// NullFields is a list of field names (e.g. "FolderName") to include in
2985	// API requests with the JSON null value. By default, fields with empty
2986	// values are omitted from API requests. However, any field with an
2987	// empty value appearing in NullFields will be sent to the server as
2988	// null. It is an error if a field in this list has a non-empty value.
2989	// This may be used to include null fields in Patch requests.
2990	NullFields []string `json:"-"`
2991}
2992
2993func (s *UsersettingsNotesExport) MarshalJSON() ([]byte, error) {
2994	type NoMethod UsersettingsNotesExport
2995	raw := NoMethod(*s)
2996	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2997}
2998
2999type UsersettingsNotification struct {
3000	MatchMyInterests *UsersettingsNotificationMatchMyInterests `json:"matchMyInterests,omitempty"`
3001
3002	MoreFromAuthors *UsersettingsNotificationMoreFromAuthors `json:"moreFromAuthors,omitempty"`
3003
3004	MoreFromSeries *UsersettingsNotificationMoreFromSeries `json:"moreFromSeries,omitempty"`
3005
3006	PriceDrop *UsersettingsNotificationPriceDrop `json:"priceDrop,omitempty"`
3007
3008	RewardExpirations *UsersettingsNotificationRewardExpirations `json:"rewardExpirations,omitempty"`
3009
3010	// ForceSendFields is a list of field names (e.g. "MatchMyInterests") to
3011	// unconditionally include in API requests. By default, fields with
3012	// empty values are omitted from API requests. However, any non-pointer,
3013	// non-interface field appearing in ForceSendFields will be sent to the
3014	// server regardless of whether the field is empty or not. This may be
3015	// used to include empty fields in Patch requests.
3016	ForceSendFields []string `json:"-"`
3017
3018	// NullFields is a list of field names (e.g. "MatchMyInterests") to
3019	// include in API requests with the JSON null value. By default, fields
3020	// with empty values are omitted from API requests. However, any field
3021	// with an empty value appearing in NullFields will be sent to the
3022	// server as null. It is an error if a field in this list has a
3023	// non-empty value. This may be used to include null fields in Patch
3024	// requests.
3025	NullFields []string `json:"-"`
3026}
3027
3028func (s *UsersettingsNotification) MarshalJSON() ([]byte, error) {
3029	type NoMethod UsersettingsNotification
3030	raw := NoMethod(*s)
3031	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3032}
3033
3034type UsersettingsNotificationMatchMyInterests struct {
3035	OptedState string `json:"opted_state,omitempty"`
3036
3037	// ForceSendFields is a list of field names (e.g. "OptedState") to
3038	// unconditionally include in API requests. By default, fields with
3039	// empty values are omitted from API requests. However, any non-pointer,
3040	// non-interface field appearing in ForceSendFields will be sent to the
3041	// server regardless of whether the field is empty or not. This may be
3042	// used to include empty fields in Patch requests.
3043	ForceSendFields []string `json:"-"`
3044
3045	// NullFields is a list of field names (e.g. "OptedState") to include in
3046	// API requests with the JSON null value. By default, fields with empty
3047	// values are omitted from API requests. However, any field with an
3048	// empty value appearing in NullFields will be sent to the server as
3049	// null. It is an error if a field in this list has a non-empty value.
3050	// This may be used to include null fields in Patch requests.
3051	NullFields []string `json:"-"`
3052}
3053
3054func (s *UsersettingsNotificationMatchMyInterests) MarshalJSON() ([]byte, error) {
3055	type NoMethod UsersettingsNotificationMatchMyInterests
3056	raw := NoMethod(*s)
3057	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3058}
3059
3060type UsersettingsNotificationMoreFromAuthors struct {
3061	OptedState string `json:"opted_state,omitempty"`
3062
3063	// ForceSendFields is a list of field names (e.g. "OptedState") to
3064	// unconditionally include in API requests. By default, fields with
3065	// empty values are omitted from API requests. However, any non-pointer,
3066	// non-interface field appearing in ForceSendFields will be sent to the
3067	// server regardless of whether the field is empty or not. This may be
3068	// used to include empty fields in Patch requests.
3069	ForceSendFields []string `json:"-"`
3070
3071	// NullFields is a list of field names (e.g. "OptedState") to include in
3072	// API requests with the JSON null value. By default, fields with empty
3073	// values are omitted from API requests. However, any field with an
3074	// empty value appearing in NullFields will be sent to the server as
3075	// null. It is an error if a field in this list has a non-empty value.
3076	// This may be used to include null fields in Patch requests.
3077	NullFields []string `json:"-"`
3078}
3079
3080func (s *UsersettingsNotificationMoreFromAuthors) MarshalJSON() ([]byte, error) {
3081	type NoMethod UsersettingsNotificationMoreFromAuthors
3082	raw := NoMethod(*s)
3083	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3084}
3085
3086type UsersettingsNotificationMoreFromSeries struct {
3087	OptedState string `json:"opted_state,omitempty"`
3088
3089	// ForceSendFields is a list of field names (e.g. "OptedState") to
3090	// unconditionally include in API requests. By default, fields with
3091	// empty values are omitted from API requests. However, any non-pointer,
3092	// non-interface field appearing in ForceSendFields will be sent to the
3093	// server regardless of whether the field is empty or not. This may be
3094	// used to include empty fields in Patch requests.
3095	ForceSendFields []string `json:"-"`
3096
3097	// NullFields is a list of field names (e.g. "OptedState") to include in
3098	// API requests with the JSON null value. By default, fields with empty
3099	// values are omitted from API requests. However, any field with an
3100	// empty value appearing in NullFields will be sent to the server as
3101	// null. It is an error if a field in this list has a non-empty value.
3102	// This may be used to include null fields in Patch requests.
3103	NullFields []string `json:"-"`
3104}
3105
3106func (s *UsersettingsNotificationMoreFromSeries) MarshalJSON() ([]byte, error) {
3107	type NoMethod UsersettingsNotificationMoreFromSeries
3108	raw := NoMethod(*s)
3109	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3110}
3111
3112type UsersettingsNotificationPriceDrop struct {
3113	OptedState string `json:"opted_state,omitempty"`
3114
3115	// ForceSendFields is a list of field names (e.g. "OptedState") to
3116	// unconditionally include in API requests. By default, fields with
3117	// empty values are omitted from API requests. However, any non-pointer,
3118	// non-interface field appearing in ForceSendFields will be sent to the
3119	// server regardless of whether the field is empty or not. This may be
3120	// used to include empty fields in Patch requests.
3121	ForceSendFields []string `json:"-"`
3122
3123	// NullFields is a list of field names (e.g. "OptedState") to include in
3124	// API requests with the JSON null value. By default, fields with empty
3125	// values are omitted from API requests. However, any field with an
3126	// empty value appearing in NullFields will be sent to the server as
3127	// null. It is an error if a field in this list has a non-empty value.
3128	// This may be used to include null fields in Patch requests.
3129	NullFields []string `json:"-"`
3130}
3131
3132func (s *UsersettingsNotificationPriceDrop) MarshalJSON() ([]byte, error) {
3133	type NoMethod UsersettingsNotificationPriceDrop
3134	raw := NoMethod(*s)
3135	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3136}
3137
3138type UsersettingsNotificationRewardExpirations struct {
3139	OptedState string `json:"opted_state,omitempty"`
3140
3141	// ForceSendFields is a list of field names (e.g. "OptedState") to
3142	// unconditionally include in API requests. By default, fields with
3143	// empty values are omitted from API requests. However, any non-pointer,
3144	// non-interface field appearing in ForceSendFields will be sent to the
3145	// server regardless of whether the field is empty or not. This may be
3146	// used to include empty fields in Patch requests.
3147	ForceSendFields []string `json:"-"`
3148
3149	// NullFields is a list of field names (e.g. "OptedState") to include in
3150	// API requests with the JSON null value. By default, fields with empty
3151	// values are omitted from API requests. However, any field with an
3152	// empty value appearing in NullFields will be sent to the server as
3153	// null. It is an error if a field in this list has a non-empty value.
3154	// This may be used to include null fields in Patch requests.
3155	NullFields []string `json:"-"`
3156}
3157
3158func (s *UsersettingsNotificationRewardExpirations) MarshalJSON() ([]byte, error) {
3159	type NoMethod UsersettingsNotificationRewardExpirations
3160	raw := NoMethod(*s)
3161	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3162}
3163
3164type Volume struct {
3165	// AccessInfo: Any information about a volume related to reading or
3166	// obtaining that volume text. This information can depend on country
3167	// (books may be public domain in one country but not in another, e.g.).
3168	AccessInfo *VolumeAccessInfo `json:"accessInfo,omitempty"`
3169
3170	// Etag: Opaque identifier for a specific version of a volume resource.
3171	// (In LITE projection)
3172	Etag string `json:"etag,omitempty"`
3173
3174	// Id: Unique identifier for a volume. (In LITE projection.)
3175	Id string `json:"id,omitempty"`
3176
3177	// Kind: Resource type for a volume. (In LITE projection.)
3178	Kind string `json:"kind,omitempty"`
3179
3180	// LayerInfo: What layers exist in this volume and high level
3181	// information about them.
3182	LayerInfo *VolumeLayerInfo `json:"layerInfo,omitempty"`
3183
3184	// RecommendedInfo: Recommendation related information for this volume.
3185	RecommendedInfo *VolumeRecommendedInfo `json:"recommendedInfo,omitempty"`
3186
3187	// SaleInfo: Any information about a volume related to the eBookstore
3188	// and/or purchaseability. This information can depend on the country
3189	// where the request originates from (i.e. books may not be for sale in
3190	// certain countries).
3191	SaleInfo *VolumeSaleInfo `json:"saleInfo,omitempty"`
3192
3193	// SearchInfo: Search result information related to this volume.
3194	SearchInfo *VolumeSearchInfo `json:"searchInfo,omitempty"`
3195
3196	// SelfLink: URL to this resource. (In LITE projection.)
3197	SelfLink string `json:"selfLink,omitempty"`
3198
3199	// UserInfo: User specific information related to this volume. (e.g.
3200	// page this user last read or whether they purchased this book)
3201	UserInfo *VolumeUserInfo `json:"userInfo,omitempty"`
3202
3203	// VolumeInfo: General volume information.
3204	VolumeInfo *VolumeVolumeInfo `json:"volumeInfo,omitempty"`
3205
3206	// ServerResponse contains the HTTP response code and headers from the
3207	// server.
3208	googleapi.ServerResponse `json:"-"`
3209
3210	// ForceSendFields is a list of field names (e.g. "AccessInfo") to
3211	// unconditionally include in API requests. By default, fields with
3212	// empty values are omitted from API requests. However, any non-pointer,
3213	// non-interface field appearing in ForceSendFields will be sent to the
3214	// server regardless of whether the field is empty or not. This may be
3215	// used to include empty fields in Patch requests.
3216	ForceSendFields []string `json:"-"`
3217
3218	// NullFields is a list of field names (e.g. "AccessInfo") to include in
3219	// API requests with the JSON null value. By default, fields with empty
3220	// values are omitted from API requests. However, any field with an
3221	// empty value appearing in NullFields will be sent to the server as
3222	// null. It is an error if a field in this list has a non-empty value.
3223	// This may be used to include null fields in Patch requests.
3224	NullFields []string `json:"-"`
3225}
3226
3227func (s *Volume) MarshalJSON() ([]byte, error) {
3228	type NoMethod Volume
3229	raw := NoMethod(*s)
3230	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3231}
3232
3233// VolumeAccessInfo: Any information about a volume related to reading
3234// or obtaining that volume text. This information can depend on country
3235// (books may be public domain in one country but not in another, e.g.).
3236type VolumeAccessInfo struct {
3237	// AccessViewStatus: Combines the access and viewability of this volume
3238	// into a single status field for this user. Values can be
3239	// FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or NONE. (In LITE
3240	// projection.)
3241	AccessViewStatus string `json:"accessViewStatus,omitempty"`
3242
3243	// Country: The two-letter ISO_3166-1 country code for which this access
3244	// information is valid. (In LITE projection.)
3245	Country string `json:"country,omitempty"`
3246
3247	// DownloadAccess: Information about a volume's download license access
3248	// restrictions.
3249	DownloadAccess *DownloadAccessRestriction `json:"downloadAccess,omitempty"`
3250
3251	// DriveImportedContentLink: URL to the Google Drive viewer if this
3252	// volume is uploaded by the user by selecting the file from Google
3253	// Drive.
3254	DriveImportedContentLink string `json:"driveImportedContentLink,omitempty"`
3255
3256	// Embeddable: Whether this volume can be embedded in a viewport using
3257	// the Embedded Viewer API.
3258	Embeddable bool `json:"embeddable,omitempty"`
3259
3260	// Epub: Information about epub content. (In LITE projection.)
3261	Epub *VolumeAccessInfoEpub `json:"epub,omitempty"`
3262
3263	// ExplicitOfflineLicenseManagement: Whether this volume requires that
3264	// the client explicitly request offline download license rather than
3265	// have it done automatically when loading the content, if the client
3266	// supports it.
3267	ExplicitOfflineLicenseManagement bool `json:"explicitOfflineLicenseManagement,omitempty"`
3268
3269	// Pdf: Information about pdf content. (In LITE projection.)
3270	Pdf *VolumeAccessInfoPdf `json:"pdf,omitempty"`
3271
3272	// PublicDomain: Whether or not this book is public domain in the
3273	// country listed above.
3274	PublicDomain bool `json:"publicDomain,omitempty"`
3275
3276	// QuoteSharingAllowed: Whether quote sharing is allowed for this
3277	// volume.
3278	QuoteSharingAllowed bool `json:"quoteSharingAllowed,omitempty"`
3279
3280	// TextToSpeechPermission: Whether text-to-speech is permitted for this
3281	// volume. Values can be ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or
3282	// NOT_ALLOWED.
3283	TextToSpeechPermission string `json:"textToSpeechPermission,omitempty"`
3284
3285	// ViewOrderUrl: For ordered but not yet processed orders, we give a URL
3286	// that can be used to go to the appropriate Google Wallet page.
3287	ViewOrderUrl string `json:"viewOrderUrl,omitempty"`
3288
3289	// Viewability: The read access of a volume. Possible values are
3290	// PARTIAL, ALL_PAGES, NO_PAGES or UNKNOWN. This value depends on the
3291	// country listed above. A value of PARTIAL means that the publisher has
3292	// allowed some portion of the volume to be viewed publicly, without
3293	// purchase. This can apply to eBooks as well as non-eBooks. Public
3294	// domain books will always have a value of ALL_PAGES.
3295	Viewability string `json:"viewability,omitempty"`
3296
3297	// WebReaderLink: URL to read this volume on the Google Books site. Link
3298	// will not allow users to read non-viewable volumes.
3299	WebReaderLink string `json:"webReaderLink,omitempty"`
3300
3301	// ForceSendFields is a list of field names (e.g. "AccessViewStatus") to
3302	// unconditionally include in API requests. By default, fields with
3303	// empty values are omitted from API requests. However, any non-pointer,
3304	// non-interface field appearing in ForceSendFields will be sent to the
3305	// server regardless of whether the field is empty or not. This may be
3306	// used to include empty fields in Patch requests.
3307	ForceSendFields []string `json:"-"`
3308
3309	// NullFields is a list of field names (e.g. "AccessViewStatus") to
3310	// include in API requests with the JSON null value. By default, fields
3311	// with empty values are omitted from API requests. However, any field
3312	// with an empty value appearing in NullFields will be sent to the
3313	// server as null. It is an error if a field in this list has a
3314	// non-empty value. This may be used to include null fields in Patch
3315	// requests.
3316	NullFields []string `json:"-"`
3317}
3318
3319func (s *VolumeAccessInfo) MarshalJSON() ([]byte, error) {
3320	type NoMethod VolumeAccessInfo
3321	raw := NoMethod(*s)
3322	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3323}
3324
3325// VolumeAccessInfoEpub: Information about epub content. (In LITE
3326// projection.)
3327type VolumeAccessInfoEpub struct {
3328	// AcsTokenLink: URL to retrieve ACS token for epub download. (In LITE
3329	// projection.)
3330	AcsTokenLink string `json:"acsTokenLink,omitempty"`
3331
3332	// DownloadLink: URL to download epub. (In LITE projection.)
3333	DownloadLink string `json:"downloadLink,omitempty"`
3334
3335	// IsAvailable: Is a flowing text epub available either as public domain
3336	// or for purchase. (In LITE projection.)
3337	IsAvailable bool `json:"isAvailable,omitempty"`
3338
3339	// ForceSendFields is a list of field names (e.g. "AcsTokenLink") to
3340	// unconditionally include in API requests. By default, fields with
3341	// empty values are omitted from API requests. However, any non-pointer,
3342	// non-interface field appearing in ForceSendFields will be sent to the
3343	// server regardless of whether the field is empty or not. This may be
3344	// used to include empty fields in Patch requests.
3345	ForceSendFields []string `json:"-"`
3346
3347	// NullFields is a list of field names (e.g. "AcsTokenLink") to include
3348	// in API requests with the JSON null value. By default, fields with
3349	// empty values are omitted from API requests. However, any field with
3350	// an empty value appearing in NullFields will be sent to the server as
3351	// null. It is an error if a field in this list has a non-empty value.
3352	// This may be used to include null fields in Patch requests.
3353	NullFields []string `json:"-"`
3354}
3355
3356func (s *VolumeAccessInfoEpub) MarshalJSON() ([]byte, error) {
3357	type NoMethod VolumeAccessInfoEpub
3358	raw := NoMethod(*s)
3359	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3360}
3361
3362// VolumeAccessInfoPdf: Information about pdf content. (In LITE
3363// projection.)
3364type VolumeAccessInfoPdf struct {
3365	// AcsTokenLink: URL to retrieve ACS token for pdf download. (In LITE
3366	// projection.)
3367	AcsTokenLink string `json:"acsTokenLink,omitempty"`
3368
3369	// DownloadLink: URL to download pdf. (In LITE projection.)
3370	DownloadLink string `json:"downloadLink,omitempty"`
3371
3372	// IsAvailable: Is a scanned image pdf available either as public domain
3373	// or for purchase. (In LITE projection.)
3374	IsAvailable bool `json:"isAvailable,omitempty"`
3375
3376	// ForceSendFields is a list of field names (e.g. "AcsTokenLink") to
3377	// unconditionally include in API requests. By default, fields with
3378	// empty values are omitted from API requests. However, any non-pointer,
3379	// non-interface field appearing in ForceSendFields will be sent to the
3380	// server regardless of whether the field is empty or not. This may be
3381	// used to include empty fields in Patch requests.
3382	ForceSendFields []string `json:"-"`
3383
3384	// NullFields is a list of field names (e.g. "AcsTokenLink") to include
3385	// in API requests with the JSON null value. By default, fields with
3386	// empty values are omitted from API requests. However, any field with
3387	// an empty value appearing in NullFields will be sent to the server as
3388	// null. It is an error if a field in this list has a non-empty value.
3389	// This may be used to include null fields in Patch requests.
3390	NullFields []string `json:"-"`
3391}
3392
3393func (s *VolumeAccessInfoPdf) MarshalJSON() ([]byte, error) {
3394	type NoMethod VolumeAccessInfoPdf
3395	raw := NoMethod(*s)
3396	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3397}
3398
3399// VolumeLayerInfo: What layers exist in this volume and high level
3400// information about them.
3401type VolumeLayerInfo struct {
3402	// Layers: A layer should appear here if and only if the layer exists
3403	// for this book.
3404	Layers []*VolumeLayerInfoLayers `json:"layers,omitempty"`
3405
3406	// ForceSendFields is a list of field names (e.g. "Layers") to
3407	// unconditionally include in API requests. By default, fields with
3408	// empty values are omitted from API requests. However, any non-pointer,
3409	// non-interface field appearing in ForceSendFields will be sent to the
3410	// server regardless of whether the field is empty or not. This may be
3411	// used to include empty fields in Patch requests.
3412	ForceSendFields []string `json:"-"`
3413
3414	// NullFields is a list of field names (e.g. "Layers") to include in API
3415	// requests with the JSON null value. By default, fields with empty
3416	// values are omitted from API requests. However, any field with an
3417	// empty value appearing in NullFields will be sent to the server as
3418	// null. It is an error if a field in this list has a non-empty value.
3419	// This may be used to include null fields in Patch requests.
3420	NullFields []string `json:"-"`
3421}
3422
3423func (s *VolumeLayerInfo) MarshalJSON() ([]byte, error) {
3424	type NoMethod VolumeLayerInfo
3425	raw := NoMethod(*s)
3426	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3427}
3428
3429type VolumeLayerInfoLayers struct {
3430	// LayerId: The layer id of this layer (e.g. "geo").
3431	LayerId string `json:"layerId,omitempty"`
3432
3433	// VolumeAnnotationsVersion: The current version of this layer's volume
3434	// annotations. Note that this version applies only to the data in the
3435	// books.layers.volumeAnnotations.* responses. The actual annotation
3436	// data is versioned separately.
3437	VolumeAnnotationsVersion string `json:"volumeAnnotationsVersion,omitempty"`
3438
3439	// ForceSendFields is a list of field names (e.g. "LayerId") to
3440	// unconditionally include in API requests. By default, fields with
3441	// empty values are omitted from API requests. However, any non-pointer,
3442	// non-interface field appearing in ForceSendFields will be sent to the
3443	// server regardless of whether the field is empty or not. This may be
3444	// used to include empty fields in Patch requests.
3445	ForceSendFields []string `json:"-"`
3446
3447	// NullFields is a list of field names (e.g. "LayerId") to include in
3448	// API requests with the JSON null value. By default, fields with empty
3449	// values are omitted from API requests. However, any field with an
3450	// empty value appearing in NullFields will be sent to the server as
3451	// null. It is an error if a field in this list has a non-empty value.
3452	// This may be used to include null fields in Patch requests.
3453	NullFields []string `json:"-"`
3454}
3455
3456func (s *VolumeLayerInfoLayers) MarshalJSON() ([]byte, error) {
3457	type NoMethod VolumeLayerInfoLayers
3458	raw := NoMethod(*s)
3459	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3460}
3461
3462// VolumeRecommendedInfo: Recommendation related information for this
3463// volume.
3464type VolumeRecommendedInfo struct {
3465	// Explanation: A text explaining why this volume is recommended.
3466	Explanation string `json:"explanation,omitempty"`
3467
3468	// ForceSendFields is a list of field names (e.g. "Explanation") to
3469	// unconditionally include in API requests. By default, fields with
3470	// empty values are omitted from API requests. However, any non-pointer,
3471	// non-interface field appearing in ForceSendFields will be sent to the
3472	// server regardless of whether the field is empty or not. This may be
3473	// used to include empty fields in Patch requests.
3474	ForceSendFields []string `json:"-"`
3475
3476	// NullFields is a list of field names (e.g. "Explanation") to include
3477	// in API requests with the JSON null value. By default, fields with
3478	// empty values are omitted from API requests. However, any field with
3479	// an empty value appearing in NullFields will be sent to the server as
3480	// null. It is an error if a field in this list has a non-empty value.
3481	// This may be used to include null fields in Patch requests.
3482	NullFields []string `json:"-"`
3483}
3484
3485func (s *VolumeRecommendedInfo) MarshalJSON() ([]byte, error) {
3486	type NoMethod VolumeRecommendedInfo
3487	raw := NoMethod(*s)
3488	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3489}
3490
3491// VolumeSaleInfo: Any information about a volume related to the
3492// eBookstore and/or purchaseability. This information can depend on the
3493// country where the request originates from (i.e. books may not be for
3494// sale in certain countries).
3495type VolumeSaleInfo struct {
3496	// BuyLink: URL to purchase this volume on the Google Books site. (In
3497	// LITE projection)
3498	BuyLink string `json:"buyLink,omitempty"`
3499
3500	// Country: The two-letter ISO_3166-1 country code for which this sale
3501	// information is valid. (In LITE projection.)
3502	Country string `json:"country,omitempty"`
3503
3504	// IsEbook: Whether or not this volume is an eBook (can be added to the
3505	// My eBooks shelf).
3506	IsEbook bool `json:"isEbook,omitempty"`
3507
3508	// ListPrice: Suggested retail price. (In LITE projection.)
3509	ListPrice *VolumeSaleInfoListPrice `json:"listPrice,omitempty"`
3510
3511	// Offers: Offers available for this volume (sales and rentals).
3512	Offers []*VolumeSaleInfoOffers `json:"offers,omitempty"`
3513
3514	// OnSaleDate: The date on which this book is available for sale.
3515	OnSaleDate string `json:"onSaleDate,omitempty"`
3516
3517	// RetailPrice: The actual selling price of the book. This is the same
3518	// as the suggested retail or list price unless there are offers or
3519	// discounts on this volume. (In LITE projection.)
3520	RetailPrice *VolumeSaleInfoRetailPrice `json:"retailPrice,omitempty"`
3521
3522	// Saleability: Whether or not this book is available for sale or
3523	// offered for free in the Google eBookstore for the country listed
3524	// above. Possible values are FOR_SALE, FOR_RENTAL_ONLY,
3525	// FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
3526	Saleability string `json:"saleability,omitempty"`
3527
3528	// ForceSendFields is a list of field names (e.g. "BuyLink") to
3529	// unconditionally include in API requests. By default, fields with
3530	// empty values are omitted from API requests. However, any non-pointer,
3531	// non-interface field appearing in ForceSendFields will be sent to the
3532	// server regardless of whether the field is empty or not. This may be
3533	// used to include empty fields in Patch requests.
3534	ForceSendFields []string `json:"-"`
3535
3536	// NullFields is a list of field names (e.g. "BuyLink") to include in
3537	// API requests with the JSON null value. By default, fields with empty
3538	// values are omitted from API requests. However, any field with an
3539	// empty value appearing in NullFields will be sent to the server as
3540	// null. It is an error if a field in this list has a non-empty value.
3541	// This may be used to include null fields in Patch requests.
3542	NullFields []string `json:"-"`
3543}
3544
3545func (s *VolumeSaleInfo) MarshalJSON() ([]byte, error) {
3546	type NoMethod VolumeSaleInfo
3547	raw := NoMethod(*s)
3548	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3549}
3550
3551// VolumeSaleInfoListPrice: Suggested retail price. (In LITE
3552// projection.)
3553type VolumeSaleInfoListPrice struct {
3554	// Amount: Amount in the currency listed below. (In LITE projection.)
3555	Amount float64 `json:"amount,omitempty"`
3556
3557	// CurrencyCode: An ISO 4217, three-letter currency code. (In LITE
3558	// projection.)
3559	CurrencyCode string `json:"currencyCode,omitempty"`
3560
3561	// ForceSendFields is a list of field names (e.g. "Amount") to
3562	// unconditionally include in API requests. By default, fields with
3563	// empty values are omitted from API requests. However, any non-pointer,
3564	// non-interface field appearing in ForceSendFields will be sent to the
3565	// server regardless of whether the field is empty or not. This may be
3566	// used to include empty fields in Patch requests.
3567	ForceSendFields []string `json:"-"`
3568
3569	// NullFields is a list of field names (e.g. "Amount") to include in API
3570	// requests with the JSON null value. By default, fields with empty
3571	// values are omitted from API requests. However, any field with an
3572	// empty value appearing in NullFields will be sent to the server as
3573	// null. It is an error if a field in this list has a non-empty value.
3574	// This may be used to include null fields in Patch requests.
3575	NullFields []string `json:"-"`
3576}
3577
3578func (s *VolumeSaleInfoListPrice) MarshalJSON() ([]byte, error) {
3579	type NoMethod VolumeSaleInfoListPrice
3580	raw := NoMethod(*s)
3581	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3582}
3583
3584func (s *VolumeSaleInfoListPrice) UnmarshalJSON(data []byte) error {
3585	type NoMethod VolumeSaleInfoListPrice
3586	var s1 struct {
3587		Amount gensupport.JSONFloat64 `json:"amount"`
3588		*NoMethod
3589	}
3590	s1.NoMethod = (*NoMethod)(s)
3591	if err := json.Unmarshal(data, &s1); err != nil {
3592		return err
3593	}
3594	s.Amount = float64(s1.Amount)
3595	return nil
3596}
3597
3598type VolumeSaleInfoOffers struct {
3599	// FinskyOfferType: The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
3600	FinskyOfferType int64 `json:"finskyOfferType,omitempty"`
3601
3602	// Giftable: Indicates whether the offer is giftable.
3603	Giftable bool `json:"giftable,omitempty"`
3604
3605	// ListPrice: Offer list (=undiscounted) price in Micros.
3606	ListPrice *VolumeSaleInfoOffersListPrice `json:"listPrice,omitempty"`
3607
3608	// RentalDuration: The rental duration (for rental offers only).
3609	RentalDuration *VolumeSaleInfoOffersRentalDuration `json:"rentalDuration,omitempty"`
3610
3611	// RetailPrice: Offer retail (=discounted) price in Micros
3612	RetailPrice *VolumeSaleInfoOffersRetailPrice `json:"retailPrice,omitempty"`
3613
3614	// ForceSendFields is a list of field names (e.g. "FinskyOfferType") to
3615	// unconditionally include in API requests. By default, fields with
3616	// empty values are omitted from API requests. However, any non-pointer,
3617	// non-interface field appearing in ForceSendFields will be sent to the
3618	// server regardless of whether the field is empty or not. This may be
3619	// used to include empty fields in Patch requests.
3620	ForceSendFields []string `json:"-"`
3621
3622	// NullFields is a list of field names (e.g. "FinskyOfferType") to
3623	// include in API requests with the JSON null value. By default, fields
3624	// with empty values are omitted from API requests. However, any field
3625	// with an empty value appearing in NullFields will be sent to the
3626	// server as null. It is an error if a field in this list has a
3627	// non-empty value. This may be used to include null fields in Patch
3628	// requests.
3629	NullFields []string `json:"-"`
3630}
3631
3632func (s *VolumeSaleInfoOffers) MarshalJSON() ([]byte, error) {
3633	type NoMethod VolumeSaleInfoOffers
3634	raw := NoMethod(*s)
3635	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3636}
3637
3638// VolumeSaleInfoOffersListPrice: Offer list (=undiscounted) price in
3639// Micros.
3640type VolumeSaleInfoOffersListPrice struct {
3641	AmountInMicros float64 `json:"amountInMicros,omitempty"`
3642
3643	CurrencyCode string `json:"currencyCode,omitempty"`
3644
3645	// ForceSendFields is a list of field names (e.g. "AmountInMicros") to
3646	// unconditionally include in API requests. By default, fields with
3647	// empty values are omitted from API requests. However, any non-pointer,
3648	// non-interface field appearing in ForceSendFields will be sent to the
3649	// server regardless of whether the field is empty or not. This may be
3650	// used to include empty fields in Patch requests.
3651	ForceSendFields []string `json:"-"`
3652
3653	// NullFields is a list of field names (e.g. "AmountInMicros") to
3654	// include in API requests with the JSON null value. By default, fields
3655	// with empty values are omitted from API requests. However, any field
3656	// with an empty value appearing in NullFields will be sent to the
3657	// server as null. It is an error if a field in this list has a
3658	// non-empty value. This may be used to include null fields in Patch
3659	// requests.
3660	NullFields []string `json:"-"`
3661}
3662
3663func (s *VolumeSaleInfoOffersListPrice) MarshalJSON() ([]byte, error) {
3664	type NoMethod VolumeSaleInfoOffersListPrice
3665	raw := NoMethod(*s)
3666	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3667}
3668
3669func (s *VolumeSaleInfoOffersListPrice) UnmarshalJSON(data []byte) error {
3670	type NoMethod VolumeSaleInfoOffersListPrice
3671	var s1 struct {
3672		AmountInMicros gensupport.JSONFloat64 `json:"amountInMicros"`
3673		*NoMethod
3674	}
3675	s1.NoMethod = (*NoMethod)(s)
3676	if err := json.Unmarshal(data, &s1); err != nil {
3677		return err
3678	}
3679	s.AmountInMicros = float64(s1.AmountInMicros)
3680	return nil
3681}
3682
3683// VolumeSaleInfoOffersRentalDuration: The rental duration (for rental
3684// offers only).
3685type VolumeSaleInfoOffersRentalDuration struct {
3686	Count float64 `json:"count,omitempty"`
3687
3688	Unit string `json:"unit,omitempty"`
3689
3690	// ForceSendFields is a list of field names (e.g. "Count") to
3691	// unconditionally include in API requests. By default, fields with
3692	// empty values are omitted from API requests. However, any non-pointer,
3693	// non-interface field appearing in ForceSendFields will be sent to the
3694	// server regardless of whether the field is empty or not. This may be
3695	// used to include empty fields in Patch requests.
3696	ForceSendFields []string `json:"-"`
3697
3698	// NullFields is a list of field names (e.g. "Count") to include in API
3699	// requests with the JSON null value. By default, fields with empty
3700	// values are omitted from API requests. However, any field with an
3701	// empty value appearing in NullFields will be sent to the server as
3702	// null. It is an error if a field in this list has a non-empty value.
3703	// This may be used to include null fields in Patch requests.
3704	NullFields []string `json:"-"`
3705}
3706
3707func (s *VolumeSaleInfoOffersRentalDuration) MarshalJSON() ([]byte, error) {
3708	type NoMethod VolumeSaleInfoOffersRentalDuration
3709	raw := NoMethod(*s)
3710	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3711}
3712
3713func (s *VolumeSaleInfoOffersRentalDuration) UnmarshalJSON(data []byte) error {
3714	type NoMethod VolumeSaleInfoOffersRentalDuration
3715	var s1 struct {
3716		Count gensupport.JSONFloat64 `json:"count"`
3717		*NoMethod
3718	}
3719	s1.NoMethod = (*NoMethod)(s)
3720	if err := json.Unmarshal(data, &s1); err != nil {
3721		return err
3722	}
3723	s.Count = float64(s1.Count)
3724	return nil
3725}
3726
3727// VolumeSaleInfoOffersRetailPrice: Offer retail (=discounted) price in
3728// Micros
3729type VolumeSaleInfoOffersRetailPrice struct {
3730	AmountInMicros float64 `json:"amountInMicros,omitempty"`
3731
3732	CurrencyCode string `json:"currencyCode,omitempty"`
3733
3734	// ForceSendFields is a list of field names (e.g. "AmountInMicros") to
3735	// unconditionally include in API requests. By default, fields with
3736	// empty values are omitted from API requests. However, any non-pointer,
3737	// non-interface field appearing in ForceSendFields will be sent to the
3738	// server regardless of whether the field is empty or not. This may be
3739	// used to include empty fields in Patch requests.
3740	ForceSendFields []string `json:"-"`
3741
3742	// NullFields is a list of field names (e.g. "AmountInMicros") to
3743	// include in API requests with the JSON null value. By default, fields
3744	// with empty values are omitted from API requests. However, any field
3745	// with an empty value appearing in NullFields will be sent to the
3746	// server as null. It is an error if a field in this list has a
3747	// non-empty value. This may be used to include null fields in Patch
3748	// requests.
3749	NullFields []string `json:"-"`
3750}
3751
3752func (s *VolumeSaleInfoOffersRetailPrice) MarshalJSON() ([]byte, error) {
3753	type NoMethod VolumeSaleInfoOffersRetailPrice
3754	raw := NoMethod(*s)
3755	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3756}
3757
3758func (s *VolumeSaleInfoOffersRetailPrice) UnmarshalJSON(data []byte) error {
3759	type NoMethod VolumeSaleInfoOffersRetailPrice
3760	var s1 struct {
3761		AmountInMicros gensupport.JSONFloat64 `json:"amountInMicros"`
3762		*NoMethod
3763	}
3764	s1.NoMethod = (*NoMethod)(s)
3765	if err := json.Unmarshal(data, &s1); err != nil {
3766		return err
3767	}
3768	s.AmountInMicros = float64(s1.AmountInMicros)
3769	return nil
3770}
3771
3772// VolumeSaleInfoRetailPrice: The actual selling price of the book. This
3773// is the same as the suggested retail or list price unless there are
3774// offers or discounts on this volume. (In LITE projection.)
3775type VolumeSaleInfoRetailPrice struct {
3776	// Amount: Amount in the currency listed below. (In LITE projection.)
3777	Amount float64 `json:"amount,omitempty"`
3778
3779	// CurrencyCode: An ISO 4217, three-letter currency code. (In LITE
3780	// projection.)
3781	CurrencyCode string `json:"currencyCode,omitempty"`
3782
3783	// ForceSendFields is a list of field names (e.g. "Amount") to
3784	// unconditionally include in API requests. By default, fields with
3785	// empty values are omitted from API requests. However, any non-pointer,
3786	// non-interface field appearing in ForceSendFields will be sent to the
3787	// server regardless of whether the field is empty or not. This may be
3788	// used to include empty fields in Patch requests.
3789	ForceSendFields []string `json:"-"`
3790
3791	// NullFields is a list of field names (e.g. "Amount") to include in API
3792	// requests with the JSON null value. By default, fields with empty
3793	// values are omitted from API requests. However, any field with an
3794	// empty value appearing in NullFields will be sent to the server as
3795	// null. It is an error if a field in this list has a non-empty value.
3796	// This may be used to include null fields in Patch requests.
3797	NullFields []string `json:"-"`
3798}
3799
3800func (s *VolumeSaleInfoRetailPrice) MarshalJSON() ([]byte, error) {
3801	type NoMethod VolumeSaleInfoRetailPrice
3802	raw := NoMethod(*s)
3803	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3804}
3805
3806func (s *VolumeSaleInfoRetailPrice) UnmarshalJSON(data []byte) error {
3807	type NoMethod VolumeSaleInfoRetailPrice
3808	var s1 struct {
3809		Amount gensupport.JSONFloat64 `json:"amount"`
3810		*NoMethod
3811	}
3812	s1.NoMethod = (*NoMethod)(s)
3813	if err := json.Unmarshal(data, &s1); err != nil {
3814		return err
3815	}
3816	s.Amount = float64(s1.Amount)
3817	return nil
3818}
3819
3820// VolumeSearchInfo: Search result information related to this volume.
3821type VolumeSearchInfo struct {
3822	// TextSnippet: A text snippet containing the search query.
3823	TextSnippet string `json:"textSnippet,omitempty"`
3824
3825	// ForceSendFields is a list of field names (e.g. "TextSnippet") to
3826	// unconditionally include in API requests. By default, fields with
3827	// empty values are omitted from API requests. However, any non-pointer,
3828	// non-interface field appearing in ForceSendFields will be sent to the
3829	// server regardless of whether the field is empty or not. This may be
3830	// used to include empty fields in Patch requests.
3831	ForceSendFields []string `json:"-"`
3832
3833	// NullFields is a list of field names (e.g. "TextSnippet") to include
3834	// in API requests with the JSON null value. By default, fields with
3835	// empty values are omitted from API requests. However, any field with
3836	// an empty value appearing in NullFields will be sent to the server as
3837	// null. It is an error if a field in this list has a non-empty value.
3838	// This may be used to include null fields in Patch requests.
3839	NullFields []string `json:"-"`
3840}
3841
3842func (s *VolumeSearchInfo) MarshalJSON() ([]byte, error) {
3843	type NoMethod VolumeSearchInfo
3844	raw := NoMethod(*s)
3845	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3846}
3847
3848// VolumeUserInfo: User specific information related to this volume.
3849// (e.g. page this user last read or whether they purchased this book)
3850type VolumeUserInfo struct {
3851	// AcquiredTime: Timestamp when this volume was acquired by the user.
3852	// (RFC 3339 UTC date-time format) Acquiring includes purchase, user
3853	// upload, receiving family sharing, etc.
3854	AcquiredTime string `json:"acquiredTime,omitempty"`
3855
3856	// AcquisitionType: How this volume was acquired.
3857	AcquisitionType int64 `json:"acquisitionType,omitempty"`
3858
3859	// Copy: Copy/Paste accounting information.
3860	Copy *VolumeUserInfoCopy `json:"copy,omitempty"`
3861
3862	// EntitlementType: Whether this volume is purchased, sample, pd
3863	// download etc.
3864	EntitlementType int64 `json:"entitlementType,omitempty"`
3865
3866	// FamilySharing: Information on the ability to share with the family.
3867	FamilySharing *VolumeUserInfoFamilySharing `json:"familySharing,omitempty"`
3868
3869	// IsFamilySharedFromUser: Whether or not the user shared this volume
3870	// with the family.
3871	IsFamilySharedFromUser bool `json:"isFamilySharedFromUser,omitempty"`
3872
3873	// IsFamilySharedToUser: Whether or not the user received this volume
3874	// through family sharing.
3875	IsFamilySharedToUser bool `json:"isFamilySharedToUser,omitempty"`
3876
3877	// IsFamilySharingAllowed: Deprecated: Replaced by familySharing.
3878	IsFamilySharingAllowed bool `json:"isFamilySharingAllowed,omitempty"`
3879
3880	// IsFamilySharingDisabledByFop: Deprecated: Replaced by familySharing.
3881	IsFamilySharingDisabledByFop bool `json:"isFamilySharingDisabledByFop,omitempty"`
3882
3883	// IsInMyBooks: Whether or not this volume is currently in "my books."
3884	IsInMyBooks bool `json:"isInMyBooks,omitempty"`
3885
3886	// IsPreordered: Whether or not this volume was pre-ordered by the
3887	// authenticated user making the request. (In LITE projection.)
3888	IsPreordered bool `json:"isPreordered,omitempty"`
3889
3890	// IsPurchased: Whether or not this volume was purchased by the
3891	// authenticated user making the request. (In LITE projection.)
3892	IsPurchased bool `json:"isPurchased,omitempty"`
3893
3894	// IsUploaded: Whether or not this volume was user uploaded.
3895	IsUploaded bool `json:"isUploaded,omitempty"`
3896
3897	// ReadingPosition: The user's current reading position in the volume,
3898	// if one is available. (In LITE projection.)
3899	ReadingPosition *ReadingPosition `json:"readingPosition,omitempty"`
3900
3901	// RentalPeriod: Period during this book is/was a valid rental.
3902	RentalPeriod *VolumeUserInfoRentalPeriod `json:"rentalPeriod,omitempty"`
3903
3904	// RentalState: Whether this book is an active or an expired rental.
3905	RentalState string `json:"rentalState,omitempty"`
3906
3907	// Review: This user's review of this volume, if one exists.
3908	Review *Review `json:"review,omitempty"`
3909
3910	// Updated: Timestamp when this volume was last modified by a user
3911	// action, such as a reading position update, volume purchase or writing
3912	// a review. (RFC 3339 UTC date-time format).
3913	Updated string `json:"updated,omitempty"`
3914
3915	UserUploadedVolumeInfo *VolumeUserInfoUserUploadedVolumeInfo `json:"userUploadedVolumeInfo,omitempty"`
3916
3917	// ForceSendFields is a list of field names (e.g. "AcquiredTime") 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. "AcquiredTime") to include
3926	// in API requests with the JSON null value. By default, fields with
3927	// empty values are omitted from API requests. However, any field with
3928	// an empty value appearing in NullFields will be sent to the server as
3929	// null. It is an error if a field in this list has a non-empty value.
3930	// This may be used to include null fields in Patch requests.
3931	NullFields []string `json:"-"`
3932}
3933
3934func (s *VolumeUserInfo) MarshalJSON() ([]byte, error) {
3935	type NoMethod VolumeUserInfo
3936	raw := NoMethod(*s)
3937	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3938}
3939
3940// VolumeUserInfoCopy: Copy/Paste accounting information.
3941type VolumeUserInfoCopy struct {
3942	AllowedCharacterCount int64 `json:"allowedCharacterCount,omitempty"`
3943
3944	LimitType string `json:"limitType,omitempty"`
3945
3946	RemainingCharacterCount int64 `json:"remainingCharacterCount,omitempty"`
3947
3948	Updated string `json:"updated,omitempty"`
3949
3950	// ForceSendFields is a list of field names (e.g.
3951	// "AllowedCharacterCount") to unconditionally include in API requests.
3952	// By default, fields with empty values are omitted from API requests.
3953	// However, any non-pointer, non-interface field appearing in
3954	// ForceSendFields will be sent to the server regardless of whether the
3955	// field is empty or not. This may be used to include empty fields in
3956	// Patch requests.
3957	ForceSendFields []string `json:"-"`
3958
3959	// NullFields is a list of field names (e.g. "AllowedCharacterCount") to
3960	// include in API requests with the JSON null value. By default, fields
3961	// with empty values are omitted from API requests. However, any field
3962	// with an empty value appearing in NullFields will be sent to the
3963	// server as null. It is an error if a field in this list has a
3964	// non-empty value. This may be used to include null fields in Patch
3965	// requests.
3966	NullFields []string `json:"-"`
3967}
3968
3969func (s *VolumeUserInfoCopy) MarshalJSON() ([]byte, error) {
3970	type NoMethod VolumeUserInfoCopy
3971	raw := NoMethod(*s)
3972	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3973}
3974
3975// VolumeUserInfoFamilySharing: Information on the ability to share with
3976// the family.
3977type VolumeUserInfoFamilySharing struct {
3978	// FamilyRole: The role of the user in the family.
3979	FamilyRole string `json:"familyRole,omitempty"`
3980
3981	// IsSharingAllowed: Whether or not this volume can be shared with the
3982	// family by the user. This includes sharing eligibility of both the
3983	// volume and the user. If the value is true, the user can initiate a
3984	// family sharing action.
3985	IsSharingAllowed bool `json:"isSharingAllowed,omitempty"`
3986
3987	// IsSharingDisabledByFop: Whether or not sharing this volume is
3988	// temporarily disabled due to issues with the Family Wallet.
3989	IsSharingDisabledByFop bool `json:"isSharingDisabledByFop,omitempty"`
3990
3991	// ForceSendFields is a list of field names (e.g. "FamilyRole") to
3992	// unconditionally include in API requests. By default, fields with
3993	// empty values are omitted from API requests. However, any non-pointer,
3994	// non-interface field appearing in ForceSendFields will be sent to the
3995	// server regardless of whether the field is empty or not. This may be
3996	// used to include empty fields in Patch requests.
3997	ForceSendFields []string `json:"-"`
3998
3999	// NullFields is a list of field names (e.g. "FamilyRole") to include in
4000	// API requests with the JSON null value. By default, fields with empty
4001	// values are omitted from API requests. However, any field with an
4002	// empty value appearing in NullFields will be sent to the server as
4003	// null. It is an error if a field in this list has a non-empty value.
4004	// This may be used to include null fields in Patch requests.
4005	NullFields []string `json:"-"`
4006}
4007
4008func (s *VolumeUserInfoFamilySharing) MarshalJSON() ([]byte, error) {
4009	type NoMethod VolumeUserInfoFamilySharing
4010	raw := NoMethod(*s)
4011	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4012}
4013
4014// VolumeUserInfoRentalPeriod: Period during this book is/was a valid
4015// rental.
4016type VolumeUserInfoRentalPeriod struct {
4017	EndUtcSec int64 `json:"endUtcSec,omitempty,string"`
4018
4019	StartUtcSec int64 `json:"startUtcSec,omitempty,string"`
4020
4021	// ForceSendFields is a list of field names (e.g. "EndUtcSec") to
4022	// unconditionally include in API requests. By default, fields with
4023	// empty values are omitted from API requests. However, any non-pointer,
4024	// non-interface field appearing in ForceSendFields will be sent to the
4025	// server regardless of whether the field is empty or not. This may be
4026	// used to include empty fields in Patch requests.
4027	ForceSendFields []string `json:"-"`
4028
4029	// NullFields is a list of field names (e.g. "EndUtcSec") to include in
4030	// API requests with the JSON null value. By default, fields with empty
4031	// values are omitted from API requests. However, any field with an
4032	// empty value appearing in NullFields will be sent to the server as
4033	// null. It is an error if a field in this list has a non-empty value.
4034	// This may be used to include null fields in Patch requests.
4035	NullFields []string `json:"-"`
4036}
4037
4038func (s *VolumeUserInfoRentalPeriod) MarshalJSON() ([]byte, error) {
4039	type NoMethod VolumeUserInfoRentalPeriod
4040	raw := NoMethod(*s)
4041	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4042}
4043
4044type VolumeUserInfoUserUploadedVolumeInfo struct {
4045	ProcessingState string `json:"processingState,omitempty"`
4046
4047	// ForceSendFields is a list of field names (e.g. "ProcessingState") to
4048	// unconditionally include in API requests. By default, fields with
4049	// empty values are omitted from API requests. However, any non-pointer,
4050	// non-interface field appearing in ForceSendFields will be sent to the
4051	// server regardless of whether the field is empty or not. This may be
4052	// used to include empty fields in Patch requests.
4053	ForceSendFields []string `json:"-"`
4054
4055	// NullFields is a list of field names (e.g. "ProcessingState") to
4056	// include in API requests with the JSON null value. By default, fields
4057	// with empty values are omitted from API requests. However, any field
4058	// with an empty value appearing in NullFields will be sent to the
4059	// server as null. It is an error if a field in this list has a
4060	// non-empty value. This may be used to include null fields in Patch
4061	// requests.
4062	NullFields []string `json:"-"`
4063}
4064
4065func (s *VolumeUserInfoUserUploadedVolumeInfo) MarshalJSON() ([]byte, error) {
4066	type NoMethod VolumeUserInfoUserUploadedVolumeInfo
4067	raw := NoMethod(*s)
4068	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4069}
4070
4071// VolumeVolumeInfo: General volume information.
4072type VolumeVolumeInfo struct {
4073	// AllowAnonLogging: Whether anonymous logging should be allowed.
4074	AllowAnonLogging bool `json:"allowAnonLogging,omitempty"`
4075
4076	// Authors: The names of the authors and/or editors for this volume. (In
4077	// LITE projection)
4078	Authors []string `json:"authors,omitempty"`
4079
4080	// AverageRating: The mean review rating for this volume. (min = 1.0,
4081	// max = 5.0)
4082	AverageRating float64 `json:"averageRating,omitempty"`
4083
4084	// CanonicalVolumeLink: Canonical URL for a volume. (In LITE
4085	// projection.)
4086	CanonicalVolumeLink string `json:"canonicalVolumeLink,omitempty"`
4087
4088	// Categories: A list of subject categories, such as "Fiction",
4089	// "Suspense", etc.
4090	Categories []string `json:"categories,omitempty"`
4091
4092	// ComicsContent: Whether the volume has comics content.
4093	ComicsContent bool `json:"comicsContent,omitempty"`
4094
4095	// ContentVersion: An identifier for the version of the volume content
4096	// (text & images). (In LITE projection)
4097	ContentVersion string `json:"contentVersion,omitempty"`
4098
4099	// Description: A synopsis of the volume. The text of the description is
4100	// formatted in HTML and includes simple formatting elements, such as b,
4101	// i, and br tags. (In LITE projection.)
4102	Description string `json:"description,omitempty"`
4103
4104	// Dimensions: Physical dimensions of this volume.
4105	Dimensions *VolumeVolumeInfoDimensions `json:"dimensions,omitempty"`
4106
4107	// ImageLinks: A list of image links for all the sizes that are
4108	// available. (In LITE projection.)
4109	ImageLinks *VolumeVolumeInfoImageLinks `json:"imageLinks,omitempty"`
4110
4111	// IndustryIdentifiers: Industry standard identifiers for this volume.
4112	IndustryIdentifiers []*VolumeVolumeInfoIndustryIdentifiers `json:"industryIdentifiers,omitempty"`
4113
4114	// InfoLink: URL to view information about this volume on the Google
4115	// Books site. (In LITE projection)
4116	InfoLink string `json:"infoLink,omitempty"`
4117
4118	// Language: Best language for this volume (based on content). It is the
4119	// two-letter ISO 639-1 code such as 'fr', 'en', etc.
4120	Language string `json:"language,omitempty"`
4121
4122	// MainCategory: The main category to which this volume belongs. It will
4123	// be the category from the categories list returned below that has the
4124	// highest weight.
4125	MainCategory string `json:"mainCategory,omitempty"`
4126
4127	MaturityRating string `json:"maturityRating,omitempty"`
4128
4129	// PageCount: Total number of pages as per publisher metadata.
4130	PageCount int64 `json:"pageCount,omitempty"`
4131
4132	// PanelizationSummary: A top-level summary of the panelization info in
4133	// this volume.
4134	PanelizationSummary *VolumeVolumeInfoPanelizationSummary `json:"panelizationSummary,omitempty"`
4135
4136	// PreviewLink: URL to preview this volume on the Google Books site.
4137	PreviewLink string `json:"previewLink,omitempty"`
4138
4139	// PrintType: Type of publication of this volume. Possible values are
4140	// BOOK or MAGAZINE.
4141	PrintType string `json:"printType,omitempty"`
4142
4143	// PrintedPageCount: Total number of printed pages in generated pdf
4144	// representation.
4145	PrintedPageCount int64 `json:"printedPageCount,omitempty"`
4146
4147	// PublishedDate: Date of publication. (In LITE projection.)
4148	PublishedDate string `json:"publishedDate,omitempty"`
4149
4150	// Publisher: Publisher of this volume. (In LITE projection.)
4151	Publisher string `json:"publisher,omitempty"`
4152
4153	// RatingsCount: The number of review ratings for this volume.
4154	RatingsCount int64 `json:"ratingsCount,omitempty"`
4155
4156	// ReadingModes: The reading modes available for this volume.
4157	ReadingModes interface{} `json:"readingModes,omitempty"`
4158
4159	// SamplePageCount: Total number of sample pages as per publisher
4160	// metadata.
4161	SamplePageCount int64 `json:"samplePageCount,omitempty"`
4162
4163	SeriesInfo *Volumeseriesinfo `json:"seriesInfo,omitempty"`
4164
4165	// Subtitle: Volume subtitle. (In LITE projection.)
4166	Subtitle string `json:"subtitle,omitempty"`
4167
4168	// Title: Volume title. (In LITE projection.)
4169	Title string `json:"title,omitempty"`
4170
4171	// ForceSendFields is a list of field names (e.g. "AllowAnonLogging") to
4172	// unconditionally include in API requests. By default, fields with
4173	// empty values are omitted from API requests. However, any non-pointer,
4174	// non-interface field appearing in ForceSendFields will be sent to the
4175	// server regardless of whether the field is empty or not. This may be
4176	// used to include empty fields in Patch requests.
4177	ForceSendFields []string `json:"-"`
4178
4179	// NullFields is a list of field names (e.g. "AllowAnonLogging") to
4180	// include in API requests with the JSON null value. By default, fields
4181	// with empty values are omitted from API requests. However, any field
4182	// with an empty value appearing in NullFields will be sent to the
4183	// server as null. It is an error if a field in this list has a
4184	// non-empty value. This may be used to include null fields in Patch
4185	// requests.
4186	NullFields []string `json:"-"`
4187}
4188
4189func (s *VolumeVolumeInfo) MarshalJSON() ([]byte, error) {
4190	type NoMethod VolumeVolumeInfo
4191	raw := NoMethod(*s)
4192	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4193}
4194
4195func (s *VolumeVolumeInfo) UnmarshalJSON(data []byte) error {
4196	type NoMethod VolumeVolumeInfo
4197	var s1 struct {
4198		AverageRating gensupport.JSONFloat64 `json:"averageRating"`
4199		*NoMethod
4200	}
4201	s1.NoMethod = (*NoMethod)(s)
4202	if err := json.Unmarshal(data, &s1); err != nil {
4203		return err
4204	}
4205	s.AverageRating = float64(s1.AverageRating)
4206	return nil
4207}
4208
4209// VolumeVolumeInfoDimensions: Physical dimensions of this volume.
4210type VolumeVolumeInfoDimensions struct {
4211	// Height: Height or length of this volume (in cm).
4212	Height string `json:"height,omitempty"`
4213
4214	// Thickness: Thickness of this volume (in cm).
4215	Thickness string `json:"thickness,omitempty"`
4216
4217	// Width: Width of this volume (in cm).
4218	Width string `json:"width,omitempty"`
4219
4220	// ForceSendFields is a list of field names (e.g. "Height") to
4221	// unconditionally include in API requests. By default, fields with
4222	// empty values are omitted from API requests. However, any non-pointer,
4223	// non-interface field appearing in ForceSendFields will be sent to the
4224	// server regardless of whether the field is empty or not. This may be
4225	// used to include empty fields in Patch requests.
4226	ForceSendFields []string `json:"-"`
4227
4228	// NullFields is a list of field names (e.g. "Height") to include in API
4229	// requests with the JSON null value. By default, fields with empty
4230	// values are omitted from API requests. However, any field with an
4231	// empty value appearing in NullFields will be sent to the server as
4232	// null. It is an error if a field in this list has a non-empty value.
4233	// This may be used to include null fields in Patch requests.
4234	NullFields []string `json:"-"`
4235}
4236
4237func (s *VolumeVolumeInfoDimensions) MarshalJSON() ([]byte, error) {
4238	type NoMethod VolumeVolumeInfoDimensions
4239	raw := NoMethod(*s)
4240	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4241}
4242
4243// VolumeVolumeInfoImageLinks: A list of image links for all the sizes
4244// that are available. (In LITE projection.)
4245type VolumeVolumeInfoImageLinks struct {
4246	// ExtraLarge: Image link for extra large size (width of ~1280 pixels).
4247	// (In LITE projection)
4248	ExtraLarge string `json:"extraLarge,omitempty"`
4249
4250	// Large: Image link for large size (width of ~800 pixels). (In LITE
4251	// projection)
4252	Large string `json:"large,omitempty"`
4253
4254	// Medium: Image link for medium size (width of ~575 pixels). (In LITE
4255	// projection)
4256	Medium string `json:"medium,omitempty"`
4257
4258	// Small: Image link for small size (width of ~300 pixels). (In LITE
4259	// projection)
4260	Small string `json:"small,omitempty"`
4261
4262	// SmallThumbnail: Image link for small thumbnail size (width of ~80
4263	// pixels). (In LITE projection)
4264	SmallThumbnail string `json:"smallThumbnail,omitempty"`
4265
4266	// Thumbnail: Image link for thumbnail size (width of ~128 pixels). (In
4267	// LITE projection)
4268	Thumbnail string `json:"thumbnail,omitempty"`
4269
4270	// ForceSendFields is a list of field names (e.g. "ExtraLarge") to
4271	// unconditionally include in API requests. By default, fields with
4272	// empty values are omitted from API requests. However, any non-pointer,
4273	// non-interface field appearing in ForceSendFields will be sent to the
4274	// server regardless of whether the field is empty or not. This may be
4275	// used to include empty fields in Patch requests.
4276	ForceSendFields []string `json:"-"`
4277
4278	// NullFields is a list of field names (e.g. "ExtraLarge") to include in
4279	// API requests with the JSON null value. By default, fields with empty
4280	// values are omitted from API requests. However, any field with an
4281	// empty value appearing in NullFields will be sent to the server as
4282	// null. It is an error if a field in this list has a non-empty value.
4283	// This may be used to include null fields in Patch requests.
4284	NullFields []string `json:"-"`
4285}
4286
4287func (s *VolumeVolumeInfoImageLinks) MarshalJSON() ([]byte, error) {
4288	type NoMethod VolumeVolumeInfoImageLinks
4289	raw := NoMethod(*s)
4290	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4291}
4292
4293type VolumeVolumeInfoIndustryIdentifiers struct {
4294	// Identifier: Industry specific volume identifier.
4295	Identifier string `json:"identifier,omitempty"`
4296
4297	// Type: Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and
4298	// OTHER.
4299	Type string `json:"type,omitempty"`
4300
4301	// ForceSendFields is a list of field names (e.g. "Identifier") to
4302	// unconditionally include in API requests. By default, fields with
4303	// empty values are omitted from API requests. However, any non-pointer,
4304	// non-interface field appearing in ForceSendFields will be sent to the
4305	// server regardless of whether the field is empty or not. This may be
4306	// used to include empty fields in Patch requests.
4307	ForceSendFields []string `json:"-"`
4308
4309	// NullFields is a list of field names (e.g. "Identifier") to include in
4310	// API requests with the JSON null value. By default, fields with empty
4311	// values are omitted from API requests. However, any field with an
4312	// empty value appearing in NullFields will be sent to the server as
4313	// null. It is an error if a field in this list has a non-empty value.
4314	// This may be used to include null fields in Patch requests.
4315	NullFields []string `json:"-"`
4316}
4317
4318func (s *VolumeVolumeInfoIndustryIdentifiers) MarshalJSON() ([]byte, error) {
4319	type NoMethod VolumeVolumeInfoIndustryIdentifiers
4320	raw := NoMethod(*s)
4321	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4322}
4323
4324// VolumeVolumeInfoPanelizationSummary: A top-level summary of the
4325// panelization info in this volume.
4326type VolumeVolumeInfoPanelizationSummary struct {
4327	ContainsEpubBubbles bool `json:"containsEpubBubbles,omitempty"`
4328
4329	ContainsImageBubbles bool `json:"containsImageBubbles,omitempty"`
4330
4331	EpubBubbleVersion string `json:"epubBubbleVersion,omitempty"`
4332
4333	ImageBubbleVersion string `json:"imageBubbleVersion,omitempty"`
4334
4335	// ForceSendFields is a list of field names (e.g. "ContainsEpubBubbles")
4336	// to unconditionally include in API requests. By default, fields with
4337	// empty values are omitted from API requests. However, any non-pointer,
4338	// non-interface field appearing in ForceSendFields will be sent to the
4339	// server regardless of whether the field is empty or not. This may be
4340	// used to include empty fields in Patch requests.
4341	ForceSendFields []string `json:"-"`
4342
4343	// NullFields is a list of field names (e.g. "ContainsEpubBubbles") to
4344	// include in API requests with the JSON null value. By default, fields
4345	// with empty values are omitted from API requests. However, any field
4346	// with an empty value appearing in NullFields will be sent to the
4347	// server as null. It is an error if a field in this list has a
4348	// non-empty value. This may be used to include null fields in Patch
4349	// requests.
4350	NullFields []string `json:"-"`
4351}
4352
4353func (s *VolumeVolumeInfoPanelizationSummary) MarshalJSON() ([]byte, error) {
4354	type NoMethod VolumeVolumeInfoPanelizationSummary
4355	raw := NoMethod(*s)
4356	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4357}
4358
4359type Volume2 struct {
4360	// Items: A list of volumes.
4361	Items []*Volume `json:"items,omitempty"`
4362
4363	// Kind: Resource type.
4364	Kind string `json:"kind,omitempty"`
4365
4366	NextPageToken string `json:"nextPageToken,omitempty"`
4367
4368	// ServerResponse contains the HTTP response code and headers from the
4369	// server.
4370	googleapi.ServerResponse `json:"-"`
4371
4372	// ForceSendFields is a list of field names (e.g. "Items") to
4373	// unconditionally include in API requests. By default, fields with
4374	// empty values are omitted from API requests. However, any non-pointer,
4375	// non-interface field appearing in ForceSendFields will be sent to the
4376	// server regardless of whether the field is empty or not. This may be
4377	// used to include empty fields in Patch requests.
4378	ForceSendFields []string `json:"-"`
4379
4380	// NullFields is a list of field names (e.g. "Items") to include in API
4381	// requests with the JSON null value. By default, fields with empty
4382	// values are omitted from API requests. However, any field with an
4383	// empty value appearing in NullFields will be sent to the server as
4384	// null. It is an error if a field in this list has a non-empty value.
4385	// This may be used to include null fields in Patch requests.
4386	NullFields []string `json:"-"`
4387}
4388
4389func (s *Volume2) MarshalJSON() ([]byte, error) {
4390	type NoMethod Volume2
4391	raw := NoMethod(*s)
4392	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4393}
4394
4395type Volumeannotation struct {
4396	// AnnotationDataId: The annotation data id for this volume annotation.
4397	AnnotationDataId string `json:"annotationDataId,omitempty"`
4398
4399	// AnnotationDataLink: Link to get data for this annotation.
4400	AnnotationDataLink string `json:"annotationDataLink,omitempty"`
4401
4402	// AnnotationType: The type of annotation this is.
4403	AnnotationType string `json:"annotationType,omitempty"`
4404
4405	// ContentRanges: The content ranges to identify the selected text.
4406	ContentRanges *VolumeannotationContentRanges `json:"contentRanges,omitempty"`
4407
4408	// Data: Data for this annotation.
4409	Data string `json:"data,omitempty"`
4410
4411	// Deleted: Indicates that this annotation is deleted.
4412	Deleted bool `json:"deleted,omitempty"`
4413
4414	// Id: Unique id of this volume annotation.
4415	Id string `json:"id,omitempty"`
4416
4417	// Kind: Resource Type
4418	Kind string `json:"kind,omitempty"`
4419
4420	// LayerId: The Layer this annotation is for.
4421	LayerId string `json:"layerId,omitempty"`
4422
4423	// PageIds: Pages the annotation spans.
4424	PageIds []string `json:"pageIds,omitempty"`
4425
4426	// SelectedText: Excerpt from the volume.
4427	SelectedText string `json:"selectedText,omitempty"`
4428
4429	// SelfLink: URL to this resource.
4430	SelfLink string `json:"selfLink,omitempty"`
4431
4432	// Updated: Timestamp for the last time this anntoation was updated.
4433	// (RFC 3339 UTC date-time format).
4434	Updated string `json:"updated,omitempty"`
4435
4436	// VolumeId: The Volume this annotation is for.
4437	VolumeId string `json:"volumeId,omitempty"`
4438
4439	// ServerResponse contains the HTTP response code and headers from the
4440	// server.
4441	googleapi.ServerResponse `json:"-"`
4442
4443	// ForceSendFields is a list of field names (e.g. "AnnotationDataId") to
4444	// unconditionally include in API requests. By default, fields with
4445	// empty values are omitted from API requests. However, any non-pointer,
4446	// non-interface field appearing in ForceSendFields will be sent to the
4447	// server regardless of whether the field is empty or not. This may be
4448	// used to include empty fields in Patch requests.
4449	ForceSendFields []string `json:"-"`
4450
4451	// NullFields is a list of field names (e.g. "AnnotationDataId") to
4452	// include in API requests with the JSON null value. By default, fields
4453	// with empty values are omitted from API requests. However, any field
4454	// with an empty value appearing in NullFields will be sent to the
4455	// server as null. It is an error if a field in this list has a
4456	// non-empty value. This may be used to include null fields in Patch
4457	// requests.
4458	NullFields []string `json:"-"`
4459}
4460
4461func (s *Volumeannotation) MarshalJSON() ([]byte, error) {
4462	type NoMethod Volumeannotation
4463	raw := NoMethod(*s)
4464	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4465}
4466
4467// VolumeannotationContentRanges: The content ranges to identify the
4468// selected text.
4469type VolumeannotationContentRanges struct {
4470	// CfiRange: Range in CFI format for this annotation for version above.
4471	CfiRange *BooksAnnotationsRange `json:"cfiRange,omitempty"`
4472
4473	// ContentVersion: Content version applicable to ranges below.
4474	ContentVersion string `json:"contentVersion,omitempty"`
4475
4476	// GbImageRange: Range in GB image format for this annotation for
4477	// version above.
4478	GbImageRange *BooksAnnotationsRange `json:"gbImageRange,omitempty"`
4479
4480	// GbTextRange: Range in GB text format for this annotation for version
4481	// above.
4482	GbTextRange *BooksAnnotationsRange `json:"gbTextRange,omitempty"`
4483
4484	// ForceSendFields is a list of field names (e.g. "CfiRange") 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. "CfiRange") 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 *VolumeannotationContentRanges) MarshalJSON() ([]byte, error) {
4502	type NoMethod VolumeannotationContentRanges
4503	raw := NoMethod(*s)
4504	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4505}
4506
4507type Volumeannotations struct {
4508	// Items: A list of volume annotations.
4509	Items []*Volumeannotation `json:"items,omitempty"`
4510
4511	// Kind: Resource type
4512	Kind string `json:"kind,omitempty"`
4513
4514	// NextPageToken: Token to pass in for pagination for the next page.
4515	// This will not be present if this request does not have more results.
4516	NextPageToken string `json:"nextPageToken,omitempty"`
4517
4518	// TotalItems: The total number of volume annotations found.
4519	TotalItems int64 `json:"totalItems,omitempty"`
4520
4521	// Version: The version string for all of the volume annotations in this
4522	// layer (not just the ones in this response). Note: the version string
4523	// doesn't apply to the annotation data, just the information in this
4524	// response (e.g. the location of annotations in the book).
4525	Version string `json:"version,omitempty"`
4526
4527	// ServerResponse contains the HTTP response code and headers from the
4528	// server.
4529	googleapi.ServerResponse `json:"-"`
4530
4531	// ForceSendFields is a list of field names (e.g. "Items") to
4532	// unconditionally include in API requests. By default, fields with
4533	// empty values are omitted from API requests. However, any non-pointer,
4534	// non-interface field appearing in ForceSendFields will be sent to the
4535	// server regardless of whether the field is empty or not. This may be
4536	// used to include empty fields in Patch requests.
4537	ForceSendFields []string `json:"-"`
4538
4539	// NullFields is a list of field names (e.g. "Items") to include in API
4540	// requests with the JSON null value. By default, fields with empty
4541	// values are omitted from API requests. However, any field with an
4542	// empty value appearing in NullFields will be sent to the server as
4543	// null. It is an error if a field in this list has a non-empty value.
4544	// This may be used to include null fields in Patch requests.
4545	NullFields []string `json:"-"`
4546}
4547
4548func (s *Volumeannotations) MarshalJSON() ([]byte, error) {
4549	type NoMethod Volumeannotations
4550	raw := NoMethod(*s)
4551	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4552}
4553
4554type Volumes struct {
4555	// Items: A list of volumes.
4556	Items []*Volume `json:"items,omitempty"`
4557
4558	// Kind: Resource type.
4559	Kind string `json:"kind,omitempty"`
4560
4561	// TotalItems: Total number of volumes found. This might be greater than
4562	// the number of volumes returned in this response if results have been
4563	// paginated.
4564	TotalItems int64 `json:"totalItems,omitempty"`
4565
4566	// ServerResponse contains the HTTP response code and headers from the
4567	// server.
4568	googleapi.ServerResponse `json:"-"`
4569
4570	// ForceSendFields is a list of field names (e.g. "Items") to
4571	// unconditionally include in API requests. By default, fields with
4572	// empty values are omitted from API requests. However, any non-pointer,
4573	// non-interface field appearing in ForceSendFields will be sent to the
4574	// server regardless of whether the field is empty or not. This may be
4575	// used to include empty fields in Patch requests.
4576	ForceSendFields []string `json:"-"`
4577
4578	// NullFields is a list of field names (e.g. "Items") to include in API
4579	// requests with the JSON null value. By default, fields with empty
4580	// values are omitted from API requests. However, any field with an
4581	// empty value appearing in NullFields will be sent to the server as
4582	// null. It is an error if a field in this list has a non-empty value.
4583	// This may be used to include null fields in Patch requests.
4584	NullFields []string `json:"-"`
4585}
4586
4587func (s *Volumes) MarshalJSON() ([]byte, error) {
4588	type NoMethod Volumes
4589	raw := NoMethod(*s)
4590	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4591}
4592
4593type Volumeseriesinfo struct {
4594	// BookDisplayNumber: The display number string. This should be used
4595	// only for display purposes and the actual sequence should be inferred
4596	// from the below orderNumber.
4597	BookDisplayNumber string `json:"bookDisplayNumber,omitempty"`
4598
4599	// Kind: Resource type.
4600	Kind string `json:"kind,omitempty"`
4601
4602	// ShortSeriesBookTitle: Short book title in the context of the series.
4603	ShortSeriesBookTitle string `json:"shortSeriesBookTitle,omitempty"`
4604
4605	VolumeSeries []*VolumeseriesinfoVolumeSeries `json:"volumeSeries,omitempty"`
4606
4607	// ForceSendFields is a list of field names (e.g. "BookDisplayNumber")
4608	// to unconditionally include in API requests. By default, fields with
4609	// empty values are omitted from API requests. However, any non-pointer,
4610	// non-interface field appearing in ForceSendFields will be sent to the
4611	// server regardless of whether the field is empty or not. This may be
4612	// used to include empty fields in Patch requests.
4613	ForceSendFields []string `json:"-"`
4614
4615	// NullFields is a list of field names (e.g. "BookDisplayNumber") to
4616	// include in API requests with the JSON null value. By default, fields
4617	// with empty values are omitted from API requests. However, any field
4618	// with an empty value appearing in NullFields will be sent to the
4619	// server as null. It is an error if a field in this list has a
4620	// non-empty value. This may be used to include null fields in Patch
4621	// requests.
4622	NullFields []string `json:"-"`
4623}
4624
4625func (s *Volumeseriesinfo) MarshalJSON() ([]byte, error) {
4626	type NoMethod Volumeseriesinfo
4627	raw := NoMethod(*s)
4628	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4629}
4630
4631type VolumeseriesinfoVolumeSeries struct {
4632	// Issue: List of issues. Applicable only for Collection Edition and
4633	// Omnibus.
4634	Issue []*VolumeseriesinfoVolumeSeriesIssue `json:"issue,omitempty"`
4635
4636	// OrderNumber: The book order number in the series.
4637	OrderNumber int64 `json:"orderNumber,omitempty"`
4638
4639	// SeriesBookType: The book type in the context of series. Examples -
4640	// Single Issue, Collection Edition, etc.
4641	SeriesBookType string `json:"seriesBookType,omitempty"`
4642
4643	// SeriesId: The series id.
4644	SeriesId string `json:"seriesId,omitempty"`
4645
4646	// ForceSendFields is a list of field names (e.g. "Issue") to
4647	// unconditionally include in API requests. By default, fields with
4648	// empty values are omitted from API requests. However, any non-pointer,
4649	// non-interface field appearing in ForceSendFields will be sent to the
4650	// server regardless of whether the field is empty or not. This may be
4651	// used to include empty fields in Patch requests.
4652	ForceSendFields []string `json:"-"`
4653
4654	// NullFields is a list of field names (e.g. "Issue") to include in API
4655	// requests with the JSON null value. By default, fields with empty
4656	// values are omitted from API requests. However, any field with an
4657	// empty value appearing in NullFields will be sent to the server as
4658	// null. It is an error if a field in this list has a non-empty value.
4659	// This may be used to include null fields in Patch requests.
4660	NullFields []string `json:"-"`
4661}
4662
4663func (s *VolumeseriesinfoVolumeSeries) MarshalJSON() ([]byte, error) {
4664	type NoMethod VolumeseriesinfoVolumeSeries
4665	raw := NoMethod(*s)
4666	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4667}
4668
4669type VolumeseriesinfoVolumeSeriesIssue struct {
4670	IssueDisplayNumber string `json:"issueDisplayNumber,omitempty"`
4671
4672	IssueOrderNumber int64 `json:"issueOrderNumber,omitempty"`
4673
4674	// ForceSendFields is a list of field names (e.g. "IssueDisplayNumber")
4675	// to unconditionally include in API requests. By default, fields with
4676	// empty values are omitted from API requests. However, any non-pointer,
4677	// non-interface field appearing in ForceSendFields will be sent to the
4678	// server regardless of whether the field is empty or not. This may be
4679	// used to include empty fields in Patch requests.
4680	ForceSendFields []string `json:"-"`
4681
4682	// NullFields is a list of field names (e.g. "IssueDisplayNumber") to
4683	// include in API requests with the JSON null value. By default, fields
4684	// with empty values are omitted from API requests. However, any field
4685	// with an empty value appearing in NullFields will be sent to the
4686	// server as null. It is an error if a field in this list has a
4687	// non-empty value. This may be used to include null fields in Patch
4688	// requests.
4689	NullFields []string `json:"-"`
4690}
4691
4692func (s *VolumeseriesinfoVolumeSeriesIssue) MarshalJSON() ([]byte, error) {
4693	type NoMethod VolumeseriesinfoVolumeSeriesIssue
4694	raw := NoMethod(*s)
4695	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4696}
4697
4698// method id "books.bookshelves.get":
4699
4700type BookshelvesGetCall struct {
4701	s            *Service
4702	userId       string
4703	shelf        string
4704	urlParams_   gensupport.URLParams
4705	ifNoneMatch_ string
4706	ctx_         context.Context
4707	header_      http.Header
4708}
4709
4710// Get: Retrieves metadata for a specific bookshelf for the specified
4711// user.
4712func (r *BookshelvesService) Get(userId string, shelf string) *BookshelvesGetCall {
4713	c := &BookshelvesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4714	c.userId = userId
4715	c.shelf = shelf
4716	return c
4717}
4718
4719// Source sets the optional parameter "source": String to identify the
4720// originator of this request.
4721func (c *BookshelvesGetCall) Source(source string) *BookshelvesGetCall {
4722	c.urlParams_.Set("source", source)
4723	return c
4724}
4725
4726// Fields allows partial responses to be retrieved. See
4727// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4728// for more information.
4729func (c *BookshelvesGetCall) Fields(s ...googleapi.Field) *BookshelvesGetCall {
4730	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4731	return c
4732}
4733
4734// IfNoneMatch sets the optional parameter which makes the operation
4735// fail if the object's ETag matches the given value. This is useful for
4736// getting updates only after the object has changed since the last
4737// request. Use googleapi.IsNotModified to check whether the response
4738// error from Do is the result of In-None-Match.
4739func (c *BookshelvesGetCall) IfNoneMatch(entityTag string) *BookshelvesGetCall {
4740	c.ifNoneMatch_ = entityTag
4741	return c
4742}
4743
4744// Context sets the context to be used in this call's Do method. Any
4745// pending HTTP request will be aborted if the provided context is
4746// canceled.
4747func (c *BookshelvesGetCall) Context(ctx context.Context) *BookshelvesGetCall {
4748	c.ctx_ = ctx
4749	return c
4750}
4751
4752// Header returns an http.Header that can be modified by the caller to
4753// add HTTP headers to the request.
4754func (c *BookshelvesGetCall) Header() http.Header {
4755	if c.header_ == nil {
4756		c.header_ = make(http.Header)
4757	}
4758	return c.header_
4759}
4760
4761func (c *BookshelvesGetCall) doRequest(alt string) (*http.Response, error) {
4762	reqHeaders := make(http.Header)
4763	for k, v := range c.header_ {
4764		reqHeaders[k] = v
4765	}
4766	reqHeaders.Set("User-Agent", c.s.userAgent())
4767	if c.ifNoneMatch_ != "" {
4768		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4769	}
4770	var body io.Reader = nil
4771	c.urlParams_.Set("alt", alt)
4772	c.urlParams_.Set("prettyPrint", "false")
4773	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/bookshelves/{shelf}")
4774	urls += "?" + c.urlParams_.Encode()
4775	req, err := http.NewRequest("GET", urls, body)
4776	if err != nil {
4777		return nil, err
4778	}
4779	req.Header = reqHeaders
4780	googleapi.Expand(req.URL, map[string]string{
4781		"userId": c.userId,
4782		"shelf":  c.shelf,
4783	})
4784	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4785}
4786
4787// Do executes the "books.bookshelves.get" call.
4788// Exactly one of *Bookshelf or error will be non-nil. Any non-2xx
4789// status code is an error. Response headers are in either
4790// *Bookshelf.ServerResponse.Header or (if a response was returned at
4791// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4792// to check whether the returned error was because
4793// http.StatusNotModified was returned.
4794func (c *BookshelvesGetCall) Do(opts ...googleapi.CallOption) (*Bookshelf, error) {
4795	gensupport.SetOptions(c.urlParams_, opts...)
4796	res, err := c.doRequest("json")
4797	if res != nil && res.StatusCode == http.StatusNotModified {
4798		if res.Body != nil {
4799			res.Body.Close()
4800		}
4801		return nil, &googleapi.Error{
4802			Code:   res.StatusCode,
4803			Header: res.Header,
4804		}
4805	}
4806	if err != nil {
4807		return nil, err
4808	}
4809	defer googleapi.CloseBody(res)
4810	if err := googleapi.CheckResponse(res); err != nil {
4811		return nil, err
4812	}
4813	ret := &Bookshelf{
4814		ServerResponse: googleapi.ServerResponse{
4815			Header:         res.Header,
4816			HTTPStatusCode: res.StatusCode,
4817		},
4818	}
4819	target := &ret
4820	if err := gensupport.DecodeResponse(target, res); err != nil {
4821		return nil, err
4822	}
4823	return ret, nil
4824	// {
4825	//   "description": "Retrieves metadata for a specific bookshelf for the specified user.",
4826	//   "httpMethod": "GET",
4827	//   "id": "books.bookshelves.get",
4828	//   "parameterOrder": [
4829	//     "userId",
4830	//     "shelf"
4831	//   ],
4832	//   "parameters": {
4833	//     "shelf": {
4834	//       "description": "ID of bookshelf to retrieve.",
4835	//       "location": "path",
4836	//       "required": true,
4837	//       "type": "string"
4838	//     },
4839	//     "source": {
4840	//       "description": "String to identify the originator of this request.",
4841	//       "location": "query",
4842	//       "type": "string"
4843	//     },
4844	//     "userId": {
4845	//       "description": "ID of user for whom to retrieve bookshelves.",
4846	//       "location": "path",
4847	//       "required": true,
4848	//       "type": "string"
4849	//     }
4850	//   },
4851	//   "path": "users/{userId}/bookshelves/{shelf}",
4852	//   "response": {
4853	//     "$ref": "Bookshelf"
4854	//   },
4855	//   "scopes": [
4856	//     "https://www.googleapis.com/auth/books"
4857	//   ]
4858	// }
4859
4860}
4861
4862// method id "books.bookshelves.list":
4863
4864type BookshelvesListCall struct {
4865	s            *Service
4866	userId       string
4867	urlParams_   gensupport.URLParams
4868	ifNoneMatch_ string
4869	ctx_         context.Context
4870	header_      http.Header
4871}
4872
4873// List: Retrieves a list of public bookshelves for the specified user.
4874func (r *BookshelvesService) List(userId string) *BookshelvesListCall {
4875	c := &BookshelvesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4876	c.userId = userId
4877	return c
4878}
4879
4880// Source sets the optional parameter "source": String to identify the
4881// originator of this request.
4882func (c *BookshelvesListCall) Source(source string) *BookshelvesListCall {
4883	c.urlParams_.Set("source", source)
4884	return c
4885}
4886
4887// Fields allows partial responses to be retrieved. See
4888// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4889// for more information.
4890func (c *BookshelvesListCall) Fields(s ...googleapi.Field) *BookshelvesListCall {
4891	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4892	return c
4893}
4894
4895// IfNoneMatch sets the optional parameter which makes the operation
4896// fail if the object's ETag matches the given value. This is useful for
4897// getting updates only after the object has changed since the last
4898// request. Use googleapi.IsNotModified to check whether the response
4899// error from Do is the result of In-None-Match.
4900func (c *BookshelvesListCall) IfNoneMatch(entityTag string) *BookshelvesListCall {
4901	c.ifNoneMatch_ = entityTag
4902	return c
4903}
4904
4905// Context sets the context to be used in this call's Do method. Any
4906// pending HTTP request will be aborted if the provided context is
4907// canceled.
4908func (c *BookshelvesListCall) Context(ctx context.Context) *BookshelvesListCall {
4909	c.ctx_ = ctx
4910	return c
4911}
4912
4913// Header returns an http.Header that can be modified by the caller to
4914// add HTTP headers to the request.
4915func (c *BookshelvesListCall) Header() http.Header {
4916	if c.header_ == nil {
4917		c.header_ = make(http.Header)
4918	}
4919	return c.header_
4920}
4921
4922func (c *BookshelvesListCall) doRequest(alt string) (*http.Response, error) {
4923	reqHeaders := make(http.Header)
4924	for k, v := range c.header_ {
4925		reqHeaders[k] = v
4926	}
4927	reqHeaders.Set("User-Agent", c.s.userAgent())
4928	if c.ifNoneMatch_ != "" {
4929		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
4930	}
4931	var body io.Reader = nil
4932	c.urlParams_.Set("alt", alt)
4933	c.urlParams_.Set("prettyPrint", "false")
4934	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/bookshelves")
4935	urls += "?" + c.urlParams_.Encode()
4936	req, err := http.NewRequest("GET", urls, body)
4937	if err != nil {
4938		return nil, err
4939	}
4940	req.Header = reqHeaders
4941	googleapi.Expand(req.URL, map[string]string{
4942		"userId": c.userId,
4943	})
4944	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4945}
4946
4947// Do executes the "books.bookshelves.list" call.
4948// Exactly one of *Bookshelves or error will be non-nil. Any non-2xx
4949// status code is an error. Response headers are in either
4950// *Bookshelves.ServerResponse.Header or (if a response was returned at
4951// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
4952// to check whether the returned error was because
4953// http.StatusNotModified was returned.
4954func (c *BookshelvesListCall) Do(opts ...googleapi.CallOption) (*Bookshelves, error) {
4955	gensupport.SetOptions(c.urlParams_, opts...)
4956	res, err := c.doRequest("json")
4957	if res != nil && res.StatusCode == http.StatusNotModified {
4958		if res.Body != nil {
4959			res.Body.Close()
4960		}
4961		return nil, &googleapi.Error{
4962			Code:   res.StatusCode,
4963			Header: res.Header,
4964		}
4965	}
4966	if err != nil {
4967		return nil, err
4968	}
4969	defer googleapi.CloseBody(res)
4970	if err := googleapi.CheckResponse(res); err != nil {
4971		return nil, err
4972	}
4973	ret := &Bookshelves{
4974		ServerResponse: googleapi.ServerResponse{
4975			Header:         res.Header,
4976			HTTPStatusCode: res.StatusCode,
4977		},
4978	}
4979	target := &ret
4980	if err := gensupport.DecodeResponse(target, res); err != nil {
4981		return nil, err
4982	}
4983	return ret, nil
4984	// {
4985	//   "description": "Retrieves a list of public bookshelves for the specified user.",
4986	//   "httpMethod": "GET",
4987	//   "id": "books.bookshelves.list",
4988	//   "parameterOrder": [
4989	//     "userId"
4990	//   ],
4991	//   "parameters": {
4992	//     "source": {
4993	//       "description": "String to identify the originator of this request.",
4994	//       "location": "query",
4995	//       "type": "string"
4996	//     },
4997	//     "userId": {
4998	//       "description": "ID of user for whom to retrieve bookshelves.",
4999	//       "location": "path",
5000	//       "required": true,
5001	//       "type": "string"
5002	//     }
5003	//   },
5004	//   "path": "users/{userId}/bookshelves",
5005	//   "response": {
5006	//     "$ref": "Bookshelves"
5007	//   },
5008	//   "scopes": [
5009	//     "https://www.googleapis.com/auth/books"
5010	//   ]
5011	// }
5012
5013}
5014
5015// method id "books.bookshelves.volumes.list":
5016
5017type BookshelvesVolumesListCall struct {
5018	s            *Service
5019	userId       string
5020	shelf        string
5021	urlParams_   gensupport.URLParams
5022	ifNoneMatch_ string
5023	ctx_         context.Context
5024	header_      http.Header
5025}
5026
5027// List: Retrieves volumes in a specific bookshelf for the specified
5028// user.
5029func (r *BookshelvesVolumesService) List(userId string, shelf string) *BookshelvesVolumesListCall {
5030	c := &BookshelvesVolumesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5031	c.userId = userId
5032	c.shelf = shelf
5033	return c
5034}
5035
5036// MaxResults sets the optional parameter "maxResults": Maximum number
5037// of results to return
5038func (c *BookshelvesVolumesListCall) MaxResults(maxResults int64) *BookshelvesVolumesListCall {
5039	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
5040	return c
5041}
5042
5043// ShowPreorders sets the optional parameter "showPreorders": Set to
5044// true to show pre-ordered books. Defaults to false.
5045func (c *BookshelvesVolumesListCall) ShowPreorders(showPreorders bool) *BookshelvesVolumesListCall {
5046	c.urlParams_.Set("showPreorders", fmt.Sprint(showPreorders))
5047	return c
5048}
5049
5050// Source sets the optional parameter "source": String to identify the
5051// originator of this request.
5052func (c *BookshelvesVolumesListCall) Source(source string) *BookshelvesVolumesListCall {
5053	c.urlParams_.Set("source", source)
5054	return c
5055}
5056
5057// StartIndex sets the optional parameter "startIndex": Index of the
5058// first element to return (starts at 0)
5059func (c *BookshelvesVolumesListCall) StartIndex(startIndex int64) *BookshelvesVolumesListCall {
5060	c.urlParams_.Set("startIndex", fmt.Sprint(startIndex))
5061	return c
5062}
5063
5064// Fields allows partial responses to be retrieved. See
5065// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5066// for more information.
5067func (c *BookshelvesVolumesListCall) Fields(s ...googleapi.Field) *BookshelvesVolumesListCall {
5068	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5069	return c
5070}
5071
5072// IfNoneMatch sets the optional parameter which makes the operation
5073// fail if the object's ETag matches the given value. This is useful for
5074// getting updates only after the object has changed since the last
5075// request. Use googleapi.IsNotModified to check whether the response
5076// error from Do is the result of In-None-Match.
5077func (c *BookshelvesVolumesListCall) IfNoneMatch(entityTag string) *BookshelvesVolumesListCall {
5078	c.ifNoneMatch_ = entityTag
5079	return c
5080}
5081
5082// Context sets the context to be used in this call's Do method. Any
5083// pending HTTP request will be aborted if the provided context is
5084// canceled.
5085func (c *BookshelvesVolumesListCall) Context(ctx context.Context) *BookshelvesVolumesListCall {
5086	c.ctx_ = ctx
5087	return c
5088}
5089
5090// Header returns an http.Header that can be modified by the caller to
5091// add HTTP headers to the request.
5092func (c *BookshelvesVolumesListCall) Header() http.Header {
5093	if c.header_ == nil {
5094		c.header_ = make(http.Header)
5095	}
5096	return c.header_
5097}
5098
5099func (c *BookshelvesVolumesListCall) doRequest(alt string) (*http.Response, error) {
5100	reqHeaders := make(http.Header)
5101	for k, v := range c.header_ {
5102		reqHeaders[k] = v
5103	}
5104	reqHeaders.Set("User-Agent", c.s.userAgent())
5105	if c.ifNoneMatch_ != "" {
5106		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5107	}
5108	var body io.Reader = nil
5109	c.urlParams_.Set("alt", alt)
5110	c.urlParams_.Set("prettyPrint", "false")
5111	urls := googleapi.ResolveRelative(c.s.BasePath, "users/{userId}/bookshelves/{shelf}/volumes")
5112	urls += "?" + c.urlParams_.Encode()
5113	req, err := http.NewRequest("GET", urls, body)
5114	if err != nil {
5115		return nil, err
5116	}
5117	req.Header = reqHeaders
5118	googleapi.Expand(req.URL, map[string]string{
5119		"userId": c.userId,
5120		"shelf":  c.shelf,
5121	})
5122	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5123}
5124
5125// Do executes the "books.bookshelves.volumes.list" call.
5126// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
5127// code is an error. Response headers are in either
5128// *Volumes.ServerResponse.Header or (if a response was returned at all)
5129// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
5130// check whether the returned error was because http.StatusNotModified
5131// was returned.
5132func (c *BookshelvesVolumesListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
5133	gensupport.SetOptions(c.urlParams_, opts...)
5134	res, err := c.doRequest("json")
5135	if res != nil && res.StatusCode == http.StatusNotModified {
5136		if res.Body != nil {
5137			res.Body.Close()
5138		}
5139		return nil, &googleapi.Error{
5140			Code:   res.StatusCode,
5141			Header: res.Header,
5142		}
5143	}
5144	if err != nil {
5145		return nil, err
5146	}
5147	defer googleapi.CloseBody(res)
5148	if err := googleapi.CheckResponse(res); err != nil {
5149		return nil, err
5150	}
5151	ret := &Volumes{
5152		ServerResponse: googleapi.ServerResponse{
5153			Header:         res.Header,
5154			HTTPStatusCode: res.StatusCode,
5155		},
5156	}
5157	target := &ret
5158	if err := gensupport.DecodeResponse(target, res); err != nil {
5159		return nil, err
5160	}
5161	return ret, nil
5162	// {
5163	//   "description": "Retrieves volumes in a specific bookshelf for the specified user.",
5164	//   "httpMethod": "GET",
5165	//   "id": "books.bookshelves.volumes.list",
5166	//   "parameterOrder": [
5167	//     "userId",
5168	//     "shelf"
5169	//   ],
5170	//   "parameters": {
5171	//     "maxResults": {
5172	//       "description": "Maximum number of results to return",
5173	//       "format": "uint32",
5174	//       "location": "query",
5175	//       "minimum": "0",
5176	//       "type": "integer"
5177	//     },
5178	//     "shelf": {
5179	//       "description": "ID of bookshelf to retrieve volumes.",
5180	//       "location": "path",
5181	//       "required": true,
5182	//       "type": "string"
5183	//     },
5184	//     "showPreorders": {
5185	//       "description": "Set to true to show pre-ordered books. Defaults to false.",
5186	//       "location": "query",
5187	//       "type": "boolean"
5188	//     },
5189	//     "source": {
5190	//       "description": "String to identify the originator of this request.",
5191	//       "location": "query",
5192	//       "type": "string"
5193	//     },
5194	//     "startIndex": {
5195	//       "description": "Index of the first element to return (starts at 0)",
5196	//       "format": "uint32",
5197	//       "location": "query",
5198	//       "minimum": "0",
5199	//       "type": "integer"
5200	//     },
5201	//     "userId": {
5202	//       "description": "ID of user for whom to retrieve bookshelf volumes.",
5203	//       "location": "path",
5204	//       "required": true,
5205	//       "type": "string"
5206	//     }
5207	//   },
5208	//   "path": "users/{userId}/bookshelves/{shelf}/volumes",
5209	//   "response": {
5210	//     "$ref": "Volumes"
5211	//   },
5212	//   "scopes": [
5213	//     "https://www.googleapis.com/auth/books"
5214	//   ]
5215	// }
5216
5217}
5218
5219// method id "books.cloudloading.addBook":
5220
5221type CloudloadingAddBookCall struct {
5222	s          *Service
5223	urlParams_ gensupport.URLParams
5224	ctx_       context.Context
5225	header_    http.Header
5226}
5227
5228// AddBook:
5229func (r *CloudloadingService) AddBook() *CloudloadingAddBookCall {
5230	c := &CloudloadingAddBookCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5231	return c
5232}
5233
5234// DriveDocumentId sets the optional parameter "drive_document_id": A
5235// drive document id. The upload_client_token must not be set.
5236func (c *CloudloadingAddBookCall) DriveDocumentId(driveDocumentId string) *CloudloadingAddBookCall {
5237	c.urlParams_.Set("drive_document_id", driveDocumentId)
5238	return c
5239}
5240
5241// MimeType sets the optional parameter "mime_type": The document MIME
5242// type. It can be set only if the drive_document_id is set.
5243func (c *CloudloadingAddBookCall) MimeType(mimeType string) *CloudloadingAddBookCall {
5244	c.urlParams_.Set("mime_type", mimeType)
5245	return c
5246}
5247
5248// Name sets the optional parameter "name": The document name. It can be
5249// set only if the drive_document_id is set.
5250func (c *CloudloadingAddBookCall) Name(name string) *CloudloadingAddBookCall {
5251	c.urlParams_.Set("name", name)
5252	return c
5253}
5254
5255// UploadClientToken sets the optional parameter "upload_client_token":
5256func (c *CloudloadingAddBookCall) UploadClientToken(uploadClientToken string) *CloudloadingAddBookCall {
5257	c.urlParams_.Set("upload_client_token", uploadClientToken)
5258	return c
5259}
5260
5261// Fields allows partial responses to be retrieved. See
5262// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5263// for more information.
5264func (c *CloudloadingAddBookCall) Fields(s ...googleapi.Field) *CloudloadingAddBookCall {
5265	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5266	return c
5267}
5268
5269// Context sets the context to be used in this call's Do method. Any
5270// pending HTTP request will be aborted if the provided context is
5271// canceled.
5272func (c *CloudloadingAddBookCall) Context(ctx context.Context) *CloudloadingAddBookCall {
5273	c.ctx_ = ctx
5274	return c
5275}
5276
5277// Header returns an http.Header that can be modified by the caller to
5278// add HTTP headers to the request.
5279func (c *CloudloadingAddBookCall) Header() http.Header {
5280	if c.header_ == nil {
5281		c.header_ = make(http.Header)
5282	}
5283	return c.header_
5284}
5285
5286func (c *CloudloadingAddBookCall) doRequest(alt string) (*http.Response, error) {
5287	reqHeaders := make(http.Header)
5288	for k, v := range c.header_ {
5289		reqHeaders[k] = v
5290	}
5291	reqHeaders.Set("User-Agent", c.s.userAgent())
5292	var body io.Reader = nil
5293	c.urlParams_.Set("alt", alt)
5294	c.urlParams_.Set("prettyPrint", "false")
5295	urls := googleapi.ResolveRelative(c.s.BasePath, "cloudloading/addBook")
5296	urls += "?" + c.urlParams_.Encode()
5297	req, err := http.NewRequest("POST", urls, body)
5298	if err != nil {
5299		return nil, err
5300	}
5301	req.Header = reqHeaders
5302	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5303}
5304
5305// Do executes the "books.cloudloading.addBook" call.
5306// Exactly one of *BooksCloudloadingResource or error will be non-nil.
5307// Any non-2xx status code is an error. Response headers are in either
5308// *BooksCloudloadingResource.ServerResponse.Header or (if a response
5309// was returned at all) in error.(*googleapi.Error).Header. Use
5310// googleapi.IsNotModified to check whether the returned error was
5311// because http.StatusNotModified was returned.
5312func (c *CloudloadingAddBookCall) Do(opts ...googleapi.CallOption) (*BooksCloudloadingResource, error) {
5313	gensupport.SetOptions(c.urlParams_, opts...)
5314	res, err := c.doRequest("json")
5315	if res != nil && res.StatusCode == http.StatusNotModified {
5316		if res.Body != nil {
5317			res.Body.Close()
5318		}
5319		return nil, &googleapi.Error{
5320			Code:   res.StatusCode,
5321			Header: res.Header,
5322		}
5323	}
5324	if err != nil {
5325		return nil, err
5326	}
5327	defer googleapi.CloseBody(res)
5328	if err := googleapi.CheckResponse(res); err != nil {
5329		return nil, err
5330	}
5331	ret := &BooksCloudloadingResource{
5332		ServerResponse: googleapi.ServerResponse{
5333			Header:         res.Header,
5334			HTTPStatusCode: res.StatusCode,
5335		},
5336	}
5337	target := &ret
5338	if err := gensupport.DecodeResponse(target, res); err != nil {
5339		return nil, err
5340	}
5341	return ret, nil
5342	// {
5343	//   "description": "",
5344	//   "httpMethod": "POST",
5345	//   "id": "books.cloudloading.addBook",
5346	//   "parameters": {
5347	//     "drive_document_id": {
5348	//       "description": "A drive document id. The upload_client_token must not be set.",
5349	//       "location": "query",
5350	//       "type": "string"
5351	//     },
5352	//     "mime_type": {
5353	//       "description": "The document MIME type. It can be set only if the drive_document_id is set.",
5354	//       "location": "query",
5355	//       "type": "string"
5356	//     },
5357	//     "name": {
5358	//       "description": "The document name. It can be set only if the drive_document_id is set.",
5359	//       "location": "query",
5360	//       "type": "string"
5361	//     },
5362	//     "upload_client_token": {
5363	//       "location": "query",
5364	//       "type": "string"
5365	//     }
5366	//   },
5367	//   "path": "cloudloading/addBook",
5368	//   "response": {
5369	//     "$ref": "BooksCloudloadingResource"
5370	//   },
5371	//   "scopes": [
5372	//     "https://www.googleapis.com/auth/books"
5373	//   ]
5374	// }
5375
5376}
5377
5378// method id "books.cloudloading.deleteBook":
5379
5380type CloudloadingDeleteBookCall struct {
5381	s          *Service
5382	urlParams_ gensupport.URLParams
5383	ctx_       context.Context
5384	header_    http.Header
5385}
5386
5387// DeleteBook: Remove the book and its contents
5388func (r *CloudloadingService) DeleteBook(volumeId string) *CloudloadingDeleteBookCall {
5389	c := &CloudloadingDeleteBookCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5390	c.urlParams_.Set("volumeId", volumeId)
5391	return c
5392}
5393
5394// Fields allows partial responses to be retrieved. See
5395// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5396// for more information.
5397func (c *CloudloadingDeleteBookCall) Fields(s ...googleapi.Field) *CloudloadingDeleteBookCall {
5398	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5399	return c
5400}
5401
5402// Context sets the context to be used in this call's Do method. Any
5403// pending HTTP request will be aborted if the provided context is
5404// canceled.
5405func (c *CloudloadingDeleteBookCall) Context(ctx context.Context) *CloudloadingDeleteBookCall {
5406	c.ctx_ = ctx
5407	return c
5408}
5409
5410// Header returns an http.Header that can be modified by the caller to
5411// add HTTP headers to the request.
5412func (c *CloudloadingDeleteBookCall) Header() http.Header {
5413	if c.header_ == nil {
5414		c.header_ = make(http.Header)
5415	}
5416	return c.header_
5417}
5418
5419func (c *CloudloadingDeleteBookCall) doRequest(alt string) (*http.Response, error) {
5420	reqHeaders := make(http.Header)
5421	for k, v := range c.header_ {
5422		reqHeaders[k] = v
5423	}
5424	reqHeaders.Set("User-Agent", c.s.userAgent())
5425	var body io.Reader = nil
5426	c.urlParams_.Set("alt", alt)
5427	c.urlParams_.Set("prettyPrint", "false")
5428	urls := googleapi.ResolveRelative(c.s.BasePath, "cloudloading/deleteBook")
5429	urls += "?" + c.urlParams_.Encode()
5430	req, err := http.NewRequest("POST", urls, body)
5431	if err != nil {
5432		return nil, err
5433	}
5434	req.Header = reqHeaders
5435	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5436}
5437
5438// Do executes the "books.cloudloading.deleteBook" call.
5439func (c *CloudloadingDeleteBookCall) Do(opts ...googleapi.CallOption) error {
5440	gensupport.SetOptions(c.urlParams_, opts...)
5441	res, err := c.doRequest("json")
5442	if err != nil {
5443		return err
5444	}
5445	defer googleapi.CloseBody(res)
5446	if err := googleapi.CheckResponse(res); err != nil {
5447		return err
5448	}
5449	return nil
5450	// {
5451	//   "description": "Remove the book and its contents",
5452	//   "httpMethod": "POST",
5453	//   "id": "books.cloudloading.deleteBook",
5454	//   "parameterOrder": [
5455	//     "volumeId"
5456	//   ],
5457	//   "parameters": {
5458	//     "volumeId": {
5459	//       "description": "The id of the book to be removed.",
5460	//       "location": "query",
5461	//       "required": true,
5462	//       "type": "string"
5463	//     }
5464	//   },
5465	//   "path": "cloudloading/deleteBook",
5466	//   "scopes": [
5467	//     "https://www.googleapis.com/auth/books"
5468	//   ]
5469	// }
5470
5471}
5472
5473// method id "books.cloudloading.updateBook":
5474
5475type CloudloadingUpdateBookCall struct {
5476	s                         *Service
5477	bookscloudloadingresource *BooksCloudloadingResource
5478	urlParams_                gensupport.URLParams
5479	ctx_                      context.Context
5480	header_                   http.Header
5481}
5482
5483// UpdateBook:
5484func (r *CloudloadingService) UpdateBook(bookscloudloadingresource *BooksCloudloadingResource) *CloudloadingUpdateBookCall {
5485	c := &CloudloadingUpdateBookCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5486	c.bookscloudloadingresource = bookscloudloadingresource
5487	return c
5488}
5489
5490// Fields allows partial responses to be retrieved. See
5491// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5492// for more information.
5493func (c *CloudloadingUpdateBookCall) Fields(s ...googleapi.Field) *CloudloadingUpdateBookCall {
5494	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5495	return c
5496}
5497
5498// Context sets the context to be used in this call's Do method. Any
5499// pending HTTP request will be aborted if the provided context is
5500// canceled.
5501func (c *CloudloadingUpdateBookCall) Context(ctx context.Context) *CloudloadingUpdateBookCall {
5502	c.ctx_ = ctx
5503	return c
5504}
5505
5506// Header returns an http.Header that can be modified by the caller to
5507// add HTTP headers to the request.
5508func (c *CloudloadingUpdateBookCall) Header() http.Header {
5509	if c.header_ == nil {
5510		c.header_ = make(http.Header)
5511	}
5512	return c.header_
5513}
5514
5515func (c *CloudloadingUpdateBookCall) doRequest(alt string) (*http.Response, error) {
5516	reqHeaders := make(http.Header)
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	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bookscloudloadingresource)
5523	if err != nil {
5524		return nil, err
5525	}
5526	reqHeaders.Set("Content-Type", "application/json")
5527	c.urlParams_.Set("alt", alt)
5528	c.urlParams_.Set("prettyPrint", "false")
5529	urls := googleapi.ResolveRelative(c.s.BasePath, "cloudloading/updateBook")
5530	urls += "?" + c.urlParams_.Encode()
5531	req, err := http.NewRequest("POST", urls, body)
5532	if err != nil {
5533		return nil, err
5534	}
5535	req.Header = reqHeaders
5536	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5537}
5538
5539// Do executes the "books.cloudloading.updateBook" call.
5540// Exactly one of *BooksCloudloadingResource or error will be non-nil.
5541// Any non-2xx status code is an error. Response headers are in either
5542// *BooksCloudloadingResource.ServerResponse.Header or (if a response
5543// was returned at all) in error.(*googleapi.Error).Header. Use
5544// googleapi.IsNotModified to check whether the returned error was
5545// because http.StatusNotModified was returned.
5546func (c *CloudloadingUpdateBookCall) Do(opts ...googleapi.CallOption) (*BooksCloudloadingResource, error) {
5547	gensupport.SetOptions(c.urlParams_, opts...)
5548	res, err := c.doRequest("json")
5549	if res != nil && res.StatusCode == http.StatusNotModified {
5550		if res.Body != nil {
5551			res.Body.Close()
5552		}
5553		return nil, &googleapi.Error{
5554			Code:   res.StatusCode,
5555			Header: res.Header,
5556		}
5557	}
5558	if err != nil {
5559		return nil, err
5560	}
5561	defer googleapi.CloseBody(res)
5562	if err := googleapi.CheckResponse(res); err != nil {
5563		return nil, err
5564	}
5565	ret := &BooksCloudloadingResource{
5566		ServerResponse: googleapi.ServerResponse{
5567			Header:         res.Header,
5568			HTTPStatusCode: res.StatusCode,
5569		},
5570	}
5571	target := &ret
5572	if err := gensupport.DecodeResponse(target, res); err != nil {
5573		return nil, err
5574	}
5575	return ret, nil
5576	// {
5577	//   "description": "",
5578	//   "httpMethod": "POST",
5579	//   "id": "books.cloudloading.updateBook",
5580	//   "path": "cloudloading/updateBook",
5581	//   "request": {
5582	//     "$ref": "BooksCloudloadingResource"
5583	//   },
5584	//   "response": {
5585	//     "$ref": "BooksCloudloadingResource"
5586	//   },
5587	//   "scopes": [
5588	//     "https://www.googleapis.com/auth/books"
5589	//   ]
5590	// }
5591
5592}
5593
5594// method id "books.dictionary.listOfflineMetadata":
5595
5596type DictionaryListOfflineMetadataCall struct {
5597	s            *Service
5598	urlParams_   gensupport.URLParams
5599	ifNoneMatch_ string
5600	ctx_         context.Context
5601	header_      http.Header
5602}
5603
5604// ListOfflineMetadata: Returns a list of offline dictionary metadata
5605// available
5606func (r *DictionaryService) ListOfflineMetadata(cpksver string) *DictionaryListOfflineMetadataCall {
5607	c := &DictionaryListOfflineMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5608	c.urlParams_.Set("cpksver", cpksver)
5609	return c
5610}
5611
5612// Fields allows partial responses to be retrieved. See
5613// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5614// for more information.
5615func (c *DictionaryListOfflineMetadataCall) Fields(s ...googleapi.Field) *DictionaryListOfflineMetadataCall {
5616	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5617	return c
5618}
5619
5620// IfNoneMatch sets the optional parameter which makes the operation
5621// fail if the object's ETag matches the given value. This is useful for
5622// getting updates only after the object has changed since the last
5623// request. Use googleapi.IsNotModified to check whether the response
5624// error from Do is the result of In-None-Match.
5625func (c *DictionaryListOfflineMetadataCall) IfNoneMatch(entityTag string) *DictionaryListOfflineMetadataCall {
5626	c.ifNoneMatch_ = entityTag
5627	return c
5628}
5629
5630// Context sets the context to be used in this call's Do method. Any
5631// pending HTTP request will be aborted if the provided context is
5632// canceled.
5633func (c *DictionaryListOfflineMetadataCall) Context(ctx context.Context) *DictionaryListOfflineMetadataCall {
5634	c.ctx_ = ctx
5635	return c
5636}
5637
5638// Header returns an http.Header that can be modified by the caller to
5639// add HTTP headers to the request.
5640func (c *DictionaryListOfflineMetadataCall) Header() http.Header {
5641	if c.header_ == nil {
5642		c.header_ = make(http.Header)
5643	}
5644	return c.header_
5645}
5646
5647func (c *DictionaryListOfflineMetadataCall) doRequest(alt string) (*http.Response, error) {
5648	reqHeaders := make(http.Header)
5649	for k, v := range c.header_ {
5650		reqHeaders[k] = v
5651	}
5652	reqHeaders.Set("User-Agent", c.s.userAgent())
5653	if c.ifNoneMatch_ != "" {
5654		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5655	}
5656	var body io.Reader = nil
5657	c.urlParams_.Set("alt", alt)
5658	c.urlParams_.Set("prettyPrint", "false")
5659	urls := googleapi.ResolveRelative(c.s.BasePath, "dictionary/listOfflineMetadata")
5660	urls += "?" + c.urlParams_.Encode()
5661	req, err := http.NewRequest("GET", urls, body)
5662	if err != nil {
5663		return nil, err
5664	}
5665	req.Header = reqHeaders
5666	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5667}
5668
5669// Do executes the "books.dictionary.listOfflineMetadata" call.
5670// Exactly one of *Metadata or error will be non-nil. Any non-2xx status
5671// code is an error. Response headers are in either
5672// *Metadata.ServerResponse.Header or (if a response was returned at
5673// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5674// to check whether the returned error was because
5675// http.StatusNotModified was returned.
5676func (c *DictionaryListOfflineMetadataCall) Do(opts ...googleapi.CallOption) (*Metadata, error) {
5677	gensupport.SetOptions(c.urlParams_, opts...)
5678	res, err := c.doRequest("json")
5679	if res != nil && res.StatusCode == http.StatusNotModified {
5680		if res.Body != nil {
5681			res.Body.Close()
5682		}
5683		return nil, &googleapi.Error{
5684			Code:   res.StatusCode,
5685			Header: res.Header,
5686		}
5687	}
5688	if err != nil {
5689		return nil, err
5690	}
5691	defer googleapi.CloseBody(res)
5692	if err := googleapi.CheckResponse(res); err != nil {
5693		return nil, err
5694	}
5695	ret := &Metadata{
5696		ServerResponse: googleapi.ServerResponse{
5697			Header:         res.Header,
5698			HTTPStatusCode: res.StatusCode,
5699		},
5700	}
5701	target := &ret
5702	if err := gensupport.DecodeResponse(target, res); err != nil {
5703		return nil, err
5704	}
5705	return ret, nil
5706	// {
5707	//   "description": "Returns a list of offline dictionary metadata available",
5708	//   "httpMethod": "GET",
5709	//   "id": "books.dictionary.listOfflineMetadata",
5710	//   "parameterOrder": [
5711	//     "cpksver"
5712	//   ],
5713	//   "parameters": {
5714	//     "cpksver": {
5715	//       "description": "The device/version ID from which to request the data.",
5716	//       "location": "query",
5717	//       "required": true,
5718	//       "type": "string"
5719	//     }
5720	//   },
5721	//   "path": "dictionary/listOfflineMetadata",
5722	//   "response": {
5723	//     "$ref": "Metadata"
5724	//   },
5725	//   "scopes": [
5726	//     "https://www.googleapis.com/auth/books"
5727	//   ]
5728	// }
5729
5730}
5731
5732// method id "books.familysharing.getFamilyInfo":
5733
5734type FamilysharingGetFamilyInfoCall struct {
5735	s            *Service
5736	urlParams_   gensupport.URLParams
5737	ifNoneMatch_ string
5738	ctx_         context.Context
5739	header_      http.Header
5740}
5741
5742// GetFamilyInfo: Gets information regarding the family that the user is
5743// part of.
5744func (r *FamilysharingService) GetFamilyInfo() *FamilysharingGetFamilyInfoCall {
5745	c := &FamilysharingGetFamilyInfoCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5746	return c
5747}
5748
5749// Source sets the optional parameter "source": String to identify the
5750// originator of this request.
5751func (c *FamilysharingGetFamilyInfoCall) Source(source string) *FamilysharingGetFamilyInfoCall {
5752	c.urlParams_.Set("source", source)
5753	return c
5754}
5755
5756// Fields allows partial responses to be retrieved. See
5757// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5758// for more information.
5759func (c *FamilysharingGetFamilyInfoCall) Fields(s ...googleapi.Field) *FamilysharingGetFamilyInfoCall {
5760	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5761	return c
5762}
5763
5764// IfNoneMatch sets the optional parameter which makes the operation
5765// fail if the object's ETag matches the given value. This is useful for
5766// getting updates only after the object has changed since the last
5767// request. Use googleapi.IsNotModified to check whether the response
5768// error from Do is the result of In-None-Match.
5769func (c *FamilysharingGetFamilyInfoCall) IfNoneMatch(entityTag string) *FamilysharingGetFamilyInfoCall {
5770	c.ifNoneMatch_ = entityTag
5771	return c
5772}
5773
5774// Context sets the context to be used in this call's Do method. Any
5775// pending HTTP request will be aborted if the provided context is
5776// canceled.
5777func (c *FamilysharingGetFamilyInfoCall) Context(ctx context.Context) *FamilysharingGetFamilyInfoCall {
5778	c.ctx_ = ctx
5779	return c
5780}
5781
5782// Header returns an http.Header that can be modified by the caller to
5783// add HTTP headers to the request.
5784func (c *FamilysharingGetFamilyInfoCall) Header() http.Header {
5785	if c.header_ == nil {
5786		c.header_ = make(http.Header)
5787	}
5788	return c.header_
5789}
5790
5791func (c *FamilysharingGetFamilyInfoCall) doRequest(alt string) (*http.Response, error) {
5792	reqHeaders := make(http.Header)
5793	for k, v := range c.header_ {
5794		reqHeaders[k] = v
5795	}
5796	reqHeaders.Set("User-Agent", c.s.userAgent())
5797	if c.ifNoneMatch_ != "" {
5798		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
5799	}
5800	var body io.Reader = nil
5801	c.urlParams_.Set("alt", alt)
5802	c.urlParams_.Set("prettyPrint", "false")
5803	urls := googleapi.ResolveRelative(c.s.BasePath, "familysharing/getFamilyInfo")
5804	urls += "?" + c.urlParams_.Encode()
5805	req, err := http.NewRequest("GET", urls, body)
5806	if err != nil {
5807		return nil, err
5808	}
5809	req.Header = reqHeaders
5810	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5811}
5812
5813// Do executes the "books.familysharing.getFamilyInfo" call.
5814// Exactly one of *FamilyInfo or error will be non-nil. Any non-2xx
5815// status code is an error. Response headers are in either
5816// *FamilyInfo.ServerResponse.Header or (if a response was returned at
5817// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
5818// to check whether the returned error was because
5819// http.StatusNotModified was returned.
5820func (c *FamilysharingGetFamilyInfoCall) Do(opts ...googleapi.CallOption) (*FamilyInfo, error) {
5821	gensupport.SetOptions(c.urlParams_, opts...)
5822	res, err := c.doRequest("json")
5823	if res != nil && res.StatusCode == http.StatusNotModified {
5824		if res.Body != nil {
5825			res.Body.Close()
5826		}
5827		return nil, &googleapi.Error{
5828			Code:   res.StatusCode,
5829			Header: res.Header,
5830		}
5831	}
5832	if err != nil {
5833		return nil, err
5834	}
5835	defer googleapi.CloseBody(res)
5836	if err := googleapi.CheckResponse(res); err != nil {
5837		return nil, err
5838	}
5839	ret := &FamilyInfo{
5840		ServerResponse: googleapi.ServerResponse{
5841			Header:         res.Header,
5842			HTTPStatusCode: res.StatusCode,
5843		},
5844	}
5845	target := &ret
5846	if err := gensupport.DecodeResponse(target, res); err != nil {
5847		return nil, err
5848	}
5849	return ret, nil
5850	// {
5851	//   "description": "Gets information regarding the family that the user is part of.",
5852	//   "httpMethod": "GET",
5853	//   "id": "books.familysharing.getFamilyInfo",
5854	//   "parameters": {
5855	//     "source": {
5856	//       "description": "String to identify the originator of this request.",
5857	//       "location": "query",
5858	//       "type": "string"
5859	//     }
5860	//   },
5861	//   "path": "familysharing/getFamilyInfo",
5862	//   "response": {
5863	//     "$ref": "FamilyInfo"
5864	//   },
5865	//   "scopes": [
5866	//     "https://www.googleapis.com/auth/books"
5867	//   ]
5868	// }
5869
5870}
5871
5872// method id "books.familysharing.share":
5873
5874type FamilysharingShareCall struct {
5875	s          *Service
5876	urlParams_ gensupport.URLParams
5877	ctx_       context.Context
5878	header_    http.Header
5879}
5880
5881// Share: Initiates sharing of the content with the user's family. Empty
5882// response indicates success.
5883func (r *FamilysharingService) Share() *FamilysharingShareCall {
5884	c := &FamilysharingShareCall{s: r.s, urlParams_: make(gensupport.URLParams)}
5885	return c
5886}
5887
5888// DocId sets the optional parameter "docId": The docid to share.
5889func (c *FamilysharingShareCall) DocId(docId string) *FamilysharingShareCall {
5890	c.urlParams_.Set("docId", docId)
5891	return c
5892}
5893
5894// Source sets the optional parameter "source": String to identify the
5895// originator of this request.
5896func (c *FamilysharingShareCall) Source(source string) *FamilysharingShareCall {
5897	c.urlParams_.Set("source", source)
5898	return c
5899}
5900
5901// VolumeId sets the optional parameter "volumeId": The volume to share.
5902func (c *FamilysharingShareCall) VolumeId(volumeId string) *FamilysharingShareCall {
5903	c.urlParams_.Set("volumeId", volumeId)
5904	return c
5905}
5906
5907// Fields allows partial responses to be retrieved. See
5908// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
5909// for more information.
5910func (c *FamilysharingShareCall) Fields(s ...googleapi.Field) *FamilysharingShareCall {
5911	c.urlParams_.Set("fields", googleapi.CombineFields(s))
5912	return c
5913}
5914
5915// Context sets the context to be used in this call's Do method. Any
5916// pending HTTP request will be aborted if the provided context is
5917// canceled.
5918func (c *FamilysharingShareCall) Context(ctx context.Context) *FamilysharingShareCall {
5919	c.ctx_ = ctx
5920	return c
5921}
5922
5923// Header returns an http.Header that can be modified by the caller to
5924// add HTTP headers to the request.
5925func (c *FamilysharingShareCall) Header() http.Header {
5926	if c.header_ == nil {
5927		c.header_ = make(http.Header)
5928	}
5929	return c.header_
5930}
5931
5932func (c *FamilysharingShareCall) doRequest(alt string) (*http.Response, error) {
5933	reqHeaders := make(http.Header)
5934	for k, v := range c.header_ {
5935		reqHeaders[k] = v
5936	}
5937	reqHeaders.Set("User-Agent", c.s.userAgent())
5938	var body io.Reader = nil
5939	c.urlParams_.Set("alt", alt)
5940	c.urlParams_.Set("prettyPrint", "false")
5941	urls := googleapi.ResolveRelative(c.s.BasePath, "familysharing/share")
5942	urls += "?" + c.urlParams_.Encode()
5943	req, err := http.NewRequest("POST", urls, body)
5944	if err != nil {
5945		return nil, err
5946	}
5947	req.Header = reqHeaders
5948	return gensupport.SendRequest(c.ctx_, c.s.client, req)
5949}
5950
5951// Do executes the "books.familysharing.share" call.
5952func (c *FamilysharingShareCall) Do(opts ...googleapi.CallOption) error {
5953	gensupport.SetOptions(c.urlParams_, opts...)
5954	res, err := c.doRequest("json")
5955	if err != nil {
5956		return err
5957	}
5958	defer googleapi.CloseBody(res)
5959	if err := googleapi.CheckResponse(res); err != nil {
5960		return err
5961	}
5962	return nil
5963	// {
5964	//   "description": "Initiates sharing of the content with the user's family. Empty response indicates success.",
5965	//   "httpMethod": "POST",
5966	//   "id": "books.familysharing.share",
5967	//   "parameters": {
5968	//     "docId": {
5969	//       "description": "The docid to share.",
5970	//       "location": "query",
5971	//       "type": "string"
5972	//     },
5973	//     "source": {
5974	//       "description": "String to identify the originator of this request.",
5975	//       "location": "query",
5976	//       "type": "string"
5977	//     },
5978	//     "volumeId": {
5979	//       "description": "The volume to share.",
5980	//       "location": "query",
5981	//       "type": "string"
5982	//     }
5983	//   },
5984	//   "path": "familysharing/share",
5985	//   "scopes": [
5986	//     "https://www.googleapis.com/auth/books"
5987	//   ]
5988	// }
5989
5990}
5991
5992// method id "books.familysharing.unshare":
5993
5994type FamilysharingUnshareCall struct {
5995	s          *Service
5996	urlParams_ gensupport.URLParams
5997	ctx_       context.Context
5998	header_    http.Header
5999}
6000
6001// Unshare: Initiates revoking content that has already been shared with
6002// the user's family. Empty response indicates success.
6003func (r *FamilysharingService) Unshare() *FamilysharingUnshareCall {
6004	c := &FamilysharingUnshareCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6005	return c
6006}
6007
6008// DocId sets the optional parameter "docId": The docid to unshare.
6009func (c *FamilysharingUnshareCall) DocId(docId string) *FamilysharingUnshareCall {
6010	c.urlParams_.Set("docId", docId)
6011	return c
6012}
6013
6014// Source sets the optional parameter "source": String to identify the
6015// originator of this request.
6016func (c *FamilysharingUnshareCall) Source(source string) *FamilysharingUnshareCall {
6017	c.urlParams_.Set("source", source)
6018	return c
6019}
6020
6021// VolumeId sets the optional parameter "volumeId": The volume to
6022// unshare.
6023func (c *FamilysharingUnshareCall) VolumeId(volumeId string) *FamilysharingUnshareCall {
6024	c.urlParams_.Set("volumeId", volumeId)
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 *FamilysharingUnshareCall) Fields(s ...googleapi.Field) *FamilysharingUnshareCall {
6032	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6033	return c
6034}
6035
6036// Context sets the context to be used in this call's Do method. Any
6037// pending HTTP request will be aborted if the provided context is
6038// canceled.
6039func (c *FamilysharingUnshareCall) Context(ctx context.Context) *FamilysharingUnshareCall {
6040	c.ctx_ = ctx
6041	return c
6042}
6043
6044// Header returns an http.Header that can be modified by the caller to
6045// add HTTP headers to the request.
6046func (c *FamilysharingUnshareCall) Header() http.Header {
6047	if c.header_ == nil {
6048		c.header_ = make(http.Header)
6049	}
6050	return c.header_
6051}
6052
6053func (c *FamilysharingUnshareCall) doRequest(alt string) (*http.Response, error) {
6054	reqHeaders := make(http.Header)
6055	for k, v := range c.header_ {
6056		reqHeaders[k] = v
6057	}
6058	reqHeaders.Set("User-Agent", c.s.userAgent())
6059	var body io.Reader = nil
6060	c.urlParams_.Set("alt", alt)
6061	c.urlParams_.Set("prettyPrint", "false")
6062	urls := googleapi.ResolveRelative(c.s.BasePath, "familysharing/unshare")
6063	urls += "?" + c.urlParams_.Encode()
6064	req, err := http.NewRequest("POST", urls, body)
6065	if err != nil {
6066		return nil, err
6067	}
6068	req.Header = reqHeaders
6069	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6070}
6071
6072// Do executes the "books.familysharing.unshare" call.
6073func (c *FamilysharingUnshareCall) Do(opts ...googleapi.CallOption) error {
6074	gensupport.SetOptions(c.urlParams_, opts...)
6075	res, err := c.doRequest("json")
6076	if err != nil {
6077		return err
6078	}
6079	defer googleapi.CloseBody(res)
6080	if err := googleapi.CheckResponse(res); err != nil {
6081		return err
6082	}
6083	return nil
6084	// {
6085	//   "description": "Initiates revoking content that has already been shared with the user's family. Empty response indicates success.",
6086	//   "httpMethod": "POST",
6087	//   "id": "books.familysharing.unshare",
6088	//   "parameters": {
6089	//     "docId": {
6090	//       "description": "The docid to unshare.",
6091	//       "location": "query",
6092	//       "type": "string"
6093	//     },
6094	//     "source": {
6095	//       "description": "String to identify the originator of this request.",
6096	//       "location": "query",
6097	//       "type": "string"
6098	//     },
6099	//     "volumeId": {
6100	//       "description": "The volume to unshare.",
6101	//       "location": "query",
6102	//       "type": "string"
6103	//     }
6104	//   },
6105	//   "path": "familysharing/unshare",
6106	//   "scopes": [
6107	//     "https://www.googleapis.com/auth/books"
6108	//   ]
6109	// }
6110
6111}
6112
6113// method id "books.layers.get":
6114
6115type LayersGetCall struct {
6116	s            *Service
6117	volumeId     string
6118	summaryId    string
6119	urlParams_   gensupport.URLParams
6120	ifNoneMatch_ string
6121	ctx_         context.Context
6122	header_      http.Header
6123}
6124
6125// Get: Gets the layer summary for a volume.
6126func (r *LayersService) Get(volumeId string, summaryId string) *LayersGetCall {
6127	c := &LayersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6128	c.volumeId = volumeId
6129	c.summaryId = summaryId
6130	return c
6131}
6132
6133// ContentVersion sets the optional parameter "contentVersion": The
6134// content version for the requested volume.
6135func (c *LayersGetCall) ContentVersion(contentVersion string) *LayersGetCall {
6136	c.urlParams_.Set("contentVersion", contentVersion)
6137	return c
6138}
6139
6140// Source sets the optional parameter "source": String to identify the
6141// originator of this request.
6142func (c *LayersGetCall) Source(source string) *LayersGetCall {
6143	c.urlParams_.Set("source", source)
6144	return c
6145}
6146
6147// Fields allows partial responses to be retrieved. See
6148// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6149// for more information.
6150func (c *LayersGetCall) Fields(s ...googleapi.Field) *LayersGetCall {
6151	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6152	return c
6153}
6154
6155// IfNoneMatch sets the optional parameter which makes the operation
6156// fail if the object's ETag matches the given value. This is useful for
6157// getting updates only after the object has changed since the last
6158// request. Use googleapi.IsNotModified to check whether the response
6159// error from Do is the result of In-None-Match.
6160func (c *LayersGetCall) IfNoneMatch(entityTag string) *LayersGetCall {
6161	c.ifNoneMatch_ = entityTag
6162	return c
6163}
6164
6165// Context sets the context to be used in this call's Do method. Any
6166// pending HTTP request will be aborted if the provided context is
6167// canceled.
6168func (c *LayersGetCall) Context(ctx context.Context) *LayersGetCall {
6169	c.ctx_ = ctx
6170	return c
6171}
6172
6173// Header returns an http.Header that can be modified by the caller to
6174// add HTTP headers to the request.
6175func (c *LayersGetCall) Header() http.Header {
6176	if c.header_ == nil {
6177		c.header_ = make(http.Header)
6178	}
6179	return c.header_
6180}
6181
6182func (c *LayersGetCall) doRequest(alt string) (*http.Response, error) {
6183	reqHeaders := make(http.Header)
6184	for k, v := range c.header_ {
6185		reqHeaders[k] = v
6186	}
6187	reqHeaders.Set("User-Agent", c.s.userAgent())
6188	if c.ifNoneMatch_ != "" {
6189		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6190	}
6191	var body io.Reader = nil
6192	c.urlParams_.Set("alt", alt)
6193	c.urlParams_.Set("prettyPrint", "false")
6194	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/layersummary/{summaryId}")
6195	urls += "?" + c.urlParams_.Encode()
6196	req, err := http.NewRequest("GET", urls, body)
6197	if err != nil {
6198		return nil, err
6199	}
6200	req.Header = reqHeaders
6201	googleapi.Expand(req.URL, map[string]string{
6202		"volumeId":  c.volumeId,
6203		"summaryId": c.summaryId,
6204	})
6205	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6206}
6207
6208// Do executes the "books.layers.get" call.
6209// Exactly one of *Layersummary or error will be non-nil. Any non-2xx
6210// status code is an error. Response headers are in either
6211// *Layersummary.ServerResponse.Header or (if a response was returned at
6212// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
6213// to check whether the returned error was because
6214// http.StatusNotModified was returned.
6215func (c *LayersGetCall) Do(opts ...googleapi.CallOption) (*Layersummary, error) {
6216	gensupport.SetOptions(c.urlParams_, opts...)
6217	res, err := c.doRequest("json")
6218	if res != nil && res.StatusCode == http.StatusNotModified {
6219		if res.Body != nil {
6220			res.Body.Close()
6221		}
6222		return nil, &googleapi.Error{
6223			Code:   res.StatusCode,
6224			Header: res.Header,
6225		}
6226	}
6227	if err != nil {
6228		return nil, err
6229	}
6230	defer googleapi.CloseBody(res)
6231	if err := googleapi.CheckResponse(res); err != nil {
6232		return nil, err
6233	}
6234	ret := &Layersummary{
6235		ServerResponse: googleapi.ServerResponse{
6236			Header:         res.Header,
6237			HTTPStatusCode: res.StatusCode,
6238		},
6239	}
6240	target := &ret
6241	if err := gensupport.DecodeResponse(target, res); err != nil {
6242		return nil, err
6243	}
6244	return ret, nil
6245	// {
6246	//   "description": "Gets the layer summary for a volume.",
6247	//   "httpMethod": "GET",
6248	//   "id": "books.layers.get",
6249	//   "parameterOrder": [
6250	//     "volumeId",
6251	//     "summaryId"
6252	//   ],
6253	//   "parameters": {
6254	//     "contentVersion": {
6255	//       "description": "The content version for the requested volume.",
6256	//       "location": "query",
6257	//       "type": "string"
6258	//     },
6259	//     "source": {
6260	//       "description": "String to identify the originator of this request.",
6261	//       "location": "query",
6262	//       "type": "string"
6263	//     },
6264	//     "summaryId": {
6265	//       "description": "The ID for the layer to get the summary for.",
6266	//       "location": "path",
6267	//       "required": true,
6268	//       "type": "string"
6269	//     },
6270	//     "volumeId": {
6271	//       "description": "The volume to retrieve layers for.",
6272	//       "location": "path",
6273	//       "required": true,
6274	//       "type": "string"
6275	//     }
6276	//   },
6277	//   "path": "volumes/{volumeId}/layersummary/{summaryId}",
6278	//   "response": {
6279	//     "$ref": "Layersummary"
6280	//   },
6281	//   "scopes": [
6282	//     "https://www.googleapis.com/auth/books"
6283	//   ]
6284	// }
6285
6286}
6287
6288// method id "books.layers.list":
6289
6290type LayersListCall struct {
6291	s            *Service
6292	volumeId     string
6293	urlParams_   gensupport.URLParams
6294	ifNoneMatch_ string
6295	ctx_         context.Context
6296	header_      http.Header
6297}
6298
6299// List: List the layer summaries for a volume.
6300func (r *LayersService) List(volumeId string) *LayersListCall {
6301	c := &LayersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6302	c.volumeId = volumeId
6303	return c
6304}
6305
6306// ContentVersion sets the optional parameter "contentVersion": The
6307// content version for the requested volume.
6308func (c *LayersListCall) ContentVersion(contentVersion string) *LayersListCall {
6309	c.urlParams_.Set("contentVersion", contentVersion)
6310	return c
6311}
6312
6313// MaxResults sets the optional parameter "maxResults": Maximum number
6314// of results to return
6315func (c *LayersListCall) MaxResults(maxResults int64) *LayersListCall {
6316	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
6317	return c
6318}
6319
6320// PageToken sets the optional parameter "pageToken": The value of the
6321// nextToken from the previous page.
6322func (c *LayersListCall) PageToken(pageToken string) *LayersListCall {
6323	c.urlParams_.Set("pageToken", pageToken)
6324	return c
6325}
6326
6327// Source sets the optional parameter "source": String to identify the
6328// originator of this request.
6329func (c *LayersListCall) Source(source string) *LayersListCall {
6330	c.urlParams_.Set("source", source)
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 *LayersListCall) Fields(s ...googleapi.Field) *LayersListCall {
6338	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6339	return c
6340}
6341
6342// IfNoneMatch sets the optional parameter which makes the operation
6343// fail if the object's ETag matches the given value. This is useful for
6344// getting updates only after the object has changed since the last
6345// request. Use googleapi.IsNotModified to check whether the response
6346// error from Do is the result of In-None-Match.
6347func (c *LayersListCall) IfNoneMatch(entityTag string) *LayersListCall {
6348	c.ifNoneMatch_ = entityTag
6349	return c
6350}
6351
6352// Context sets the context to be used in this call's Do method. Any
6353// pending HTTP request will be aborted if the provided context is
6354// canceled.
6355func (c *LayersListCall) Context(ctx context.Context) *LayersListCall {
6356	c.ctx_ = ctx
6357	return c
6358}
6359
6360// Header returns an http.Header that can be modified by the caller to
6361// add HTTP headers to the request.
6362func (c *LayersListCall) Header() http.Header {
6363	if c.header_ == nil {
6364		c.header_ = make(http.Header)
6365	}
6366	return c.header_
6367}
6368
6369func (c *LayersListCall) doRequest(alt string) (*http.Response, error) {
6370	reqHeaders := make(http.Header)
6371	for k, v := range c.header_ {
6372		reqHeaders[k] = v
6373	}
6374	reqHeaders.Set("User-Agent", c.s.userAgent())
6375	if c.ifNoneMatch_ != "" {
6376		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6377	}
6378	var body io.Reader = nil
6379	c.urlParams_.Set("alt", alt)
6380	c.urlParams_.Set("prettyPrint", "false")
6381	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/layersummary")
6382	urls += "?" + c.urlParams_.Encode()
6383	req, err := http.NewRequest("GET", urls, body)
6384	if err != nil {
6385		return nil, err
6386	}
6387	req.Header = reqHeaders
6388	googleapi.Expand(req.URL, map[string]string{
6389		"volumeId": c.volumeId,
6390	})
6391	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6392}
6393
6394// Do executes the "books.layers.list" call.
6395// Exactly one of *Layersummaries or error will be non-nil. Any non-2xx
6396// status code is an error. Response headers are in either
6397// *Layersummaries.ServerResponse.Header or (if a response was returned
6398// at all) in error.(*googleapi.Error).Header. Use
6399// googleapi.IsNotModified to check whether the returned error was
6400// because http.StatusNotModified was returned.
6401func (c *LayersListCall) Do(opts ...googleapi.CallOption) (*Layersummaries, error) {
6402	gensupport.SetOptions(c.urlParams_, opts...)
6403	res, err := c.doRequest("json")
6404	if res != nil && res.StatusCode == http.StatusNotModified {
6405		if res.Body != nil {
6406			res.Body.Close()
6407		}
6408		return nil, &googleapi.Error{
6409			Code:   res.StatusCode,
6410			Header: res.Header,
6411		}
6412	}
6413	if err != nil {
6414		return nil, err
6415	}
6416	defer googleapi.CloseBody(res)
6417	if err := googleapi.CheckResponse(res); err != nil {
6418		return nil, err
6419	}
6420	ret := &Layersummaries{
6421		ServerResponse: googleapi.ServerResponse{
6422			Header:         res.Header,
6423			HTTPStatusCode: res.StatusCode,
6424		},
6425	}
6426	target := &ret
6427	if err := gensupport.DecodeResponse(target, res); err != nil {
6428		return nil, err
6429	}
6430	return ret, nil
6431	// {
6432	//   "description": "List the layer summaries for a volume.",
6433	//   "httpMethod": "GET",
6434	//   "id": "books.layers.list",
6435	//   "parameterOrder": [
6436	//     "volumeId"
6437	//   ],
6438	//   "parameters": {
6439	//     "contentVersion": {
6440	//       "description": "The content version for the requested volume.",
6441	//       "location": "query",
6442	//       "type": "string"
6443	//     },
6444	//     "maxResults": {
6445	//       "description": "Maximum number of results to return",
6446	//       "format": "uint32",
6447	//       "location": "query",
6448	//       "maximum": "200",
6449	//       "minimum": "0",
6450	//       "type": "integer"
6451	//     },
6452	//     "pageToken": {
6453	//       "description": "The value of the nextToken from the previous page.",
6454	//       "location": "query",
6455	//       "type": "string"
6456	//     },
6457	//     "source": {
6458	//       "description": "String to identify the originator of this request.",
6459	//       "location": "query",
6460	//       "type": "string"
6461	//     },
6462	//     "volumeId": {
6463	//       "description": "The volume to retrieve layers for.",
6464	//       "location": "path",
6465	//       "required": true,
6466	//       "type": "string"
6467	//     }
6468	//   },
6469	//   "path": "volumes/{volumeId}/layersummary",
6470	//   "response": {
6471	//     "$ref": "Layersummaries"
6472	//   },
6473	//   "scopes": [
6474	//     "https://www.googleapis.com/auth/books"
6475	//   ]
6476	// }
6477
6478}
6479
6480// method id "books.layers.annotationData.get":
6481
6482type LayersAnnotationDataGetCall struct {
6483	s                *Service
6484	volumeId         string
6485	layerId          string
6486	annotationDataId string
6487	urlParams_       gensupport.URLParams
6488	ifNoneMatch_     string
6489	ctx_             context.Context
6490	header_          http.Header
6491}
6492
6493// Get: Gets the annotation data.
6494func (r *LayersAnnotationDataService) Get(volumeId string, layerId string, annotationDataId string, contentVersion string) *LayersAnnotationDataGetCall {
6495	c := &LayersAnnotationDataGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6496	c.volumeId = volumeId
6497	c.layerId = layerId
6498	c.annotationDataId = annotationDataId
6499	c.urlParams_.Set("contentVersion", contentVersion)
6500	return c
6501}
6502
6503// AllowWebDefinitions sets the optional parameter
6504// "allowWebDefinitions": For the dictionary layer. Whether or not to
6505// allow web definitions.
6506func (c *LayersAnnotationDataGetCall) AllowWebDefinitions(allowWebDefinitions bool) *LayersAnnotationDataGetCall {
6507	c.urlParams_.Set("allowWebDefinitions", fmt.Sprint(allowWebDefinitions))
6508	return c
6509}
6510
6511// H sets the optional parameter "h": The requested pixel height for any
6512// images. If height is provided width must also be provided.
6513func (c *LayersAnnotationDataGetCall) H(h int64) *LayersAnnotationDataGetCall {
6514	c.urlParams_.Set("h", fmt.Sprint(h))
6515	return c
6516}
6517
6518// Locale sets the optional parameter "locale": The locale information
6519// for the data. ISO-639-1 language and ISO-3166-1 country code. Ex:
6520// 'en_US'.
6521func (c *LayersAnnotationDataGetCall) Locale(locale string) *LayersAnnotationDataGetCall {
6522	c.urlParams_.Set("locale", locale)
6523	return c
6524}
6525
6526// Scale sets the optional parameter "scale": The requested scale for
6527// the image.
6528func (c *LayersAnnotationDataGetCall) Scale(scale int64) *LayersAnnotationDataGetCall {
6529	c.urlParams_.Set("scale", fmt.Sprint(scale))
6530	return c
6531}
6532
6533// Source sets the optional parameter "source": String to identify the
6534// originator of this request.
6535func (c *LayersAnnotationDataGetCall) Source(source string) *LayersAnnotationDataGetCall {
6536	c.urlParams_.Set("source", source)
6537	return c
6538}
6539
6540// W sets the optional parameter "w": The requested pixel width for any
6541// images. If width is provided height must also be provided.
6542func (c *LayersAnnotationDataGetCall) W(w int64) *LayersAnnotationDataGetCall {
6543	c.urlParams_.Set("w", fmt.Sprint(w))
6544	return c
6545}
6546
6547// Fields allows partial responses to be retrieved. See
6548// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6549// for more information.
6550func (c *LayersAnnotationDataGetCall) Fields(s ...googleapi.Field) *LayersAnnotationDataGetCall {
6551	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6552	return c
6553}
6554
6555// IfNoneMatch sets the optional parameter which makes the operation
6556// fail if the object's ETag matches the given value. This is useful for
6557// getting updates only after the object has changed since the last
6558// request. Use googleapi.IsNotModified to check whether the response
6559// error from Do is the result of In-None-Match.
6560func (c *LayersAnnotationDataGetCall) IfNoneMatch(entityTag string) *LayersAnnotationDataGetCall {
6561	c.ifNoneMatch_ = entityTag
6562	return c
6563}
6564
6565// Context sets the context to be used in this call's Do method. Any
6566// pending HTTP request will be aborted if the provided context is
6567// canceled.
6568func (c *LayersAnnotationDataGetCall) Context(ctx context.Context) *LayersAnnotationDataGetCall {
6569	c.ctx_ = ctx
6570	return c
6571}
6572
6573// Header returns an http.Header that can be modified by the caller to
6574// add HTTP headers to the request.
6575func (c *LayersAnnotationDataGetCall) Header() http.Header {
6576	if c.header_ == nil {
6577		c.header_ = make(http.Header)
6578	}
6579	return c.header_
6580}
6581
6582func (c *LayersAnnotationDataGetCall) doRequest(alt string) (*http.Response, error) {
6583	reqHeaders := make(http.Header)
6584	for k, v := range c.header_ {
6585		reqHeaders[k] = v
6586	}
6587	reqHeaders.Set("User-Agent", c.s.userAgent())
6588	if c.ifNoneMatch_ != "" {
6589		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6590	}
6591	var body io.Reader = nil
6592	c.urlParams_.Set("alt", alt)
6593	c.urlParams_.Set("prettyPrint", "false")
6594	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}")
6595	urls += "?" + c.urlParams_.Encode()
6596	req, err := http.NewRequest("GET", urls, body)
6597	if err != nil {
6598		return nil, err
6599	}
6600	req.Header = reqHeaders
6601	googleapi.Expand(req.URL, map[string]string{
6602		"volumeId":         c.volumeId,
6603		"layerId":          c.layerId,
6604		"annotationDataId": c.annotationDataId,
6605	})
6606	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6607}
6608
6609// Do executes the "books.layers.annotationData.get" call.
6610// Exactly one of *Annotationdata or error will be non-nil. Any non-2xx
6611// status code is an error. Response headers are in either
6612// *Annotationdata.ServerResponse.Header or (if a response was returned
6613// at all) in error.(*googleapi.Error).Header. Use
6614// googleapi.IsNotModified to check whether the returned error was
6615// because http.StatusNotModified was returned.
6616func (c *LayersAnnotationDataGetCall) Do(opts ...googleapi.CallOption) (*Annotationdata, error) {
6617	gensupport.SetOptions(c.urlParams_, opts...)
6618	res, err := c.doRequest("json")
6619	if res != nil && res.StatusCode == http.StatusNotModified {
6620		if res.Body != nil {
6621			res.Body.Close()
6622		}
6623		return nil, &googleapi.Error{
6624			Code:   res.StatusCode,
6625			Header: res.Header,
6626		}
6627	}
6628	if err != nil {
6629		return nil, err
6630	}
6631	defer googleapi.CloseBody(res)
6632	if err := googleapi.CheckResponse(res); err != nil {
6633		return nil, err
6634	}
6635	ret := &Annotationdata{
6636		ServerResponse: googleapi.ServerResponse{
6637			Header:         res.Header,
6638			HTTPStatusCode: res.StatusCode,
6639		},
6640	}
6641	target := &ret
6642	if err := gensupport.DecodeResponse(target, res); err != nil {
6643		return nil, err
6644	}
6645	return ret, nil
6646	// {
6647	//   "description": "Gets the annotation data.",
6648	//   "httpMethod": "GET",
6649	//   "id": "books.layers.annotationData.get",
6650	//   "parameterOrder": [
6651	//     "volumeId",
6652	//     "layerId",
6653	//     "annotationDataId",
6654	//     "contentVersion"
6655	//   ],
6656	//   "parameters": {
6657	//     "allowWebDefinitions": {
6658	//       "description": "For the dictionary layer. Whether or not to allow web definitions.",
6659	//       "location": "query",
6660	//       "type": "boolean"
6661	//     },
6662	//     "annotationDataId": {
6663	//       "description": "The ID of the annotation data to retrieve.",
6664	//       "location": "path",
6665	//       "required": true,
6666	//       "type": "string"
6667	//     },
6668	//     "contentVersion": {
6669	//       "description": "The content version for the volume you are trying to retrieve.",
6670	//       "location": "query",
6671	//       "required": true,
6672	//       "type": "string"
6673	//     },
6674	//     "h": {
6675	//       "description": "The requested pixel height for any images. If height is provided width must also be provided.",
6676	//       "format": "int32",
6677	//       "location": "query",
6678	//       "type": "integer"
6679	//     },
6680	//     "layerId": {
6681	//       "description": "The ID for the layer to get the annotations.",
6682	//       "location": "path",
6683	//       "required": true,
6684	//       "type": "string"
6685	//     },
6686	//     "locale": {
6687	//       "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.",
6688	//       "location": "query",
6689	//       "type": "string"
6690	//     },
6691	//     "scale": {
6692	//       "description": "The requested scale for the image.",
6693	//       "format": "int32",
6694	//       "location": "query",
6695	//       "minimum": "0",
6696	//       "type": "integer"
6697	//     },
6698	//     "source": {
6699	//       "description": "String to identify the originator of this request.",
6700	//       "location": "query",
6701	//       "type": "string"
6702	//     },
6703	//     "volumeId": {
6704	//       "description": "The volume to retrieve annotations for.",
6705	//       "location": "path",
6706	//       "required": true,
6707	//       "type": "string"
6708	//     },
6709	//     "w": {
6710	//       "description": "The requested pixel width for any images. If width is provided height must also be provided.",
6711	//       "format": "int32",
6712	//       "location": "query",
6713	//       "type": "integer"
6714	//     }
6715	//   },
6716	//   "path": "volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}",
6717	//   "response": {
6718	//     "$ref": "Annotationdata"
6719	//   },
6720	//   "scopes": [
6721	//     "https://www.googleapis.com/auth/books"
6722	//   ]
6723	// }
6724
6725}
6726
6727// method id "books.layers.annotationData.list":
6728
6729type LayersAnnotationDataListCall struct {
6730	s            *Service
6731	volumeId     string
6732	layerId      string
6733	urlParams_   gensupport.URLParams
6734	ifNoneMatch_ string
6735	ctx_         context.Context
6736	header_      http.Header
6737}
6738
6739// List: Gets the annotation data for a volume and layer.
6740func (r *LayersAnnotationDataService) List(volumeId string, layerId string, contentVersion string) *LayersAnnotationDataListCall {
6741	c := &LayersAnnotationDataListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
6742	c.volumeId = volumeId
6743	c.layerId = layerId
6744	c.urlParams_.Set("contentVersion", contentVersion)
6745	return c
6746}
6747
6748// AnnotationDataId sets the optional parameter "annotationDataId": The
6749// list of Annotation Data Ids to retrieve. Pagination is ignored if
6750// this is set.
6751func (c *LayersAnnotationDataListCall) AnnotationDataId(annotationDataId ...string) *LayersAnnotationDataListCall {
6752	c.urlParams_.SetMulti("annotationDataId", append([]string{}, annotationDataId...))
6753	return c
6754}
6755
6756// H sets the optional parameter "h": The requested pixel height for any
6757// images. If height is provided width must also be provided.
6758func (c *LayersAnnotationDataListCall) H(h int64) *LayersAnnotationDataListCall {
6759	c.urlParams_.Set("h", fmt.Sprint(h))
6760	return c
6761}
6762
6763// Locale sets the optional parameter "locale": The locale information
6764// for the data. ISO-639-1 language and ISO-3166-1 country code. Ex:
6765// 'en_US'.
6766func (c *LayersAnnotationDataListCall) Locale(locale string) *LayersAnnotationDataListCall {
6767	c.urlParams_.Set("locale", locale)
6768	return c
6769}
6770
6771// MaxResults sets the optional parameter "maxResults": Maximum number
6772// of results to return
6773func (c *LayersAnnotationDataListCall) MaxResults(maxResults int64) *LayersAnnotationDataListCall {
6774	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
6775	return c
6776}
6777
6778// PageToken sets the optional parameter "pageToken": The value of the
6779// nextToken from the previous page.
6780func (c *LayersAnnotationDataListCall) PageToken(pageToken string) *LayersAnnotationDataListCall {
6781	c.urlParams_.Set("pageToken", pageToken)
6782	return c
6783}
6784
6785// Scale sets the optional parameter "scale": The requested scale for
6786// the image.
6787func (c *LayersAnnotationDataListCall) Scale(scale int64) *LayersAnnotationDataListCall {
6788	c.urlParams_.Set("scale", fmt.Sprint(scale))
6789	return c
6790}
6791
6792// Source sets the optional parameter "source": String to identify the
6793// originator of this request.
6794func (c *LayersAnnotationDataListCall) Source(source string) *LayersAnnotationDataListCall {
6795	c.urlParams_.Set("source", source)
6796	return c
6797}
6798
6799// UpdatedMax sets the optional parameter "updatedMax": RFC 3339
6800// timestamp to restrict to items updated prior to this timestamp
6801// (exclusive).
6802func (c *LayersAnnotationDataListCall) UpdatedMax(updatedMax string) *LayersAnnotationDataListCall {
6803	c.urlParams_.Set("updatedMax", updatedMax)
6804	return c
6805}
6806
6807// UpdatedMin sets the optional parameter "updatedMin": RFC 3339
6808// timestamp to restrict to items updated since this timestamp
6809// (inclusive).
6810func (c *LayersAnnotationDataListCall) UpdatedMin(updatedMin string) *LayersAnnotationDataListCall {
6811	c.urlParams_.Set("updatedMin", updatedMin)
6812	return c
6813}
6814
6815// W sets the optional parameter "w": The requested pixel width for any
6816// images. If width is provided height must also be provided.
6817func (c *LayersAnnotationDataListCall) W(w int64) *LayersAnnotationDataListCall {
6818	c.urlParams_.Set("w", fmt.Sprint(w))
6819	return c
6820}
6821
6822// Fields allows partial responses to be retrieved. See
6823// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
6824// for more information.
6825func (c *LayersAnnotationDataListCall) Fields(s ...googleapi.Field) *LayersAnnotationDataListCall {
6826	c.urlParams_.Set("fields", googleapi.CombineFields(s))
6827	return c
6828}
6829
6830// IfNoneMatch sets the optional parameter which makes the operation
6831// fail if the object's ETag matches the given value. This is useful for
6832// getting updates only after the object has changed since the last
6833// request. Use googleapi.IsNotModified to check whether the response
6834// error from Do is the result of In-None-Match.
6835func (c *LayersAnnotationDataListCall) IfNoneMatch(entityTag string) *LayersAnnotationDataListCall {
6836	c.ifNoneMatch_ = entityTag
6837	return c
6838}
6839
6840// Context sets the context to be used in this call's Do method. Any
6841// pending HTTP request will be aborted if the provided context is
6842// canceled.
6843func (c *LayersAnnotationDataListCall) Context(ctx context.Context) *LayersAnnotationDataListCall {
6844	c.ctx_ = ctx
6845	return c
6846}
6847
6848// Header returns an http.Header that can be modified by the caller to
6849// add HTTP headers to the request.
6850func (c *LayersAnnotationDataListCall) Header() http.Header {
6851	if c.header_ == nil {
6852		c.header_ = make(http.Header)
6853	}
6854	return c.header_
6855}
6856
6857func (c *LayersAnnotationDataListCall) doRequest(alt string) (*http.Response, error) {
6858	reqHeaders := make(http.Header)
6859	for k, v := range c.header_ {
6860		reqHeaders[k] = v
6861	}
6862	reqHeaders.Set("User-Agent", c.s.userAgent())
6863	if c.ifNoneMatch_ != "" {
6864		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
6865	}
6866	var body io.Reader = nil
6867	c.urlParams_.Set("alt", alt)
6868	c.urlParams_.Set("prettyPrint", "false")
6869	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/layers/{layerId}/data")
6870	urls += "?" + c.urlParams_.Encode()
6871	req, err := http.NewRequest("GET", urls, body)
6872	if err != nil {
6873		return nil, err
6874	}
6875	req.Header = reqHeaders
6876	googleapi.Expand(req.URL, map[string]string{
6877		"volumeId": c.volumeId,
6878		"layerId":  c.layerId,
6879	})
6880	return gensupport.SendRequest(c.ctx_, c.s.client, req)
6881}
6882
6883// Do executes the "books.layers.annotationData.list" call.
6884// Exactly one of *Annotationsdata or error will be non-nil. Any non-2xx
6885// status code is an error. Response headers are in either
6886// *Annotationsdata.ServerResponse.Header or (if a response was returned
6887// at all) in error.(*googleapi.Error).Header. Use
6888// googleapi.IsNotModified to check whether the returned error was
6889// because http.StatusNotModified was returned.
6890func (c *LayersAnnotationDataListCall) Do(opts ...googleapi.CallOption) (*Annotationsdata, error) {
6891	gensupport.SetOptions(c.urlParams_, opts...)
6892	res, err := c.doRequest("json")
6893	if res != nil && res.StatusCode == http.StatusNotModified {
6894		if res.Body != nil {
6895			res.Body.Close()
6896		}
6897		return nil, &googleapi.Error{
6898			Code:   res.StatusCode,
6899			Header: res.Header,
6900		}
6901	}
6902	if err != nil {
6903		return nil, err
6904	}
6905	defer googleapi.CloseBody(res)
6906	if err := googleapi.CheckResponse(res); err != nil {
6907		return nil, err
6908	}
6909	ret := &Annotationsdata{
6910		ServerResponse: googleapi.ServerResponse{
6911			Header:         res.Header,
6912			HTTPStatusCode: res.StatusCode,
6913		},
6914	}
6915	target := &ret
6916	if err := gensupport.DecodeResponse(target, res); err != nil {
6917		return nil, err
6918	}
6919	return ret, nil
6920	// {
6921	//   "description": "Gets the annotation data for a volume and layer.",
6922	//   "httpMethod": "GET",
6923	//   "id": "books.layers.annotationData.list",
6924	//   "parameterOrder": [
6925	//     "volumeId",
6926	//     "layerId",
6927	//     "contentVersion"
6928	//   ],
6929	//   "parameters": {
6930	//     "annotationDataId": {
6931	//       "description": "The list of Annotation Data Ids to retrieve. Pagination is ignored if this is set.",
6932	//       "location": "query",
6933	//       "repeated": true,
6934	//       "type": "string"
6935	//     },
6936	//     "contentVersion": {
6937	//       "description": "The content version for the requested volume.",
6938	//       "location": "query",
6939	//       "required": true,
6940	//       "type": "string"
6941	//     },
6942	//     "h": {
6943	//       "description": "The requested pixel height for any images. If height is provided width must also be provided.",
6944	//       "format": "int32",
6945	//       "location": "query",
6946	//       "type": "integer"
6947	//     },
6948	//     "layerId": {
6949	//       "description": "The ID for the layer to get the annotation data.",
6950	//       "location": "path",
6951	//       "required": true,
6952	//       "type": "string"
6953	//     },
6954	//     "locale": {
6955	//       "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.",
6956	//       "location": "query",
6957	//       "type": "string"
6958	//     },
6959	//     "maxResults": {
6960	//       "description": "Maximum number of results to return",
6961	//       "format": "uint32",
6962	//       "location": "query",
6963	//       "maximum": "200",
6964	//       "minimum": "0",
6965	//       "type": "integer"
6966	//     },
6967	//     "pageToken": {
6968	//       "description": "The value of the nextToken from the previous page.",
6969	//       "location": "query",
6970	//       "type": "string"
6971	//     },
6972	//     "scale": {
6973	//       "description": "The requested scale for the image.",
6974	//       "format": "int32",
6975	//       "location": "query",
6976	//       "minimum": "0",
6977	//       "type": "integer"
6978	//     },
6979	//     "source": {
6980	//       "description": "String to identify the originator of this request.",
6981	//       "location": "query",
6982	//       "type": "string"
6983	//     },
6984	//     "updatedMax": {
6985	//       "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).",
6986	//       "location": "query",
6987	//       "type": "string"
6988	//     },
6989	//     "updatedMin": {
6990	//       "description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).",
6991	//       "location": "query",
6992	//       "type": "string"
6993	//     },
6994	//     "volumeId": {
6995	//       "description": "The volume to retrieve annotation data for.",
6996	//       "location": "path",
6997	//       "required": true,
6998	//       "type": "string"
6999	//     },
7000	//     "w": {
7001	//       "description": "The requested pixel width for any images. If width is provided height must also be provided.",
7002	//       "format": "int32",
7003	//       "location": "query",
7004	//       "type": "integer"
7005	//     }
7006	//   },
7007	//   "path": "volumes/{volumeId}/layers/{layerId}/data",
7008	//   "response": {
7009	//     "$ref": "Annotationsdata"
7010	//   },
7011	//   "scopes": [
7012	//     "https://www.googleapis.com/auth/books"
7013	//   ]
7014	// }
7015
7016}
7017
7018// Pages invokes f for each page of results.
7019// A non-nil error returned from f will halt the iteration.
7020// The provided context supersedes any context provided to the Context method.
7021func (c *LayersAnnotationDataListCall) Pages(ctx context.Context, f func(*Annotationsdata) error) error {
7022	c.ctx_ = ctx
7023	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7024	for {
7025		x, err := c.Do()
7026		if err != nil {
7027			return err
7028		}
7029		if err := f(x); err != nil {
7030			return err
7031		}
7032		if x.NextPageToken == "" {
7033			return nil
7034		}
7035		c.PageToken(x.NextPageToken)
7036	}
7037}
7038
7039// method id "books.layers.volumeAnnotations.get":
7040
7041type LayersVolumeAnnotationsGetCall struct {
7042	s            *Service
7043	volumeId     string
7044	layerId      string
7045	annotationId string
7046	urlParams_   gensupport.URLParams
7047	ifNoneMatch_ string
7048	ctx_         context.Context
7049	header_      http.Header
7050}
7051
7052// Get: Gets the volume annotation.
7053func (r *LayersVolumeAnnotationsService) Get(volumeId string, layerId string, annotationId string) *LayersVolumeAnnotationsGetCall {
7054	c := &LayersVolumeAnnotationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7055	c.volumeId = volumeId
7056	c.layerId = layerId
7057	c.annotationId = annotationId
7058	return c
7059}
7060
7061// Locale sets the optional parameter "locale": The locale information
7062// for the data. ISO-639-1 language and ISO-3166-1 country code. Ex:
7063// 'en_US'.
7064func (c *LayersVolumeAnnotationsGetCall) Locale(locale string) *LayersVolumeAnnotationsGetCall {
7065	c.urlParams_.Set("locale", locale)
7066	return c
7067}
7068
7069// Source sets the optional parameter "source": String to identify the
7070// originator of this request.
7071func (c *LayersVolumeAnnotationsGetCall) Source(source string) *LayersVolumeAnnotationsGetCall {
7072	c.urlParams_.Set("source", source)
7073	return c
7074}
7075
7076// Fields allows partial responses to be retrieved. See
7077// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7078// for more information.
7079func (c *LayersVolumeAnnotationsGetCall) Fields(s ...googleapi.Field) *LayersVolumeAnnotationsGetCall {
7080	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7081	return c
7082}
7083
7084// IfNoneMatch sets the optional parameter which makes the operation
7085// fail if the object's ETag matches the given value. This is useful for
7086// getting updates only after the object has changed since the last
7087// request. Use googleapi.IsNotModified to check whether the response
7088// error from Do is the result of In-None-Match.
7089func (c *LayersVolumeAnnotationsGetCall) IfNoneMatch(entityTag string) *LayersVolumeAnnotationsGetCall {
7090	c.ifNoneMatch_ = entityTag
7091	return c
7092}
7093
7094// Context sets the context to be used in this call's Do method. Any
7095// pending HTTP request will be aborted if the provided context is
7096// canceled.
7097func (c *LayersVolumeAnnotationsGetCall) Context(ctx context.Context) *LayersVolumeAnnotationsGetCall {
7098	c.ctx_ = ctx
7099	return c
7100}
7101
7102// Header returns an http.Header that can be modified by the caller to
7103// add HTTP headers to the request.
7104func (c *LayersVolumeAnnotationsGetCall) Header() http.Header {
7105	if c.header_ == nil {
7106		c.header_ = make(http.Header)
7107	}
7108	return c.header_
7109}
7110
7111func (c *LayersVolumeAnnotationsGetCall) doRequest(alt string) (*http.Response, error) {
7112	reqHeaders := make(http.Header)
7113	for k, v := range c.header_ {
7114		reqHeaders[k] = v
7115	}
7116	reqHeaders.Set("User-Agent", c.s.userAgent())
7117	if c.ifNoneMatch_ != "" {
7118		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7119	}
7120	var body io.Reader = nil
7121	c.urlParams_.Set("alt", alt)
7122	c.urlParams_.Set("prettyPrint", "false")
7123	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}")
7124	urls += "?" + c.urlParams_.Encode()
7125	req, err := http.NewRequest("GET", urls, body)
7126	if err != nil {
7127		return nil, err
7128	}
7129	req.Header = reqHeaders
7130	googleapi.Expand(req.URL, map[string]string{
7131		"volumeId":     c.volumeId,
7132		"layerId":      c.layerId,
7133		"annotationId": c.annotationId,
7134	})
7135	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7136}
7137
7138// Do executes the "books.layers.volumeAnnotations.get" call.
7139// Exactly one of *Volumeannotation or error will be non-nil. Any
7140// non-2xx status code is an error. Response headers are in either
7141// *Volumeannotation.ServerResponse.Header or (if a response was
7142// returned at all) in error.(*googleapi.Error).Header. Use
7143// googleapi.IsNotModified to check whether the returned error was
7144// because http.StatusNotModified was returned.
7145func (c *LayersVolumeAnnotationsGetCall) Do(opts ...googleapi.CallOption) (*Volumeannotation, error) {
7146	gensupport.SetOptions(c.urlParams_, opts...)
7147	res, err := c.doRequest("json")
7148	if res != nil && res.StatusCode == http.StatusNotModified {
7149		if res.Body != nil {
7150			res.Body.Close()
7151		}
7152		return nil, &googleapi.Error{
7153			Code:   res.StatusCode,
7154			Header: res.Header,
7155		}
7156	}
7157	if err != nil {
7158		return nil, err
7159	}
7160	defer googleapi.CloseBody(res)
7161	if err := googleapi.CheckResponse(res); err != nil {
7162		return nil, err
7163	}
7164	ret := &Volumeannotation{
7165		ServerResponse: googleapi.ServerResponse{
7166			Header:         res.Header,
7167			HTTPStatusCode: res.StatusCode,
7168		},
7169	}
7170	target := &ret
7171	if err := gensupport.DecodeResponse(target, res); err != nil {
7172		return nil, err
7173	}
7174	return ret, nil
7175	// {
7176	//   "description": "Gets the volume annotation.",
7177	//   "httpMethod": "GET",
7178	//   "id": "books.layers.volumeAnnotations.get",
7179	//   "parameterOrder": [
7180	//     "volumeId",
7181	//     "layerId",
7182	//     "annotationId"
7183	//   ],
7184	//   "parameters": {
7185	//     "annotationId": {
7186	//       "description": "The ID of the volume annotation to retrieve.",
7187	//       "location": "path",
7188	//       "required": true,
7189	//       "type": "string"
7190	//     },
7191	//     "layerId": {
7192	//       "description": "The ID for the layer to get the annotations.",
7193	//       "location": "path",
7194	//       "required": true,
7195	//       "type": "string"
7196	//     },
7197	//     "locale": {
7198	//       "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.",
7199	//       "location": "query",
7200	//       "type": "string"
7201	//     },
7202	//     "source": {
7203	//       "description": "String to identify the originator of this request.",
7204	//       "location": "query",
7205	//       "type": "string"
7206	//     },
7207	//     "volumeId": {
7208	//       "description": "The volume to retrieve annotations for.",
7209	//       "location": "path",
7210	//       "required": true,
7211	//       "type": "string"
7212	//     }
7213	//   },
7214	//   "path": "volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}",
7215	//   "response": {
7216	//     "$ref": "Volumeannotation"
7217	//   },
7218	//   "scopes": [
7219	//     "https://www.googleapis.com/auth/books"
7220	//   ]
7221	// }
7222
7223}
7224
7225// method id "books.layers.volumeAnnotations.list":
7226
7227type LayersVolumeAnnotationsListCall struct {
7228	s            *Service
7229	volumeId     string
7230	layerId      string
7231	urlParams_   gensupport.URLParams
7232	ifNoneMatch_ string
7233	ctx_         context.Context
7234	header_      http.Header
7235}
7236
7237// List: Gets the volume annotations for a volume and layer.
7238func (r *LayersVolumeAnnotationsService) List(volumeId string, layerId string, contentVersion string) *LayersVolumeAnnotationsListCall {
7239	c := &LayersVolumeAnnotationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7240	c.volumeId = volumeId
7241	c.layerId = layerId
7242	c.urlParams_.Set("contentVersion", contentVersion)
7243	return c
7244}
7245
7246// EndOffset sets the optional parameter "endOffset": The end offset to
7247// end retrieving data from.
7248func (c *LayersVolumeAnnotationsListCall) EndOffset(endOffset string) *LayersVolumeAnnotationsListCall {
7249	c.urlParams_.Set("endOffset", endOffset)
7250	return c
7251}
7252
7253// EndPosition sets the optional parameter "endPosition": The end
7254// position to end retrieving data from.
7255func (c *LayersVolumeAnnotationsListCall) EndPosition(endPosition string) *LayersVolumeAnnotationsListCall {
7256	c.urlParams_.Set("endPosition", endPosition)
7257	return c
7258}
7259
7260// Locale sets the optional parameter "locale": The locale information
7261// for the data. ISO-639-1 language and ISO-3166-1 country code. Ex:
7262// 'en_US'.
7263func (c *LayersVolumeAnnotationsListCall) Locale(locale string) *LayersVolumeAnnotationsListCall {
7264	c.urlParams_.Set("locale", locale)
7265	return c
7266}
7267
7268// MaxResults sets the optional parameter "maxResults": Maximum number
7269// of results to return
7270func (c *LayersVolumeAnnotationsListCall) MaxResults(maxResults int64) *LayersVolumeAnnotationsListCall {
7271	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
7272	return c
7273}
7274
7275// PageToken sets the optional parameter "pageToken": The value of the
7276// nextToken from the previous page.
7277func (c *LayersVolumeAnnotationsListCall) PageToken(pageToken string) *LayersVolumeAnnotationsListCall {
7278	c.urlParams_.Set("pageToken", pageToken)
7279	return c
7280}
7281
7282// ShowDeleted sets the optional parameter "showDeleted": Set to true to
7283// return deleted annotations. updatedMin must be in the request to use
7284// this. Defaults to false.
7285func (c *LayersVolumeAnnotationsListCall) ShowDeleted(showDeleted bool) *LayersVolumeAnnotationsListCall {
7286	c.urlParams_.Set("showDeleted", fmt.Sprint(showDeleted))
7287	return c
7288}
7289
7290// Source sets the optional parameter "source": String to identify the
7291// originator of this request.
7292func (c *LayersVolumeAnnotationsListCall) Source(source string) *LayersVolumeAnnotationsListCall {
7293	c.urlParams_.Set("source", source)
7294	return c
7295}
7296
7297// StartOffset sets the optional parameter "startOffset": The start
7298// offset to start retrieving data from.
7299func (c *LayersVolumeAnnotationsListCall) StartOffset(startOffset string) *LayersVolumeAnnotationsListCall {
7300	c.urlParams_.Set("startOffset", startOffset)
7301	return c
7302}
7303
7304// StartPosition sets the optional parameter "startPosition": The start
7305// position to start retrieving data from.
7306func (c *LayersVolumeAnnotationsListCall) StartPosition(startPosition string) *LayersVolumeAnnotationsListCall {
7307	c.urlParams_.Set("startPosition", startPosition)
7308	return c
7309}
7310
7311// UpdatedMax sets the optional parameter "updatedMax": RFC 3339
7312// timestamp to restrict to items updated prior to this timestamp
7313// (exclusive).
7314func (c *LayersVolumeAnnotationsListCall) UpdatedMax(updatedMax string) *LayersVolumeAnnotationsListCall {
7315	c.urlParams_.Set("updatedMax", updatedMax)
7316	return c
7317}
7318
7319// UpdatedMin sets the optional parameter "updatedMin": RFC 3339
7320// timestamp to restrict to items updated since this timestamp
7321// (inclusive).
7322func (c *LayersVolumeAnnotationsListCall) UpdatedMin(updatedMin string) *LayersVolumeAnnotationsListCall {
7323	c.urlParams_.Set("updatedMin", updatedMin)
7324	return c
7325}
7326
7327// VolumeAnnotationsVersion sets the optional parameter
7328// "volumeAnnotationsVersion": The version of the volume annotations
7329// that you are requesting.
7330func (c *LayersVolumeAnnotationsListCall) VolumeAnnotationsVersion(volumeAnnotationsVersion string) *LayersVolumeAnnotationsListCall {
7331	c.urlParams_.Set("volumeAnnotationsVersion", volumeAnnotationsVersion)
7332	return c
7333}
7334
7335// Fields allows partial responses to be retrieved. See
7336// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7337// for more information.
7338func (c *LayersVolumeAnnotationsListCall) Fields(s ...googleapi.Field) *LayersVolumeAnnotationsListCall {
7339	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7340	return c
7341}
7342
7343// IfNoneMatch sets the optional parameter which makes the operation
7344// fail if the object's ETag matches the given value. This is useful for
7345// getting updates only after the object has changed since the last
7346// request. Use googleapi.IsNotModified to check whether the response
7347// error from Do is the result of In-None-Match.
7348func (c *LayersVolumeAnnotationsListCall) IfNoneMatch(entityTag string) *LayersVolumeAnnotationsListCall {
7349	c.ifNoneMatch_ = entityTag
7350	return c
7351}
7352
7353// Context sets the context to be used in this call's Do method. Any
7354// pending HTTP request will be aborted if the provided context is
7355// canceled.
7356func (c *LayersVolumeAnnotationsListCall) Context(ctx context.Context) *LayersVolumeAnnotationsListCall {
7357	c.ctx_ = ctx
7358	return c
7359}
7360
7361// Header returns an http.Header that can be modified by the caller to
7362// add HTTP headers to the request.
7363func (c *LayersVolumeAnnotationsListCall) Header() http.Header {
7364	if c.header_ == nil {
7365		c.header_ = make(http.Header)
7366	}
7367	return c.header_
7368}
7369
7370func (c *LayersVolumeAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
7371	reqHeaders := make(http.Header)
7372	for k, v := range c.header_ {
7373		reqHeaders[k] = v
7374	}
7375	reqHeaders.Set("User-Agent", c.s.userAgent())
7376	if c.ifNoneMatch_ != "" {
7377		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7378	}
7379	var body io.Reader = nil
7380	c.urlParams_.Set("alt", alt)
7381	c.urlParams_.Set("prettyPrint", "false")
7382	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/layers/{layerId}")
7383	urls += "?" + c.urlParams_.Encode()
7384	req, err := http.NewRequest("GET", urls, body)
7385	if err != nil {
7386		return nil, err
7387	}
7388	req.Header = reqHeaders
7389	googleapi.Expand(req.URL, map[string]string{
7390		"volumeId": c.volumeId,
7391		"layerId":  c.layerId,
7392	})
7393	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7394}
7395
7396// Do executes the "books.layers.volumeAnnotations.list" call.
7397// Exactly one of *Volumeannotations or error will be non-nil. Any
7398// non-2xx status code is an error. Response headers are in either
7399// *Volumeannotations.ServerResponse.Header or (if a response was
7400// returned at all) in error.(*googleapi.Error).Header. Use
7401// googleapi.IsNotModified to check whether the returned error was
7402// because http.StatusNotModified was returned.
7403func (c *LayersVolumeAnnotationsListCall) Do(opts ...googleapi.CallOption) (*Volumeannotations, error) {
7404	gensupport.SetOptions(c.urlParams_, opts...)
7405	res, err := c.doRequest("json")
7406	if res != nil && res.StatusCode == http.StatusNotModified {
7407		if res.Body != nil {
7408			res.Body.Close()
7409		}
7410		return nil, &googleapi.Error{
7411			Code:   res.StatusCode,
7412			Header: res.Header,
7413		}
7414	}
7415	if err != nil {
7416		return nil, err
7417	}
7418	defer googleapi.CloseBody(res)
7419	if err := googleapi.CheckResponse(res); err != nil {
7420		return nil, err
7421	}
7422	ret := &Volumeannotations{
7423		ServerResponse: googleapi.ServerResponse{
7424			Header:         res.Header,
7425			HTTPStatusCode: res.StatusCode,
7426		},
7427	}
7428	target := &ret
7429	if err := gensupport.DecodeResponse(target, res); err != nil {
7430		return nil, err
7431	}
7432	return ret, nil
7433	// {
7434	//   "description": "Gets the volume annotations for a volume and layer.",
7435	//   "httpMethod": "GET",
7436	//   "id": "books.layers.volumeAnnotations.list",
7437	//   "parameterOrder": [
7438	//     "volumeId",
7439	//     "layerId",
7440	//     "contentVersion"
7441	//   ],
7442	//   "parameters": {
7443	//     "contentVersion": {
7444	//       "description": "The content version for the requested volume.",
7445	//       "location": "query",
7446	//       "required": true,
7447	//       "type": "string"
7448	//     },
7449	//     "endOffset": {
7450	//       "description": "The end offset to end retrieving data from.",
7451	//       "location": "query",
7452	//       "type": "string"
7453	//     },
7454	//     "endPosition": {
7455	//       "description": "The end position to end retrieving data from.",
7456	//       "location": "query",
7457	//       "type": "string"
7458	//     },
7459	//     "layerId": {
7460	//       "description": "The ID for the layer to get the annotations.",
7461	//       "location": "path",
7462	//       "required": true,
7463	//       "type": "string"
7464	//     },
7465	//     "locale": {
7466	//       "description": "The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.",
7467	//       "location": "query",
7468	//       "type": "string"
7469	//     },
7470	//     "maxResults": {
7471	//       "description": "Maximum number of results to return",
7472	//       "format": "uint32",
7473	//       "location": "query",
7474	//       "maximum": "200",
7475	//       "minimum": "0",
7476	//       "type": "integer"
7477	//     },
7478	//     "pageToken": {
7479	//       "description": "The value of the nextToken from the previous page.",
7480	//       "location": "query",
7481	//       "type": "string"
7482	//     },
7483	//     "showDeleted": {
7484	//       "description": "Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.",
7485	//       "location": "query",
7486	//       "type": "boolean"
7487	//     },
7488	//     "source": {
7489	//       "description": "String to identify the originator of this request.",
7490	//       "location": "query",
7491	//       "type": "string"
7492	//     },
7493	//     "startOffset": {
7494	//       "description": "The start offset to start retrieving data from.",
7495	//       "location": "query",
7496	//       "type": "string"
7497	//     },
7498	//     "startPosition": {
7499	//       "description": "The start position to start retrieving data from.",
7500	//       "location": "query",
7501	//       "type": "string"
7502	//     },
7503	//     "updatedMax": {
7504	//       "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).",
7505	//       "location": "query",
7506	//       "type": "string"
7507	//     },
7508	//     "updatedMin": {
7509	//       "description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).",
7510	//       "location": "query",
7511	//       "type": "string"
7512	//     },
7513	//     "volumeAnnotationsVersion": {
7514	//       "description": "The version of the volume annotations that you are requesting.",
7515	//       "location": "query",
7516	//       "type": "string"
7517	//     },
7518	//     "volumeId": {
7519	//       "description": "The volume to retrieve annotations for.",
7520	//       "location": "path",
7521	//       "required": true,
7522	//       "type": "string"
7523	//     }
7524	//   },
7525	//   "path": "volumes/{volumeId}/layers/{layerId}",
7526	//   "response": {
7527	//     "$ref": "Volumeannotations"
7528	//   },
7529	//   "scopes": [
7530	//     "https://www.googleapis.com/auth/books"
7531	//   ]
7532	// }
7533
7534}
7535
7536// Pages invokes f for each page of results.
7537// A non-nil error returned from f will halt the iteration.
7538// The provided context supersedes any context provided to the Context method.
7539func (c *LayersVolumeAnnotationsListCall) Pages(ctx context.Context, f func(*Volumeannotations) error) error {
7540	c.ctx_ = ctx
7541	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
7542	for {
7543		x, err := c.Do()
7544		if err != nil {
7545			return err
7546		}
7547		if err := f(x); err != nil {
7548			return err
7549		}
7550		if x.NextPageToken == "" {
7551			return nil
7552		}
7553		c.PageToken(x.NextPageToken)
7554	}
7555}
7556
7557// method id "books.myconfig.getUserSettings":
7558
7559type MyconfigGetUserSettingsCall struct {
7560	s            *Service
7561	urlParams_   gensupport.URLParams
7562	ifNoneMatch_ string
7563	ctx_         context.Context
7564	header_      http.Header
7565}
7566
7567// GetUserSettings: Gets the current settings for the user.
7568func (r *MyconfigService) GetUserSettings() *MyconfigGetUserSettingsCall {
7569	c := &MyconfigGetUserSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7570	return c
7571}
7572
7573// Fields allows partial responses to be retrieved. See
7574// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7575// for more information.
7576func (c *MyconfigGetUserSettingsCall) Fields(s ...googleapi.Field) *MyconfigGetUserSettingsCall {
7577	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7578	return c
7579}
7580
7581// IfNoneMatch sets the optional parameter which makes the operation
7582// fail if the object's ETag matches the given value. This is useful for
7583// getting updates only after the object has changed since the last
7584// request. Use googleapi.IsNotModified to check whether the response
7585// error from Do is the result of In-None-Match.
7586func (c *MyconfigGetUserSettingsCall) IfNoneMatch(entityTag string) *MyconfigGetUserSettingsCall {
7587	c.ifNoneMatch_ = entityTag
7588	return c
7589}
7590
7591// Context sets the context to be used in this call's Do method. Any
7592// pending HTTP request will be aborted if the provided context is
7593// canceled.
7594func (c *MyconfigGetUserSettingsCall) Context(ctx context.Context) *MyconfigGetUserSettingsCall {
7595	c.ctx_ = ctx
7596	return c
7597}
7598
7599// Header returns an http.Header that can be modified by the caller to
7600// add HTTP headers to the request.
7601func (c *MyconfigGetUserSettingsCall) Header() http.Header {
7602	if c.header_ == nil {
7603		c.header_ = make(http.Header)
7604	}
7605	return c.header_
7606}
7607
7608func (c *MyconfigGetUserSettingsCall) doRequest(alt string) (*http.Response, error) {
7609	reqHeaders := make(http.Header)
7610	for k, v := range c.header_ {
7611		reqHeaders[k] = v
7612	}
7613	reqHeaders.Set("User-Agent", c.s.userAgent())
7614	if c.ifNoneMatch_ != "" {
7615		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
7616	}
7617	var body io.Reader = nil
7618	c.urlParams_.Set("alt", alt)
7619	c.urlParams_.Set("prettyPrint", "false")
7620	urls := googleapi.ResolveRelative(c.s.BasePath, "myconfig/getUserSettings")
7621	urls += "?" + c.urlParams_.Encode()
7622	req, err := http.NewRequest("GET", urls, body)
7623	if err != nil {
7624		return nil, err
7625	}
7626	req.Header = reqHeaders
7627	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7628}
7629
7630// Do executes the "books.myconfig.getUserSettings" call.
7631// Exactly one of *Usersettings or error will be non-nil. Any non-2xx
7632// status code is an error. Response headers are in either
7633// *Usersettings.ServerResponse.Header or (if a response was returned at
7634// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
7635// to check whether the returned error was because
7636// http.StatusNotModified was returned.
7637func (c *MyconfigGetUserSettingsCall) Do(opts ...googleapi.CallOption) (*Usersettings, error) {
7638	gensupport.SetOptions(c.urlParams_, opts...)
7639	res, err := c.doRequest("json")
7640	if res != nil && res.StatusCode == http.StatusNotModified {
7641		if res.Body != nil {
7642			res.Body.Close()
7643		}
7644		return nil, &googleapi.Error{
7645			Code:   res.StatusCode,
7646			Header: res.Header,
7647		}
7648	}
7649	if err != nil {
7650		return nil, err
7651	}
7652	defer googleapi.CloseBody(res)
7653	if err := googleapi.CheckResponse(res); err != nil {
7654		return nil, err
7655	}
7656	ret := &Usersettings{
7657		ServerResponse: googleapi.ServerResponse{
7658			Header:         res.Header,
7659			HTTPStatusCode: res.StatusCode,
7660		},
7661	}
7662	target := &ret
7663	if err := gensupport.DecodeResponse(target, res); err != nil {
7664		return nil, err
7665	}
7666	return ret, nil
7667	// {
7668	//   "description": "Gets the current settings for the user.",
7669	//   "httpMethod": "GET",
7670	//   "id": "books.myconfig.getUserSettings",
7671	//   "path": "myconfig/getUserSettings",
7672	//   "response": {
7673	//     "$ref": "Usersettings"
7674	//   },
7675	//   "scopes": [
7676	//     "https://www.googleapis.com/auth/books"
7677	//   ]
7678	// }
7679
7680}
7681
7682// method id "books.myconfig.releaseDownloadAccess":
7683
7684type MyconfigReleaseDownloadAccessCall struct {
7685	s          *Service
7686	urlParams_ gensupport.URLParams
7687	ctx_       context.Context
7688	header_    http.Header
7689}
7690
7691// ReleaseDownloadAccess: Release downloaded content access restriction.
7692func (r *MyconfigService) ReleaseDownloadAccess(volumeIds []string, cpksver string) *MyconfigReleaseDownloadAccessCall {
7693	c := &MyconfigReleaseDownloadAccessCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7694	c.urlParams_.SetMulti("volumeIds", append([]string{}, volumeIds...))
7695	c.urlParams_.Set("cpksver", cpksver)
7696	return c
7697}
7698
7699// Locale sets the optional parameter "locale": ISO-639-1, ISO-3166-1
7700// codes for message localization, i.e. en_US.
7701func (c *MyconfigReleaseDownloadAccessCall) Locale(locale string) *MyconfigReleaseDownloadAccessCall {
7702	c.urlParams_.Set("locale", locale)
7703	return c
7704}
7705
7706// Source sets the optional parameter "source": String to identify the
7707// originator of this request.
7708func (c *MyconfigReleaseDownloadAccessCall) Source(source string) *MyconfigReleaseDownloadAccessCall {
7709	c.urlParams_.Set("source", source)
7710	return c
7711}
7712
7713// Fields allows partial responses to be retrieved. See
7714// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7715// for more information.
7716func (c *MyconfigReleaseDownloadAccessCall) Fields(s ...googleapi.Field) *MyconfigReleaseDownloadAccessCall {
7717	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7718	return c
7719}
7720
7721// Context sets the context to be used in this call's Do method. Any
7722// pending HTTP request will be aborted if the provided context is
7723// canceled.
7724func (c *MyconfigReleaseDownloadAccessCall) Context(ctx context.Context) *MyconfigReleaseDownloadAccessCall {
7725	c.ctx_ = ctx
7726	return c
7727}
7728
7729// Header returns an http.Header that can be modified by the caller to
7730// add HTTP headers to the request.
7731func (c *MyconfigReleaseDownloadAccessCall) Header() http.Header {
7732	if c.header_ == nil {
7733		c.header_ = make(http.Header)
7734	}
7735	return c.header_
7736}
7737
7738func (c *MyconfigReleaseDownloadAccessCall) doRequest(alt string) (*http.Response, error) {
7739	reqHeaders := make(http.Header)
7740	for k, v := range c.header_ {
7741		reqHeaders[k] = v
7742	}
7743	reqHeaders.Set("User-Agent", c.s.userAgent())
7744	var body io.Reader = nil
7745	c.urlParams_.Set("alt", alt)
7746	c.urlParams_.Set("prettyPrint", "false")
7747	urls := googleapi.ResolveRelative(c.s.BasePath, "myconfig/releaseDownloadAccess")
7748	urls += "?" + c.urlParams_.Encode()
7749	req, err := http.NewRequest("POST", urls, body)
7750	if err != nil {
7751		return nil, err
7752	}
7753	req.Header = reqHeaders
7754	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7755}
7756
7757// Do executes the "books.myconfig.releaseDownloadAccess" call.
7758// Exactly one of *DownloadAccesses or error will be non-nil. Any
7759// non-2xx status code is an error. Response headers are in either
7760// *DownloadAccesses.ServerResponse.Header or (if a response was
7761// returned at all) in error.(*googleapi.Error).Header. Use
7762// googleapi.IsNotModified to check whether the returned error was
7763// because http.StatusNotModified was returned.
7764func (c *MyconfigReleaseDownloadAccessCall) Do(opts ...googleapi.CallOption) (*DownloadAccesses, error) {
7765	gensupport.SetOptions(c.urlParams_, opts...)
7766	res, err := c.doRequest("json")
7767	if res != nil && res.StatusCode == http.StatusNotModified {
7768		if res.Body != nil {
7769			res.Body.Close()
7770		}
7771		return nil, &googleapi.Error{
7772			Code:   res.StatusCode,
7773			Header: res.Header,
7774		}
7775	}
7776	if err != nil {
7777		return nil, err
7778	}
7779	defer googleapi.CloseBody(res)
7780	if err := googleapi.CheckResponse(res); err != nil {
7781		return nil, err
7782	}
7783	ret := &DownloadAccesses{
7784		ServerResponse: googleapi.ServerResponse{
7785			Header:         res.Header,
7786			HTTPStatusCode: res.StatusCode,
7787		},
7788	}
7789	target := &ret
7790	if err := gensupport.DecodeResponse(target, res); err != nil {
7791		return nil, err
7792	}
7793	return ret, nil
7794	// {
7795	//   "description": "Release downloaded content access restriction.",
7796	//   "httpMethod": "POST",
7797	//   "id": "books.myconfig.releaseDownloadAccess",
7798	//   "parameterOrder": [
7799	//     "volumeIds",
7800	//     "cpksver"
7801	//   ],
7802	//   "parameters": {
7803	//     "cpksver": {
7804	//       "description": "The device/version ID from which to release the restriction.",
7805	//       "location": "query",
7806	//       "required": true,
7807	//       "type": "string"
7808	//     },
7809	//     "locale": {
7810	//       "description": "ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.",
7811	//       "location": "query",
7812	//       "type": "string"
7813	//     },
7814	//     "source": {
7815	//       "description": "String to identify the originator of this request.",
7816	//       "location": "query",
7817	//       "type": "string"
7818	//     },
7819	//     "volumeIds": {
7820	//       "description": "The volume(s) to release restrictions for.",
7821	//       "location": "query",
7822	//       "repeated": true,
7823	//       "required": true,
7824	//       "type": "string"
7825	//     }
7826	//   },
7827	//   "path": "myconfig/releaseDownloadAccess",
7828	//   "response": {
7829	//     "$ref": "DownloadAccesses"
7830	//   },
7831	//   "scopes": [
7832	//     "https://www.googleapis.com/auth/books"
7833	//   ]
7834	// }
7835
7836}
7837
7838// method id "books.myconfig.requestAccess":
7839
7840type MyconfigRequestAccessCall struct {
7841	s          *Service
7842	urlParams_ gensupport.URLParams
7843	ctx_       context.Context
7844	header_    http.Header
7845}
7846
7847// RequestAccess: Request concurrent and download access restrictions.
7848func (r *MyconfigService) RequestAccess(source string, volumeId string, nonce string, cpksver string) *MyconfigRequestAccessCall {
7849	c := &MyconfigRequestAccessCall{s: r.s, urlParams_: make(gensupport.URLParams)}
7850	c.urlParams_.Set("source", source)
7851	c.urlParams_.Set("volumeId", volumeId)
7852	c.urlParams_.Set("nonce", nonce)
7853	c.urlParams_.Set("cpksver", cpksver)
7854	return c
7855}
7856
7857// LicenseTypes sets the optional parameter "licenseTypes": The type of
7858// access license to request. If not specified, the default is BOTH.
7859//
7860// Possible values:
7861//   "BOTH" - Both concurrent and download licenses.
7862//   "CONCURRENT" - Concurrent access license.
7863//   "DOWNLOAD" - Offline download access license.
7864func (c *MyconfigRequestAccessCall) LicenseTypes(licenseTypes string) *MyconfigRequestAccessCall {
7865	c.urlParams_.Set("licenseTypes", licenseTypes)
7866	return c
7867}
7868
7869// Locale sets the optional parameter "locale": ISO-639-1, ISO-3166-1
7870// codes for message localization, i.e. en_US.
7871func (c *MyconfigRequestAccessCall) Locale(locale string) *MyconfigRequestAccessCall {
7872	c.urlParams_.Set("locale", locale)
7873	return c
7874}
7875
7876// Fields allows partial responses to be retrieved. See
7877// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
7878// for more information.
7879func (c *MyconfigRequestAccessCall) Fields(s ...googleapi.Field) *MyconfigRequestAccessCall {
7880	c.urlParams_.Set("fields", googleapi.CombineFields(s))
7881	return c
7882}
7883
7884// Context sets the context to be used in this call's Do method. Any
7885// pending HTTP request will be aborted if the provided context is
7886// canceled.
7887func (c *MyconfigRequestAccessCall) Context(ctx context.Context) *MyconfigRequestAccessCall {
7888	c.ctx_ = ctx
7889	return c
7890}
7891
7892// Header returns an http.Header that can be modified by the caller to
7893// add HTTP headers to the request.
7894func (c *MyconfigRequestAccessCall) Header() http.Header {
7895	if c.header_ == nil {
7896		c.header_ = make(http.Header)
7897	}
7898	return c.header_
7899}
7900
7901func (c *MyconfigRequestAccessCall) doRequest(alt string) (*http.Response, error) {
7902	reqHeaders := make(http.Header)
7903	for k, v := range c.header_ {
7904		reqHeaders[k] = v
7905	}
7906	reqHeaders.Set("User-Agent", c.s.userAgent())
7907	var body io.Reader = nil
7908	c.urlParams_.Set("alt", alt)
7909	c.urlParams_.Set("prettyPrint", "false")
7910	urls := googleapi.ResolveRelative(c.s.BasePath, "myconfig/requestAccess")
7911	urls += "?" + c.urlParams_.Encode()
7912	req, err := http.NewRequest("POST", urls, body)
7913	if err != nil {
7914		return nil, err
7915	}
7916	req.Header = reqHeaders
7917	return gensupport.SendRequest(c.ctx_, c.s.client, req)
7918}
7919
7920// Do executes the "books.myconfig.requestAccess" call.
7921// Exactly one of *RequestAccess or error will be non-nil. Any non-2xx
7922// status code is an error. Response headers are in either
7923// *RequestAccess.ServerResponse.Header or (if a response was returned
7924// at all) in error.(*googleapi.Error).Header. Use
7925// googleapi.IsNotModified to check whether the returned error was
7926// because http.StatusNotModified was returned.
7927func (c *MyconfigRequestAccessCall) Do(opts ...googleapi.CallOption) (*RequestAccess, error) {
7928	gensupport.SetOptions(c.urlParams_, opts...)
7929	res, err := c.doRequest("json")
7930	if res != nil && res.StatusCode == http.StatusNotModified {
7931		if res.Body != nil {
7932			res.Body.Close()
7933		}
7934		return nil, &googleapi.Error{
7935			Code:   res.StatusCode,
7936			Header: res.Header,
7937		}
7938	}
7939	if err != nil {
7940		return nil, err
7941	}
7942	defer googleapi.CloseBody(res)
7943	if err := googleapi.CheckResponse(res); err != nil {
7944		return nil, err
7945	}
7946	ret := &RequestAccess{
7947		ServerResponse: googleapi.ServerResponse{
7948			Header:         res.Header,
7949			HTTPStatusCode: res.StatusCode,
7950		},
7951	}
7952	target := &ret
7953	if err := gensupport.DecodeResponse(target, res); err != nil {
7954		return nil, err
7955	}
7956	return ret, nil
7957	// {
7958	//   "description": "Request concurrent and download access restrictions.",
7959	//   "httpMethod": "POST",
7960	//   "id": "books.myconfig.requestAccess",
7961	//   "parameterOrder": [
7962	//     "source",
7963	//     "volumeId",
7964	//     "nonce",
7965	//     "cpksver"
7966	//   ],
7967	//   "parameters": {
7968	//     "cpksver": {
7969	//       "description": "The device/version ID from which to request the restrictions.",
7970	//       "location": "query",
7971	//       "required": true,
7972	//       "type": "string"
7973	//     },
7974	//     "licenseTypes": {
7975	//       "description": "The type of access license to request. If not specified, the default is BOTH.",
7976	//       "enum": [
7977	//         "BOTH",
7978	//         "CONCURRENT",
7979	//         "DOWNLOAD"
7980	//       ],
7981	//       "enumDescriptions": [
7982	//         "Both concurrent and download licenses.",
7983	//         "Concurrent access license.",
7984	//         "Offline download access license."
7985	//       ],
7986	//       "location": "query",
7987	//       "type": "string"
7988	//     },
7989	//     "locale": {
7990	//       "description": "ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.",
7991	//       "location": "query",
7992	//       "type": "string"
7993	//     },
7994	//     "nonce": {
7995	//       "description": "The client nonce value.",
7996	//       "location": "query",
7997	//       "required": true,
7998	//       "type": "string"
7999	//     },
8000	//     "source": {
8001	//       "description": "String to identify the originator of this request.",
8002	//       "location": "query",
8003	//       "required": true,
8004	//       "type": "string"
8005	//     },
8006	//     "volumeId": {
8007	//       "description": "The volume to request concurrent/download restrictions for.",
8008	//       "location": "query",
8009	//       "required": true,
8010	//       "type": "string"
8011	//     }
8012	//   },
8013	//   "path": "myconfig/requestAccess",
8014	//   "response": {
8015	//     "$ref": "RequestAccess"
8016	//   },
8017	//   "scopes": [
8018	//     "https://www.googleapis.com/auth/books"
8019	//   ]
8020	// }
8021
8022}
8023
8024// method id "books.myconfig.syncVolumeLicenses":
8025
8026type MyconfigSyncVolumeLicensesCall struct {
8027	s          *Service
8028	urlParams_ gensupport.URLParams
8029	ctx_       context.Context
8030	header_    http.Header
8031}
8032
8033// SyncVolumeLicenses: Request downloaded content access for specified
8034// volumes on the My eBooks shelf.
8035func (r *MyconfigService) SyncVolumeLicenses(source string, nonce string, cpksver string) *MyconfigSyncVolumeLicensesCall {
8036	c := &MyconfigSyncVolumeLicensesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8037	c.urlParams_.Set("source", source)
8038	c.urlParams_.Set("nonce", nonce)
8039	c.urlParams_.Set("cpksver", cpksver)
8040	return c
8041}
8042
8043// Features sets the optional parameter "features": List of features
8044// supported by the client, i.e., 'RENTALS'
8045//
8046// Possible values:
8047//   "RENTALS" - Client supports rentals.
8048func (c *MyconfigSyncVolumeLicensesCall) Features(features ...string) *MyconfigSyncVolumeLicensesCall {
8049	c.urlParams_.SetMulti("features", append([]string{}, features...))
8050	return c
8051}
8052
8053// IncludeNonComicsSeries sets the optional parameter
8054// "includeNonComicsSeries": Set to true to include non-comics series.
8055// Defaults to false.
8056func (c *MyconfigSyncVolumeLicensesCall) IncludeNonComicsSeries(includeNonComicsSeries bool) *MyconfigSyncVolumeLicensesCall {
8057	c.urlParams_.Set("includeNonComicsSeries", fmt.Sprint(includeNonComicsSeries))
8058	return c
8059}
8060
8061// Locale sets the optional parameter "locale": ISO-639-1, ISO-3166-1
8062// codes for message localization, i.e. en_US.
8063func (c *MyconfigSyncVolumeLicensesCall) Locale(locale string) *MyconfigSyncVolumeLicensesCall {
8064	c.urlParams_.Set("locale", locale)
8065	return c
8066}
8067
8068// ShowPreorders sets the optional parameter "showPreorders": Set to
8069// true to show pre-ordered books. Defaults to false.
8070func (c *MyconfigSyncVolumeLicensesCall) ShowPreorders(showPreorders bool) *MyconfigSyncVolumeLicensesCall {
8071	c.urlParams_.Set("showPreorders", fmt.Sprint(showPreorders))
8072	return c
8073}
8074
8075// VolumeIds sets the optional parameter "volumeIds": The volume(s) to
8076// request download restrictions for.
8077func (c *MyconfigSyncVolumeLicensesCall) VolumeIds(volumeIds ...string) *MyconfigSyncVolumeLicensesCall {
8078	c.urlParams_.SetMulti("volumeIds", append([]string{}, volumeIds...))
8079	return c
8080}
8081
8082// Fields allows partial responses to be retrieved. See
8083// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8084// for more information.
8085func (c *MyconfigSyncVolumeLicensesCall) Fields(s ...googleapi.Field) *MyconfigSyncVolumeLicensesCall {
8086	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8087	return c
8088}
8089
8090// Context sets the context to be used in this call's Do method. Any
8091// pending HTTP request will be aborted if the provided context is
8092// canceled.
8093func (c *MyconfigSyncVolumeLicensesCall) Context(ctx context.Context) *MyconfigSyncVolumeLicensesCall {
8094	c.ctx_ = ctx
8095	return c
8096}
8097
8098// Header returns an http.Header that can be modified by the caller to
8099// add HTTP headers to the request.
8100func (c *MyconfigSyncVolumeLicensesCall) Header() http.Header {
8101	if c.header_ == nil {
8102		c.header_ = make(http.Header)
8103	}
8104	return c.header_
8105}
8106
8107func (c *MyconfigSyncVolumeLicensesCall) doRequest(alt string) (*http.Response, error) {
8108	reqHeaders := make(http.Header)
8109	for k, v := range c.header_ {
8110		reqHeaders[k] = v
8111	}
8112	reqHeaders.Set("User-Agent", c.s.userAgent())
8113	var body io.Reader = nil
8114	c.urlParams_.Set("alt", alt)
8115	c.urlParams_.Set("prettyPrint", "false")
8116	urls := googleapi.ResolveRelative(c.s.BasePath, "myconfig/syncVolumeLicenses")
8117	urls += "?" + c.urlParams_.Encode()
8118	req, err := http.NewRequest("POST", urls, body)
8119	if err != nil {
8120		return nil, err
8121	}
8122	req.Header = reqHeaders
8123	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8124}
8125
8126// Do executes the "books.myconfig.syncVolumeLicenses" call.
8127// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
8128// code is an error. Response headers are in either
8129// *Volumes.ServerResponse.Header or (if a response was returned at all)
8130// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
8131// check whether the returned error was because http.StatusNotModified
8132// was returned.
8133func (c *MyconfigSyncVolumeLicensesCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
8134	gensupport.SetOptions(c.urlParams_, opts...)
8135	res, err := c.doRequest("json")
8136	if res != nil && res.StatusCode == http.StatusNotModified {
8137		if res.Body != nil {
8138			res.Body.Close()
8139		}
8140		return nil, &googleapi.Error{
8141			Code:   res.StatusCode,
8142			Header: res.Header,
8143		}
8144	}
8145	if err != nil {
8146		return nil, err
8147	}
8148	defer googleapi.CloseBody(res)
8149	if err := googleapi.CheckResponse(res); err != nil {
8150		return nil, err
8151	}
8152	ret := &Volumes{
8153		ServerResponse: googleapi.ServerResponse{
8154			Header:         res.Header,
8155			HTTPStatusCode: res.StatusCode,
8156		},
8157	}
8158	target := &ret
8159	if err := gensupport.DecodeResponse(target, res); err != nil {
8160		return nil, err
8161	}
8162	return ret, nil
8163	// {
8164	//   "description": "Request downloaded content access for specified volumes on the My eBooks shelf.",
8165	//   "httpMethod": "POST",
8166	//   "id": "books.myconfig.syncVolumeLicenses",
8167	//   "parameterOrder": [
8168	//     "source",
8169	//     "nonce",
8170	//     "cpksver"
8171	//   ],
8172	//   "parameters": {
8173	//     "cpksver": {
8174	//       "description": "The device/version ID from which to release the restriction.",
8175	//       "location": "query",
8176	//       "required": true,
8177	//       "type": "string"
8178	//     },
8179	//     "features": {
8180	//       "description": "List of features supported by the client, i.e., 'RENTALS'",
8181	//       "enum": [
8182	//         "RENTALS"
8183	//       ],
8184	//       "enumDescriptions": [
8185	//         "Client supports rentals."
8186	//       ],
8187	//       "location": "query",
8188	//       "repeated": true,
8189	//       "type": "string"
8190	//     },
8191	//     "includeNonComicsSeries": {
8192	//       "description": "Set to true to include non-comics series. Defaults to false.",
8193	//       "location": "query",
8194	//       "type": "boolean"
8195	//     },
8196	//     "locale": {
8197	//       "description": "ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.",
8198	//       "location": "query",
8199	//       "type": "string"
8200	//     },
8201	//     "nonce": {
8202	//       "description": "The client nonce value.",
8203	//       "location": "query",
8204	//       "required": true,
8205	//       "type": "string"
8206	//     },
8207	//     "showPreorders": {
8208	//       "description": "Set to true to show pre-ordered books. Defaults to false.",
8209	//       "location": "query",
8210	//       "type": "boolean"
8211	//     },
8212	//     "source": {
8213	//       "description": "String to identify the originator of this request.",
8214	//       "location": "query",
8215	//       "required": true,
8216	//       "type": "string"
8217	//     },
8218	//     "volumeIds": {
8219	//       "description": "The volume(s) to request download restrictions for.",
8220	//       "location": "query",
8221	//       "repeated": true,
8222	//       "type": "string"
8223	//     }
8224	//   },
8225	//   "path": "myconfig/syncVolumeLicenses",
8226	//   "response": {
8227	//     "$ref": "Volumes"
8228	//   },
8229	//   "scopes": [
8230	//     "https://www.googleapis.com/auth/books"
8231	//   ]
8232	// }
8233
8234}
8235
8236// method id "books.myconfig.updateUserSettings":
8237
8238type MyconfigUpdateUserSettingsCall struct {
8239	s            *Service
8240	usersettings *Usersettings
8241	urlParams_   gensupport.URLParams
8242	ctx_         context.Context
8243	header_      http.Header
8244}
8245
8246// UpdateUserSettings: Sets the settings for the user. If a sub-object
8247// is specified, it will overwrite the existing sub-object stored in the
8248// server. Unspecified sub-objects will retain the existing value.
8249func (r *MyconfigService) UpdateUserSettings(usersettings *Usersettings) *MyconfigUpdateUserSettingsCall {
8250	c := &MyconfigUpdateUserSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8251	c.usersettings = usersettings
8252	return c
8253}
8254
8255// Fields allows partial responses to be retrieved. See
8256// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8257// for more information.
8258func (c *MyconfigUpdateUserSettingsCall) Fields(s ...googleapi.Field) *MyconfigUpdateUserSettingsCall {
8259	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8260	return c
8261}
8262
8263// Context sets the context to be used in this call's Do method. Any
8264// pending HTTP request will be aborted if the provided context is
8265// canceled.
8266func (c *MyconfigUpdateUserSettingsCall) Context(ctx context.Context) *MyconfigUpdateUserSettingsCall {
8267	c.ctx_ = ctx
8268	return c
8269}
8270
8271// Header returns an http.Header that can be modified by the caller to
8272// add HTTP headers to the request.
8273func (c *MyconfigUpdateUserSettingsCall) Header() http.Header {
8274	if c.header_ == nil {
8275		c.header_ = make(http.Header)
8276	}
8277	return c.header_
8278}
8279
8280func (c *MyconfigUpdateUserSettingsCall) doRequest(alt string) (*http.Response, error) {
8281	reqHeaders := make(http.Header)
8282	for k, v := range c.header_ {
8283		reqHeaders[k] = v
8284	}
8285	reqHeaders.Set("User-Agent", c.s.userAgent())
8286	var body io.Reader = nil
8287	body, err := googleapi.WithoutDataWrapper.JSONReader(c.usersettings)
8288	if err != nil {
8289		return nil, err
8290	}
8291	reqHeaders.Set("Content-Type", "application/json")
8292	c.urlParams_.Set("alt", alt)
8293	c.urlParams_.Set("prettyPrint", "false")
8294	urls := googleapi.ResolveRelative(c.s.BasePath, "myconfig/updateUserSettings")
8295	urls += "?" + c.urlParams_.Encode()
8296	req, err := http.NewRequest("POST", urls, body)
8297	if err != nil {
8298		return nil, err
8299	}
8300	req.Header = reqHeaders
8301	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8302}
8303
8304// Do executes the "books.myconfig.updateUserSettings" call.
8305// Exactly one of *Usersettings or error will be non-nil. Any non-2xx
8306// status code is an error. Response headers are in either
8307// *Usersettings.ServerResponse.Header or (if a response was returned at
8308// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8309// to check whether the returned error was because
8310// http.StatusNotModified was returned.
8311func (c *MyconfigUpdateUserSettingsCall) Do(opts ...googleapi.CallOption) (*Usersettings, error) {
8312	gensupport.SetOptions(c.urlParams_, opts...)
8313	res, err := c.doRequest("json")
8314	if res != nil && res.StatusCode == http.StatusNotModified {
8315		if res.Body != nil {
8316			res.Body.Close()
8317		}
8318		return nil, &googleapi.Error{
8319			Code:   res.StatusCode,
8320			Header: res.Header,
8321		}
8322	}
8323	if err != nil {
8324		return nil, err
8325	}
8326	defer googleapi.CloseBody(res)
8327	if err := googleapi.CheckResponse(res); err != nil {
8328		return nil, err
8329	}
8330	ret := &Usersettings{
8331		ServerResponse: googleapi.ServerResponse{
8332			Header:         res.Header,
8333			HTTPStatusCode: res.StatusCode,
8334		},
8335	}
8336	target := &ret
8337	if err := gensupport.DecodeResponse(target, res); err != nil {
8338		return nil, err
8339	}
8340	return ret, nil
8341	// {
8342	//   "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.",
8343	//   "httpMethod": "POST",
8344	//   "id": "books.myconfig.updateUserSettings",
8345	//   "path": "myconfig/updateUserSettings",
8346	//   "request": {
8347	//     "$ref": "Usersettings"
8348	//   },
8349	//   "response": {
8350	//     "$ref": "Usersettings"
8351	//   },
8352	//   "scopes": [
8353	//     "https://www.googleapis.com/auth/books"
8354	//   ]
8355	// }
8356
8357}
8358
8359// method id "books.mylibrary.annotations.delete":
8360
8361type MylibraryAnnotationsDeleteCall struct {
8362	s            *Service
8363	annotationId string
8364	urlParams_   gensupport.URLParams
8365	ctx_         context.Context
8366	header_      http.Header
8367}
8368
8369// Delete: Deletes an annotation.
8370func (r *MylibraryAnnotationsService) Delete(annotationId string) *MylibraryAnnotationsDeleteCall {
8371	c := &MylibraryAnnotationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8372	c.annotationId = annotationId
8373	return c
8374}
8375
8376// Source sets the optional parameter "source": String to identify the
8377// originator of this request.
8378func (c *MylibraryAnnotationsDeleteCall) Source(source string) *MylibraryAnnotationsDeleteCall {
8379	c.urlParams_.Set("source", source)
8380	return c
8381}
8382
8383// Fields allows partial responses to be retrieved. See
8384// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8385// for more information.
8386func (c *MylibraryAnnotationsDeleteCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsDeleteCall {
8387	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8388	return c
8389}
8390
8391// Context sets the context to be used in this call's Do method. Any
8392// pending HTTP request will be aborted if the provided context is
8393// canceled.
8394func (c *MylibraryAnnotationsDeleteCall) Context(ctx context.Context) *MylibraryAnnotationsDeleteCall {
8395	c.ctx_ = ctx
8396	return c
8397}
8398
8399// Header returns an http.Header that can be modified by the caller to
8400// add HTTP headers to the request.
8401func (c *MylibraryAnnotationsDeleteCall) Header() http.Header {
8402	if c.header_ == nil {
8403		c.header_ = make(http.Header)
8404	}
8405	return c.header_
8406}
8407
8408func (c *MylibraryAnnotationsDeleteCall) doRequest(alt string) (*http.Response, error) {
8409	reqHeaders := make(http.Header)
8410	for k, v := range c.header_ {
8411		reqHeaders[k] = v
8412	}
8413	reqHeaders.Set("User-Agent", c.s.userAgent())
8414	var body io.Reader = nil
8415	c.urlParams_.Set("alt", alt)
8416	c.urlParams_.Set("prettyPrint", "false")
8417	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/annotations/{annotationId}")
8418	urls += "?" + c.urlParams_.Encode()
8419	req, err := http.NewRequest("DELETE", urls, body)
8420	if err != nil {
8421		return nil, err
8422	}
8423	req.Header = reqHeaders
8424	googleapi.Expand(req.URL, map[string]string{
8425		"annotationId": c.annotationId,
8426	})
8427	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8428}
8429
8430// Do executes the "books.mylibrary.annotations.delete" call.
8431func (c *MylibraryAnnotationsDeleteCall) Do(opts ...googleapi.CallOption) error {
8432	gensupport.SetOptions(c.urlParams_, opts...)
8433	res, err := c.doRequest("json")
8434	if err != nil {
8435		return err
8436	}
8437	defer googleapi.CloseBody(res)
8438	if err := googleapi.CheckResponse(res); err != nil {
8439		return err
8440	}
8441	return nil
8442	// {
8443	//   "description": "Deletes an annotation.",
8444	//   "httpMethod": "DELETE",
8445	//   "id": "books.mylibrary.annotations.delete",
8446	//   "parameterOrder": [
8447	//     "annotationId"
8448	//   ],
8449	//   "parameters": {
8450	//     "annotationId": {
8451	//       "description": "The ID for the annotation to delete.",
8452	//       "location": "path",
8453	//       "required": true,
8454	//       "type": "string"
8455	//     },
8456	//     "source": {
8457	//       "description": "String to identify the originator of this request.",
8458	//       "location": "query",
8459	//       "type": "string"
8460	//     }
8461	//   },
8462	//   "path": "mylibrary/annotations/{annotationId}",
8463	//   "scopes": [
8464	//     "https://www.googleapis.com/auth/books"
8465	//   ]
8466	// }
8467
8468}
8469
8470// method id "books.mylibrary.annotations.insert":
8471
8472type MylibraryAnnotationsInsertCall struct {
8473	s          *Service
8474	annotation *Annotation
8475	urlParams_ gensupport.URLParams
8476	ctx_       context.Context
8477	header_    http.Header
8478}
8479
8480// Insert: Inserts a new annotation.
8481func (r *MylibraryAnnotationsService) Insert(annotation *Annotation) *MylibraryAnnotationsInsertCall {
8482	c := &MylibraryAnnotationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8483	c.annotation = annotation
8484	return c
8485}
8486
8487// AnnotationId sets the optional parameter "annotationId": The ID for
8488// the annotation to insert.
8489func (c *MylibraryAnnotationsInsertCall) AnnotationId(annotationId string) *MylibraryAnnotationsInsertCall {
8490	c.urlParams_.Set("annotationId", annotationId)
8491	return c
8492}
8493
8494// Country sets the optional parameter "country": ISO-3166-1 code to
8495// override the IP-based location.
8496func (c *MylibraryAnnotationsInsertCall) Country(country string) *MylibraryAnnotationsInsertCall {
8497	c.urlParams_.Set("country", country)
8498	return c
8499}
8500
8501// ShowOnlySummaryInResponse sets the optional parameter
8502// "showOnlySummaryInResponse": Requests that only the summary of the
8503// specified layer be provided in the response.
8504func (c *MylibraryAnnotationsInsertCall) ShowOnlySummaryInResponse(showOnlySummaryInResponse bool) *MylibraryAnnotationsInsertCall {
8505	c.urlParams_.Set("showOnlySummaryInResponse", fmt.Sprint(showOnlySummaryInResponse))
8506	return c
8507}
8508
8509// Source sets the optional parameter "source": String to identify the
8510// originator of this request.
8511func (c *MylibraryAnnotationsInsertCall) Source(source string) *MylibraryAnnotationsInsertCall {
8512	c.urlParams_.Set("source", source)
8513	return c
8514}
8515
8516// Fields allows partial responses to be retrieved. See
8517// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8518// for more information.
8519func (c *MylibraryAnnotationsInsertCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsInsertCall {
8520	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8521	return c
8522}
8523
8524// Context sets the context to be used in this call's Do method. Any
8525// pending HTTP request will be aborted if the provided context is
8526// canceled.
8527func (c *MylibraryAnnotationsInsertCall) Context(ctx context.Context) *MylibraryAnnotationsInsertCall {
8528	c.ctx_ = ctx
8529	return c
8530}
8531
8532// Header returns an http.Header that can be modified by the caller to
8533// add HTTP headers to the request.
8534func (c *MylibraryAnnotationsInsertCall) Header() http.Header {
8535	if c.header_ == nil {
8536		c.header_ = make(http.Header)
8537	}
8538	return c.header_
8539}
8540
8541func (c *MylibraryAnnotationsInsertCall) doRequest(alt string) (*http.Response, error) {
8542	reqHeaders := make(http.Header)
8543	for k, v := range c.header_ {
8544		reqHeaders[k] = v
8545	}
8546	reqHeaders.Set("User-Agent", c.s.userAgent())
8547	var body io.Reader = nil
8548	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotation)
8549	if err != nil {
8550		return nil, err
8551	}
8552	reqHeaders.Set("Content-Type", "application/json")
8553	c.urlParams_.Set("alt", alt)
8554	c.urlParams_.Set("prettyPrint", "false")
8555	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/annotations")
8556	urls += "?" + c.urlParams_.Encode()
8557	req, err := http.NewRequest("POST", urls, body)
8558	if err != nil {
8559		return nil, err
8560	}
8561	req.Header = reqHeaders
8562	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8563}
8564
8565// Do executes the "books.mylibrary.annotations.insert" call.
8566// Exactly one of *Annotation or error will be non-nil. Any non-2xx
8567// status code is an error. Response headers are in either
8568// *Annotation.ServerResponse.Header or (if a response was returned at
8569// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8570// to check whether the returned error was because
8571// http.StatusNotModified was returned.
8572func (c *MylibraryAnnotationsInsertCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
8573	gensupport.SetOptions(c.urlParams_, opts...)
8574	res, err := c.doRequest("json")
8575	if res != nil && res.StatusCode == http.StatusNotModified {
8576		if res.Body != nil {
8577			res.Body.Close()
8578		}
8579		return nil, &googleapi.Error{
8580			Code:   res.StatusCode,
8581			Header: res.Header,
8582		}
8583	}
8584	if err != nil {
8585		return nil, err
8586	}
8587	defer googleapi.CloseBody(res)
8588	if err := googleapi.CheckResponse(res); err != nil {
8589		return nil, err
8590	}
8591	ret := &Annotation{
8592		ServerResponse: googleapi.ServerResponse{
8593			Header:         res.Header,
8594			HTTPStatusCode: res.StatusCode,
8595		},
8596	}
8597	target := &ret
8598	if err := gensupport.DecodeResponse(target, res); err != nil {
8599		return nil, err
8600	}
8601	return ret, nil
8602	// {
8603	//   "description": "Inserts a new annotation.",
8604	//   "httpMethod": "POST",
8605	//   "id": "books.mylibrary.annotations.insert",
8606	//   "parameters": {
8607	//     "annotationId": {
8608	//       "description": "The ID for the annotation to insert.",
8609	//       "location": "query",
8610	//       "type": "string"
8611	//     },
8612	//     "country": {
8613	//       "description": "ISO-3166-1 code to override the IP-based location.",
8614	//       "location": "query",
8615	//       "type": "string"
8616	//     },
8617	//     "showOnlySummaryInResponse": {
8618	//       "description": "Requests that only the summary of the specified layer be provided in the response.",
8619	//       "location": "query",
8620	//       "type": "boolean"
8621	//     },
8622	//     "source": {
8623	//       "description": "String to identify the originator of this request.",
8624	//       "location": "query",
8625	//       "type": "string"
8626	//     }
8627	//   },
8628	//   "path": "mylibrary/annotations",
8629	//   "request": {
8630	//     "$ref": "Annotation"
8631	//   },
8632	//   "response": {
8633	//     "$ref": "Annotation"
8634	//   },
8635	//   "scopes": [
8636	//     "https://www.googleapis.com/auth/books"
8637	//   ]
8638	// }
8639
8640}
8641
8642// method id "books.mylibrary.annotations.list":
8643
8644type MylibraryAnnotationsListCall struct {
8645	s            *Service
8646	urlParams_   gensupport.URLParams
8647	ifNoneMatch_ string
8648	ctx_         context.Context
8649	header_      http.Header
8650}
8651
8652// List: Retrieves a list of annotations, possibly filtered.
8653func (r *MylibraryAnnotationsService) List() *MylibraryAnnotationsListCall {
8654	c := &MylibraryAnnotationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8655	return c
8656}
8657
8658// ContentVersion sets the optional parameter "contentVersion": The
8659// content version for the requested volume.
8660func (c *MylibraryAnnotationsListCall) ContentVersion(contentVersion string) *MylibraryAnnotationsListCall {
8661	c.urlParams_.Set("contentVersion", contentVersion)
8662	return c
8663}
8664
8665// LayerId sets the optional parameter "layerId": The layer ID to limit
8666// annotation by.
8667func (c *MylibraryAnnotationsListCall) LayerId(layerId string) *MylibraryAnnotationsListCall {
8668	c.urlParams_.Set("layerId", layerId)
8669	return c
8670}
8671
8672// LayerIds sets the optional parameter "layerIds": The layer ID(s) to
8673// limit annotation by.
8674func (c *MylibraryAnnotationsListCall) LayerIds(layerIds ...string) *MylibraryAnnotationsListCall {
8675	c.urlParams_.SetMulti("layerIds", append([]string{}, layerIds...))
8676	return c
8677}
8678
8679// MaxResults sets the optional parameter "maxResults": Maximum number
8680// of results to return
8681func (c *MylibraryAnnotationsListCall) MaxResults(maxResults int64) *MylibraryAnnotationsListCall {
8682	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
8683	return c
8684}
8685
8686// PageToken sets the optional parameter "pageToken": The value of the
8687// nextToken from the previous page.
8688func (c *MylibraryAnnotationsListCall) PageToken(pageToken string) *MylibraryAnnotationsListCall {
8689	c.urlParams_.Set("pageToken", pageToken)
8690	return c
8691}
8692
8693// ShowDeleted sets the optional parameter "showDeleted": Set to true to
8694// return deleted annotations. updatedMin must be in the request to use
8695// this. Defaults to false.
8696func (c *MylibraryAnnotationsListCall) ShowDeleted(showDeleted bool) *MylibraryAnnotationsListCall {
8697	c.urlParams_.Set("showDeleted", fmt.Sprint(showDeleted))
8698	return c
8699}
8700
8701// Source sets the optional parameter "source": String to identify the
8702// originator of this request.
8703func (c *MylibraryAnnotationsListCall) Source(source string) *MylibraryAnnotationsListCall {
8704	c.urlParams_.Set("source", source)
8705	return c
8706}
8707
8708// UpdatedMax sets the optional parameter "updatedMax": RFC 3339
8709// timestamp to restrict to items updated prior to this timestamp
8710// (exclusive).
8711func (c *MylibraryAnnotationsListCall) UpdatedMax(updatedMax string) *MylibraryAnnotationsListCall {
8712	c.urlParams_.Set("updatedMax", updatedMax)
8713	return c
8714}
8715
8716// UpdatedMin sets the optional parameter "updatedMin": RFC 3339
8717// timestamp to restrict to items updated since this timestamp
8718// (inclusive).
8719func (c *MylibraryAnnotationsListCall) UpdatedMin(updatedMin string) *MylibraryAnnotationsListCall {
8720	c.urlParams_.Set("updatedMin", updatedMin)
8721	return c
8722}
8723
8724// VolumeId sets the optional parameter "volumeId": The volume to
8725// restrict annotations to.
8726func (c *MylibraryAnnotationsListCall) VolumeId(volumeId string) *MylibraryAnnotationsListCall {
8727	c.urlParams_.Set("volumeId", volumeId)
8728	return c
8729}
8730
8731// Fields allows partial responses to be retrieved. See
8732// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8733// for more information.
8734func (c *MylibraryAnnotationsListCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsListCall {
8735	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8736	return c
8737}
8738
8739// IfNoneMatch sets the optional parameter which makes the operation
8740// fail if the object's ETag matches the given value. This is useful for
8741// getting updates only after the object has changed since the last
8742// request. Use googleapi.IsNotModified to check whether the response
8743// error from Do is the result of In-None-Match.
8744func (c *MylibraryAnnotationsListCall) IfNoneMatch(entityTag string) *MylibraryAnnotationsListCall {
8745	c.ifNoneMatch_ = entityTag
8746	return c
8747}
8748
8749// Context sets the context to be used in this call's Do method. Any
8750// pending HTTP request will be aborted if the provided context is
8751// canceled.
8752func (c *MylibraryAnnotationsListCall) Context(ctx context.Context) *MylibraryAnnotationsListCall {
8753	c.ctx_ = ctx
8754	return c
8755}
8756
8757// Header returns an http.Header that can be modified by the caller to
8758// add HTTP headers to the request.
8759func (c *MylibraryAnnotationsListCall) Header() http.Header {
8760	if c.header_ == nil {
8761		c.header_ = make(http.Header)
8762	}
8763	return c.header_
8764}
8765
8766func (c *MylibraryAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
8767	reqHeaders := make(http.Header)
8768	for k, v := range c.header_ {
8769		reqHeaders[k] = v
8770	}
8771	reqHeaders.Set("User-Agent", c.s.userAgent())
8772	if c.ifNoneMatch_ != "" {
8773		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
8774	}
8775	var body io.Reader = nil
8776	c.urlParams_.Set("alt", alt)
8777	c.urlParams_.Set("prettyPrint", "false")
8778	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/annotations")
8779	urls += "?" + c.urlParams_.Encode()
8780	req, err := http.NewRequest("GET", urls, body)
8781	if err != nil {
8782		return nil, err
8783	}
8784	req.Header = reqHeaders
8785	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8786}
8787
8788// Do executes the "books.mylibrary.annotations.list" call.
8789// Exactly one of *Annotations or error will be non-nil. Any non-2xx
8790// status code is an error. Response headers are in either
8791// *Annotations.ServerResponse.Header or (if a response was returned at
8792// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
8793// to check whether the returned error was because
8794// http.StatusNotModified was returned.
8795func (c *MylibraryAnnotationsListCall) Do(opts ...googleapi.CallOption) (*Annotations, error) {
8796	gensupport.SetOptions(c.urlParams_, opts...)
8797	res, err := c.doRequest("json")
8798	if res != nil && res.StatusCode == http.StatusNotModified {
8799		if res.Body != nil {
8800			res.Body.Close()
8801		}
8802		return nil, &googleapi.Error{
8803			Code:   res.StatusCode,
8804			Header: res.Header,
8805		}
8806	}
8807	if err != nil {
8808		return nil, err
8809	}
8810	defer googleapi.CloseBody(res)
8811	if err := googleapi.CheckResponse(res); err != nil {
8812		return nil, err
8813	}
8814	ret := &Annotations{
8815		ServerResponse: googleapi.ServerResponse{
8816			Header:         res.Header,
8817			HTTPStatusCode: res.StatusCode,
8818		},
8819	}
8820	target := &ret
8821	if err := gensupport.DecodeResponse(target, res); err != nil {
8822		return nil, err
8823	}
8824	return ret, nil
8825	// {
8826	//   "description": "Retrieves a list of annotations, possibly filtered.",
8827	//   "httpMethod": "GET",
8828	//   "id": "books.mylibrary.annotations.list",
8829	//   "parameters": {
8830	//     "contentVersion": {
8831	//       "description": "The content version for the requested volume.",
8832	//       "location": "query",
8833	//       "type": "string"
8834	//     },
8835	//     "layerId": {
8836	//       "description": "The layer ID to limit annotation by.",
8837	//       "location": "query",
8838	//       "type": "string"
8839	//     },
8840	//     "layerIds": {
8841	//       "description": "The layer ID(s) to limit annotation by.",
8842	//       "location": "query",
8843	//       "repeated": true,
8844	//       "type": "string"
8845	//     },
8846	//     "maxResults": {
8847	//       "description": "Maximum number of results to return",
8848	//       "format": "uint32",
8849	//       "location": "query",
8850	//       "maximum": "40",
8851	//       "minimum": "0",
8852	//       "type": "integer"
8853	//     },
8854	//     "pageToken": {
8855	//       "description": "The value of the nextToken from the previous page.",
8856	//       "location": "query",
8857	//       "type": "string"
8858	//     },
8859	//     "showDeleted": {
8860	//       "description": "Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.",
8861	//       "location": "query",
8862	//       "type": "boolean"
8863	//     },
8864	//     "source": {
8865	//       "description": "String to identify the originator of this request.",
8866	//       "location": "query",
8867	//       "type": "string"
8868	//     },
8869	//     "updatedMax": {
8870	//       "description": "RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).",
8871	//       "location": "query",
8872	//       "type": "string"
8873	//     },
8874	//     "updatedMin": {
8875	//       "description": "RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).",
8876	//       "location": "query",
8877	//       "type": "string"
8878	//     },
8879	//     "volumeId": {
8880	//       "description": "The volume to restrict annotations to.",
8881	//       "location": "query",
8882	//       "type": "string"
8883	//     }
8884	//   },
8885	//   "path": "mylibrary/annotations",
8886	//   "response": {
8887	//     "$ref": "Annotations"
8888	//   },
8889	//   "scopes": [
8890	//     "https://www.googleapis.com/auth/books"
8891	//   ]
8892	// }
8893
8894}
8895
8896// Pages invokes f for each page of results.
8897// A non-nil error returned from f will halt the iteration.
8898// The provided context supersedes any context provided to the Context method.
8899func (c *MylibraryAnnotationsListCall) Pages(ctx context.Context, f func(*Annotations) error) error {
8900	c.ctx_ = ctx
8901	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
8902	for {
8903		x, err := c.Do()
8904		if err != nil {
8905			return err
8906		}
8907		if err := f(x); err != nil {
8908			return err
8909		}
8910		if x.NextPageToken == "" {
8911			return nil
8912		}
8913		c.PageToken(x.NextPageToken)
8914	}
8915}
8916
8917// method id "books.mylibrary.annotations.summary":
8918
8919type MylibraryAnnotationsSummaryCall struct {
8920	s          *Service
8921	urlParams_ gensupport.URLParams
8922	ctx_       context.Context
8923	header_    http.Header
8924}
8925
8926// Summary: Gets the summary of specified layers.
8927func (r *MylibraryAnnotationsService) Summary(layerIds []string, volumeId string) *MylibraryAnnotationsSummaryCall {
8928	c := &MylibraryAnnotationsSummaryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
8929	c.urlParams_.SetMulti("layerIds", append([]string{}, layerIds...))
8930	c.urlParams_.Set("volumeId", volumeId)
8931	return c
8932}
8933
8934// Fields allows partial responses to be retrieved. See
8935// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
8936// for more information.
8937func (c *MylibraryAnnotationsSummaryCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsSummaryCall {
8938	c.urlParams_.Set("fields", googleapi.CombineFields(s))
8939	return c
8940}
8941
8942// Context sets the context to be used in this call's Do method. Any
8943// pending HTTP request will be aborted if the provided context is
8944// canceled.
8945func (c *MylibraryAnnotationsSummaryCall) Context(ctx context.Context) *MylibraryAnnotationsSummaryCall {
8946	c.ctx_ = ctx
8947	return c
8948}
8949
8950// Header returns an http.Header that can be modified by the caller to
8951// add HTTP headers to the request.
8952func (c *MylibraryAnnotationsSummaryCall) Header() http.Header {
8953	if c.header_ == nil {
8954		c.header_ = make(http.Header)
8955	}
8956	return c.header_
8957}
8958
8959func (c *MylibraryAnnotationsSummaryCall) doRequest(alt string) (*http.Response, error) {
8960	reqHeaders := make(http.Header)
8961	for k, v := range c.header_ {
8962		reqHeaders[k] = v
8963	}
8964	reqHeaders.Set("User-Agent", c.s.userAgent())
8965	var body io.Reader = nil
8966	c.urlParams_.Set("alt", alt)
8967	c.urlParams_.Set("prettyPrint", "false")
8968	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/annotations/summary")
8969	urls += "?" + c.urlParams_.Encode()
8970	req, err := http.NewRequest("POST", urls, body)
8971	if err != nil {
8972		return nil, err
8973	}
8974	req.Header = reqHeaders
8975	return gensupport.SendRequest(c.ctx_, c.s.client, req)
8976}
8977
8978// Do executes the "books.mylibrary.annotations.summary" call.
8979// Exactly one of *AnnotationsSummary or error will be non-nil. Any
8980// non-2xx status code is an error. Response headers are in either
8981// *AnnotationsSummary.ServerResponse.Header or (if a response was
8982// returned at all) in error.(*googleapi.Error).Header. Use
8983// googleapi.IsNotModified to check whether the returned error was
8984// because http.StatusNotModified was returned.
8985func (c *MylibraryAnnotationsSummaryCall) Do(opts ...googleapi.CallOption) (*AnnotationsSummary, error) {
8986	gensupport.SetOptions(c.urlParams_, opts...)
8987	res, err := c.doRequest("json")
8988	if res != nil && res.StatusCode == http.StatusNotModified {
8989		if res.Body != nil {
8990			res.Body.Close()
8991		}
8992		return nil, &googleapi.Error{
8993			Code:   res.StatusCode,
8994			Header: res.Header,
8995		}
8996	}
8997	if err != nil {
8998		return nil, err
8999	}
9000	defer googleapi.CloseBody(res)
9001	if err := googleapi.CheckResponse(res); err != nil {
9002		return nil, err
9003	}
9004	ret := &AnnotationsSummary{
9005		ServerResponse: googleapi.ServerResponse{
9006			Header:         res.Header,
9007			HTTPStatusCode: res.StatusCode,
9008		},
9009	}
9010	target := &ret
9011	if err := gensupport.DecodeResponse(target, res); err != nil {
9012		return nil, err
9013	}
9014	return ret, nil
9015	// {
9016	//   "description": "Gets the summary of specified layers.",
9017	//   "httpMethod": "POST",
9018	//   "id": "books.mylibrary.annotations.summary",
9019	//   "parameterOrder": [
9020	//     "layerIds",
9021	//     "volumeId"
9022	//   ],
9023	//   "parameters": {
9024	//     "layerIds": {
9025	//       "description": "Array of layer IDs to get the summary for.",
9026	//       "location": "query",
9027	//       "repeated": true,
9028	//       "required": true,
9029	//       "type": "string"
9030	//     },
9031	//     "volumeId": {
9032	//       "description": "Volume id to get the summary for.",
9033	//       "location": "query",
9034	//       "required": true,
9035	//       "type": "string"
9036	//     }
9037	//   },
9038	//   "path": "mylibrary/annotations/summary",
9039	//   "response": {
9040	//     "$ref": "AnnotationsSummary"
9041	//   },
9042	//   "scopes": [
9043	//     "https://www.googleapis.com/auth/books"
9044	//   ]
9045	// }
9046
9047}
9048
9049// method id "books.mylibrary.annotations.update":
9050
9051type MylibraryAnnotationsUpdateCall struct {
9052	s            *Service
9053	annotationId string
9054	annotation   *Annotation
9055	urlParams_   gensupport.URLParams
9056	ctx_         context.Context
9057	header_      http.Header
9058}
9059
9060// Update: Updates an existing annotation.
9061func (r *MylibraryAnnotationsService) Update(annotationId string, annotation *Annotation) *MylibraryAnnotationsUpdateCall {
9062	c := &MylibraryAnnotationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9063	c.annotationId = annotationId
9064	c.annotation = annotation
9065	return c
9066}
9067
9068// Source sets the optional parameter "source": String to identify the
9069// originator of this request.
9070func (c *MylibraryAnnotationsUpdateCall) Source(source string) *MylibraryAnnotationsUpdateCall {
9071	c.urlParams_.Set("source", source)
9072	return c
9073}
9074
9075// Fields allows partial responses to be retrieved. See
9076// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9077// for more information.
9078func (c *MylibraryAnnotationsUpdateCall) Fields(s ...googleapi.Field) *MylibraryAnnotationsUpdateCall {
9079	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9080	return c
9081}
9082
9083// Context sets the context to be used in this call's Do method. Any
9084// pending HTTP request will be aborted if the provided context is
9085// canceled.
9086func (c *MylibraryAnnotationsUpdateCall) Context(ctx context.Context) *MylibraryAnnotationsUpdateCall {
9087	c.ctx_ = ctx
9088	return c
9089}
9090
9091// Header returns an http.Header that can be modified by the caller to
9092// add HTTP headers to the request.
9093func (c *MylibraryAnnotationsUpdateCall) Header() http.Header {
9094	if c.header_ == nil {
9095		c.header_ = make(http.Header)
9096	}
9097	return c.header_
9098}
9099
9100func (c *MylibraryAnnotationsUpdateCall) doRequest(alt string) (*http.Response, error) {
9101	reqHeaders := make(http.Header)
9102	for k, v := range c.header_ {
9103		reqHeaders[k] = v
9104	}
9105	reqHeaders.Set("User-Agent", c.s.userAgent())
9106	var body io.Reader = nil
9107	body, err := googleapi.WithoutDataWrapper.JSONReader(c.annotation)
9108	if err != nil {
9109		return nil, err
9110	}
9111	reqHeaders.Set("Content-Type", "application/json")
9112	c.urlParams_.Set("alt", alt)
9113	c.urlParams_.Set("prettyPrint", "false")
9114	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/annotations/{annotationId}")
9115	urls += "?" + c.urlParams_.Encode()
9116	req, err := http.NewRequest("PUT", urls, body)
9117	if err != nil {
9118		return nil, err
9119	}
9120	req.Header = reqHeaders
9121	googleapi.Expand(req.URL, map[string]string{
9122		"annotationId": c.annotationId,
9123	})
9124	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9125}
9126
9127// Do executes the "books.mylibrary.annotations.update" call.
9128// Exactly one of *Annotation or error will be non-nil. Any non-2xx
9129// status code is an error. Response headers are in either
9130// *Annotation.ServerResponse.Header or (if a response was returned at
9131// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9132// to check whether the returned error was because
9133// http.StatusNotModified was returned.
9134func (c *MylibraryAnnotationsUpdateCall) Do(opts ...googleapi.CallOption) (*Annotation, error) {
9135	gensupport.SetOptions(c.urlParams_, opts...)
9136	res, err := c.doRequest("json")
9137	if res != nil && res.StatusCode == http.StatusNotModified {
9138		if res.Body != nil {
9139			res.Body.Close()
9140		}
9141		return nil, &googleapi.Error{
9142			Code:   res.StatusCode,
9143			Header: res.Header,
9144		}
9145	}
9146	if err != nil {
9147		return nil, err
9148	}
9149	defer googleapi.CloseBody(res)
9150	if err := googleapi.CheckResponse(res); err != nil {
9151		return nil, err
9152	}
9153	ret := &Annotation{
9154		ServerResponse: googleapi.ServerResponse{
9155			Header:         res.Header,
9156			HTTPStatusCode: res.StatusCode,
9157		},
9158	}
9159	target := &ret
9160	if err := gensupport.DecodeResponse(target, res); err != nil {
9161		return nil, err
9162	}
9163	return ret, nil
9164	// {
9165	//   "description": "Updates an existing annotation.",
9166	//   "httpMethod": "PUT",
9167	//   "id": "books.mylibrary.annotations.update",
9168	//   "parameterOrder": [
9169	//     "annotationId"
9170	//   ],
9171	//   "parameters": {
9172	//     "annotationId": {
9173	//       "description": "The ID for the annotation to update.",
9174	//       "location": "path",
9175	//       "required": true,
9176	//       "type": "string"
9177	//     },
9178	//     "source": {
9179	//       "description": "String to identify the originator of this request.",
9180	//       "location": "query",
9181	//       "type": "string"
9182	//     }
9183	//   },
9184	//   "path": "mylibrary/annotations/{annotationId}",
9185	//   "request": {
9186	//     "$ref": "Annotation"
9187	//   },
9188	//   "response": {
9189	//     "$ref": "Annotation"
9190	//   },
9191	//   "scopes": [
9192	//     "https://www.googleapis.com/auth/books"
9193	//   ]
9194	// }
9195
9196}
9197
9198// method id "books.mylibrary.bookshelves.addVolume":
9199
9200type MylibraryBookshelvesAddVolumeCall struct {
9201	s          *Service
9202	shelf      string
9203	urlParams_ gensupport.URLParams
9204	ctx_       context.Context
9205	header_    http.Header
9206}
9207
9208// AddVolume: Adds a volume to a bookshelf.
9209func (r *MylibraryBookshelvesService) AddVolume(shelf string, volumeId string) *MylibraryBookshelvesAddVolumeCall {
9210	c := &MylibraryBookshelvesAddVolumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9211	c.shelf = shelf
9212	c.urlParams_.Set("volumeId", volumeId)
9213	return c
9214}
9215
9216// Reason sets the optional parameter "reason": The reason for which the
9217// book is added to the library.
9218//
9219// Possible values:
9220//   "IOS_PREX" - Volumes added from the PREX flow on iOS.
9221//   "IOS_SEARCH" - Volumes added from the Search flow on iOS.
9222//   "ONBOARDING" - Volumes added from the Onboarding flow.
9223func (c *MylibraryBookshelvesAddVolumeCall) Reason(reason string) *MylibraryBookshelvesAddVolumeCall {
9224	c.urlParams_.Set("reason", reason)
9225	return c
9226}
9227
9228// Source sets the optional parameter "source": String to identify the
9229// originator of this request.
9230func (c *MylibraryBookshelvesAddVolumeCall) Source(source string) *MylibraryBookshelvesAddVolumeCall {
9231	c.urlParams_.Set("source", source)
9232	return c
9233}
9234
9235// Fields allows partial responses to be retrieved. See
9236// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9237// for more information.
9238func (c *MylibraryBookshelvesAddVolumeCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesAddVolumeCall {
9239	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9240	return c
9241}
9242
9243// Context sets the context to be used in this call's Do method. Any
9244// pending HTTP request will be aborted if the provided context is
9245// canceled.
9246func (c *MylibraryBookshelvesAddVolumeCall) Context(ctx context.Context) *MylibraryBookshelvesAddVolumeCall {
9247	c.ctx_ = ctx
9248	return c
9249}
9250
9251// Header returns an http.Header that can be modified by the caller to
9252// add HTTP headers to the request.
9253func (c *MylibraryBookshelvesAddVolumeCall) Header() http.Header {
9254	if c.header_ == nil {
9255		c.header_ = make(http.Header)
9256	}
9257	return c.header_
9258}
9259
9260func (c *MylibraryBookshelvesAddVolumeCall) doRequest(alt string) (*http.Response, error) {
9261	reqHeaders := make(http.Header)
9262	for k, v := range c.header_ {
9263		reqHeaders[k] = v
9264	}
9265	reqHeaders.Set("User-Agent", c.s.userAgent())
9266	var body io.Reader = nil
9267	c.urlParams_.Set("alt", alt)
9268	c.urlParams_.Set("prettyPrint", "false")
9269	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves/{shelf}/addVolume")
9270	urls += "?" + c.urlParams_.Encode()
9271	req, err := http.NewRequest("POST", urls, body)
9272	if err != nil {
9273		return nil, err
9274	}
9275	req.Header = reqHeaders
9276	googleapi.Expand(req.URL, map[string]string{
9277		"shelf": c.shelf,
9278	})
9279	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9280}
9281
9282// Do executes the "books.mylibrary.bookshelves.addVolume" call.
9283func (c *MylibraryBookshelvesAddVolumeCall) Do(opts ...googleapi.CallOption) error {
9284	gensupport.SetOptions(c.urlParams_, opts...)
9285	res, err := c.doRequest("json")
9286	if err != nil {
9287		return err
9288	}
9289	defer googleapi.CloseBody(res)
9290	if err := googleapi.CheckResponse(res); err != nil {
9291		return err
9292	}
9293	return nil
9294	// {
9295	//   "description": "Adds a volume to a bookshelf.",
9296	//   "httpMethod": "POST",
9297	//   "id": "books.mylibrary.bookshelves.addVolume",
9298	//   "parameterOrder": [
9299	//     "shelf",
9300	//     "volumeId"
9301	//   ],
9302	//   "parameters": {
9303	//     "reason": {
9304	//       "description": "The reason for which the book is added to the library.",
9305	//       "enum": [
9306	//         "IOS_PREX",
9307	//         "IOS_SEARCH",
9308	//         "ONBOARDING"
9309	//       ],
9310	//       "enumDescriptions": [
9311	//         "Volumes added from the PREX flow on iOS.",
9312	//         "Volumes added from the Search flow on iOS.",
9313	//         "Volumes added from the Onboarding flow."
9314	//       ],
9315	//       "location": "query",
9316	//       "type": "string"
9317	//     },
9318	//     "shelf": {
9319	//       "description": "ID of bookshelf to which to add a volume.",
9320	//       "location": "path",
9321	//       "required": true,
9322	//       "type": "string"
9323	//     },
9324	//     "source": {
9325	//       "description": "String to identify the originator of this request.",
9326	//       "location": "query",
9327	//       "type": "string"
9328	//     },
9329	//     "volumeId": {
9330	//       "description": "ID of volume to add.",
9331	//       "location": "query",
9332	//       "required": true,
9333	//       "type": "string"
9334	//     }
9335	//   },
9336	//   "path": "mylibrary/bookshelves/{shelf}/addVolume",
9337	//   "scopes": [
9338	//     "https://www.googleapis.com/auth/books"
9339	//   ]
9340	// }
9341
9342}
9343
9344// method id "books.mylibrary.bookshelves.clearVolumes":
9345
9346type MylibraryBookshelvesClearVolumesCall struct {
9347	s          *Service
9348	shelf      string
9349	urlParams_ gensupport.URLParams
9350	ctx_       context.Context
9351	header_    http.Header
9352}
9353
9354// ClearVolumes: Clears all volumes from a bookshelf.
9355func (r *MylibraryBookshelvesService) ClearVolumes(shelf string) *MylibraryBookshelvesClearVolumesCall {
9356	c := &MylibraryBookshelvesClearVolumesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9357	c.shelf = shelf
9358	return c
9359}
9360
9361// Source sets the optional parameter "source": String to identify the
9362// originator of this request.
9363func (c *MylibraryBookshelvesClearVolumesCall) Source(source string) *MylibraryBookshelvesClearVolumesCall {
9364	c.urlParams_.Set("source", source)
9365	return c
9366}
9367
9368// Fields allows partial responses to be retrieved. See
9369// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9370// for more information.
9371func (c *MylibraryBookshelvesClearVolumesCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesClearVolumesCall {
9372	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9373	return c
9374}
9375
9376// Context sets the context to be used in this call's Do method. Any
9377// pending HTTP request will be aborted if the provided context is
9378// canceled.
9379func (c *MylibraryBookshelvesClearVolumesCall) Context(ctx context.Context) *MylibraryBookshelvesClearVolumesCall {
9380	c.ctx_ = ctx
9381	return c
9382}
9383
9384// Header returns an http.Header that can be modified by the caller to
9385// add HTTP headers to the request.
9386func (c *MylibraryBookshelvesClearVolumesCall) Header() http.Header {
9387	if c.header_ == nil {
9388		c.header_ = make(http.Header)
9389	}
9390	return c.header_
9391}
9392
9393func (c *MylibraryBookshelvesClearVolumesCall) doRequest(alt string) (*http.Response, error) {
9394	reqHeaders := make(http.Header)
9395	for k, v := range c.header_ {
9396		reqHeaders[k] = v
9397	}
9398	reqHeaders.Set("User-Agent", c.s.userAgent())
9399	var body io.Reader = nil
9400	c.urlParams_.Set("alt", alt)
9401	c.urlParams_.Set("prettyPrint", "false")
9402	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves/{shelf}/clearVolumes")
9403	urls += "?" + c.urlParams_.Encode()
9404	req, err := http.NewRequest("POST", urls, body)
9405	if err != nil {
9406		return nil, err
9407	}
9408	req.Header = reqHeaders
9409	googleapi.Expand(req.URL, map[string]string{
9410		"shelf": c.shelf,
9411	})
9412	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9413}
9414
9415// Do executes the "books.mylibrary.bookshelves.clearVolumes" call.
9416func (c *MylibraryBookshelvesClearVolumesCall) Do(opts ...googleapi.CallOption) error {
9417	gensupport.SetOptions(c.urlParams_, opts...)
9418	res, err := c.doRequest("json")
9419	if err != nil {
9420		return err
9421	}
9422	defer googleapi.CloseBody(res)
9423	if err := googleapi.CheckResponse(res); err != nil {
9424		return err
9425	}
9426	return nil
9427	// {
9428	//   "description": "Clears all volumes from a bookshelf.",
9429	//   "httpMethod": "POST",
9430	//   "id": "books.mylibrary.bookshelves.clearVolumes",
9431	//   "parameterOrder": [
9432	//     "shelf"
9433	//   ],
9434	//   "parameters": {
9435	//     "shelf": {
9436	//       "description": "ID of bookshelf from which to remove a volume.",
9437	//       "location": "path",
9438	//       "required": true,
9439	//       "type": "string"
9440	//     },
9441	//     "source": {
9442	//       "description": "String to identify the originator of this request.",
9443	//       "location": "query",
9444	//       "type": "string"
9445	//     }
9446	//   },
9447	//   "path": "mylibrary/bookshelves/{shelf}/clearVolumes",
9448	//   "scopes": [
9449	//     "https://www.googleapis.com/auth/books"
9450	//   ]
9451	// }
9452
9453}
9454
9455// method id "books.mylibrary.bookshelves.get":
9456
9457type MylibraryBookshelvesGetCall struct {
9458	s            *Service
9459	shelf        string
9460	urlParams_   gensupport.URLParams
9461	ifNoneMatch_ string
9462	ctx_         context.Context
9463	header_      http.Header
9464}
9465
9466// Get: Retrieves metadata for a specific bookshelf belonging to the
9467// authenticated user.
9468func (r *MylibraryBookshelvesService) Get(shelf string) *MylibraryBookshelvesGetCall {
9469	c := &MylibraryBookshelvesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9470	c.shelf = shelf
9471	return c
9472}
9473
9474// Source sets the optional parameter "source": String to identify the
9475// originator of this request.
9476func (c *MylibraryBookshelvesGetCall) Source(source string) *MylibraryBookshelvesGetCall {
9477	c.urlParams_.Set("source", source)
9478	return c
9479}
9480
9481// Fields allows partial responses to be retrieved. See
9482// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9483// for more information.
9484func (c *MylibraryBookshelvesGetCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesGetCall {
9485	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9486	return c
9487}
9488
9489// IfNoneMatch sets the optional parameter which makes the operation
9490// fail if the object's ETag matches the given value. This is useful for
9491// getting updates only after the object has changed since the last
9492// request. Use googleapi.IsNotModified to check whether the response
9493// error from Do is the result of In-None-Match.
9494func (c *MylibraryBookshelvesGetCall) IfNoneMatch(entityTag string) *MylibraryBookshelvesGetCall {
9495	c.ifNoneMatch_ = entityTag
9496	return c
9497}
9498
9499// Context sets the context to be used in this call's Do method. Any
9500// pending HTTP request will be aborted if the provided context is
9501// canceled.
9502func (c *MylibraryBookshelvesGetCall) Context(ctx context.Context) *MylibraryBookshelvesGetCall {
9503	c.ctx_ = ctx
9504	return c
9505}
9506
9507// Header returns an http.Header that can be modified by the caller to
9508// add HTTP headers to the request.
9509func (c *MylibraryBookshelvesGetCall) Header() http.Header {
9510	if c.header_ == nil {
9511		c.header_ = make(http.Header)
9512	}
9513	return c.header_
9514}
9515
9516func (c *MylibraryBookshelvesGetCall) doRequest(alt string) (*http.Response, error) {
9517	reqHeaders := make(http.Header)
9518	for k, v := range c.header_ {
9519		reqHeaders[k] = v
9520	}
9521	reqHeaders.Set("User-Agent", c.s.userAgent())
9522	if c.ifNoneMatch_ != "" {
9523		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9524	}
9525	var body io.Reader = nil
9526	c.urlParams_.Set("alt", alt)
9527	c.urlParams_.Set("prettyPrint", "false")
9528	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves/{shelf}")
9529	urls += "?" + c.urlParams_.Encode()
9530	req, err := http.NewRequest("GET", urls, body)
9531	if err != nil {
9532		return nil, err
9533	}
9534	req.Header = reqHeaders
9535	googleapi.Expand(req.URL, map[string]string{
9536		"shelf": c.shelf,
9537	})
9538	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9539}
9540
9541// Do executes the "books.mylibrary.bookshelves.get" call.
9542// Exactly one of *Bookshelf or error will be non-nil. Any non-2xx
9543// status code is an error. Response headers are in either
9544// *Bookshelf.ServerResponse.Header or (if a response was returned at
9545// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9546// to check whether the returned error was because
9547// http.StatusNotModified was returned.
9548func (c *MylibraryBookshelvesGetCall) Do(opts ...googleapi.CallOption) (*Bookshelf, error) {
9549	gensupport.SetOptions(c.urlParams_, opts...)
9550	res, err := c.doRequest("json")
9551	if res != nil && res.StatusCode == http.StatusNotModified {
9552		if res.Body != nil {
9553			res.Body.Close()
9554		}
9555		return nil, &googleapi.Error{
9556			Code:   res.StatusCode,
9557			Header: res.Header,
9558		}
9559	}
9560	if err != nil {
9561		return nil, err
9562	}
9563	defer googleapi.CloseBody(res)
9564	if err := googleapi.CheckResponse(res); err != nil {
9565		return nil, err
9566	}
9567	ret := &Bookshelf{
9568		ServerResponse: googleapi.ServerResponse{
9569			Header:         res.Header,
9570			HTTPStatusCode: res.StatusCode,
9571		},
9572	}
9573	target := &ret
9574	if err := gensupport.DecodeResponse(target, res); err != nil {
9575		return nil, err
9576	}
9577	return ret, nil
9578	// {
9579	//   "description": "Retrieves metadata for a specific bookshelf belonging to the authenticated user.",
9580	//   "httpMethod": "GET",
9581	//   "id": "books.mylibrary.bookshelves.get",
9582	//   "parameterOrder": [
9583	//     "shelf"
9584	//   ],
9585	//   "parameters": {
9586	//     "shelf": {
9587	//       "description": "ID of bookshelf to retrieve.",
9588	//       "location": "path",
9589	//       "required": true,
9590	//       "type": "string"
9591	//     },
9592	//     "source": {
9593	//       "description": "String to identify the originator of this request.",
9594	//       "location": "query",
9595	//       "type": "string"
9596	//     }
9597	//   },
9598	//   "path": "mylibrary/bookshelves/{shelf}",
9599	//   "response": {
9600	//     "$ref": "Bookshelf"
9601	//   },
9602	//   "scopes": [
9603	//     "https://www.googleapis.com/auth/books"
9604	//   ]
9605	// }
9606
9607}
9608
9609// method id "books.mylibrary.bookshelves.list":
9610
9611type MylibraryBookshelvesListCall struct {
9612	s            *Service
9613	urlParams_   gensupport.URLParams
9614	ifNoneMatch_ string
9615	ctx_         context.Context
9616	header_      http.Header
9617}
9618
9619// List: Retrieves a list of bookshelves belonging to the authenticated
9620// user.
9621func (r *MylibraryBookshelvesService) List() *MylibraryBookshelvesListCall {
9622	c := &MylibraryBookshelvesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9623	return c
9624}
9625
9626// Source sets the optional parameter "source": String to identify the
9627// originator of this request.
9628func (c *MylibraryBookshelvesListCall) Source(source string) *MylibraryBookshelvesListCall {
9629	c.urlParams_.Set("source", source)
9630	return c
9631}
9632
9633// Fields allows partial responses to be retrieved. See
9634// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9635// for more information.
9636func (c *MylibraryBookshelvesListCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesListCall {
9637	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9638	return c
9639}
9640
9641// IfNoneMatch sets the optional parameter which makes the operation
9642// fail if the object's ETag matches the given value. This is useful for
9643// getting updates only after the object has changed since the last
9644// request. Use googleapi.IsNotModified to check whether the response
9645// error from Do is the result of In-None-Match.
9646func (c *MylibraryBookshelvesListCall) IfNoneMatch(entityTag string) *MylibraryBookshelvesListCall {
9647	c.ifNoneMatch_ = entityTag
9648	return c
9649}
9650
9651// Context sets the context to be used in this call's Do method. Any
9652// pending HTTP request will be aborted if the provided context is
9653// canceled.
9654func (c *MylibraryBookshelvesListCall) Context(ctx context.Context) *MylibraryBookshelvesListCall {
9655	c.ctx_ = ctx
9656	return c
9657}
9658
9659// Header returns an http.Header that can be modified by the caller to
9660// add HTTP headers to the request.
9661func (c *MylibraryBookshelvesListCall) Header() http.Header {
9662	if c.header_ == nil {
9663		c.header_ = make(http.Header)
9664	}
9665	return c.header_
9666}
9667
9668func (c *MylibraryBookshelvesListCall) doRequest(alt string) (*http.Response, error) {
9669	reqHeaders := make(http.Header)
9670	for k, v := range c.header_ {
9671		reqHeaders[k] = v
9672	}
9673	reqHeaders.Set("User-Agent", c.s.userAgent())
9674	if c.ifNoneMatch_ != "" {
9675		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
9676	}
9677	var body io.Reader = nil
9678	c.urlParams_.Set("alt", alt)
9679	c.urlParams_.Set("prettyPrint", "false")
9680	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves")
9681	urls += "?" + c.urlParams_.Encode()
9682	req, err := http.NewRequest("GET", urls, body)
9683	if err != nil {
9684		return nil, err
9685	}
9686	req.Header = reqHeaders
9687	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9688}
9689
9690// Do executes the "books.mylibrary.bookshelves.list" call.
9691// Exactly one of *Bookshelves or error will be non-nil. Any non-2xx
9692// status code is an error. Response headers are in either
9693// *Bookshelves.ServerResponse.Header or (if a response was returned at
9694// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
9695// to check whether the returned error was because
9696// http.StatusNotModified was returned.
9697func (c *MylibraryBookshelvesListCall) Do(opts ...googleapi.CallOption) (*Bookshelves, error) {
9698	gensupport.SetOptions(c.urlParams_, opts...)
9699	res, err := c.doRequest("json")
9700	if res != nil && res.StatusCode == http.StatusNotModified {
9701		if res.Body != nil {
9702			res.Body.Close()
9703		}
9704		return nil, &googleapi.Error{
9705			Code:   res.StatusCode,
9706			Header: res.Header,
9707		}
9708	}
9709	if err != nil {
9710		return nil, err
9711	}
9712	defer googleapi.CloseBody(res)
9713	if err := googleapi.CheckResponse(res); err != nil {
9714		return nil, err
9715	}
9716	ret := &Bookshelves{
9717		ServerResponse: googleapi.ServerResponse{
9718			Header:         res.Header,
9719			HTTPStatusCode: res.StatusCode,
9720		},
9721	}
9722	target := &ret
9723	if err := gensupport.DecodeResponse(target, res); err != nil {
9724		return nil, err
9725	}
9726	return ret, nil
9727	// {
9728	//   "description": "Retrieves a list of bookshelves belonging to the authenticated user.",
9729	//   "httpMethod": "GET",
9730	//   "id": "books.mylibrary.bookshelves.list",
9731	//   "parameters": {
9732	//     "source": {
9733	//       "description": "String to identify the originator of this request.",
9734	//       "location": "query",
9735	//       "type": "string"
9736	//     }
9737	//   },
9738	//   "path": "mylibrary/bookshelves",
9739	//   "response": {
9740	//     "$ref": "Bookshelves"
9741	//   },
9742	//   "scopes": [
9743	//     "https://www.googleapis.com/auth/books"
9744	//   ]
9745	// }
9746
9747}
9748
9749// method id "books.mylibrary.bookshelves.moveVolume":
9750
9751type MylibraryBookshelvesMoveVolumeCall struct {
9752	s          *Service
9753	shelf      string
9754	urlParams_ gensupport.URLParams
9755	ctx_       context.Context
9756	header_    http.Header
9757}
9758
9759// MoveVolume: Moves a volume within a bookshelf.
9760func (r *MylibraryBookshelvesService) MoveVolume(shelf string, volumeId string, volumePosition int64) *MylibraryBookshelvesMoveVolumeCall {
9761	c := &MylibraryBookshelvesMoveVolumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9762	c.shelf = shelf
9763	c.urlParams_.Set("volumeId", volumeId)
9764	c.urlParams_.Set("volumePosition", fmt.Sprint(volumePosition))
9765	return c
9766}
9767
9768// Source sets the optional parameter "source": String to identify the
9769// originator of this request.
9770func (c *MylibraryBookshelvesMoveVolumeCall) Source(source string) *MylibraryBookshelvesMoveVolumeCall {
9771	c.urlParams_.Set("source", source)
9772	return c
9773}
9774
9775// Fields allows partial responses to be retrieved. See
9776// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9777// for more information.
9778func (c *MylibraryBookshelvesMoveVolumeCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesMoveVolumeCall {
9779	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9780	return c
9781}
9782
9783// Context sets the context to be used in this call's Do method. Any
9784// pending HTTP request will be aborted if the provided context is
9785// canceled.
9786func (c *MylibraryBookshelvesMoveVolumeCall) Context(ctx context.Context) *MylibraryBookshelvesMoveVolumeCall {
9787	c.ctx_ = ctx
9788	return c
9789}
9790
9791// Header returns an http.Header that can be modified by the caller to
9792// add HTTP headers to the request.
9793func (c *MylibraryBookshelvesMoveVolumeCall) Header() http.Header {
9794	if c.header_ == nil {
9795		c.header_ = make(http.Header)
9796	}
9797	return c.header_
9798}
9799
9800func (c *MylibraryBookshelvesMoveVolumeCall) doRequest(alt string) (*http.Response, error) {
9801	reqHeaders := make(http.Header)
9802	for k, v := range c.header_ {
9803		reqHeaders[k] = v
9804	}
9805	reqHeaders.Set("User-Agent", c.s.userAgent())
9806	var body io.Reader = nil
9807	c.urlParams_.Set("alt", alt)
9808	c.urlParams_.Set("prettyPrint", "false")
9809	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves/{shelf}/moveVolume")
9810	urls += "?" + c.urlParams_.Encode()
9811	req, err := http.NewRequest("POST", urls, body)
9812	if err != nil {
9813		return nil, err
9814	}
9815	req.Header = reqHeaders
9816	googleapi.Expand(req.URL, map[string]string{
9817		"shelf": c.shelf,
9818	})
9819	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9820}
9821
9822// Do executes the "books.mylibrary.bookshelves.moveVolume" call.
9823func (c *MylibraryBookshelvesMoveVolumeCall) Do(opts ...googleapi.CallOption) error {
9824	gensupport.SetOptions(c.urlParams_, opts...)
9825	res, err := c.doRequest("json")
9826	if err != nil {
9827		return err
9828	}
9829	defer googleapi.CloseBody(res)
9830	if err := googleapi.CheckResponse(res); err != nil {
9831		return err
9832	}
9833	return nil
9834	// {
9835	//   "description": "Moves a volume within a bookshelf.",
9836	//   "httpMethod": "POST",
9837	//   "id": "books.mylibrary.bookshelves.moveVolume",
9838	//   "parameterOrder": [
9839	//     "shelf",
9840	//     "volumeId",
9841	//     "volumePosition"
9842	//   ],
9843	//   "parameters": {
9844	//     "shelf": {
9845	//       "description": "ID of bookshelf with the volume.",
9846	//       "location": "path",
9847	//       "required": true,
9848	//       "type": "string"
9849	//     },
9850	//     "source": {
9851	//       "description": "String to identify the originator of this request.",
9852	//       "location": "query",
9853	//       "type": "string"
9854	//     },
9855	//     "volumeId": {
9856	//       "description": "ID of volume to move.",
9857	//       "location": "query",
9858	//       "required": true,
9859	//       "type": "string"
9860	//     },
9861	//     "volumePosition": {
9862	//       "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.)",
9863	//       "format": "int32",
9864	//       "location": "query",
9865	//       "required": true,
9866	//       "type": "integer"
9867	//     }
9868	//   },
9869	//   "path": "mylibrary/bookshelves/{shelf}/moveVolume",
9870	//   "scopes": [
9871	//     "https://www.googleapis.com/auth/books"
9872	//   ]
9873	// }
9874
9875}
9876
9877// method id "books.mylibrary.bookshelves.removeVolume":
9878
9879type MylibraryBookshelvesRemoveVolumeCall struct {
9880	s          *Service
9881	shelf      string
9882	urlParams_ gensupport.URLParams
9883	ctx_       context.Context
9884	header_    http.Header
9885}
9886
9887// RemoveVolume: Removes a volume from a bookshelf.
9888func (r *MylibraryBookshelvesService) RemoveVolume(shelf string, volumeId string) *MylibraryBookshelvesRemoveVolumeCall {
9889	c := &MylibraryBookshelvesRemoveVolumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
9890	c.shelf = shelf
9891	c.urlParams_.Set("volumeId", volumeId)
9892	return c
9893}
9894
9895// Reason sets the optional parameter "reason": The reason for which the
9896// book is removed from the library.
9897//
9898// Possible values:
9899//   "ONBOARDING" - Samples removed from the Onboarding flow.
9900func (c *MylibraryBookshelvesRemoveVolumeCall) Reason(reason string) *MylibraryBookshelvesRemoveVolumeCall {
9901	c.urlParams_.Set("reason", reason)
9902	return c
9903}
9904
9905// Source sets the optional parameter "source": String to identify the
9906// originator of this request.
9907func (c *MylibraryBookshelvesRemoveVolumeCall) Source(source string) *MylibraryBookshelvesRemoveVolumeCall {
9908	c.urlParams_.Set("source", source)
9909	return c
9910}
9911
9912// Fields allows partial responses to be retrieved. See
9913// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
9914// for more information.
9915func (c *MylibraryBookshelvesRemoveVolumeCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesRemoveVolumeCall {
9916	c.urlParams_.Set("fields", googleapi.CombineFields(s))
9917	return c
9918}
9919
9920// Context sets the context to be used in this call's Do method. Any
9921// pending HTTP request will be aborted if the provided context is
9922// canceled.
9923func (c *MylibraryBookshelvesRemoveVolumeCall) Context(ctx context.Context) *MylibraryBookshelvesRemoveVolumeCall {
9924	c.ctx_ = ctx
9925	return c
9926}
9927
9928// Header returns an http.Header that can be modified by the caller to
9929// add HTTP headers to the request.
9930func (c *MylibraryBookshelvesRemoveVolumeCall) Header() http.Header {
9931	if c.header_ == nil {
9932		c.header_ = make(http.Header)
9933	}
9934	return c.header_
9935}
9936
9937func (c *MylibraryBookshelvesRemoveVolumeCall) doRequest(alt string) (*http.Response, error) {
9938	reqHeaders := make(http.Header)
9939	for k, v := range c.header_ {
9940		reqHeaders[k] = v
9941	}
9942	reqHeaders.Set("User-Agent", c.s.userAgent())
9943	var body io.Reader = nil
9944	c.urlParams_.Set("alt", alt)
9945	c.urlParams_.Set("prettyPrint", "false")
9946	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves/{shelf}/removeVolume")
9947	urls += "?" + c.urlParams_.Encode()
9948	req, err := http.NewRequest("POST", urls, body)
9949	if err != nil {
9950		return nil, err
9951	}
9952	req.Header = reqHeaders
9953	googleapi.Expand(req.URL, map[string]string{
9954		"shelf": c.shelf,
9955	})
9956	return gensupport.SendRequest(c.ctx_, c.s.client, req)
9957}
9958
9959// Do executes the "books.mylibrary.bookshelves.removeVolume" call.
9960func (c *MylibraryBookshelvesRemoveVolumeCall) Do(opts ...googleapi.CallOption) error {
9961	gensupport.SetOptions(c.urlParams_, opts...)
9962	res, err := c.doRequest("json")
9963	if err != nil {
9964		return err
9965	}
9966	defer googleapi.CloseBody(res)
9967	if err := googleapi.CheckResponse(res); err != nil {
9968		return err
9969	}
9970	return nil
9971	// {
9972	//   "description": "Removes a volume from a bookshelf.",
9973	//   "httpMethod": "POST",
9974	//   "id": "books.mylibrary.bookshelves.removeVolume",
9975	//   "parameterOrder": [
9976	//     "shelf",
9977	//     "volumeId"
9978	//   ],
9979	//   "parameters": {
9980	//     "reason": {
9981	//       "description": "The reason for which the book is removed from the library.",
9982	//       "enum": [
9983	//         "ONBOARDING"
9984	//       ],
9985	//       "enumDescriptions": [
9986	//         "Samples removed from the Onboarding flow."
9987	//       ],
9988	//       "location": "query",
9989	//       "type": "string"
9990	//     },
9991	//     "shelf": {
9992	//       "description": "ID of bookshelf from which to remove a volume.",
9993	//       "location": "path",
9994	//       "required": true,
9995	//       "type": "string"
9996	//     },
9997	//     "source": {
9998	//       "description": "String to identify the originator of this request.",
9999	//       "location": "query",
10000	//       "type": "string"
10001	//     },
10002	//     "volumeId": {
10003	//       "description": "ID of volume to remove.",
10004	//       "location": "query",
10005	//       "required": true,
10006	//       "type": "string"
10007	//     }
10008	//   },
10009	//   "path": "mylibrary/bookshelves/{shelf}/removeVolume",
10010	//   "scopes": [
10011	//     "https://www.googleapis.com/auth/books"
10012	//   ]
10013	// }
10014
10015}
10016
10017// method id "books.mylibrary.bookshelves.volumes.list":
10018
10019type MylibraryBookshelvesVolumesListCall struct {
10020	s            *Service
10021	shelf        string
10022	urlParams_   gensupport.URLParams
10023	ifNoneMatch_ string
10024	ctx_         context.Context
10025	header_      http.Header
10026}
10027
10028// List: Gets volume information for volumes on a bookshelf.
10029func (r *MylibraryBookshelvesVolumesService) List(shelf string) *MylibraryBookshelvesVolumesListCall {
10030	c := &MylibraryBookshelvesVolumesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10031	c.shelf = shelf
10032	return c
10033}
10034
10035// Country sets the optional parameter "country": ISO-3166-1 code to
10036// override the IP-based location.
10037func (c *MylibraryBookshelvesVolumesListCall) Country(country string) *MylibraryBookshelvesVolumesListCall {
10038	c.urlParams_.Set("country", country)
10039	return c
10040}
10041
10042// MaxResults sets the optional parameter "maxResults": Maximum number
10043// of results to return
10044func (c *MylibraryBookshelvesVolumesListCall) MaxResults(maxResults int64) *MylibraryBookshelvesVolumesListCall {
10045	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
10046	return c
10047}
10048
10049// Projection sets the optional parameter "projection": Restrict
10050// information returned to a set of selected fields.
10051//
10052// Possible values:
10053//   "full" - Includes all volume data.
10054//   "lite" - Includes a subset of fields in volumeInfo and accessInfo.
10055func (c *MylibraryBookshelvesVolumesListCall) Projection(projection string) *MylibraryBookshelvesVolumesListCall {
10056	c.urlParams_.Set("projection", projection)
10057	return c
10058}
10059
10060// Q sets the optional parameter "q": Full-text search query string in
10061// this bookshelf.
10062func (c *MylibraryBookshelvesVolumesListCall) Q(q string) *MylibraryBookshelvesVolumesListCall {
10063	c.urlParams_.Set("q", q)
10064	return c
10065}
10066
10067// ShowPreorders sets the optional parameter "showPreorders": Set to
10068// true to show pre-ordered books. Defaults to false.
10069func (c *MylibraryBookshelvesVolumesListCall) ShowPreorders(showPreorders bool) *MylibraryBookshelvesVolumesListCall {
10070	c.urlParams_.Set("showPreorders", fmt.Sprint(showPreorders))
10071	return c
10072}
10073
10074// Source sets the optional parameter "source": String to identify the
10075// originator of this request.
10076func (c *MylibraryBookshelvesVolumesListCall) Source(source string) *MylibraryBookshelvesVolumesListCall {
10077	c.urlParams_.Set("source", source)
10078	return c
10079}
10080
10081// StartIndex sets the optional parameter "startIndex": Index of the
10082// first element to return (starts at 0)
10083func (c *MylibraryBookshelvesVolumesListCall) StartIndex(startIndex int64) *MylibraryBookshelvesVolumesListCall {
10084	c.urlParams_.Set("startIndex", fmt.Sprint(startIndex))
10085	return c
10086}
10087
10088// Fields allows partial responses to be retrieved. See
10089// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10090// for more information.
10091func (c *MylibraryBookshelvesVolumesListCall) Fields(s ...googleapi.Field) *MylibraryBookshelvesVolumesListCall {
10092	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10093	return c
10094}
10095
10096// IfNoneMatch sets the optional parameter which makes the operation
10097// fail if the object's ETag matches the given value. This is useful for
10098// getting updates only after the object has changed since the last
10099// request. Use googleapi.IsNotModified to check whether the response
10100// error from Do is the result of In-None-Match.
10101func (c *MylibraryBookshelvesVolumesListCall) IfNoneMatch(entityTag string) *MylibraryBookshelvesVolumesListCall {
10102	c.ifNoneMatch_ = entityTag
10103	return c
10104}
10105
10106// Context sets the context to be used in this call's Do method. Any
10107// pending HTTP request will be aborted if the provided context is
10108// canceled.
10109func (c *MylibraryBookshelvesVolumesListCall) Context(ctx context.Context) *MylibraryBookshelvesVolumesListCall {
10110	c.ctx_ = ctx
10111	return c
10112}
10113
10114// Header returns an http.Header that can be modified by the caller to
10115// add HTTP headers to the request.
10116func (c *MylibraryBookshelvesVolumesListCall) Header() http.Header {
10117	if c.header_ == nil {
10118		c.header_ = make(http.Header)
10119	}
10120	return c.header_
10121}
10122
10123func (c *MylibraryBookshelvesVolumesListCall) doRequest(alt string) (*http.Response, error) {
10124	reqHeaders := make(http.Header)
10125	for k, v := range c.header_ {
10126		reqHeaders[k] = v
10127	}
10128	reqHeaders.Set("User-Agent", c.s.userAgent())
10129	if c.ifNoneMatch_ != "" {
10130		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10131	}
10132	var body io.Reader = nil
10133	c.urlParams_.Set("alt", alt)
10134	c.urlParams_.Set("prettyPrint", "false")
10135	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/bookshelves/{shelf}/volumes")
10136	urls += "?" + c.urlParams_.Encode()
10137	req, err := http.NewRequest("GET", urls, body)
10138	if err != nil {
10139		return nil, err
10140	}
10141	req.Header = reqHeaders
10142	googleapi.Expand(req.URL, map[string]string{
10143		"shelf": c.shelf,
10144	})
10145	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10146}
10147
10148// Do executes the "books.mylibrary.bookshelves.volumes.list" call.
10149// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
10150// code is an error. Response headers are in either
10151// *Volumes.ServerResponse.Header or (if a response was returned at all)
10152// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
10153// check whether the returned error was because http.StatusNotModified
10154// was returned.
10155func (c *MylibraryBookshelvesVolumesListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
10156	gensupport.SetOptions(c.urlParams_, opts...)
10157	res, err := c.doRequest("json")
10158	if res != nil && res.StatusCode == http.StatusNotModified {
10159		if res.Body != nil {
10160			res.Body.Close()
10161		}
10162		return nil, &googleapi.Error{
10163			Code:   res.StatusCode,
10164			Header: res.Header,
10165		}
10166	}
10167	if err != nil {
10168		return nil, err
10169	}
10170	defer googleapi.CloseBody(res)
10171	if err := googleapi.CheckResponse(res); err != nil {
10172		return nil, err
10173	}
10174	ret := &Volumes{
10175		ServerResponse: googleapi.ServerResponse{
10176			Header:         res.Header,
10177			HTTPStatusCode: res.StatusCode,
10178		},
10179	}
10180	target := &ret
10181	if err := gensupport.DecodeResponse(target, res); err != nil {
10182		return nil, err
10183	}
10184	return ret, nil
10185	// {
10186	//   "description": "Gets volume information for volumes on a bookshelf.",
10187	//   "httpMethod": "GET",
10188	//   "id": "books.mylibrary.bookshelves.volumes.list",
10189	//   "parameterOrder": [
10190	//     "shelf"
10191	//   ],
10192	//   "parameters": {
10193	//     "country": {
10194	//       "description": "ISO-3166-1 code to override the IP-based location.",
10195	//       "location": "query",
10196	//       "type": "string"
10197	//     },
10198	//     "maxResults": {
10199	//       "description": "Maximum number of results to return",
10200	//       "format": "uint32",
10201	//       "location": "query",
10202	//       "minimum": "0",
10203	//       "type": "integer"
10204	//     },
10205	//     "projection": {
10206	//       "description": "Restrict information returned to a set of selected fields.",
10207	//       "enum": [
10208	//         "full",
10209	//         "lite"
10210	//       ],
10211	//       "enumDescriptions": [
10212	//         "Includes all volume data.",
10213	//         "Includes a subset of fields in volumeInfo and accessInfo."
10214	//       ],
10215	//       "location": "query",
10216	//       "type": "string"
10217	//     },
10218	//     "q": {
10219	//       "description": "Full-text search query string in this bookshelf.",
10220	//       "location": "query",
10221	//       "type": "string"
10222	//     },
10223	//     "shelf": {
10224	//       "description": "The bookshelf ID or name retrieve volumes for.",
10225	//       "location": "path",
10226	//       "required": true,
10227	//       "type": "string"
10228	//     },
10229	//     "showPreorders": {
10230	//       "description": "Set to true to show pre-ordered books. Defaults to false.",
10231	//       "location": "query",
10232	//       "type": "boolean"
10233	//     },
10234	//     "source": {
10235	//       "description": "String to identify the originator of this request.",
10236	//       "location": "query",
10237	//       "type": "string"
10238	//     },
10239	//     "startIndex": {
10240	//       "description": "Index of the first element to return (starts at 0)",
10241	//       "format": "uint32",
10242	//       "location": "query",
10243	//       "minimum": "0",
10244	//       "type": "integer"
10245	//     }
10246	//   },
10247	//   "path": "mylibrary/bookshelves/{shelf}/volumes",
10248	//   "response": {
10249	//     "$ref": "Volumes"
10250	//   },
10251	//   "scopes": [
10252	//     "https://www.googleapis.com/auth/books"
10253	//   ]
10254	// }
10255
10256}
10257
10258// method id "books.mylibrary.readingpositions.get":
10259
10260type MylibraryReadingpositionsGetCall struct {
10261	s            *Service
10262	volumeId     string
10263	urlParams_   gensupport.URLParams
10264	ifNoneMatch_ string
10265	ctx_         context.Context
10266	header_      http.Header
10267}
10268
10269// Get: Retrieves my reading position information for a volume.
10270func (r *MylibraryReadingpositionsService) Get(volumeId string) *MylibraryReadingpositionsGetCall {
10271	c := &MylibraryReadingpositionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10272	c.volumeId = volumeId
10273	return c
10274}
10275
10276// ContentVersion sets the optional parameter "contentVersion": Volume
10277// content version for which this reading position is requested.
10278func (c *MylibraryReadingpositionsGetCall) ContentVersion(contentVersion string) *MylibraryReadingpositionsGetCall {
10279	c.urlParams_.Set("contentVersion", contentVersion)
10280	return c
10281}
10282
10283// Source sets the optional parameter "source": String to identify the
10284// originator of this request.
10285func (c *MylibraryReadingpositionsGetCall) Source(source string) *MylibraryReadingpositionsGetCall {
10286	c.urlParams_.Set("source", source)
10287	return c
10288}
10289
10290// Fields allows partial responses to be retrieved. See
10291// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10292// for more information.
10293func (c *MylibraryReadingpositionsGetCall) Fields(s ...googleapi.Field) *MylibraryReadingpositionsGetCall {
10294	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10295	return c
10296}
10297
10298// IfNoneMatch sets the optional parameter which makes the operation
10299// fail if the object's ETag matches the given value. This is useful for
10300// getting updates only after the object has changed since the last
10301// request. Use googleapi.IsNotModified to check whether the response
10302// error from Do is the result of In-None-Match.
10303func (c *MylibraryReadingpositionsGetCall) IfNoneMatch(entityTag string) *MylibraryReadingpositionsGetCall {
10304	c.ifNoneMatch_ = entityTag
10305	return c
10306}
10307
10308// Context sets the context to be used in this call's Do method. Any
10309// pending HTTP request will be aborted if the provided context is
10310// canceled.
10311func (c *MylibraryReadingpositionsGetCall) Context(ctx context.Context) *MylibraryReadingpositionsGetCall {
10312	c.ctx_ = ctx
10313	return c
10314}
10315
10316// Header returns an http.Header that can be modified by the caller to
10317// add HTTP headers to the request.
10318func (c *MylibraryReadingpositionsGetCall) Header() http.Header {
10319	if c.header_ == nil {
10320		c.header_ = make(http.Header)
10321	}
10322	return c.header_
10323}
10324
10325func (c *MylibraryReadingpositionsGetCall) doRequest(alt string) (*http.Response, error) {
10326	reqHeaders := make(http.Header)
10327	for k, v := range c.header_ {
10328		reqHeaders[k] = v
10329	}
10330	reqHeaders.Set("User-Agent", c.s.userAgent())
10331	if c.ifNoneMatch_ != "" {
10332		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10333	}
10334	var body io.Reader = nil
10335	c.urlParams_.Set("alt", alt)
10336	c.urlParams_.Set("prettyPrint", "false")
10337	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/readingpositions/{volumeId}")
10338	urls += "?" + c.urlParams_.Encode()
10339	req, err := http.NewRequest("GET", urls, body)
10340	if err != nil {
10341		return nil, err
10342	}
10343	req.Header = reqHeaders
10344	googleapi.Expand(req.URL, map[string]string{
10345		"volumeId": c.volumeId,
10346	})
10347	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10348}
10349
10350// Do executes the "books.mylibrary.readingpositions.get" call.
10351// Exactly one of *ReadingPosition or error will be non-nil. Any non-2xx
10352// status code is an error. Response headers are in either
10353// *ReadingPosition.ServerResponse.Header or (if a response was returned
10354// at all) in error.(*googleapi.Error).Header. Use
10355// googleapi.IsNotModified to check whether the returned error was
10356// because http.StatusNotModified was returned.
10357func (c *MylibraryReadingpositionsGetCall) Do(opts ...googleapi.CallOption) (*ReadingPosition, error) {
10358	gensupport.SetOptions(c.urlParams_, opts...)
10359	res, err := c.doRequest("json")
10360	if res != nil && res.StatusCode == http.StatusNotModified {
10361		if res.Body != nil {
10362			res.Body.Close()
10363		}
10364		return nil, &googleapi.Error{
10365			Code:   res.StatusCode,
10366			Header: res.Header,
10367		}
10368	}
10369	if err != nil {
10370		return nil, err
10371	}
10372	defer googleapi.CloseBody(res)
10373	if err := googleapi.CheckResponse(res); err != nil {
10374		return nil, err
10375	}
10376	ret := &ReadingPosition{
10377		ServerResponse: googleapi.ServerResponse{
10378			Header:         res.Header,
10379			HTTPStatusCode: res.StatusCode,
10380		},
10381	}
10382	target := &ret
10383	if err := gensupport.DecodeResponse(target, res); err != nil {
10384		return nil, err
10385	}
10386	return ret, nil
10387	// {
10388	//   "description": "Retrieves my reading position information for a volume.",
10389	//   "httpMethod": "GET",
10390	//   "id": "books.mylibrary.readingpositions.get",
10391	//   "parameterOrder": [
10392	//     "volumeId"
10393	//   ],
10394	//   "parameters": {
10395	//     "contentVersion": {
10396	//       "description": "Volume content version for which this reading position is requested.",
10397	//       "location": "query",
10398	//       "type": "string"
10399	//     },
10400	//     "source": {
10401	//       "description": "String to identify the originator of this request.",
10402	//       "location": "query",
10403	//       "type": "string"
10404	//     },
10405	//     "volumeId": {
10406	//       "description": "ID of volume for which to retrieve a reading position.",
10407	//       "location": "path",
10408	//       "required": true,
10409	//       "type": "string"
10410	//     }
10411	//   },
10412	//   "path": "mylibrary/readingpositions/{volumeId}",
10413	//   "response": {
10414	//     "$ref": "ReadingPosition"
10415	//   },
10416	//   "scopes": [
10417	//     "https://www.googleapis.com/auth/books"
10418	//   ]
10419	// }
10420
10421}
10422
10423// method id "books.mylibrary.readingpositions.setPosition":
10424
10425type MylibraryReadingpositionsSetPositionCall struct {
10426	s          *Service
10427	volumeId   string
10428	urlParams_ gensupport.URLParams
10429	ctx_       context.Context
10430	header_    http.Header
10431}
10432
10433// SetPosition: Sets my reading position information for a volume.
10434func (r *MylibraryReadingpositionsService) SetPosition(volumeId string, timestamp string, position string) *MylibraryReadingpositionsSetPositionCall {
10435	c := &MylibraryReadingpositionsSetPositionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10436	c.volumeId = volumeId
10437	c.urlParams_.Set("timestamp", timestamp)
10438	c.urlParams_.Set("position", position)
10439	return c
10440}
10441
10442// Action sets the optional parameter "action": Action that caused this
10443// reading position to be set.
10444//
10445// Possible values:
10446//   "bookmark" - User chose bookmark within volume.
10447//   "chapter" - User selected chapter from list.
10448//   "next-page" - Next page event.
10449//   "prev-page" - Previous page event.
10450//   "scroll" - User navigated to page.
10451//   "search" - User chose search results within volume.
10452func (c *MylibraryReadingpositionsSetPositionCall) Action(action string) *MylibraryReadingpositionsSetPositionCall {
10453	c.urlParams_.Set("action", action)
10454	return c
10455}
10456
10457// ContentVersion sets the optional parameter "contentVersion": Volume
10458// content version for which this reading position applies.
10459func (c *MylibraryReadingpositionsSetPositionCall) ContentVersion(contentVersion string) *MylibraryReadingpositionsSetPositionCall {
10460	c.urlParams_.Set("contentVersion", contentVersion)
10461	return c
10462}
10463
10464// DeviceCookie sets the optional parameter "deviceCookie": Random
10465// persistent device cookie optional on set position.
10466func (c *MylibraryReadingpositionsSetPositionCall) DeviceCookie(deviceCookie string) *MylibraryReadingpositionsSetPositionCall {
10467	c.urlParams_.Set("deviceCookie", deviceCookie)
10468	return c
10469}
10470
10471// Source sets the optional parameter "source": String to identify the
10472// originator of this request.
10473func (c *MylibraryReadingpositionsSetPositionCall) Source(source string) *MylibraryReadingpositionsSetPositionCall {
10474	c.urlParams_.Set("source", source)
10475	return c
10476}
10477
10478// Fields allows partial responses to be retrieved. See
10479// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10480// for more information.
10481func (c *MylibraryReadingpositionsSetPositionCall) Fields(s ...googleapi.Field) *MylibraryReadingpositionsSetPositionCall {
10482	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10483	return c
10484}
10485
10486// Context sets the context to be used in this call's Do method. Any
10487// pending HTTP request will be aborted if the provided context is
10488// canceled.
10489func (c *MylibraryReadingpositionsSetPositionCall) Context(ctx context.Context) *MylibraryReadingpositionsSetPositionCall {
10490	c.ctx_ = ctx
10491	return c
10492}
10493
10494// Header returns an http.Header that can be modified by the caller to
10495// add HTTP headers to the request.
10496func (c *MylibraryReadingpositionsSetPositionCall) Header() http.Header {
10497	if c.header_ == nil {
10498		c.header_ = make(http.Header)
10499	}
10500	return c.header_
10501}
10502
10503func (c *MylibraryReadingpositionsSetPositionCall) doRequest(alt string) (*http.Response, error) {
10504	reqHeaders := make(http.Header)
10505	for k, v := range c.header_ {
10506		reqHeaders[k] = v
10507	}
10508	reqHeaders.Set("User-Agent", c.s.userAgent())
10509	var body io.Reader = nil
10510	c.urlParams_.Set("alt", alt)
10511	c.urlParams_.Set("prettyPrint", "false")
10512	urls := googleapi.ResolveRelative(c.s.BasePath, "mylibrary/readingpositions/{volumeId}/setPosition")
10513	urls += "?" + c.urlParams_.Encode()
10514	req, err := http.NewRequest("POST", urls, body)
10515	if err != nil {
10516		return nil, err
10517	}
10518	req.Header = reqHeaders
10519	googleapi.Expand(req.URL, map[string]string{
10520		"volumeId": c.volumeId,
10521	})
10522	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10523}
10524
10525// Do executes the "books.mylibrary.readingpositions.setPosition" call.
10526func (c *MylibraryReadingpositionsSetPositionCall) Do(opts ...googleapi.CallOption) error {
10527	gensupport.SetOptions(c.urlParams_, opts...)
10528	res, err := c.doRequest("json")
10529	if err != nil {
10530		return err
10531	}
10532	defer googleapi.CloseBody(res)
10533	if err := googleapi.CheckResponse(res); err != nil {
10534		return err
10535	}
10536	return nil
10537	// {
10538	//   "description": "Sets my reading position information for a volume.",
10539	//   "httpMethod": "POST",
10540	//   "id": "books.mylibrary.readingpositions.setPosition",
10541	//   "parameterOrder": [
10542	//     "volumeId",
10543	//     "timestamp",
10544	//     "position"
10545	//   ],
10546	//   "parameters": {
10547	//     "action": {
10548	//       "description": "Action that caused this reading position to be set.",
10549	//       "enum": [
10550	//         "bookmark",
10551	//         "chapter",
10552	//         "next-page",
10553	//         "prev-page",
10554	//         "scroll",
10555	//         "search"
10556	//       ],
10557	//       "enumDescriptions": [
10558	//         "User chose bookmark within volume.",
10559	//         "User selected chapter from list.",
10560	//         "Next page event.",
10561	//         "Previous page event.",
10562	//         "User navigated to page.",
10563	//         "User chose search results within volume."
10564	//       ],
10565	//       "location": "query",
10566	//       "type": "string"
10567	//     },
10568	//     "contentVersion": {
10569	//       "description": "Volume content version for which this reading position applies.",
10570	//       "location": "query",
10571	//       "type": "string"
10572	//     },
10573	//     "deviceCookie": {
10574	//       "description": "Random persistent device cookie optional on set position.",
10575	//       "location": "query",
10576	//       "type": "string"
10577	//     },
10578	//     "position": {
10579	//       "description": "Position string for the new volume reading position.",
10580	//       "location": "query",
10581	//       "required": true,
10582	//       "type": "string"
10583	//     },
10584	//     "source": {
10585	//       "description": "String to identify the originator of this request.",
10586	//       "location": "query",
10587	//       "type": "string"
10588	//     },
10589	//     "timestamp": {
10590	//       "description": "RFC 3339 UTC format timestamp associated with this reading position.",
10591	//       "location": "query",
10592	//       "required": true,
10593	//       "type": "string"
10594	//     },
10595	//     "volumeId": {
10596	//       "description": "ID of volume for which to update the reading position.",
10597	//       "location": "path",
10598	//       "required": true,
10599	//       "type": "string"
10600	//     }
10601	//   },
10602	//   "path": "mylibrary/readingpositions/{volumeId}/setPosition",
10603	//   "scopes": [
10604	//     "https://www.googleapis.com/auth/books"
10605	//   ]
10606	// }
10607
10608}
10609
10610// method id "books.notification.get":
10611
10612type NotificationGetCall struct {
10613	s            *Service
10614	urlParams_   gensupport.URLParams
10615	ifNoneMatch_ string
10616	ctx_         context.Context
10617	header_      http.Header
10618}
10619
10620// Get: Returns notification details for a given notification id.
10621func (r *NotificationService) Get(notificationId string) *NotificationGetCall {
10622	c := &NotificationGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10623	c.urlParams_.Set("notification_id", notificationId)
10624	return c
10625}
10626
10627// Locale sets the optional parameter "locale": ISO-639-1 language and
10628// ISO-3166-1 country code. Ex: 'en_US'. Used for generating
10629// notification title and body.
10630func (c *NotificationGetCall) Locale(locale string) *NotificationGetCall {
10631	c.urlParams_.Set("locale", locale)
10632	return c
10633}
10634
10635// Source sets the optional parameter "source": String to identify the
10636// originator of this request.
10637func (c *NotificationGetCall) Source(source string) *NotificationGetCall {
10638	c.urlParams_.Set("source", source)
10639	return c
10640}
10641
10642// Fields allows partial responses to be retrieved. See
10643// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10644// for more information.
10645func (c *NotificationGetCall) Fields(s ...googleapi.Field) *NotificationGetCall {
10646	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10647	return c
10648}
10649
10650// IfNoneMatch sets the optional parameter which makes the operation
10651// fail if the object's ETag matches the given value. This is useful for
10652// getting updates only after the object has changed since the last
10653// request. Use googleapi.IsNotModified to check whether the response
10654// error from Do is the result of In-None-Match.
10655func (c *NotificationGetCall) IfNoneMatch(entityTag string) *NotificationGetCall {
10656	c.ifNoneMatch_ = entityTag
10657	return c
10658}
10659
10660// Context sets the context to be used in this call's Do method. Any
10661// pending HTTP request will be aborted if the provided context is
10662// canceled.
10663func (c *NotificationGetCall) Context(ctx context.Context) *NotificationGetCall {
10664	c.ctx_ = ctx
10665	return c
10666}
10667
10668// Header returns an http.Header that can be modified by the caller to
10669// add HTTP headers to the request.
10670func (c *NotificationGetCall) Header() http.Header {
10671	if c.header_ == nil {
10672		c.header_ = make(http.Header)
10673	}
10674	return c.header_
10675}
10676
10677func (c *NotificationGetCall) doRequest(alt string) (*http.Response, error) {
10678	reqHeaders := make(http.Header)
10679	for k, v := range c.header_ {
10680		reqHeaders[k] = v
10681	}
10682	reqHeaders.Set("User-Agent", c.s.userAgent())
10683	if c.ifNoneMatch_ != "" {
10684		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10685	}
10686	var body io.Reader = nil
10687	c.urlParams_.Set("alt", alt)
10688	c.urlParams_.Set("prettyPrint", "false")
10689	urls := googleapi.ResolveRelative(c.s.BasePath, "notification/get")
10690	urls += "?" + c.urlParams_.Encode()
10691	req, err := http.NewRequest("GET", urls, body)
10692	if err != nil {
10693		return nil, err
10694	}
10695	req.Header = reqHeaders
10696	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10697}
10698
10699// Do executes the "books.notification.get" call.
10700// Exactly one of *Notification or error will be non-nil. Any non-2xx
10701// status code is an error. Response headers are in either
10702// *Notification.ServerResponse.Header or (if a response was returned at
10703// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10704// to check whether the returned error was because
10705// http.StatusNotModified was returned.
10706func (c *NotificationGetCall) Do(opts ...googleapi.CallOption) (*Notification, error) {
10707	gensupport.SetOptions(c.urlParams_, opts...)
10708	res, err := c.doRequest("json")
10709	if res != nil && res.StatusCode == http.StatusNotModified {
10710		if res.Body != nil {
10711			res.Body.Close()
10712		}
10713		return nil, &googleapi.Error{
10714			Code:   res.StatusCode,
10715			Header: res.Header,
10716		}
10717	}
10718	if err != nil {
10719		return nil, err
10720	}
10721	defer googleapi.CloseBody(res)
10722	if err := googleapi.CheckResponse(res); err != nil {
10723		return nil, err
10724	}
10725	ret := &Notification{
10726		ServerResponse: googleapi.ServerResponse{
10727			Header:         res.Header,
10728			HTTPStatusCode: res.StatusCode,
10729		},
10730	}
10731	target := &ret
10732	if err := gensupport.DecodeResponse(target, res); err != nil {
10733		return nil, err
10734	}
10735	return ret, nil
10736	// {
10737	//   "description": "Returns notification details for a given notification id.",
10738	//   "httpMethod": "GET",
10739	//   "id": "books.notification.get",
10740	//   "parameterOrder": [
10741	//     "notification_id"
10742	//   ],
10743	//   "parameters": {
10744	//     "locale": {
10745	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating notification title and body.",
10746	//       "location": "query",
10747	//       "type": "string"
10748	//     },
10749	//     "notification_id": {
10750	//       "description": "String to identify the notification.",
10751	//       "location": "query",
10752	//       "required": true,
10753	//       "type": "string"
10754	//     },
10755	//     "source": {
10756	//       "description": "String to identify the originator of this request.",
10757	//       "location": "query",
10758	//       "type": "string"
10759	//     }
10760	//   },
10761	//   "path": "notification/get",
10762	//   "response": {
10763	//     "$ref": "Notification"
10764	//   },
10765	//   "scopes": [
10766	//     "https://www.googleapis.com/auth/books"
10767	//   ]
10768	// }
10769
10770}
10771
10772// method id "books.onboarding.listCategories":
10773
10774type OnboardingListCategoriesCall struct {
10775	s            *Service
10776	urlParams_   gensupport.URLParams
10777	ifNoneMatch_ string
10778	ctx_         context.Context
10779	header_      http.Header
10780}
10781
10782// ListCategories: List categories for onboarding experience.
10783func (r *OnboardingService) ListCategories() *OnboardingListCategoriesCall {
10784	c := &OnboardingListCategoriesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10785	return c
10786}
10787
10788// Locale sets the optional parameter "locale": ISO-639-1 language and
10789// ISO-3166-1 country code. Default is en-US if unset.
10790func (c *OnboardingListCategoriesCall) Locale(locale string) *OnboardingListCategoriesCall {
10791	c.urlParams_.Set("locale", locale)
10792	return c
10793}
10794
10795// Fields allows partial responses to be retrieved. See
10796// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10797// for more information.
10798func (c *OnboardingListCategoriesCall) Fields(s ...googleapi.Field) *OnboardingListCategoriesCall {
10799	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10800	return c
10801}
10802
10803// IfNoneMatch sets the optional parameter which makes the operation
10804// fail if the object's ETag matches the given value. This is useful for
10805// getting updates only after the object has changed since the last
10806// request. Use googleapi.IsNotModified to check whether the response
10807// error from Do is the result of In-None-Match.
10808func (c *OnboardingListCategoriesCall) IfNoneMatch(entityTag string) *OnboardingListCategoriesCall {
10809	c.ifNoneMatch_ = entityTag
10810	return c
10811}
10812
10813// Context sets the context to be used in this call's Do method. Any
10814// pending HTTP request will be aborted if the provided context is
10815// canceled.
10816func (c *OnboardingListCategoriesCall) Context(ctx context.Context) *OnboardingListCategoriesCall {
10817	c.ctx_ = ctx
10818	return c
10819}
10820
10821// Header returns an http.Header that can be modified by the caller to
10822// add HTTP headers to the request.
10823func (c *OnboardingListCategoriesCall) Header() http.Header {
10824	if c.header_ == nil {
10825		c.header_ = make(http.Header)
10826	}
10827	return c.header_
10828}
10829
10830func (c *OnboardingListCategoriesCall) doRequest(alt string) (*http.Response, error) {
10831	reqHeaders := make(http.Header)
10832	for k, v := range c.header_ {
10833		reqHeaders[k] = v
10834	}
10835	reqHeaders.Set("User-Agent", c.s.userAgent())
10836	if c.ifNoneMatch_ != "" {
10837		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
10838	}
10839	var body io.Reader = nil
10840	c.urlParams_.Set("alt", alt)
10841	c.urlParams_.Set("prettyPrint", "false")
10842	urls := googleapi.ResolveRelative(c.s.BasePath, "onboarding/listCategories")
10843	urls += "?" + c.urlParams_.Encode()
10844	req, err := http.NewRequest("GET", urls, body)
10845	if err != nil {
10846		return nil, err
10847	}
10848	req.Header = reqHeaders
10849	return gensupport.SendRequest(c.ctx_, c.s.client, req)
10850}
10851
10852// Do executes the "books.onboarding.listCategories" call.
10853// Exactly one of *Category or error will be non-nil. Any non-2xx status
10854// code is an error. Response headers are in either
10855// *Category.ServerResponse.Header or (if a response was returned at
10856// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
10857// to check whether the returned error was because
10858// http.StatusNotModified was returned.
10859func (c *OnboardingListCategoriesCall) Do(opts ...googleapi.CallOption) (*Category, error) {
10860	gensupport.SetOptions(c.urlParams_, opts...)
10861	res, err := c.doRequest("json")
10862	if res != nil && res.StatusCode == http.StatusNotModified {
10863		if res.Body != nil {
10864			res.Body.Close()
10865		}
10866		return nil, &googleapi.Error{
10867			Code:   res.StatusCode,
10868			Header: res.Header,
10869		}
10870	}
10871	if err != nil {
10872		return nil, err
10873	}
10874	defer googleapi.CloseBody(res)
10875	if err := googleapi.CheckResponse(res); err != nil {
10876		return nil, err
10877	}
10878	ret := &Category{
10879		ServerResponse: googleapi.ServerResponse{
10880			Header:         res.Header,
10881			HTTPStatusCode: res.StatusCode,
10882		},
10883	}
10884	target := &ret
10885	if err := gensupport.DecodeResponse(target, res); err != nil {
10886		return nil, err
10887	}
10888	return ret, nil
10889	// {
10890	//   "description": "List categories for onboarding experience.",
10891	//   "httpMethod": "GET",
10892	//   "id": "books.onboarding.listCategories",
10893	//   "parameters": {
10894	//     "locale": {
10895	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.",
10896	//       "location": "query",
10897	//       "type": "string"
10898	//     }
10899	//   },
10900	//   "path": "onboarding/listCategories",
10901	//   "response": {
10902	//     "$ref": "Category"
10903	//   },
10904	//   "scopes": [
10905	//     "https://www.googleapis.com/auth/books"
10906	//   ]
10907	// }
10908
10909}
10910
10911// method id "books.onboarding.listCategoryVolumes":
10912
10913type OnboardingListCategoryVolumesCall struct {
10914	s            *Service
10915	urlParams_   gensupport.URLParams
10916	ifNoneMatch_ string
10917	ctx_         context.Context
10918	header_      http.Header
10919}
10920
10921// ListCategoryVolumes: List available volumes under categories for
10922// onboarding experience.
10923func (r *OnboardingService) ListCategoryVolumes() *OnboardingListCategoryVolumesCall {
10924	c := &OnboardingListCategoryVolumesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
10925	return c
10926}
10927
10928// CategoryId sets the optional parameter "categoryId": List of category
10929// ids requested.
10930func (c *OnboardingListCategoryVolumesCall) CategoryId(categoryId ...string) *OnboardingListCategoryVolumesCall {
10931	c.urlParams_.SetMulti("categoryId", append([]string{}, categoryId...))
10932	return c
10933}
10934
10935// Locale sets the optional parameter "locale": ISO-639-1 language and
10936// ISO-3166-1 country code. Default is en-US if unset.
10937func (c *OnboardingListCategoryVolumesCall) Locale(locale string) *OnboardingListCategoryVolumesCall {
10938	c.urlParams_.Set("locale", locale)
10939	return c
10940}
10941
10942// MaxAllowedMaturityRating sets the optional parameter
10943// "maxAllowedMaturityRating": The maximum allowed maturity rating of
10944// returned volumes. Books with a higher maturity rating are filtered
10945// out.
10946//
10947// Possible values:
10948//   "mature" - Show books which are rated mature or lower.
10949//   "not-mature" - Show books which are rated not mature.
10950func (c *OnboardingListCategoryVolumesCall) MaxAllowedMaturityRating(maxAllowedMaturityRating string) *OnboardingListCategoryVolumesCall {
10951	c.urlParams_.Set("maxAllowedMaturityRating", maxAllowedMaturityRating)
10952	return c
10953}
10954
10955// PageSize sets the optional parameter "pageSize": Number of maximum
10956// results per page to be included in the response.
10957func (c *OnboardingListCategoryVolumesCall) PageSize(pageSize int64) *OnboardingListCategoryVolumesCall {
10958	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
10959	return c
10960}
10961
10962// PageToken sets the optional parameter "pageToken": The value of the
10963// nextToken from the previous page.
10964func (c *OnboardingListCategoryVolumesCall) PageToken(pageToken string) *OnboardingListCategoryVolumesCall {
10965	c.urlParams_.Set("pageToken", pageToken)
10966	return c
10967}
10968
10969// Fields allows partial responses to be retrieved. See
10970// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
10971// for more information.
10972func (c *OnboardingListCategoryVolumesCall) Fields(s ...googleapi.Field) *OnboardingListCategoryVolumesCall {
10973	c.urlParams_.Set("fields", googleapi.CombineFields(s))
10974	return c
10975}
10976
10977// IfNoneMatch sets the optional parameter which makes the operation
10978// fail if the object's ETag matches the given value. This is useful for
10979// getting updates only after the object has changed since the last
10980// request. Use googleapi.IsNotModified to check whether the response
10981// error from Do is the result of In-None-Match.
10982func (c *OnboardingListCategoryVolumesCall) IfNoneMatch(entityTag string) *OnboardingListCategoryVolumesCall {
10983	c.ifNoneMatch_ = entityTag
10984	return c
10985}
10986
10987// Context sets the context to be used in this call's Do method. Any
10988// pending HTTP request will be aborted if the provided context is
10989// canceled.
10990func (c *OnboardingListCategoryVolumesCall) Context(ctx context.Context) *OnboardingListCategoryVolumesCall {
10991	c.ctx_ = ctx
10992	return c
10993}
10994
10995// Header returns an http.Header that can be modified by the caller to
10996// add HTTP headers to the request.
10997func (c *OnboardingListCategoryVolumesCall) Header() http.Header {
10998	if c.header_ == nil {
10999		c.header_ = make(http.Header)
11000	}
11001	return c.header_
11002}
11003
11004func (c *OnboardingListCategoryVolumesCall) doRequest(alt string) (*http.Response, error) {
11005	reqHeaders := make(http.Header)
11006	for k, v := range c.header_ {
11007		reqHeaders[k] = v
11008	}
11009	reqHeaders.Set("User-Agent", c.s.userAgent())
11010	if c.ifNoneMatch_ != "" {
11011		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11012	}
11013	var body io.Reader = nil
11014	c.urlParams_.Set("alt", alt)
11015	c.urlParams_.Set("prettyPrint", "false")
11016	urls := googleapi.ResolveRelative(c.s.BasePath, "onboarding/listCategoryVolumes")
11017	urls += "?" + c.urlParams_.Encode()
11018	req, err := http.NewRequest("GET", urls, body)
11019	if err != nil {
11020		return nil, err
11021	}
11022	req.Header = reqHeaders
11023	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11024}
11025
11026// Do executes the "books.onboarding.listCategoryVolumes" call.
11027// Exactly one of *Volume2 or error will be non-nil. Any non-2xx status
11028// code is an error. Response headers are in either
11029// *Volume2.ServerResponse.Header or (if a response was returned at all)
11030// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11031// check whether the returned error was because http.StatusNotModified
11032// was returned.
11033func (c *OnboardingListCategoryVolumesCall) Do(opts ...googleapi.CallOption) (*Volume2, error) {
11034	gensupport.SetOptions(c.urlParams_, opts...)
11035	res, err := c.doRequest("json")
11036	if res != nil && res.StatusCode == http.StatusNotModified {
11037		if res.Body != nil {
11038			res.Body.Close()
11039		}
11040		return nil, &googleapi.Error{
11041			Code:   res.StatusCode,
11042			Header: res.Header,
11043		}
11044	}
11045	if err != nil {
11046		return nil, err
11047	}
11048	defer googleapi.CloseBody(res)
11049	if err := googleapi.CheckResponse(res); err != nil {
11050		return nil, err
11051	}
11052	ret := &Volume2{
11053		ServerResponse: googleapi.ServerResponse{
11054			Header:         res.Header,
11055			HTTPStatusCode: res.StatusCode,
11056		},
11057	}
11058	target := &ret
11059	if err := gensupport.DecodeResponse(target, res); err != nil {
11060		return nil, err
11061	}
11062	return ret, nil
11063	// {
11064	//   "description": "List available volumes under categories for onboarding experience.",
11065	//   "httpMethod": "GET",
11066	//   "id": "books.onboarding.listCategoryVolumes",
11067	//   "parameters": {
11068	//     "categoryId": {
11069	//       "description": "List of category ids requested.",
11070	//       "location": "query",
11071	//       "repeated": true,
11072	//       "type": "string"
11073	//     },
11074	//     "locale": {
11075	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.",
11076	//       "location": "query",
11077	//       "type": "string"
11078	//     },
11079	//     "maxAllowedMaturityRating": {
11080	//       "description": "The maximum allowed maturity rating of returned volumes. Books with a higher maturity rating are filtered out.",
11081	//       "enum": [
11082	//         "mature",
11083	//         "not-mature"
11084	//       ],
11085	//       "enumDescriptions": [
11086	//         "Show books which are rated mature or lower.",
11087	//         "Show books which are rated not mature."
11088	//       ],
11089	//       "location": "query",
11090	//       "type": "string"
11091	//     },
11092	//     "pageSize": {
11093	//       "description": "Number of maximum results per page to be included in the response.",
11094	//       "format": "uint32",
11095	//       "location": "query",
11096	//       "type": "integer"
11097	//     },
11098	//     "pageToken": {
11099	//       "description": "The value of the nextToken from the previous page.",
11100	//       "location": "query",
11101	//       "type": "string"
11102	//     }
11103	//   },
11104	//   "path": "onboarding/listCategoryVolumes",
11105	//   "response": {
11106	//     "$ref": "Volume2"
11107	//   },
11108	//   "scopes": [
11109	//     "https://www.googleapis.com/auth/books"
11110	//   ]
11111	// }
11112
11113}
11114
11115// Pages invokes f for each page of results.
11116// A non-nil error returned from f will halt the iteration.
11117// The provided context supersedes any context provided to the Context method.
11118func (c *OnboardingListCategoryVolumesCall) Pages(ctx context.Context, f func(*Volume2) error) error {
11119	c.ctx_ = ctx
11120	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
11121	for {
11122		x, err := c.Do()
11123		if err != nil {
11124			return err
11125		}
11126		if err := f(x); err != nil {
11127			return err
11128		}
11129		if x.NextPageToken == "" {
11130			return nil
11131		}
11132		c.PageToken(x.NextPageToken)
11133	}
11134}
11135
11136// method id "books.personalizedstream.get":
11137
11138type PersonalizedstreamGetCall struct {
11139	s            *Service
11140	urlParams_   gensupport.URLParams
11141	ifNoneMatch_ string
11142	ctx_         context.Context
11143	header_      http.Header
11144}
11145
11146// Get: Returns a stream of personalized book clusters
11147func (r *PersonalizedstreamService) Get() *PersonalizedstreamGetCall {
11148	c := &PersonalizedstreamGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11149	return c
11150}
11151
11152// Locale sets the optional parameter "locale": ISO-639-1 language and
11153// ISO-3166-1 country code. Ex: 'en_US'. Used for generating
11154// recommendations.
11155func (c *PersonalizedstreamGetCall) Locale(locale string) *PersonalizedstreamGetCall {
11156	c.urlParams_.Set("locale", locale)
11157	return c
11158}
11159
11160// MaxAllowedMaturityRating sets the optional parameter
11161// "maxAllowedMaturityRating": The maximum allowed maturity rating of
11162// returned recommendations. Books with a higher maturity rating are
11163// filtered out.
11164//
11165// Possible values:
11166//   "mature" - Show books which are rated mature or lower.
11167//   "not-mature" - Show books which are rated not mature.
11168func (c *PersonalizedstreamGetCall) MaxAllowedMaturityRating(maxAllowedMaturityRating string) *PersonalizedstreamGetCall {
11169	c.urlParams_.Set("maxAllowedMaturityRating", maxAllowedMaturityRating)
11170	return c
11171}
11172
11173// Source sets the optional parameter "source": String to identify the
11174// originator of this request.
11175func (c *PersonalizedstreamGetCall) Source(source string) *PersonalizedstreamGetCall {
11176	c.urlParams_.Set("source", source)
11177	return c
11178}
11179
11180// Fields allows partial responses to be retrieved. See
11181// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11182// for more information.
11183func (c *PersonalizedstreamGetCall) Fields(s ...googleapi.Field) *PersonalizedstreamGetCall {
11184	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11185	return c
11186}
11187
11188// IfNoneMatch sets the optional parameter which makes the operation
11189// fail if the object's ETag matches the given value. This is useful for
11190// getting updates only after the object has changed since the last
11191// request. Use googleapi.IsNotModified to check whether the response
11192// error from Do is the result of In-None-Match.
11193func (c *PersonalizedstreamGetCall) IfNoneMatch(entityTag string) *PersonalizedstreamGetCall {
11194	c.ifNoneMatch_ = entityTag
11195	return c
11196}
11197
11198// Context sets the context to be used in this call's Do method. Any
11199// pending HTTP request will be aborted if the provided context is
11200// canceled.
11201func (c *PersonalizedstreamGetCall) Context(ctx context.Context) *PersonalizedstreamGetCall {
11202	c.ctx_ = ctx
11203	return c
11204}
11205
11206// Header returns an http.Header that can be modified by the caller to
11207// add HTTP headers to the request.
11208func (c *PersonalizedstreamGetCall) Header() http.Header {
11209	if c.header_ == nil {
11210		c.header_ = make(http.Header)
11211	}
11212	return c.header_
11213}
11214
11215func (c *PersonalizedstreamGetCall) doRequest(alt string) (*http.Response, error) {
11216	reqHeaders := make(http.Header)
11217	for k, v := range c.header_ {
11218		reqHeaders[k] = v
11219	}
11220	reqHeaders.Set("User-Agent", c.s.userAgent())
11221	if c.ifNoneMatch_ != "" {
11222		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11223	}
11224	var body io.Reader = nil
11225	c.urlParams_.Set("alt", alt)
11226	c.urlParams_.Set("prettyPrint", "false")
11227	urls := googleapi.ResolveRelative(c.s.BasePath, "personalizedstream/get")
11228	urls += "?" + c.urlParams_.Encode()
11229	req, err := http.NewRequest("GET", urls, body)
11230	if err != nil {
11231		return nil, err
11232	}
11233	req.Header = reqHeaders
11234	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11235}
11236
11237// Do executes the "books.personalizedstream.get" call.
11238// Exactly one of *Discoveryclusters or error will be non-nil. Any
11239// non-2xx status code is an error. Response headers are in either
11240// *Discoveryclusters.ServerResponse.Header or (if a response was
11241// returned at all) in error.(*googleapi.Error).Header. Use
11242// googleapi.IsNotModified to check whether the returned error was
11243// because http.StatusNotModified was returned.
11244func (c *PersonalizedstreamGetCall) Do(opts ...googleapi.CallOption) (*Discoveryclusters, error) {
11245	gensupport.SetOptions(c.urlParams_, opts...)
11246	res, err := c.doRequest("json")
11247	if res != nil && res.StatusCode == http.StatusNotModified {
11248		if res.Body != nil {
11249			res.Body.Close()
11250		}
11251		return nil, &googleapi.Error{
11252			Code:   res.StatusCode,
11253			Header: res.Header,
11254		}
11255	}
11256	if err != nil {
11257		return nil, err
11258	}
11259	defer googleapi.CloseBody(res)
11260	if err := googleapi.CheckResponse(res); err != nil {
11261		return nil, err
11262	}
11263	ret := &Discoveryclusters{
11264		ServerResponse: googleapi.ServerResponse{
11265			Header:         res.Header,
11266			HTTPStatusCode: res.StatusCode,
11267		},
11268	}
11269	target := &ret
11270	if err := gensupport.DecodeResponse(target, res); err != nil {
11271		return nil, err
11272	}
11273	return ret, nil
11274	// {
11275	//   "description": "Returns a stream of personalized book clusters",
11276	//   "httpMethod": "GET",
11277	//   "id": "books.personalizedstream.get",
11278	//   "parameters": {
11279	//     "locale": {
11280	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.",
11281	//       "location": "query",
11282	//       "type": "string"
11283	//     },
11284	//     "maxAllowedMaturityRating": {
11285	//       "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.",
11286	//       "enum": [
11287	//         "mature",
11288	//         "not-mature"
11289	//       ],
11290	//       "enumDescriptions": [
11291	//         "Show books which are rated mature or lower.",
11292	//         "Show books which are rated not mature."
11293	//       ],
11294	//       "location": "query",
11295	//       "type": "string"
11296	//     },
11297	//     "source": {
11298	//       "description": "String to identify the originator of this request.",
11299	//       "location": "query",
11300	//       "type": "string"
11301	//     }
11302	//   },
11303	//   "path": "personalizedstream/get",
11304	//   "response": {
11305	//     "$ref": "Discoveryclusters"
11306	//   },
11307	//   "scopes": [
11308	//     "https://www.googleapis.com/auth/books"
11309	//   ]
11310	// }
11311
11312}
11313
11314// method id "books.promooffer.accept":
11315
11316type PromoofferAcceptCall struct {
11317	s          *Service
11318	urlParams_ gensupport.URLParams
11319	ctx_       context.Context
11320	header_    http.Header
11321}
11322
11323// Accept:
11324func (r *PromoofferService) Accept() *PromoofferAcceptCall {
11325	c := &PromoofferAcceptCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11326	return c
11327}
11328
11329// AndroidId sets the optional parameter "androidId": device android_id
11330func (c *PromoofferAcceptCall) AndroidId(androidId string) *PromoofferAcceptCall {
11331	c.urlParams_.Set("androidId", androidId)
11332	return c
11333}
11334
11335// Device sets the optional parameter "device": device device
11336func (c *PromoofferAcceptCall) Device(device string) *PromoofferAcceptCall {
11337	c.urlParams_.Set("device", device)
11338	return c
11339}
11340
11341// Manufacturer sets the optional parameter "manufacturer": device
11342// manufacturer
11343func (c *PromoofferAcceptCall) Manufacturer(manufacturer string) *PromoofferAcceptCall {
11344	c.urlParams_.Set("manufacturer", manufacturer)
11345	return c
11346}
11347
11348// Model sets the optional parameter "model": device model
11349func (c *PromoofferAcceptCall) Model(model string) *PromoofferAcceptCall {
11350	c.urlParams_.Set("model", model)
11351	return c
11352}
11353
11354// OfferId sets the optional parameter "offerId":
11355func (c *PromoofferAcceptCall) OfferId(offerId string) *PromoofferAcceptCall {
11356	c.urlParams_.Set("offerId", offerId)
11357	return c
11358}
11359
11360// Product sets the optional parameter "product": device product
11361func (c *PromoofferAcceptCall) Product(product string) *PromoofferAcceptCall {
11362	c.urlParams_.Set("product", product)
11363	return c
11364}
11365
11366// Serial sets the optional parameter "serial": device serial
11367func (c *PromoofferAcceptCall) Serial(serial string) *PromoofferAcceptCall {
11368	c.urlParams_.Set("serial", serial)
11369	return c
11370}
11371
11372// VolumeId sets the optional parameter "volumeId": Volume id to
11373// exercise the offer
11374func (c *PromoofferAcceptCall) VolumeId(volumeId string) *PromoofferAcceptCall {
11375	c.urlParams_.Set("volumeId", volumeId)
11376	return c
11377}
11378
11379// Fields allows partial responses to be retrieved. See
11380// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11381// for more information.
11382func (c *PromoofferAcceptCall) Fields(s ...googleapi.Field) *PromoofferAcceptCall {
11383	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11384	return c
11385}
11386
11387// Context sets the context to be used in this call's Do method. Any
11388// pending HTTP request will be aborted if the provided context is
11389// canceled.
11390func (c *PromoofferAcceptCall) Context(ctx context.Context) *PromoofferAcceptCall {
11391	c.ctx_ = ctx
11392	return c
11393}
11394
11395// Header returns an http.Header that can be modified by the caller to
11396// add HTTP headers to the request.
11397func (c *PromoofferAcceptCall) Header() http.Header {
11398	if c.header_ == nil {
11399		c.header_ = make(http.Header)
11400	}
11401	return c.header_
11402}
11403
11404func (c *PromoofferAcceptCall) doRequest(alt string) (*http.Response, error) {
11405	reqHeaders := make(http.Header)
11406	for k, v := range c.header_ {
11407		reqHeaders[k] = v
11408	}
11409	reqHeaders.Set("User-Agent", c.s.userAgent())
11410	var body io.Reader = nil
11411	c.urlParams_.Set("alt", alt)
11412	c.urlParams_.Set("prettyPrint", "false")
11413	urls := googleapi.ResolveRelative(c.s.BasePath, "promooffer/accept")
11414	urls += "?" + c.urlParams_.Encode()
11415	req, err := http.NewRequest("POST", urls, body)
11416	if err != nil {
11417		return nil, err
11418	}
11419	req.Header = reqHeaders
11420	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11421}
11422
11423// Do executes the "books.promooffer.accept" call.
11424func (c *PromoofferAcceptCall) Do(opts ...googleapi.CallOption) error {
11425	gensupport.SetOptions(c.urlParams_, opts...)
11426	res, err := c.doRequest("json")
11427	if err != nil {
11428		return err
11429	}
11430	defer googleapi.CloseBody(res)
11431	if err := googleapi.CheckResponse(res); err != nil {
11432		return err
11433	}
11434	return nil
11435	// {
11436	//   "description": "",
11437	//   "httpMethod": "POST",
11438	//   "id": "books.promooffer.accept",
11439	//   "parameters": {
11440	//     "androidId": {
11441	//       "description": "device android_id",
11442	//       "location": "query",
11443	//       "type": "string"
11444	//     },
11445	//     "device": {
11446	//       "description": "device device",
11447	//       "location": "query",
11448	//       "type": "string"
11449	//     },
11450	//     "manufacturer": {
11451	//       "description": "device manufacturer",
11452	//       "location": "query",
11453	//       "type": "string"
11454	//     },
11455	//     "model": {
11456	//       "description": "device model",
11457	//       "location": "query",
11458	//       "type": "string"
11459	//     },
11460	//     "offerId": {
11461	//       "location": "query",
11462	//       "type": "string"
11463	//     },
11464	//     "product": {
11465	//       "description": "device product",
11466	//       "location": "query",
11467	//       "type": "string"
11468	//     },
11469	//     "serial": {
11470	//       "description": "device serial",
11471	//       "location": "query",
11472	//       "type": "string"
11473	//     },
11474	//     "volumeId": {
11475	//       "description": "Volume id to exercise the offer",
11476	//       "location": "query",
11477	//       "type": "string"
11478	//     }
11479	//   },
11480	//   "path": "promooffer/accept",
11481	//   "scopes": [
11482	//     "https://www.googleapis.com/auth/books"
11483	//   ]
11484	// }
11485
11486}
11487
11488// method id "books.promooffer.dismiss":
11489
11490type PromoofferDismissCall struct {
11491	s          *Service
11492	urlParams_ gensupport.URLParams
11493	ctx_       context.Context
11494	header_    http.Header
11495}
11496
11497// Dismiss:
11498func (r *PromoofferService) Dismiss() *PromoofferDismissCall {
11499	c := &PromoofferDismissCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11500	return c
11501}
11502
11503// AndroidId sets the optional parameter "androidId": device android_id
11504func (c *PromoofferDismissCall) AndroidId(androidId string) *PromoofferDismissCall {
11505	c.urlParams_.Set("androidId", androidId)
11506	return c
11507}
11508
11509// Device sets the optional parameter "device": device device
11510func (c *PromoofferDismissCall) Device(device string) *PromoofferDismissCall {
11511	c.urlParams_.Set("device", device)
11512	return c
11513}
11514
11515// Manufacturer sets the optional parameter "manufacturer": device
11516// manufacturer
11517func (c *PromoofferDismissCall) Manufacturer(manufacturer string) *PromoofferDismissCall {
11518	c.urlParams_.Set("manufacturer", manufacturer)
11519	return c
11520}
11521
11522// Model sets the optional parameter "model": device model
11523func (c *PromoofferDismissCall) Model(model string) *PromoofferDismissCall {
11524	c.urlParams_.Set("model", model)
11525	return c
11526}
11527
11528// OfferId sets the optional parameter "offerId": Offer to dimiss
11529func (c *PromoofferDismissCall) OfferId(offerId string) *PromoofferDismissCall {
11530	c.urlParams_.Set("offerId", offerId)
11531	return c
11532}
11533
11534// Product sets the optional parameter "product": device product
11535func (c *PromoofferDismissCall) Product(product string) *PromoofferDismissCall {
11536	c.urlParams_.Set("product", product)
11537	return c
11538}
11539
11540// Serial sets the optional parameter "serial": device serial
11541func (c *PromoofferDismissCall) Serial(serial string) *PromoofferDismissCall {
11542	c.urlParams_.Set("serial", serial)
11543	return c
11544}
11545
11546// Fields allows partial responses to be retrieved. See
11547// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11548// for more information.
11549func (c *PromoofferDismissCall) Fields(s ...googleapi.Field) *PromoofferDismissCall {
11550	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11551	return c
11552}
11553
11554// Context sets the context to be used in this call's Do method. Any
11555// pending HTTP request will be aborted if the provided context is
11556// canceled.
11557func (c *PromoofferDismissCall) Context(ctx context.Context) *PromoofferDismissCall {
11558	c.ctx_ = ctx
11559	return c
11560}
11561
11562// Header returns an http.Header that can be modified by the caller to
11563// add HTTP headers to the request.
11564func (c *PromoofferDismissCall) Header() http.Header {
11565	if c.header_ == nil {
11566		c.header_ = make(http.Header)
11567	}
11568	return c.header_
11569}
11570
11571func (c *PromoofferDismissCall) doRequest(alt string) (*http.Response, error) {
11572	reqHeaders := make(http.Header)
11573	for k, v := range c.header_ {
11574		reqHeaders[k] = v
11575	}
11576	reqHeaders.Set("User-Agent", c.s.userAgent())
11577	var body io.Reader = nil
11578	c.urlParams_.Set("alt", alt)
11579	c.urlParams_.Set("prettyPrint", "false")
11580	urls := googleapi.ResolveRelative(c.s.BasePath, "promooffer/dismiss")
11581	urls += "?" + c.urlParams_.Encode()
11582	req, err := http.NewRequest("POST", urls, body)
11583	if err != nil {
11584		return nil, err
11585	}
11586	req.Header = reqHeaders
11587	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11588}
11589
11590// Do executes the "books.promooffer.dismiss" call.
11591func (c *PromoofferDismissCall) Do(opts ...googleapi.CallOption) error {
11592	gensupport.SetOptions(c.urlParams_, opts...)
11593	res, err := c.doRequest("json")
11594	if err != nil {
11595		return err
11596	}
11597	defer googleapi.CloseBody(res)
11598	if err := googleapi.CheckResponse(res); err != nil {
11599		return err
11600	}
11601	return nil
11602	// {
11603	//   "description": "",
11604	//   "httpMethod": "POST",
11605	//   "id": "books.promooffer.dismiss",
11606	//   "parameters": {
11607	//     "androidId": {
11608	//       "description": "device android_id",
11609	//       "location": "query",
11610	//       "type": "string"
11611	//     },
11612	//     "device": {
11613	//       "description": "device device",
11614	//       "location": "query",
11615	//       "type": "string"
11616	//     },
11617	//     "manufacturer": {
11618	//       "description": "device manufacturer",
11619	//       "location": "query",
11620	//       "type": "string"
11621	//     },
11622	//     "model": {
11623	//       "description": "device model",
11624	//       "location": "query",
11625	//       "type": "string"
11626	//     },
11627	//     "offerId": {
11628	//       "description": "Offer to dimiss",
11629	//       "location": "query",
11630	//       "type": "string"
11631	//     },
11632	//     "product": {
11633	//       "description": "device product",
11634	//       "location": "query",
11635	//       "type": "string"
11636	//     },
11637	//     "serial": {
11638	//       "description": "device serial",
11639	//       "location": "query",
11640	//       "type": "string"
11641	//     }
11642	//   },
11643	//   "path": "promooffer/dismiss",
11644	//   "scopes": [
11645	//     "https://www.googleapis.com/auth/books"
11646	//   ]
11647	// }
11648
11649}
11650
11651// method id "books.promooffer.get":
11652
11653type PromoofferGetCall struct {
11654	s            *Service
11655	urlParams_   gensupport.URLParams
11656	ifNoneMatch_ string
11657	ctx_         context.Context
11658	header_      http.Header
11659}
11660
11661// Get: Returns a list of promo offers available to the user
11662func (r *PromoofferService) Get() *PromoofferGetCall {
11663	c := &PromoofferGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11664	return c
11665}
11666
11667// AndroidId sets the optional parameter "androidId": device android_id
11668func (c *PromoofferGetCall) AndroidId(androidId string) *PromoofferGetCall {
11669	c.urlParams_.Set("androidId", androidId)
11670	return c
11671}
11672
11673// Device sets the optional parameter "device": device device
11674func (c *PromoofferGetCall) Device(device string) *PromoofferGetCall {
11675	c.urlParams_.Set("device", device)
11676	return c
11677}
11678
11679// Manufacturer sets the optional parameter "manufacturer": device
11680// manufacturer
11681func (c *PromoofferGetCall) Manufacturer(manufacturer string) *PromoofferGetCall {
11682	c.urlParams_.Set("manufacturer", manufacturer)
11683	return c
11684}
11685
11686// Model sets the optional parameter "model": device model
11687func (c *PromoofferGetCall) Model(model string) *PromoofferGetCall {
11688	c.urlParams_.Set("model", model)
11689	return c
11690}
11691
11692// Product sets the optional parameter "product": device product
11693func (c *PromoofferGetCall) Product(product string) *PromoofferGetCall {
11694	c.urlParams_.Set("product", product)
11695	return c
11696}
11697
11698// Serial sets the optional parameter "serial": device serial
11699func (c *PromoofferGetCall) Serial(serial string) *PromoofferGetCall {
11700	c.urlParams_.Set("serial", serial)
11701	return c
11702}
11703
11704// Fields allows partial responses to be retrieved. See
11705// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11706// for more information.
11707func (c *PromoofferGetCall) Fields(s ...googleapi.Field) *PromoofferGetCall {
11708	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11709	return c
11710}
11711
11712// IfNoneMatch sets the optional parameter which makes the operation
11713// fail if the object's ETag matches the given value. This is useful for
11714// getting updates only after the object has changed since the last
11715// request. Use googleapi.IsNotModified to check whether the response
11716// error from Do is the result of In-None-Match.
11717func (c *PromoofferGetCall) IfNoneMatch(entityTag string) *PromoofferGetCall {
11718	c.ifNoneMatch_ = entityTag
11719	return c
11720}
11721
11722// Context sets the context to be used in this call's Do method. Any
11723// pending HTTP request will be aborted if the provided context is
11724// canceled.
11725func (c *PromoofferGetCall) Context(ctx context.Context) *PromoofferGetCall {
11726	c.ctx_ = ctx
11727	return c
11728}
11729
11730// Header returns an http.Header that can be modified by the caller to
11731// add HTTP headers to the request.
11732func (c *PromoofferGetCall) Header() http.Header {
11733	if c.header_ == nil {
11734		c.header_ = make(http.Header)
11735	}
11736	return c.header_
11737}
11738
11739func (c *PromoofferGetCall) doRequest(alt string) (*http.Response, error) {
11740	reqHeaders := make(http.Header)
11741	for k, v := range c.header_ {
11742		reqHeaders[k] = v
11743	}
11744	reqHeaders.Set("User-Agent", c.s.userAgent())
11745	if c.ifNoneMatch_ != "" {
11746		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11747	}
11748	var body io.Reader = nil
11749	c.urlParams_.Set("alt", alt)
11750	c.urlParams_.Set("prettyPrint", "false")
11751	urls := googleapi.ResolveRelative(c.s.BasePath, "promooffer/get")
11752	urls += "?" + c.urlParams_.Encode()
11753	req, err := http.NewRequest("GET", urls, body)
11754	if err != nil {
11755		return nil, err
11756	}
11757	req.Header = reqHeaders
11758	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11759}
11760
11761// Do executes the "books.promooffer.get" call.
11762// Exactly one of *Offers or error will be non-nil. Any non-2xx status
11763// code is an error. Response headers are in either
11764// *Offers.ServerResponse.Header or (if a response was returned at all)
11765// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11766// check whether the returned error was because http.StatusNotModified
11767// was returned.
11768func (c *PromoofferGetCall) Do(opts ...googleapi.CallOption) (*Offers, error) {
11769	gensupport.SetOptions(c.urlParams_, opts...)
11770	res, err := c.doRequest("json")
11771	if res != nil && res.StatusCode == http.StatusNotModified {
11772		if res.Body != nil {
11773			res.Body.Close()
11774		}
11775		return nil, &googleapi.Error{
11776			Code:   res.StatusCode,
11777			Header: res.Header,
11778		}
11779	}
11780	if err != nil {
11781		return nil, err
11782	}
11783	defer googleapi.CloseBody(res)
11784	if err := googleapi.CheckResponse(res); err != nil {
11785		return nil, err
11786	}
11787	ret := &Offers{
11788		ServerResponse: googleapi.ServerResponse{
11789			Header:         res.Header,
11790			HTTPStatusCode: res.StatusCode,
11791		},
11792	}
11793	target := &ret
11794	if err := gensupport.DecodeResponse(target, res); err != nil {
11795		return nil, err
11796	}
11797	return ret, nil
11798	// {
11799	//   "description": "Returns a list of promo offers available to the user",
11800	//   "httpMethod": "GET",
11801	//   "id": "books.promooffer.get",
11802	//   "parameters": {
11803	//     "androidId": {
11804	//       "description": "device android_id",
11805	//       "location": "query",
11806	//       "type": "string"
11807	//     },
11808	//     "device": {
11809	//       "description": "device device",
11810	//       "location": "query",
11811	//       "type": "string"
11812	//     },
11813	//     "manufacturer": {
11814	//       "description": "device manufacturer",
11815	//       "location": "query",
11816	//       "type": "string"
11817	//     },
11818	//     "model": {
11819	//       "description": "device model",
11820	//       "location": "query",
11821	//       "type": "string"
11822	//     },
11823	//     "product": {
11824	//       "description": "device product",
11825	//       "location": "query",
11826	//       "type": "string"
11827	//     },
11828	//     "serial": {
11829	//       "description": "device serial",
11830	//       "location": "query",
11831	//       "type": "string"
11832	//     }
11833	//   },
11834	//   "path": "promooffer/get",
11835	//   "response": {
11836	//     "$ref": "Offers"
11837	//   },
11838	//   "scopes": [
11839	//     "https://www.googleapis.com/auth/books"
11840	//   ]
11841	// }
11842
11843}
11844
11845// method id "books.series.get":
11846
11847type SeriesGetCall struct {
11848	s            *Service
11849	urlParams_   gensupport.URLParams
11850	ifNoneMatch_ string
11851	ctx_         context.Context
11852	header_      http.Header
11853}
11854
11855// Get: Returns Series metadata for the given series ids.
11856func (r *SeriesService) Get(seriesId []string) *SeriesGetCall {
11857	c := &SeriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11858	c.urlParams_.SetMulti("series_id", append([]string{}, seriesId...))
11859	return c
11860}
11861
11862// Fields allows partial responses to be retrieved. See
11863// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
11864// for more information.
11865func (c *SeriesGetCall) Fields(s ...googleapi.Field) *SeriesGetCall {
11866	c.urlParams_.Set("fields", googleapi.CombineFields(s))
11867	return c
11868}
11869
11870// IfNoneMatch sets the optional parameter which makes the operation
11871// fail if the object's ETag matches the given value. This is useful for
11872// getting updates only after the object has changed since the last
11873// request. Use googleapi.IsNotModified to check whether the response
11874// error from Do is the result of In-None-Match.
11875func (c *SeriesGetCall) IfNoneMatch(entityTag string) *SeriesGetCall {
11876	c.ifNoneMatch_ = entityTag
11877	return c
11878}
11879
11880// Context sets the context to be used in this call's Do method. Any
11881// pending HTTP request will be aborted if the provided context is
11882// canceled.
11883func (c *SeriesGetCall) Context(ctx context.Context) *SeriesGetCall {
11884	c.ctx_ = ctx
11885	return c
11886}
11887
11888// Header returns an http.Header that can be modified by the caller to
11889// add HTTP headers to the request.
11890func (c *SeriesGetCall) Header() http.Header {
11891	if c.header_ == nil {
11892		c.header_ = make(http.Header)
11893	}
11894	return c.header_
11895}
11896
11897func (c *SeriesGetCall) doRequest(alt string) (*http.Response, error) {
11898	reqHeaders := make(http.Header)
11899	for k, v := range c.header_ {
11900		reqHeaders[k] = v
11901	}
11902	reqHeaders.Set("User-Agent", c.s.userAgent())
11903	if c.ifNoneMatch_ != "" {
11904		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
11905	}
11906	var body io.Reader = nil
11907	c.urlParams_.Set("alt", alt)
11908	c.urlParams_.Set("prettyPrint", "false")
11909	urls := googleapi.ResolveRelative(c.s.BasePath, "series/get")
11910	urls += "?" + c.urlParams_.Encode()
11911	req, err := http.NewRequest("GET", urls, body)
11912	if err != nil {
11913		return nil, err
11914	}
11915	req.Header = reqHeaders
11916	return gensupport.SendRequest(c.ctx_, c.s.client, req)
11917}
11918
11919// Do executes the "books.series.get" call.
11920// Exactly one of *Series or error will be non-nil. Any non-2xx status
11921// code is an error. Response headers are in either
11922// *Series.ServerResponse.Header or (if a response was returned at all)
11923// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
11924// check whether the returned error was because http.StatusNotModified
11925// was returned.
11926func (c *SeriesGetCall) Do(opts ...googleapi.CallOption) (*Series, error) {
11927	gensupport.SetOptions(c.urlParams_, opts...)
11928	res, err := c.doRequest("json")
11929	if res != nil && res.StatusCode == http.StatusNotModified {
11930		if res.Body != nil {
11931			res.Body.Close()
11932		}
11933		return nil, &googleapi.Error{
11934			Code:   res.StatusCode,
11935			Header: res.Header,
11936		}
11937	}
11938	if err != nil {
11939		return nil, err
11940	}
11941	defer googleapi.CloseBody(res)
11942	if err := googleapi.CheckResponse(res); err != nil {
11943		return nil, err
11944	}
11945	ret := &Series{
11946		ServerResponse: googleapi.ServerResponse{
11947			Header:         res.Header,
11948			HTTPStatusCode: res.StatusCode,
11949		},
11950	}
11951	target := &ret
11952	if err := gensupport.DecodeResponse(target, res); err != nil {
11953		return nil, err
11954	}
11955	return ret, nil
11956	// {
11957	//   "description": "Returns Series metadata for the given series ids.",
11958	//   "httpMethod": "GET",
11959	//   "id": "books.series.get",
11960	//   "parameterOrder": [
11961	//     "series_id"
11962	//   ],
11963	//   "parameters": {
11964	//     "series_id": {
11965	//       "description": "String that identifies the series",
11966	//       "location": "query",
11967	//       "repeated": true,
11968	//       "required": true,
11969	//       "type": "string"
11970	//     }
11971	//   },
11972	//   "path": "series/get",
11973	//   "response": {
11974	//     "$ref": "Series"
11975	//   },
11976	//   "scopes": [
11977	//     "https://www.googleapis.com/auth/books"
11978	//   ]
11979	// }
11980
11981}
11982
11983// method id "books.series.membership.get":
11984
11985type SeriesMembershipGetCall struct {
11986	s            *Service
11987	urlParams_   gensupport.URLParams
11988	ifNoneMatch_ string
11989	ctx_         context.Context
11990	header_      http.Header
11991}
11992
11993// Get: Returns Series membership data given the series id.
11994func (r *SeriesMembershipService) Get(seriesId string) *SeriesMembershipGetCall {
11995	c := &SeriesMembershipGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
11996	c.urlParams_.Set("series_id", seriesId)
11997	return c
11998}
11999
12000// PageSize sets the optional parameter "page_size": Number of maximum
12001// results per page to be included in the response.
12002func (c *SeriesMembershipGetCall) PageSize(pageSize int64) *SeriesMembershipGetCall {
12003	c.urlParams_.Set("page_size", fmt.Sprint(pageSize))
12004	return c
12005}
12006
12007// PageToken sets the optional parameter "page_token": The value of the
12008// nextToken from the previous page.
12009func (c *SeriesMembershipGetCall) PageToken(pageToken string) *SeriesMembershipGetCall {
12010	c.urlParams_.Set("page_token", pageToken)
12011	return c
12012}
12013
12014// Fields allows partial responses to be retrieved. See
12015// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12016// for more information.
12017func (c *SeriesMembershipGetCall) Fields(s ...googleapi.Field) *SeriesMembershipGetCall {
12018	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12019	return c
12020}
12021
12022// IfNoneMatch sets the optional parameter which makes the operation
12023// fail if the object's ETag matches the given value. This is useful for
12024// getting updates only after the object has changed since the last
12025// request. Use googleapi.IsNotModified to check whether the response
12026// error from Do is the result of In-None-Match.
12027func (c *SeriesMembershipGetCall) IfNoneMatch(entityTag string) *SeriesMembershipGetCall {
12028	c.ifNoneMatch_ = entityTag
12029	return c
12030}
12031
12032// Context sets the context to be used in this call's Do method. Any
12033// pending HTTP request will be aborted if the provided context is
12034// canceled.
12035func (c *SeriesMembershipGetCall) Context(ctx context.Context) *SeriesMembershipGetCall {
12036	c.ctx_ = ctx
12037	return c
12038}
12039
12040// Header returns an http.Header that can be modified by the caller to
12041// add HTTP headers to the request.
12042func (c *SeriesMembershipGetCall) Header() http.Header {
12043	if c.header_ == nil {
12044		c.header_ = make(http.Header)
12045	}
12046	return c.header_
12047}
12048
12049func (c *SeriesMembershipGetCall) doRequest(alt string) (*http.Response, error) {
12050	reqHeaders := make(http.Header)
12051	for k, v := range c.header_ {
12052		reqHeaders[k] = v
12053	}
12054	reqHeaders.Set("User-Agent", c.s.userAgent())
12055	if c.ifNoneMatch_ != "" {
12056		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12057	}
12058	var body io.Reader = nil
12059	c.urlParams_.Set("alt", alt)
12060	c.urlParams_.Set("prettyPrint", "false")
12061	urls := googleapi.ResolveRelative(c.s.BasePath, "series/membership/get")
12062	urls += "?" + c.urlParams_.Encode()
12063	req, err := http.NewRequest("GET", urls, body)
12064	if err != nil {
12065		return nil, err
12066	}
12067	req.Header = reqHeaders
12068	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12069}
12070
12071// Do executes the "books.series.membership.get" call.
12072// Exactly one of *Seriesmembership or error will be non-nil. Any
12073// non-2xx status code is an error. Response headers are in either
12074// *Seriesmembership.ServerResponse.Header or (if a response was
12075// returned at all) in error.(*googleapi.Error).Header. Use
12076// googleapi.IsNotModified to check whether the returned error was
12077// because http.StatusNotModified was returned.
12078func (c *SeriesMembershipGetCall) Do(opts ...googleapi.CallOption) (*Seriesmembership, error) {
12079	gensupport.SetOptions(c.urlParams_, opts...)
12080	res, err := c.doRequest("json")
12081	if res != nil && res.StatusCode == http.StatusNotModified {
12082		if res.Body != nil {
12083			res.Body.Close()
12084		}
12085		return nil, &googleapi.Error{
12086			Code:   res.StatusCode,
12087			Header: res.Header,
12088		}
12089	}
12090	if err != nil {
12091		return nil, err
12092	}
12093	defer googleapi.CloseBody(res)
12094	if err := googleapi.CheckResponse(res); err != nil {
12095		return nil, err
12096	}
12097	ret := &Seriesmembership{
12098		ServerResponse: googleapi.ServerResponse{
12099			Header:         res.Header,
12100			HTTPStatusCode: res.StatusCode,
12101		},
12102	}
12103	target := &ret
12104	if err := gensupport.DecodeResponse(target, res); err != nil {
12105		return nil, err
12106	}
12107	return ret, nil
12108	// {
12109	//   "description": "Returns Series membership data given the series id.",
12110	//   "httpMethod": "GET",
12111	//   "id": "books.series.membership.get",
12112	//   "parameterOrder": [
12113	//     "series_id"
12114	//   ],
12115	//   "parameters": {
12116	//     "page_size": {
12117	//       "description": "Number of maximum results per page to be included in the response.",
12118	//       "format": "uint32",
12119	//       "location": "query",
12120	//       "type": "integer"
12121	//     },
12122	//     "page_token": {
12123	//       "description": "The value of the nextToken from the previous page.",
12124	//       "location": "query",
12125	//       "type": "string"
12126	//     },
12127	//     "series_id": {
12128	//       "description": "String that identifies the series",
12129	//       "location": "query",
12130	//       "required": true,
12131	//       "type": "string"
12132	//     }
12133	//   },
12134	//   "path": "series/membership/get",
12135	//   "response": {
12136	//     "$ref": "Seriesmembership"
12137	//   },
12138	//   "scopes": [
12139	//     "https://www.googleapis.com/auth/books"
12140	//   ]
12141	// }
12142
12143}
12144
12145// method id "books.volumes.get":
12146
12147type VolumesGetCall struct {
12148	s            *Service
12149	volumeId     string
12150	urlParams_   gensupport.URLParams
12151	ifNoneMatch_ string
12152	ctx_         context.Context
12153	header_      http.Header
12154}
12155
12156// Get: Gets volume information for a single volume.
12157func (r *VolumesService) Get(volumeId string) *VolumesGetCall {
12158	c := &VolumesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12159	c.volumeId = volumeId
12160	return c
12161}
12162
12163// Country sets the optional parameter "country": ISO-3166-1 code to
12164// override the IP-based location.
12165func (c *VolumesGetCall) Country(country string) *VolumesGetCall {
12166	c.urlParams_.Set("country", country)
12167	return c
12168}
12169
12170// IncludeNonComicsSeries sets the optional parameter
12171// "includeNonComicsSeries": Set to true to include non-comics series.
12172// Defaults to false.
12173func (c *VolumesGetCall) IncludeNonComicsSeries(includeNonComicsSeries bool) *VolumesGetCall {
12174	c.urlParams_.Set("includeNonComicsSeries", fmt.Sprint(includeNonComicsSeries))
12175	return c
12176}
12177
12178// Partner sets the optional parameter "partner": Brand results for
12179// partner ID.
12180func (c *VolumesGetCall) Partner(partner string) *VolumesGetCall {
12181	c.urlParams_.Set("partner", partner)
12182	return c
12183}
12184
12185// Projection sets the optional parameter "projection": Restrict
12186// information returned to a set of selected fields.
12187//
12188// Possible values:
12189//   "full" - Includes all volume data.
12190//   "lite" - Includes a subset of fields in volumeInfo and accessInfo.
12191func (c *VolumesGetCall) Projection(projection string) *VolumesGetCall {
12192	c.urlParams_.Set("projection", projection)
12193	return c
12194}
12195
12196// Source sets the optional parameter "source": String to identify the
12197// originator of this request.
12198func (c *VolumesGetCall) Source(source string) *VolumesGetCall {
12199	c.urlParams_.Set("source", source)
12200	return c
12201}
12202
12203// UserLibraryConsistentRead sets the optional parameter
12204// "user_library_consistent_read":
12205func (c *VolumesGetCall) UserLibraryConsistentRead(userLibraryConsistentRead bool) *VolumesGetCall {
12206	c.urlParams_.Set("user_library_consistent_read", fmt.Sprint(userLibraryConsistentRead))
12207	return c
12208}
12209
12210// Fields allows partial responses to be retrieved. See
12211// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12212// for more information.
12213func (c *VolumesGetCall) Fields(s ...googleapi.Field) *VolumesGetCall {
12214	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12215	return c
12216}
12217
12218// IfNoneMatch sets the optional parameter which makes the operation
12219// fail if the object's ETag matches the given value. This is useful for
12220// getting updates only after the object has changed since the last
12221// request. Use googleapi.IsNotModified to check whether the response
12222// error from Do is the result of In-None-Match.
12223func (c *VolumesGetCall) IfNoneMatch(entityTag string) *VolumesGetCall {
12224	c.ifNoneMatch_ = entityTag
12225	return c
12226}
12227
12228// Context sets the context to be used in this call's Do method. Any
12229// pending HTTP request will be aborted if the provided context is
12230// canceled.
12231func (c *VolumesGetCall) Context(ctx context.Context) *VolumesGetCall {
12232	c.ctx_ = ctx
12233	return c
12234}
12235
12236// Header returns an http.Header that can be modified by the caller to
12237// add HTTP headers to the request.
12238func (c *VolumesGetCall) Header() http.Header {
12239	if c.header_ == nil {
12240		c.header_ = make(http.Header)
12241	}
12242	return c.header_
12243}
12244
12245func (c *VolumesGetCall) doRequest(alt string) (*http.Response, error) {
12246	reqHeaders := make(http.Header)
12247	for k, v := range c.header_ {
12248		reqHeaders[k] = v
12249	}
12250	reqHeaders.Set("User-Agent", c.s.userAgent())
12251	if c.ifNoneMatch_ != "" {
12252		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12253	}
12254	var body io.Reader = nil
12255	c.urlParams_.Set("alt", alt)
12256	c.urlParams_.Set("prettyPrint", "false")
12257	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}")
12258	urls += "?" + c.urlParams_.Encode()
12259	req, err := http.NewRequest("GET", urls, body)
12260	if err != nil {
12261		return nil, err
12262	}
12263	req.Header = reqHeaders
12264	googleapi.Expand(req.URL, map[string]string{
12265		"volumeId": c.volumeId,
12266	})
12267	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12268}
12269
12270// Do executes the "books.volumes.get" call.
12271// Exactly one of *Volume or error will be non-nil. Any non-2xx status
12272// code is an error. Response headers are in either
12273// *Volume.ServerResponse.Header or (if a response was returned at all)
12274// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12275// check whether the returned error was because http.StatusNotModified
12276// was returned.
12277func (c *VolumesGetCall) Do(opts ...googleapi.CallOption) (*Volume, error) {
12278	gensupport.SetOptions(c.urlParams_, opts...)
12279	res, err := c.doRequest("json")
12280	if res != nil && res.StatusCode == http.StatusNotModified {
12281		if res.Body != nil {
12282			res.Body.Close()
12283		}
12284		return nil, &googleapi.Error{
12285			Code:   res.StatusCode,
12286			Header: res.Header,
12287		}
12288	}
12289	if err != nil {
12290		return nil, err
12291	}
12292	defer googleapi.CloseBody(res)
12293	if err := googleapi.CheckResponse(res); err != nil {
12294		return nil, err
12295	}
12296	ret := &Volume{
12297		ServerResponse: googleapi.ServerResponse{
12298			Header:         res.Header,
12299			HTTPStatusCode: res.StatusCode,
12300		},
12301	}
12302	target := &ret
12303	if err := gensupport.DecodeResponse(target, res); err != nil {
12304		return nil, err
12305	}
12306	return ret, nil
12307	// {
12308	//   "description": "Gets volume information for a single volume.",
12309	//   "httpMethod": "GET",
12310	//   "id": "books.volumes.get",
12311	//   "parameterOrder": [
12312	//     "volumeId"
12313	//   ],
12314	//   "parameters": {
12315	//     "country": {
12316	//       "description": "ISO-3166-1 code to override the IP-based location.",
12317	//       "location": "query",
12318	//       "type": "string"
12319	//     },
12320	//     "includeNonComicsSeries": {
12321	//       "description": "Set to true to include non-comics series. Defaults to false.",
12322	//       "location": "query",
12323	//       "type": "boolean"
12324	//     },
12325	//     "partner": {
12326	//       "description": "Brand results for partner ID.",
12327	//       "location": "query",
12328	//       "type": "string"
12329	//     },
12330	//     "projection": {
12331	//       "description": "Restrict information returned to a set of selected fields.",
12332	//       "enum": [
12333	//         "full",
12334	//         "lite"
12335	//       ],
12336	//       "enumDescriptions": [
12337	//         "Includes all volume data.",
12338	//         "Includes a subset of fields in volumeInfo and accessInfo."
12339	//       ],
12340	//       "location": "query",
12341	//       "type": "string"
12342	//     },
12343	//     "source": {
12344	//       "description": "String to identify the originator of this request.",
12345	//       "location": "query",
12346	//       "type": "string"
12347	//     },
12348	//     "user_library_consistent_read": {
12349	//       "location": "query",
12350	//       "type": "boolean"
12351	//     },
12352	//     "volumeId": {
12353	//       "description": "ID of volume to retrieve.",
12354	//       "location": "path",
12355	//       "required": true,
12356	//       "type": "string"
12357	//     }
12358	//   },
12359	//   "path": "volumes/{volumeId}",
12360	//   "response": {
12361	//     "$ref": "Volume"
12362	//   },
12363	//   "scopes": [
12364	//     "https://www.googleapis.com/auth/books"
12365	//   ]
12366	// }
12367
12368}
12369
12370// method id "books.volumes.list":
12371
12372type VolumesListCall struct {
12373	s            *Service
12374	urlParams_   gensupport.URLParams
12375	ifNoneMatch_ string
12376	ctx_         context.Context
12377	header_      http.Header
12378}
12379
12380// List: Performs a book search.
12381func (r *VolumesService) List(q string) *VolumesListCall {
12382	c := &VolumesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12383	c.urlParams_.Set("q", q)
12384	return c
12385}
12386
12387// Download sets the optional parameter "download": Restrict to volumes
12388// by download availability.
12389//
12390// Possible values:
12391//   "epub" - All volumes with epub.
12392func (c *VolumesListCall) Download(download string) *VolumesListCall {
12393	c.urlParams_.Set("download", download)
12394	return c
12395}
12396
12397// Filter sets the optional parameter "filter": Filter search results.
12398//
12399// Possible values:
12400//   "ebooks" - All Google eBooks.
12401//   "free-ebooks" - Google eBook with full volume text viewability.
12402//   "full" - Public can view entire volume text.
12403//   "paid-ebooks" - Google eBook with a price.
12404//   "partial" - Public able to see parts of text.
12405func (c *VolumesListCall) Filter(filter string) *VolumesListCall {
12406	c.urlParams_.Set("filter", filter)
12407	return c
12408}
12409
12410// LangRestrict sets the optional parameter "langRestrict": Restrict
12411// results to books with this language code.
12412func (c *VolumesListCall) LangRestrict(langRestrict string) *VolumesListCall {
12413	c.urlParams_.Set("langRestrict", langRestrict)
12414	return c
12415}
12416
12417// LibraryRestrict sets the optional parameter "libraryRestrict":
12418// Restrict search to this user's library.
12419//
12420// Possible values:
12421//   "my-library" - Restrict to the user's library, any shelf.
12422//   "no-restrict" - Do not restrict based on user's library.
12423func (c *VolumesListCall) LibraryRestrict(libraryRestrict string) *VolumesListCall {
12424	c.urlParams_.Set("libraryRestrict", libraryRestrict)
12425	return c
12426}
12427
12428// MaxAllowedMaturityRating sets the optional parameter
12429// "maxAllowedMaturityRating": The maximum allowed maturity rating of
12430// returned recommendations. Books with a higher maturity rating are
12431// filtered out.
12432//
12433// Possible values:
12434//   "mature" - Show books which are rated mature or lower.
12435//   "not-mature" - Show books which are rated not mature.
12436func (c *VolumesListCall) MaxAllowedMaturityRating(maxAllowedMaturityRating string) *VolumesListCall {
12437	c.urlParams_.Set("maxAllowedMaturityRating", maxAllowedMaturityRating)
12438	return c
12439}
12440
12441// MaxResults sets the optional parameter "maxResults": Maximum number
12442// of results to return.
12443func (c *VolumesListCall) MaxResults(maxResults int64) *VolumesListCall {
12444	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
12445	return c
12446}
12447
12448// OrderBy sets the optional parameter "orderBy": Sort search results.
12449//
12450// Possible values:
12451//   "newest" - Most recently published.
12452//   "relevance" - Relevance to search terms.
12453func (c *VolumesListCall) OrderBy(orderBy string) *VolumesListCall {
12454	c.urlParams_.Set("orderBy", orderBy)
12455	return c
12456}
12457
12458// Partner sets the optional parameter "partner": Restrict and brand
12459// results for partner ID.
12460func (c *VolumesListCall) Partner(partner string) *VolumesListCall {
12461	c.urlParams_.Set("partner", partner)
12462	return c
12463}
12464
12465// PrintType sets the optional parameter "printType": Restrict to books
12466// or magazines.
12467//
12468// Possible values:
12469//   "all" - All volume content types.
12470//   "books" - Just books.
12471//   "magazines" - Just magazines.
12472func (c *VolumesListCall) PrintType(printType string) *VolumesListCall {
12473	c.urlParams_.Set("printType", printType)
12474	return c
12475}
12476
12477// Projection sets the optional parameter "projection": Restrict
12478// information returned to a set of selected fields.
12479//
12480// Possible values:
12481//   "full" - Includes all volume data.
12482//   "lite" - Includes a subset of fields in volumeInfo and accessInfo.
12483func (c *VolumesListCall) Projection(projection string) *VolumesListCall {
12484	c.urlParams_.Set("projection", projection)
12485	return c
12486}
12487
12488// ShowPreorders sets the optional parameter "showPreorders": Set to
12489// true to show books available for preorder. Defaults to false.
12490func (c *VolumesListCall) ShowPreorders(showPreorders bool) *VolumesListCall {
12491	c.urlParams_.Set("showPreorders", fmt.Sprint(showPreorders))
12492	return c
12493}
12494
12495// Source sets the optional parameter "source": String to identify the
12496// originator of this request.
12497func (c *VolumesListCall) Source(source string) *VolumesListCall {
12498	c.urlParams_.Set("source", source)
12499	return c
12500}
12501
12502// StartIndex sets the optional parameter "startIndex": Index of the
12503// first result to return (starts at 0)
12504func (c *VolumesListCall) StartIndex(startIndex int64) *VolumesListCall {
12505	c.urlParams_.Set("startIndex", fmt.Sprint(startIndex))
12506	return c
12507}
12508
12509// Fields allows partial responses to be retrieved. See
12510// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12511// for more information.
12512func (c *VolumesListCall) Fields(s ...googleapi.Field) *VolumesListCall {
12513	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12514	return c
12515}
12516
12517// IfNoneMatch sets the optional parameter which makes the operation
12518// fail if the object's ETag matches the given value. This is useful for
12519// getting updates only after the object has changed since the last
12520// request. Use googleapi.IsNotModified to check whether the response
12521// error from Do is the result of In-None-Match.
12522func (c *VolumesListCall) IfNoneMatch(entityTag string) *VolumesListCall {
12523	c.ifNoneMatch_ = entityTag
12524	return c
12525}
12526
12527// Context sets the context to be used in this call's Do method. Any
12528// pending HTTP request will be aborted if the provided context is
12529// canceled.
12530func (c *VolumesListCall) Context(ctx context.Context) *VolumesListCall {
12531	c.ctx_ = ctx
12532	return c
12533}
12534
12535// Header returns an http.Header that can be modified by the caller to
12536// add HTTP headers to the request.
12537func (c *VolumesListCall) Header() http.Header {
12538	if c.header_ == nil {
12539		c.header_ = make(http.Header)
12540	}
12541	return c.header_
12542}
12543
12544func (c *VolumesListCall) doRequest(alt string) (*http.Response, error) {
12545	reqHeaders := make(http.Header)
12546	for k, v := range c.header_ {
12547		reqHeaders[k] = v
12548	}
12549	reqHeaders.Set("User-Agent", c.s.userAgent())
12550	if c.ifNoneMatch_ != "" {
12551		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12552	}
12553	var body io.Reader = nil
12554	c.urlParams_.Set("alt", alt)
12555	c.urlParams_.Set("prettyPrint", "false")
12556	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes")
12557	urls += "?" + c.urlParams_.Encode()
12558	req, err := http.NewRequest("GET", urls, body)
12559	if err != nil {
12560		return nil, err
12561	}
12562	req.Header = reqHeaders
12563	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12564}
12565
12566// Do executes the "books.volumes.list" call.
12567// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
12568// code is an error. Response headers are in either
12569// *Volumes.ServerResponse.Header or (if a response was returned at all)
12570// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12571// check whether the returned error was because http.StatusNotModified
12572// was returned.
12573func (c *VolumesListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
12574	gensupport.SetOptions(c.urlParams_, opts...)
12575	res, err := c.doRequest("json")
12576	if res != nil && res.StatusCode == http.StatusNotModified {
12577		if res.Body != nil {
12578			res.Body.Close()
12579		}
12580		return nil, &googleapi.Error{
12581			Code:   res.StatusCode,
12582			Header: res.Header,
12583		}
12584	}
12585	if err != nil {
12586		return nil, err
12587	}
12588	defer googleapi.CloseBody(res)
12589	if err := googleapi.CheckResponse(res); err != nil {
12590		return nil, err
12591	}
12592	ret := &Volumes{
12593		ServerResponse: googleapi.ServerResponse{
12594			Header:         res.Header,
12595			HTTPStatusCode: res.StatusCode,
12596		},
12597	}
12598	target := &ret
12599	if err := gensupport.DecodeResponse(target, res); err != nil {
12600		return nil, err
12601	}
12602	return ret, nil
12603	// {
12604	//   "description": "Performs a book search.",
12605	//   "httpMethod": "GET",
12606	//   "id": "books.volumes.list",
12607	//   "parameterOrder": [
12608	//     "q"
12609	//   ],
12610	//   "parameters": {
12611	//     "download": {
12612	//       "description": "Restrict to volumes by download availability.",
12613	//       "enum": [
12614	//         "epub"
12615	//       ],
12616	//       "enumDescriptions": [
12617	//         "All volumes with epub."
12618	//       ],
12619	//       "location": "query",
12620	//       "type": "string"
12621	//     },
12622	//     "filter": {
12623	//       "description": "Filter search results.",
12624	//       "enum": [
12625	//         "ebooks",
12626	//         "free-ebooks",
12627	//         "full",
12628	//         "paid-ebooks",
12629	//         "partial"
12630	//       ],
12631	//       "enumDescriptions": [
12632	//         "All Google eBooks.",
12633	//         "Google eBook with full volume text viewability.",
12634	//         "Public can view entire volume text.",
12635	//         "Google eBook with a price.",
12636	//         "Public able to see parts of text."
12637	//       ],
12638	//       "location": "query",
12639	//       "type": "string"
12640	//     },
12641	//     "langRestrict": {
12642	//       "description": "Restrict results to books with this language code.",
12643	//       "location": "query",
12644	//       "type": "string"
12645	//     },
12646	//     "libraryRestrict": {
12647	//       "description": "Restrict search to this user's library.",
12648	//       "enum": [
12649	//         "my-library",
12650	//         "no-restrict"
12651	//       ],
12652	//       "enumDescriptions": [
12653	//         "Restrict to the user's library, any shelf.",
12654	//         "Do not restrict based on user's library."
12655	//       ],
12656	//       "location": "query",
12657	//       "type": "string"
12658	//     },
12659	//     "maxAllowedMaturityRating": {
12660	//       "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.",
12661	//       "enum": [
12662	//         "mature",
12663	//         "not-mature"
12664	//       ],
12665	//       "enumDescriptions": [
12666	//         "Show books which are rated mature or lower.",
12667	//         "Show books which are rated not mature."
12668	//       ],
12669	//       "location": "query",
12670	//       "type": "string"
12671	//     },
12672	//     "maxResults": {
12673	//       "description": "Maximum number of results to return.",
12674	//       "format": "uint32",
12675	//       "location": "query",
12676	//       "maximum": "40",
12677	//       "minimum": "0",
12678	//       "type": "integer"
12679	//     },
12680	//     "orderBy": {
12681	//       "description": "Sort search results.",
12682	//       "enum": [
12683	//         "newest",
12684	//         "relevance"
12685	//       ],
12686	//       "enumDescriptions": [
12687	//         "Most recently published.",
12688	//         "Relevance to search terms."
12689	//       ],
12690	//       "location": "query",
12691	//       "type": "string"
12692	//     },
12693	//     "partner": {
12694	//       "description": "Restrict and brand results for partner ID.",
12695	//       "location": "query",
12696	//       "type": "string"
12697	//     },
12698	//     "printType": {
12699	//       "description": "Restrict to books or magazines.",
12700	//       "enum": [
12701	//         "all",
12702	//         "books",
12703	//         "magazines"
12704	//       ],
12705	//       "enumDescriptions": [
12706	//         "All volume content types.",
12707	//         "Just books.",
12708	//         "Just magazines."
12709	//       ],
12710	//       "location": "query",
12711	//       "type": "string"
12712	//     },
12713	//     "projection": {
12714	//       "description": "Restrict information returned to a set of selected fields.",
12715	//       "enum": [
12716	//         "full",
12717	//         "lite"
12718	//       ],
12719	//       "enumDescriptions": [
12720	//         "Includes all volume data.",
12721	//         "Includes a subset of fields in volumeInfo and accessInfo."
12722	//       ],
12723	//       "location": "query",
12724	//       "type": "string"
12725	//     },
12726	//     "q": {
12727	//       "description": "Full-text search query string.",
12728	//       "location": "query",
12729	//       "required": true,
12730	//       "type": "string"
12731	//     },
12732	//     "showPreorders": {
12733	//       "description": "Set to true to show books available for preorder. Defaults to false.",
12734	//       "location": "query",
12735	//       "type": "boolean"
12736	//     },
12737	//     "source": {
12738	//       "description": "String to identify the originator of this request.",
12739	//       "location": "query",
12740	//       "type": "string"
12741	//     },
12742	//     "startIndex": {
12743	//       "description": "Index of the first result to return (starts at 0)",
12744	//       "format": "uint32",
12745	//       "location": "query",
12746	//       "minimum": "0",
12747	//       "type": "integer"
12748	//     }
12749	//   },
12750	//   "path": "volumes",
12751	//   "response": {
12752	//     "$ref": "Volumes"
12753	//   },
12754	//   "scopes": [
12755	//     "https://www.googleapis.com/auth/books"
12756	//   ]
12757	// }
12758
12759}
12760
12761// method id "books.volumes.associated.list":
12762
12763type VolumesAssociatedListCall struct {
12764	s            *Service
12765	volumeId     string
12766	urlParams_   gensupport.URLParams
12767	ifNoneMatch_ string
12768	ctx_         context.Context
12769	header_      http.Header
12770}
12771
12772// List: Return a list of associated books.
12773func (r *VolumesAssociatedService) List(volumeId string) *VolumesAssociatedListCall {
12774	c := &VolumesAssociatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12775	c.volumeId = volumeId
12776	return c
12777}
12778
12779// Association sets the optional parameter "association": Association
12780// type.
12781//
12782// Possible values:
12783//   "end-of-sample" - Recommendations for display end-of-sample.
12784//   "end-of-volume" - Recommendations for display end-of-volume.
12785//   "related-for-play" - Related volumes for Play Store.
12786func (c *VolumesAssociatedListCall) Association(association string) *VolumesAssociatedListCall {
12787	c.urlParams_.Set("association", association)
12788	return c
12789}
12790
12791// Locale sets the optional parameter "locale": ISO-639-1 language and
12792// ISO-3166-1 country code. Ex: 'en_US'. Used for generating
12793// recommendations.
12794func (c *VolumesAssociatedListCall) Locale(locale string) *VolumesAssociatedListCall {
12795	c.urlParams_.Set("locale", locale)
12796	return c
12797}
12798
12799// MaxAllowedMaturityRating sets the optional parameter
12800// "maxAllowedMaturityRating": The maximum allowed maturity rating of
12801// returned recommendations. Books with a higher maturity rating are
12802// filtered out.
12803//
12804// Possible values:
12805//   "mature" - Show books which are rated mature or lower.
12806//   "not-mature" - Show books which are rated not mature.
12807func (c *VolumesAssociatedListCall) MaxAllowedMaturityRating(maxAllowedMaturityRating string) *VolumesAssociatedListCall {
12808	c.urlParams_.Set("maxAllowedMaturityRating", maxAllowedMaturityRating)
12809	return c
12810}
12811
12812// Source sets the optional parameter "source": String to identify the
12813// originator of this request.
12814func (c *VolumesAssociatedListCall) Source(source string) *VolumesAssociatedListCall {
12815	c.urlParams_.Set("source", source)
12816	return c
12817}
12818
12819// Fields allows partial responses to be retrieved. See
12820// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12821// for more information.
12822func (c *VolumesAssociatedListCall) Fields(s ...googleapi.Field) *VolumesAssociatedListCall {
12823	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12824	return c
12825}
12826
12827// IfNoneMatch sets the optional parameter which makes the operation
12828// fail if the object's ETag matches the given value. This is useful for
12829// getting updates only after the object has changed since the last
12830// request. Use googleapi.IsNotModified to check whether the response
12831// error from Do is the result of In-None-Match.
12832func (c *VolumesAssociatedListCall) IfNoneMatch(entityTag string) *VolumesAssociatedListCall {
12833	c.ifNoneMatch_ = entityTag
12834	return c
12835}
12836
12837// Context sets the context to be used in this call's Do method. Any
12838// pending HTTP request will be aborted if the provided context is
12839// canceled.
12840func (c *VolumesAssociatedListCall) Context(ctx context.Context) *VolumesAssociatedListCall {
12841	c.ctx_ = ctx
12842	return c
12843}
12844
12845// Header returns an http.Header that can be modified by the caller to
12846// add HTTP headers to the request.
12847func (c *VolumesAssociatedListCall) Header() http.Header {
12848	if c.header_ == nil {
12849		c.header_ = make(http.Header)
12850	}
12851	return c.header_
12852}
12853
12854func (c *VolumesAssociatedListCall) doRequest(alt string) (*http.Response, error) {
12855	reqHeaders := make(http.Header)
12856	for k, v := range c.header_ {
12857		reqHeaders[k] = v
12858	}
12859	reqHeaders.Set("User-Agent", c.s.userAgent())
12860	if c.ifNoneMatch_ != "" {
12861		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12862	}
12863	var body io.Reader = nil
12864	c.urlParams_.Set("alt", alt)
12865	c.urlParams_.Set("prettyPrint", "false")
12866	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/{volumeId}/associated")
12867	urls += "?" + c.urlParams_.Encode()
12868	req, err := http.NewRequest("GET", urls, body)
12869	if err != nil {
12870		return nil, err
12871	}
12872	req.Header = reqHeaders
12873	googleapi.Expand(req.URL, map[string]string{
12874		"volumeId": c.volumeId,
12875	})
12876	return gensupport.SendRequest(c.ctx_, c.s.client, req)
12877}
12878
12879// Do executes the "books.volumes.associated.list" call.
12880// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
12881// code is an error. Response headers are in either
12882// *Volumes.ServerResponse.Header or (if a response was returned at all)
12883// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
12884// check whether the returned error was because http.StatusNotModified
12885// was returned.
12886func (c *VolumesAssociatedListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
12887	gensupport.SetOptions(c.urlParams_, opts...)
12888	res, err := c.doRequest("json")
12889	if res != nil && res.StatusCode == http.StatusNotModified {
12890		if res.Body != nil {
12891			res.Body.Close()
12892		}
12893		return nil, &googleapi.Error{
12894			Code:   res.StatusCode,
12895			Header: res.Header,
12896		}
12897	}
12898	if err != nil {
12899		return nil, err
12900	}
12901	defer googleapi.CloseBody(res)
12902	if err := googleapi.CheckResponse(res); err != nil {
12903		return nil, err
12904	}
12905	ret := &Volumes{
12906		ServerResponse: googleapi.ServerResponse{
12907			Header:         res.Header,
12908			HTTPStatusCode: res.StatusCode,
12909		},
12910	}
12911	target := &ret
12912	if err := gensupport.DecodeResponse(target, res); err != nil {
12913		return nil, err
12914	}
12915	return ret, nil
12916	// {
12917	//   "description": "Return a list of associated books.",
12918	//   "httpMethod": "GET",
12919	//   "id": "books.volumes.associated.list",
12920	//   "parameterOrder": [
12921	//     "volumeId"
12922	//   ],
12923	//   "parameters": {
12924	//     "association": {
12925	//       "description": "Association type.",
12926	//       "enum": [
12927	//         "end-of-sample",
12928	//         "end-of-volume",
12929	//         "related-for-play"
12930	//       ],
12931	//       "enumDescriptions": [
12932	//         "Recommendations for display end-of-sample.",
12933	//         "Recommendations for display end-of-volume.",
12934	//         "Related volumes for Play Store."
12935	//       ],
12936	//       "location": "query",
12937	//       "type": "string"
12938	//     },
12939	//     "locale": {
12940	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.",
12941	//       "location": "query",
12942	//       "type": "string"
12943	//     },
12944	//     "maxAllowedMaturityRating": {
12945	//       "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.",
12946	//       "enum": [
12947	//         "mature",
12948	//         "not-mature"
12949	//       ],
12950	//       "enumDescriptions": [
12951	//         "Show books which are rated mature or lower.",
12952	//         "Show books which are rated not mature."
12953	//       ],
12954	//       "location": "query",
12955	//       "type": "string"
12956	//     },
12957	//     "source": {
12958	//       "description": "String to identify the originator of this request.",
12959	//       "location": "query",
12960	//       "type": "string"
12961	//     },
12962	//     "volumeId": {
12963	//       "description": "ID of the source volume.",
12964	//       "location": "path",
12965	//       "required": true,
12966	//       "type": "string"
12967	//     }
12968	//   },
12969	//   "path": "volumes/{volumeId}/associated",
12970	//   "response": {
12971	//     "$ref": "Volumes"
12972	//   },
12973	//   "scopes": [
12974	//     "https://www.googleapis.com/auth/books"
12975	//   ]
12976	// }
12977
12978}
12979
12980// method id "books.volumes.mybooks.list":
12981
12982type VolumesMybooksListCall struct {
12983	s            *Service
12984	urlParams_   gensupport.URLParams
12985	ifNoneMatch_ string
12986	ctx_         context.Context
12987	header_      http.Header
12988}
12989
12990// List: Return a list of books in My Library.
12991func (r *VolumesMybooksService) List() *VolumesMybooksListCall {
12992	c := &VolumesMybooksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12993	return c
12994}
12995
12996// AcquireMethod sets the optional parameter "acquireMethod": How the
12997// book was acquired
12998//
12999// Possible values:
13000//   "FAMILY_SHARED" - Books acquired via Family Sharing
13001//   "PREORDERED" - Preordered books (not yet available)
13002//   "PREVIOUSLY_RENTED" - User-rented books past their expiration time
13003//   "PUBLIC_DOMAIN" - Public domain books
13004//   "PURCHASED" - Purchased books
13005//   "RENTED" - User-rented books
13006//   "SAMPLE" - Sample books
13007//   "UPLOADED" - User uploaded books
13008func (c *VolumesMybooksListCall) AcquireMethod(acquireMethod ...string) *VolumesMybooksListCall {
13009	c.urlParams_.SetMulti("acquireMethod", append([]string{}, acquireMethod...))
13010	return c
13011}
13012
13013// Country sets the optional parameter "country": ISO-3166-1 code to
13014// override the IP-based location.
13015func (c *VolumesMybooksListCall) Country(country string) *VolumesMybooksListCall {
13016	c.urlParams_.Set("country", country)
13017	return c
13018}
13019
13020// Locale sets the optional parameter "locale": ISO-639-1 language and
13021// ISO-3166-1 country code. Ex:'en_US'. Used for generating
13022// recommendations.
13023func (c *VolumesMybooksListCall) Locale(locale string) *VolumesMybooksListCall {
13024	c.urlParams_.Set("locale", locale)
13025	return c
13026}
13027
13028// MaxResults sets the optional parameter "maxResults": Maximum number
13029// of results to return.
13030func (c *VolumesMybooksListCall) MaxResults(maxResults int64) *VolumesMybooksListCall {
13031	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
13032	return c
13033}
13034
13035// ProcessingState sets the optional parameter "processingState": The
13036// processing state of the user uploaded volumes to be returned.
13037// Applicable only if the UPLOADED is specified in the acquireMethod.
13038//
13039// Possible values:
13040//   "COMPLETED_FAILED" - The volume processing hase failed.
13041//   "COMPLETED_SUCCESS" - The volume processing was completed.
13042//   "RUNNING" - The volume processing is not completed.
13043func (c *VolumesMybooksListCall) ProcessingState(processingState ...string) *VolumesMybooksListCall {
13044	c.urlParams_.SetMulti("processingState", append([]string{}, processingState...))
13045	return c
13046}
13047
13048// Source sets the optional parameter "source": String to identify the
13049// originator of this request.
13050func (c *VolumesMybooksListCall) Source(source string) *VolumesMybooksListCall {
13051	c.urlParams_.Set("source", source)
13052	return c
13053}
13054
13055// StartIndex sets the optional parameter "startIndex": Index of the
13056// first result to return (starts at 0)
13057func (c *VolumesMybooksListCall) StartIndex(startIndex int64) *VolumesMybooksListCall {
13058	c.urlParams_.Set("startIndex", fmt.Sprint(startIndex))
13059	return c
13060}
13061
13062// Fields allows partial responses to be retrieved. See
13063// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13064// for more information.
13065func (c *VolumesMybooksListCall) Fields(s ...googleapi.Field) *VolumesMybooksListCall {
13066	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13067	return c
13068}
13069
13070// IfNoneMatch sets the optional parameter which makes the operation
13071// fail if the object's ETag matches the given value. This is useful for
13072// getting updates only after the object has changed since the last
13073// request. Use googleapi.IsNotModified to check whether the response
13074// error from Do is the result of In-None-Match.
13075func (c *VolumesMybooksListCall) IfNoneMatch(entityTag string) *VolumesMybooksListCall {
13076	c.ifNoneMatch_ = entityTag
13077	return c
13078}
13079
13080// Context sets the context to be used in this call's Do method. Any
13081// pending HTTP request will be aborted if the provided context is
13082// canceled.
13083func (c *VolumesMybooksListCall) Context(ctx context.Context) *VolumesMybooksListCall {
13084	c.ctx_ = ctx
13085	return c
13086}
13087
13088// Header returns an http.Header that can be modified by the caller to
13089// add HTTP headers to the request.
13090func (c *VolumesMybooksListCall) Header() http.Header {
13091	if c.header_ == nil {
13092		c.header_ = make(http.Header)
13093	}
13094	return c.header_
13095}
13096
13097func (c *VolumesMybooksListCall) doRequest(alt string) (*http.Response, error) {
13098	reqHeaders := make(http.Header)
13099	for k, v := range c.header_ {
13100		reqHeaders[k] = v
13101	}
13102	reqHeaders.Set("User-Agent", c.s.userAgent())
13103	if c.ifNoneMatch_ != "" {
13104		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13105	}
13106	var body io.Reader = nil
13107	c.urlParams_.Set("alt", alt)
13108	c.urlParams_.Set("prettyPrint", "false")
13109	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/mybooks")
13110	urls += "?" + c.urlParams_.Encode()
13111	req, err := http.NewRequest("GET", urls, body)
13112	if err != nil {
13113		return nil, err
13114	}
13115	req.Header = reqHeaders
13116	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13117}
13118
13119// Do executes the "books.volumes.mybooks.list" call.
13120// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
13121// code is an error. Response headers are in either
13122// *Volumes.ServerResponse.Header or (if a response was returned at all)
13123// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13124// check whether the returned error was because http.StatusNotModified
13125// was returned.
13126func (c *VolumesMybooksListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
13127	gensupport.SetOptions(c.urlParams_, opts...)
13128	res, err := c.doRequest("json")
13129	if res != nil && res.StatusCode == http.StatusNotModified {
13130		if res.Body != nil {
13131			res.Body.Close()
13132		}
13133		return nil, &googleapi.Error{
13134			Code:   res.StatusCode,
13135			Header: res.Header,
13136		}
13137	}
13138	if err != nil {
13139		return nil, err
13140	}
13141	defer googleapi.CloseBody(res)
13142	if err := googleapi.CheckResponse(res); err != nil {
13143		return nil, err
13144	}
13145	ret := &Volumes{
13146		ServerResponse: googleapi.ServerResponse{
13147			Header:         res.Header,
13148			HTTPStatusCode: res.StatusCode,
13149		},
13150	}
13151	target := &ret
13152	if err := gensupport.DecodeResponse(target, res); err != nil {
13153		return nil, err
13154	}
13155	return ret, nil
13156	// {
13157	//   "description": "Return a list of books in My Library.",
13158	//   "httpMethod": "GET",
13159	//   "id": "books.volumes.mybooks.list",
13160	//   "parameters": {
13161	//     "acquireMethod": {
13162	//       "description": "How the book was acquired",
13163	//       "enum": [
13164	//         "FAMILY_SHARED",
13165	//         "PREORDERED",
13166	//         "PREVIOUSLY_RENTED",
13167	//         "PUBLIC_DOMAIN",
13168	//         "PURCHASED",
13169	//         "RENTED",
13170	//         "SAMPLE",
13171	//         "UPLOADED"
13172	//       ],
13173	//       "enumDescriptions": [
13174	//         "Books acquired via Family Sharing",
13175	//         "Preordered books (not yet available)",
13176	//         "User-rented books past their expiration time",
13177	//         "Public domain books",
13178	//         "Purchased books",
13179	//         "User-rented books",
13180	//         "Sample books",
13181	//         "User uploaded books"
13182	//       ],
13183	//       "location": "query",
13184	//       "repeated": true,
13185	//       "type": "string"
13186	//     },
13187	//     "country": {
13188	//       "description": "ISO-3166-1 code to override the IP-based location.",
13189	//       "location": "query",
13190	//       "type": "string"
13191	//     },
13192	//     "locale": {
13193	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for generating recommendations.",
13194	//       "location": "query",
13195	//       "type": "string"
13196	//     },
13197	//     "maxResults": {
13198	//       "description": "Maximum number of results to return.",
13199	//       "format": "uint32",
13200	//       "location": "query",
13201	//       "maximum": "100",
13202	//       "minimum": "0",
13203	//       "type": "integer"
13204	//     },
13205	//     "processingState": {
13206	//       "description": "The processing state of the user uploaded volumes to be returned. Applicable only if the UPLOADED is specified in the acquireMethod.",
13207	//       "enum": [
13208	//         "COMPLETED_FAILED",
13209	//         "COMPLETED_SUCCESS",
13210	//         "RUNNING"
13211	//       ],
13212	//       "enumDescriptions": [
13213	//         "The volume processing hase failed.",
13214	//         "The volume processing was completed.",
13215	//         "The volume processing is not completed."
13216	//       ],
13217	//       "location": "query",
13218	//       "repeated": true,
13219	//       "type": "string"
13220	//     },
13221	//     "source": {
13222	//       "description": "String to identify the originator of this request.",
13223	//       "location": "query",
13224	//       "type": "string"
13225	//     },
13226	//     "startIndex": {
13227	//       "description": "Index of the first result to return (starts at 0)",
13228	//       "format": "uint32",
13229	//       "location": "query",
13230	//       "minimum": "0",
13231	//       "type": "integer"
13232	//     }
13233	//   },
13234	//   "path": "volumes/mybooks",
13235	//   "response": {
13236	//     "$ref": "Volumes"
13237	//   },
13238	//   "scopes": [
13239	//     "https://www.googleapis.com/auth/books"
13240	//   ]
13241	// }
13242
13243}
13244
13245// method id "books.volumes.recommended.list":
13246
13247type VolumesRecommendedListCall struct {
13248	s            *Service
13249	urlParams_   gensupport.URLParams
13250	ifNoneMatch_ string
13251	ctx_         context.Context
13252	header_      http.Header
13253}
13254
13255// List: Return a list of recommended books for the current user.
13256func (r *VolumesRecommendedService) List() *VolumesRecommendedListCall {
13257	c := &VolumesRecommendedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13258	return c
13259}
13260
13261// Locale sets the optional parameter "locale": ISO-639-1 language and
13262// ISO-3166-1 country code. Ex: 'en_US'. Used for generating
13263// recommendations.
13264func (c *VolumesRecommendedListCall) Locale(locale string) *VolumesRecommendedListCall {
13265	c.urlParams_.Set("locale", locale)
13266	return c
13267}
13268
13269// MaxAllowedMaturityRating sets the optional parameter
13270// "maxAllowedMaturityRating": The maximum allowed maturity rating of
13271// returned recommendations. Books with a higher maturity rating are
13272// filtered out.
13273//
13274// Possible values:
13275//   "mature" - Show books which are rated mature or lower.
13276//   "not-mature" - Show books which are rated not mature.
13277func (c *VolumesRecommendedListCall) MaxAllowedMaturityRating(maxAllowedMaturityRating string) *VolumesRecommendedListCall {
13278	c.urlParams_.Set("maxAllowedMaturityRating", maxAllowedMaturityRating)
13279	return c
13280}
13281
13282// Source sets the optional parameter "source": String to identify the
13283// originator of this request.
13284func (c *VolumesRecommendedListCall) Source(source string) *VolumesRecommendedListCall {
13285	c.urlParams_.Set("source", source)
13286	return c
13287}
13288
13289// Fields allows partial responses to be retrieved. See
13290// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13291// for more information.
13292func (c *VolumesRecommendedListCall) Fields(s ...googleapi.Field) *VolumesRecommendedListCall {
13293	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13294	return c
13295}
13296
13297// IfNoneMatch sets the optional parameter which makes the operation
13298// fail if the object's ETag matches the given value. This is useful for
13299// getting updates only after the object has changed since the last
13300// request. Use googleapi.IsNotModified to check whether the response
13301// error from Do is the result of In-None-Match.
13302func (c *VolumesRecommendedListCall) IfNoneMatch(entityTag string) *VolumesRecommendedListCall {
13303	c.ifNoneMatch_ = entityTag
13304	return c
13305}
13306
13307// Context sets the context to be used in this call's Do method. Any
13308// pending HTTP request will be aborted if the provided context is
13309// canceled.
13310func (c *VolumesRecommendedListCall) Context(ctx context.Context) *VolumesRecommendedListCall {
13311	c.ctx_ = ctx
13312	return c
13313}
13314
13315// Header returns an http.Header that can be modified by the caller to
13316// add HTTP headers to the request.
13317func (c *VolumesRecommendedListCall) Header() http.Header {
13318	if c.header_ == nil {
13319		c.header_ = make(http.Header)
13320	}
13321	return c.header_
13322}
13323
13324func (c *VolumesRecommendedListCall) doRequest(alt string) (*http.Response, error) {
13325	reqHeaders := make(http.Header)
13326	for k, v := range c.header_ {
13327		reqHeaders[k] = v
13328	}
13329	reqHeaders.Set("User-Agent", c.s.userAgent())
13330	if c.ifNoneMatch_ != "" {
13331		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13332	}
13333	var body io.Reader = nil
13334	c.urlParams_.Set("alt", alt)
13335	c.urlParams_.Set("prettyPrint", "false")
13336	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/recommended")
13337	urls += "?" + c.urlParams_.Encode()
13338	req, err := http.NewRequest("GET", urls, body)
13339	if err != nil {
13340		return nil, err
13341	}
13342	req.Header = reqHeaders
13343	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13344}
13345
13346// Do executes the "books.volumes.recommended.list" call.
13347// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
13348// code is an error. Response headers are in either
13349// *Volumes.ServerResponse.Header or (if a response was returned at all)
13350// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13351// check whether the returned error was because http.StatusNotModified
13352// was returned.
13353func (c *VolumesRecommendedListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
13354	gensupport.SetOptions(c.urlParams_, opts...)
13355	res, err := c.doRequest("json")
13356	if res != nil && res.StatusCode == http.StatusNotModified {
13357		if res.Body != nil {
13358			res.Body.Close()
13359		}
13360		return nil, &googleapi.Error{
13361			Code:   res.StatusCode,
13362			Header: res.Header,
13363		}
13364	}
13365	if err != nil {
13366		return nil, err
13367	}
13368	defer googleapi.CloseBody(res)
13369	if err := googleapi.CheckResponse(res); err != nil {
13370		return nil, err
13371	}
13372	ret := &Volumes{
13373		ServerResponse: googleapi.ServerResponse{
13374			Header:         res.Header,
13375			HTTPStatusCode: res.StatusCode,
13376		},
13377	}
13378	target := &ret
13379	if err := gensupport.DecodeResponse(target, res); err != nil {
13380		return nil, err
13381	}
13382	return ret, nil
13383	// {
13384	//   "description": "Return a list of recommended books for the current user.",
13385	//   "httpMethod": "GET",
13386	//   "id": "books.volumes.recommended.list",
13387	//   "parameters": {
13388	//     "locale": {
13389	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.",
13390	//       "location": "query",
13391	//       "type": "string"
13392	//     },
13393	//     "maxAllowedMaturityRating": {
13394	//       "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.",
13395	//       "enum": [
13396	//         "mature",
13397	//         "not-mature"
13398	//       ],
13399	//       "enumDescriptions": [
13400	//         "Show books which are rated mature or lower.",
13401	//         "Show books which are rated not mature."
13402	//       ],
13403	//       "location": "query",
13404	//       "type": "string"
13405	//     },
13406	//     "source": {
13407	//       "description": "String to identify the originator of this request.",
13408	//       "location": "query",
13409	//       "type": "string"
13410	//     }
13411	//   },
13412	//   "path": "volumes/recommended",
13413	//   "response": {
13414	//     "$ref": "Volumes"
13415	//   },
13416	//   "scopes": [
13417	//     "https://www.googleapis.com/auth/books"
13418	//   ]
13419	// }
13420
13421}
13422
13423// method id "books.volumes.recommended.rate":
13424
13425type VolumesRecommendedRateCall struct {
13426	s          *Service
13427	urlParams_ gensupport.URLParams
13428	ctx_       context.Context
13429	header_    http.Header
13430}
13431
13432// Rate: Rate a recommended book for the current user.
13433func (r *VolumesRecommendedService) Rate(rating string, volumeId string) *VolumesRecommendedRateCall {
13434	c := &VolumesRecommendedRateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13435	c.urlParams_.Set("rating", rating)
13436	c.urlParams_.Set("volumeId", volumeId)
13437	return c
13438}
13439
13440// Locale sets the optional parameter "locale": ISO-639-1 language and
13441// ISO-3166-1 country code. Ex: 'en_US'. Used for generating
13442// recommendations.
13443func (c *VolumesRecommendedRateCall) Locale(locale string) *VolumesRecommendedRateCall {
13444	c.urlParams_.Set("locale", locale)
13445	return c
13446}
13447
13448// Source sets the optional parameter "source": String to identify the
13449// originator of this request.
13450func (c *VolumesRecommendedRateCall) Source(source string) *VolumesRecommendedRateCall {
13451	c.urlParams_.Set("source", source)
13452	return c
13453}
13454
13455// Fields allows partial responses to be retrieved. See
13456// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13457// for more information.
13458func (c *VolumesRecommendedRateCall) Fields(s ...googleapi.Field) *VolumesRecommendedRateCall {
13459	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13460	return c
13461}
13462
13463// Context sets the context to be used in this call's Do method. Any
13464// pending HTTP request will be aborted if the provided context is
13465// canceled.
13466func (c *VolumesRecommendedRateCall) Context(ctx context.Context) *VolumesRecommendedRateCall {
13467	c.ctx_ = ctx
13468	return c
13469}
13470
13471// Header returns an http.Header that can be modified by the caller to
13472// add HTTP headers to the request.
13473func (c *VolumesRecommendedRateCall) Header() http.Header {
13474	if c.header_ == nil {
13475		c.header_ = make(http.Header)
13476	}
13477	return c.header_
13478}
13479
13480func (c *VolumesRecommendedRateCall) doRequest(alt string) (*http.Response, error) {
13481	reqHeaders := make(http.Header)
13482	for k, v := range c.header_ {
13483		reqHeaders[k] = v
13484	}
13485	reqHeaders.Set("User-Agent", c.s.userAgent())
13486	var body io.Reader = nil
13487	c.urlParams_.Set("alt", alt)
13488	c.urlParams_.Set("prettyPrint", "false")
13489	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/recommended/rate")
13490	urls += "?" + c.urlParams_.Encode()
13491	req, err := http.NewRequest("POST", urls, body)
13492	if err != nil {
13493		return nil, err
13494	}
13495	req.Header = reqHeaders
13496	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13497}
13498
13499// Do executes the "books.volumes.recommended.rate" call.
13500// Exactly one of *BooksVolumesRecommendedRateResponse or error will be
13501// non-nil. Any non-2xx status code is an error. Response headers are in
13502// either *BooksVolumesRecommendedRateResponse.ServerResponse.Header or
13503// (if a response was returned at all) in
13504// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
13505// whether the returned error was because http.StatusNotModified was
13506// returned.
13507func (c *VolumesRecommendedRateCall) Do(opts ...googleapi.CallOption) (*BooksVolumesRecommendedRateResponse, error) {
13508	gensupport.SetOptions(c.urlParams_, opts...)
13509	res, err := c.doRequest("json")
13510	if res != nil && res.StatusCode == http.StatusNotModified {
13511		if res.Body != nil {
13512			res.Body.Close()
13513		}
13514		return nil, &googleapi.Error{
13515			Code:   res.StatusCode,
13516			Header: res.Header,
13517		}
13518	}
13519	if err != nil {
13520		return nil, err
13521	}
13522	defer googleapi.CloseBody(res)
13523	if err := googleapi.CheckResponse(res); err != nil {
13524		return nil, err
13525	}
13526	ret := &BooksVolumesRecommendedRateResponse{
13527		ServerResponse: googleapi.ServerResponse{
13528			Header:         res.Header,
13529			HTTPStatusCode: res.StatusCode,
13530		},
13531	}
13532	target := &ret
13533	if err := gensupport.DecodeResponse(target, res); err != nil {
13534		return nil, err
13535	}
13536	return ret, nil
13537	// {
13538	//   "description": "Rate a recommended book for the current user.",
13539	//   "httpMethod": "POST",
13540	//   "id": "books.volumes.recommended.rate",
13541	//   "parameterOrder": [
13542	//     "rating",
13543	//     "volumeId"
13544	//   ],
13545	//   "parameters": {
13546	//     "locale": {
13547	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.",
13548	//       "location": "query",
13549	//       "type": "string"
13550	//     },
13551	//     "rating": {
13552	//       "description": "Rating to be given to the volume.",
13553	//       "enum": [
13554	//         "HAVE_IT",
13555	//         "NOT_INTERESTED"
13556	//       ],
13557	//       "enumDescriptions": [
13558	//         "Rating indicating a dismissal due to ownership.",
13559	//         "Rating indicating a negative dismissal of a volume."
13560	//       ],
13561	//       "location": "query",
13562	//       "required": true,
13563	//       "type": "string"
13564	//     },
13565	//     "source": {
13566	//       "description": "String to identify the originator of this request.",
13567	//       "location": "query",
13568	//       "type": "string"
13569	//     },
13570	//     "volumeId": {
13571	//       "description": "ID of the source volume.",
13572	//       "location": "query",
13573	//       "required": true,
13574	//       "type": "string"
13575	//     }
13576	//   },
13577	//   "path": "volumes/recommended/rate",
13578	//   "response": {
13579	//     "$ref": "BooksVolumesRecommendedRateResponse"
13580	//   },
13581	//   "scopes": [
13582	//     "https://www.googleapis.com/auth/books"
13583	//   ]
13584	// }
13585
13586}
13587
13588// method id "books.volumes.useruploaded.list":
13589
13590type VolumesUseruploadedListCall struct {
13591	s            *Service
13592	urlParams_   gensupport.URLParams
13593	ifNoneMatch_ string
13594	ctx_         context.Context
13595	header_      http.Header
13596}
13597
13598// List: Return a list of books uploaded by the current user.
13599func (r *VolumesUseruploadedService) List() *VolumesUseruploadedListCall {
13600	c := &VolumesUseruploadedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13601	return c
13602}
13603
13604// Locale sets the optional parameter "locale": ISO-639-1 language and
13605// ISO-3166-1 country code. Ex: 'en_US'. Used for generating
13606// recommendations.
13607func (c *VolumesUseruploadedListCall) Locale(locale string) *VolumesUseruploadedListCall {
13608	c.urlParams_.Set("locale", locale)
13609	return c
13610}
13611
13612// MaxResults sets the optional parameter "maxResults": Maximum number
13613// of results to return.
13614func (c *VolumesUseruploadedListCall) MaxResults(maxResults int64) *VolumesUseruploadedListCall {
13615	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
13616	return c
13617}
13618
13619// ProcessingState sets the optional parameter "processingState": The
13620// processing state of the user uploaded volumes to be returned.
13621//
13622// Possible values:
13623//   "COMPLETED_FAILED" - The volume processing hase failed.
13624//   "COMPLETED_SUCCESS" - The volume processing was completed.
13625//   "RUNNING" - The volume processing is not completed.
13626func (c *VolumesUseruploadedListCall) ProcessingState(processingState ...string) *VolumesUseruploadedListCall {
13627	c.urlParams_.SetMulti("processingState", append([]string{}, processingState...))
13628	return c
13629}
13630
13631// Source sets the optional parameter "source": String to identify the
13632// originator of this request.
13633func (c *VolumesUseruploadedListCall) Source(source string) *VolumesUseruploadedListCall {
13634	c.urlParams_.Set("source", source)
13635	return c
13636}
13637
13638// StartIndex sets the optional parameter "startIndex": Index of the
13639// first result to return (starts at 0)
13640func (c *VolumesUseruploadedListCall) StartIndex(startIndex int64) *VolumesUseruploadedListCall {
13641	c.urlParams_.Set("startIndex", fmt.Sprint(startIndex))
13642	return c
13643}
13644
13645// VolumeId sets the optional parameter "volumeId": The ids of the
13646// volumes to be returned. If not specified all that match the
13647// processingState are returned.
13648func (c *VolumesUseruploadedListCall) VolumeId(volumeId ...string) *VolumesUseruploadedListCall {
13649	c.urlParams_.SetMulti("volumeId", append([]string{}, volumeId...))
13650	return c
13651}
13652
13653// Fields allows partial responses to be retrieved. See
13654// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13655// for more information.
13656func (c *VolumesUseruploadedListCall) Fields(s ...googleapi.Field) *VolumesUseruploadedListCall {
13657	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13658	return c
13659}
13660
13661// IfNoneMatch sets the optional parameter which makes the operation
13662// fail if the object's ETag matches the given value. This is useful for
13663// getting updates only after the object has changed since the last
13664// request. Use googleapi.IsNotModified to check whether the response
13665// error from Do is the result of In-None-Match.
13666func (c *VolumesUseruploadedListCall) IfNoneMatch(entityTag string) *VolumesUseruploadedListCall {
13667	c.ifNoneMatch_ = entityTag
13668	return c
13669}
13670
13671// Context sets the context to be used in this call's Do method. Any
13672// pending HTTP request will be aborted if the provided context is
13673// canceled.
13674func (c *VolumesUseruploadedListCall) Context(ctx context.Context) *VolumesUseruploadedListCall {
13675	c.ctx_ = ctx
13676	return c
13677}
13678
13679// Header returns an http.Header that can be modified by the caller to
13680// add HTTP headers to the request.
13681func (c *VolumesUseruploadedListCall) Header() http.Header {
13682	if c.header_ == nil {
13683		c.header_ = make(http.Header)
13684	}
13685	return c.header_
13686}
13687
13688func (c *VolumesUseruploadedListCall) doRequest(alt string) (*http.Response, error) {
13689	reqHeaders := make(http.Header)
13690	for k, v := range c.header_ {
13691		reqHeaders[k] = v
13692	}
13693	reqHeaders.Set("User-Agent", c.s.userAgent())
13694	if c.ifNoneMatch_ != "" {
13695		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13696	}
13697	var body io.Reader = nil
13698	c.urlParams_.Set("alt", alt)
13699	c.urlParams_.Set("prettyPrint", "false")
13700	urls := googleapi.ResolveRelative(c.s.BasePath, "volumes/useruploaded")
13701	urls += "?" + c.urlParams_.Encode()
13702	req, err := http.NewRequest("GET", urls, body)
13703	if err != nil {
13704		return nil, err
13705	}
13706	req.Header = reqHeaders
13707	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13708}
13709
13710// Do executes the "books.volumes.useruploaded.list" call.
13711// Exactly one of *Volumes or error will be non-nil. Any non-2xx status
13712// code is an error. Response headers are in either
13713// *Volumes.ServerResponse.Header or (if a response was returned at all)
13714// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13715// check whether the returned error was because http.StatusNotModified
13716// was returned.
13717func (c *VolumesUseruploadedListCall) Do(opts ...googleapi.CallOption) (*Volumes, error) {
13718	gensupport.SetOptions(c.urlParams_, opts...)
13719	res, err := c.doRequest("json")
13720	if res != nil && res.StatusCode == http.StatusNotModified {
13721		if res.Body != nil {
13722			res.Body.Close()
13723		}
13724		return nil, &googleapi.Error{
13725			Code:   res.StatusCode,
13726			Header: res.Header,
13727		}
13728	}
13729	if err != nil {
13730		return nil, err
13731	}
13732	defer googleapi.CloseBody(res)
13733	if err := googleapi.CheckResponse(res); err != nil {
13734		return nil, err
13735	}
13736	ret := &Volumes{
13737		ServerResponse: googleapi.ServerResponse{
13738			Header:         res.Header,
13739			HTTPStatusCode: res.StatusCode,
13740		},
13741	}
13742	target := &ret
13743	if err := gensupport.DecodeResponse(target, res); err != nil {
13744		return nil, err
13745	}
13746	return ret, nil
13747	// {
13748	//   "description": "Return a list of books uploaded by the current user.",
13749	//   "httpMethod": "GET",
13750	//   "id": "books.volumes.useruploaded.list",
13751	//   "parameters": {
13752	//     "locale": {
13753	//       "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.",
13754	//       "location": "query",
13755	//       "type": "string"
13756	//     },
13757	//     "maxResults": {
13758	//       "description": "Maximum number of results to return.",
13759	//       "format": "uint32",
13760	//       "location": "query",
13761	//       "maximum": "40",
13762	//       "minimum": "0",
13763	//       "type": "integer"
13764	//     },
13765	//     "processingState": {
13766	//       "description": "The processing state of the user uploaded volumes to be returned.",
13767	//       "enum": [
13768	//         "COMPLETED_FAILED",
13769	//         "COMPLETED_SUCCESS",
13770	//         "RUNNING"
13771	//       ],
13772	//       "enumDescriptions": [
13773	//         "The volume processing hase failed.",
13774	//         "The volume processing was completed.",
13775	//         "The volume processing is not completed."
13776	//       ],
13777	//       "location": "query",
13778	//       "repeated": true,
13779	//       "type": "string"
13780	//     },
13781	//     "source": {
13782	//       "description": "String to identify the originator of this request.",
13783	//       "location": "query",
13784	//       "type": "string"
13785	//     },
13786	//     "startIndex": {
13787	//       "description": "Index of the first result to return (starts at 0)",
13788	//       "format": "uint32",
13789	//       "location": "query",
13790	//       "minimum": "0",
13791	//       "type": "integer"
13792	//     },
13793	//     "volumeId": {
13794	//       "description": "The ids of the volumes to be returned. If not specified all that match the processingState are returned.",
13795	//       "location": "query",
13796	//       "repeated": true,
13797	//       "type": "string"
13798	//     }
13799	//   },
13800	//   "path": "volumes/useruploaded",
13801	//   "response": {
13802	//     "$ref": "Volumes"
13803	//   },
13804	//   "scopes": [
13805	//     "https://www.googleapis.com/auth/books"
13806	//   ]
13807	// }
13808
13809}
13810