gogol-libraryagent-0.4.0: Google Library Agent SDK.

Copyright(c) 2015-2016 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.Google.LibraryAgent

Contents

Description

A simple Google Example Library API.

See: Library Agent API Reference

Synopsis

Service Configuration

libraryAgentService :: ServiceConfig Source #

Default request referring to version v1 of the Library Agent API. This contains the host and root path used as a starting point for constructing service requests.

OAuth Scopes

cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"] Source #

View and manage your data across Google Cloud Platform services

API Declaration

type LibraryAgentAPI = ShelvesBooksReturnResource :<|> (ShelvesBooksListResource :<|> (ShelvesBooksBorrowResource :<|> (ShelvesBooksGetResource :<|> (ShelvesListResource :<|> ShelvesGetResource)))) Source #

Represents the entirety of the methods and resources available for the Library Agent API service.

Resources

libraryagent.shelves.books.borrow

libraryagent.shelves.books.get

libraryagent.shelves.books.list

libraryagent.shelves.books.return

libraryagent.shelves.get

libraryagent.shelves.list

Types

GoogleExampleLibraryagentV1Shelf

data GoogleExampleLibraryagentV1Shelf Source #

A Shelf contains a collection of books with a theme.

See: googleExampleLibraryagentV1Shelf smart constructor.

Instances
Eq GoogleExampleLibraryagentV1Shelf Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Data GoogleExampleLibraryagentV1Shelf Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GoogleExampleLibraryagentV1Shelf -> c GoogleExampleLibraryagentV1Shelf #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GoogleExampleLibraryagentV1Shelf #

toConstr :: GoogleExampleLibraryagentV1Shelf -> Constr #

dataTypeOf :: GoogleExampleLibraryagentV1Shelf -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c GoogleExampleLibraryagentV1Shelf) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GoogleExampleLibraryagentV1Shelf) #

gmapT :: (forall b. Data b => b -> b) -> GoogleExampleLibraryagentV1Shelf -> GoogleExampleLibraryagentV1Shelf #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GoogleExampleLibraryagentV1Shelf -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GoogleExampleLibraryagentV1Shelf -> r #

gmapQ :: (forall d. Data d => d -> u) -> GoogleExampleLibraryagentV1Shelf -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GoogleExampleLibraryagentV1Shelf -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GoogleExampleLibraryagentV1Shelf -> m GoogleExampleLibraryagentV1Shelf #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GoogleExampleLibraryagentV1Shelf -> m GoogleExampleLibraryagentV1Shelf #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GoogleExampleLibraryagentV1Shelf -> m GoogleExampleLibraryagentV1Shelf #

Show GoogleExampleLibraryagentV1Shelf Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Generic GoogleExampleLibraryagentV1Shelf Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Associated Types

type Rep GoogleExampleLibraryagentV1Shelf :: Type -> Type #

ToJSON GoogleExampleLibraryagentV1Shelf Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

FromJSON GoogleExampleLibraryagentV1Shelf Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

type Rep GoogleExampleLibraryagentV1Shelf Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

type Rep GoogleExampleLibraryagentV1Shelf = D1 (MetaData "GoogleExampleLibraryagentV1Shelf" "Network.Google.LibraryAgent.Types.Product" "gogol-libraryagent-0.4.0-3DDw7qDFYgp6HuQ2dTY0m5" False) (C1 (MetaCons "GoogleExampleLibraryagentV1Shelf'" PrefixI True) (S1 (MetaSel (Just "_gelvsName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_gelvsTheme") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))))

googleExampleLibraryagentV1Shelf :: GoogleExampleLibraryagentV1Shelf Source #

Creates a value of GoogleExampleLibraryagentV1Shelf with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

gelvsName :: Lens' GoogleExampleLibraryagentV1Shelf (Maybe Text) Source #

Output only. The resource name of the shelf. Shelf names have the form `shelves/{shelf_id}`. The name is ignored when creating a shelf.

Xgafv

data Xgafv Source #

V1 error format.

Constructors

X1

1 v1 error format

X2

2 v2 error format

Instances
Enum Xgafv Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Sum

Eq Xgafv Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Sum

Methods

(==) :: Xgafv -> Xgafv -> Bool #

(/=) :: Xgafv -> Xgafv -> Bool #

Data Xgafv Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Sum

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Xgafv -> c Xgafv #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Xgafv #

toConstr :: Xgafv -> Constr #

dataTypeOf :: Xgafv -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Xgafv) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Xgafv) #

gmapT :: (forall b. Data b => b -> b) -> Xgafv -> Xgafv #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Xgafv -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Xgafv -> r #

gmapQ :: (forall d. Data d => d -> u) -> Xgafv -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Xgafv -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Xgafv -> m Xgafv #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Xgafv -> m Xgafv #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Xgafv -> m Xgafv #

Ord Xgafv Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Sum

Methods

compare :: Xgafv -> Xgafv -> Ordering #

(<) :: Xgafv -> Xgafv -> Bool #

(<=) :: Xgafv -> Xgafv -> Bool #

(>) :: Xgafv -> Xgafv -> Bool #

(>=) :: Xgafv -> Xgafv -> Bool #

max :: Xgafv -> Xgafv -> Xgafv #

min :: Xgafv -> Xgafv -> Xgafv #

Read Xgafv Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Sum

Show Xgafv Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Sum

Methods

showsPrec :: Int -> Xgafv -> ShowS #

show :: Xgafv -> String #

showList :: [Xgafv] -> ShowS #

Generic Xgafv Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Sum

Associated Types

type Rep Xgafv :: Type -> Type #

Methods

from :: Xgafv -> Rep Xgafv x #

to :: Rep Xgafv x -> Xgafv #

Hashable Xgafv Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Sum

Methods

hashWithSalt :: Int -> Xgafv -> Int #

hash :: Xgafv -> Int #

ToJSON Xgafv Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Sum

FromJSON Xgafv Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Sum

FromHttpApiData Xgafv Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Sum

ToHttpApiData Xgafv Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Sum

type Rep Xgafv Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Sum

type Rep Xgafv = D1 (MetaData "Xgafv" "Network.Google.LibraryAgent.Types.Sum" "gogol-libraryagent-0.4.0-3DDw7qDFYgp6HuQ2dTY0m5" False) (C1 (MetaCons "X1" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "X2" PrefixI False) (U1 :: Type -> Type))

GoogleExampleLibraryagentV1ListShelvesResponse

data GoogleExampleLibraryagentV1ListShelvesResponse Source #

Response message for LibraryAgent.ListShelves.

See: googleExampleLibraryagentV1ListShelvesResponse smart constructor.

Instances
Eq GoogleExampleLibraryagentV1ListShelvesResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Data GoogleExampleLibraryagentV1ListShelvesResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GoogleExampleLibraryagentV1ListShelvesResponse -> c GoogleExampleLibraryagentV1ListShelvesResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GoogleExampleLibraryagentV1ListShelvesResponse #

toConstr :: GoogleExampleLibraryagentV1ListShelvesResponse -> Constr #

dataTypeOf :: GoogleExampleLibraryagentV1ListShelvesResponse -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c GoogleExampleLibraryagentV1ListShelvesResponse) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GoogleExampleLibraryagentV1ListShelvesResponse) #

gmapT :: (forall b. Data b => b -> b) -> GoogleExampleLibraryagentV1ListShelvesResponse -> GoogleExampleLibraryagentV1ListShelvesResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GoogleExampleLibraryagentV1ListShelvesResponse -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GoogleExampleLibraryagentV1ListShelvesResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> GoogleExampleLibraryagentV1ListShelvesResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GoogleExampleLibraryagentV1ListShelvesResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GoogleExampleLibraryagentV1ListShelvesResponse -> m GoogleExampleLibraryagentV1ListShelvesResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GoogleExampleLibraryagentV1ListShelvesResponse -> m GoogleExampleLibraryagentV1ListShelvesResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GoogleExampleLibraryagentV1ListShelvesResponse -> m GoogleExampleLibraryagentV1ListShelvesResponse #

Show GoogleExampleLibraryagentV1ListShelvesResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Generic GoogleExampleLibraryagentV1ListShelvesResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

ToJSON GoogleExampleLibraryagentV1ListShelvesResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

FromJSON GoogleExampleLibraryagentV1ListShelvesResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

type Rep GoogleExampleLibraryagentV1ListShelvesResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

type Rep GoogleExampleLibraryagentV1ListShelvesResponse = D1 (MetaData "GoogleExampleLibraryagentV1ListShelvesResponse" "Network.Google.LibraryAgent.Types.Product" "gogol-libraryagent-0.4.0-3DDw7qDFYgp6HuQ2dTY0m5" False) (C1 (MetaCons "GoogleExampleLibraryagentV1ListShelvesResponse'" PrefixI True) (S1 (MetaSel (Just "_gelvlsrNextPageToken") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_gelvlsrShelves") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [GoogleExampleLibraryagentV1Shelf]))))

googleExampleLibraryagentV1ListShelvesResponse :: GoogleExampleLibraryagentV1ListShelvesResponse Source #

Creates a value of GoogleExampleLibraryagentV1ListShelvesResponse with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

gelvlsrNextPageToken :: Lens' GoogleExampleLibraryagentV1ListShelvesResponse (Maybe Text) Source #

A token to retrieve next page of results. Pass this value in the ListShelvesRequest.page_token field in the subsequent call to `ListShelves` method to retrieve the next page of results.

GoogleExampleLibraryagentV1ListBooksResponse

data GoogleExampleLibraryagentV1ListBooksResponse Source #

Response message for LibraryAgent.ListBooks.

See: googleExampleLibraryagentV1ListBooksResponse smart constructor.

Instances
Eq GoogleExampleLibraryagentV1ListBooksResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Data GoogleExampleLibraryagentV1ListBooksResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GoogleExampleLibraryagentV1ListBooksResponse -> c GoogleExampleLibraryagentV1ListBooksResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GoogleExampleLibraryagentV1ListBooksResponse #

toConstr :: GoogleExampleLibraryagentV1ListBooksResponse -> Constr #

dataTypeOf :: GoogleExampleLibraryagentV1ListBooksResponse -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c GoogleExampleLibraryagentV1ListBooksResponse) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GoogleExampleLibraryagentV1ListBooksResponse) #

gmapT :: (forall b. Data b => b -> b) -> GoogleExampleLibraryagentV1ListBooksResponse -> GoogleExampleLibraryagentV1ListBooksResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GoogleExampleLibraryagentV1ListBooksResponse -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GoogleExampleLibraryagentV1ListBooksResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> GoogleExampleLibraryagentV1ListBooksResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GoogleExampleLibraryagentV1ListBooksResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GoogleExampleLibraryagentV1ListBooksResponse -> m GoogleExampleLibraryagentV1ListBooksResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GoogleExampleLibraryagentV1ListBooksResponse -> m GoogleExampleLibraryagentV1ListBooksResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GoogleExampleLibraryagentV1ListBooksResponse -> m GoogleExampleLibraryagentV1ListBooksResponse #

Show GoogleExampleLibraryagentV1ListBooksResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Generic GoogleExampleLibraryagentV1ListBooksResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

ToJSON GoogleExampleLibraryagentV1ListBooksResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

FromJSON GoogleExampleLibraryagentV1ListBooksResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

type Rep GoogleExampleLibraryagentV1ListBooksResponse Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

type Rep GoogleExampleLibraryagentV1ListBooksResponse = D1 (MetaData "GoogleExampleLibraryagentV1ListBooksResponse" "Network.Google.LibraryAgent.Types.Product" "gogol-libraryagent-0.4.0-3DDw7qDFYgp6HuQ2dTY0m5" False) (C1 (MetaCons "GoogleExampleLibraryagentV1ListBooksResponse'" PrefixI True) (S1 (MetaSel (Just "_gelvlbrNextPageToken") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_gelvlbrBooks") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [GoogleExampleLibraryagentV1Book]))))

googleExampleLibraryagentV1ListBooksResponse :: GoogleExampleLibraryagentV1ListBooksResponse Source #

Creates a value of GoogleExampleLibraryagentV1ListBooksResponse with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

gelvlbrNextPageToken :: Lens' GoogleExampleLibraryagentV1ListBooksResponse (Maybe Text) Source #

A token to retrieve next page of results. Pass this value in the ListBooksRequest.page_token field in the subsequent call to `ListBooks` method to retrieve the next page of results.

GoogleExampleLibraryagentV1Book

data GoogleExampleLibraryagentV1Book Source #

A single book in the library.

See: googleExampleLibraryagentV1Book smart constructor.

Instances
Eq GoogleExampleLibraryagentV1Book Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Data GoogleExampleLibraryagentV1Book Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GoogleExampleLibraryagentV1Book -> c GoogleExampleLibraryagentV1Book #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GoogleExampleLibraryagentV1Book #

toConstr :: GoogleExampleLibraryagentV1Book -> Constr #

dataTypeOf :: GoogleExampleLibraryagentV1Book -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c GoogleExampleLibraryagentV1Book) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GoogleExampleLibraryagentV1Book) #

gmapT :: (forall b. Data b => b -> b) -> GoogleExampleLibraryagentV1Book -> GoogleExampleLibraryagentV1Book #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GoogleExampleLibraryagentV1Book -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GoogleExampleLibraryagentV1Book -> r #

gmapQ :: (forall d. Data d => d -> u) -> GoogleExampleLibraryagentV1Book -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GoogleExampleLibraryagentV1Book -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GoogleExampleLibraryagentV1Book -> m GoogleExampleLibraryagentV1Book #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GoogleExampleLibraryagentV1Book -> m GoogleExampleLibraryagentV1Book #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GoogleExampleLibraryagentV1Book -> m GoogleExampleLibraryagentV1Book #

Show GoogleExampleLibraryagentV1Book Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Generic GoogleExampleLibraryagentV1Book Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

Associated Types

type Rep GoogleExampleLibraryagentV1Book :: Type -> Type #

ToJSON GoogleExampleLibraryagentV1Book Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

FromJSON GoogleExampleLibraryagentV1Book Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

type Rep GoogleExampleLibraryagentV1Book Source # 
Instance details

Defined in Network.Google.LibraryAgent.Types.Product

type Rep GoogleExampleLibraryagentV1Book = D1 (MetaData "GoogleExampleLibraryagentV1Book" "Network.Google.LibraryAgent.Types.Product" "gogol-libraryagent-0.4.0-3DDw7qDFYgp6HuQ2dTY0m5" False) (C1 (MetaCons "GoogleExampleLibraryagentV1Book'" PrefixI True) ((S1 (MetaSel (Just "_gelvbRead") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 (MetaSel (Just "_gelvbName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 (MetaSel (Just "_gelvbAuthor") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_gelvbTitle") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))))

googleExampleLibraryagentV1Book :: GoogleExampleLibraryagentV1Book Source #

Creates a value of GoogleExampleLibraryagentV1Book with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

gelvbRead :: Lens' GoogleExampleLibraryagentV1Book (Maybe Bool) Source #

Value indicating whether the book has been read.

gelvbName :: Lens' GoogleExampleLibraryagentV1Book (Maybe Text) Source #

The resource name of the book. Book names have the form `shelves/{shelf_id}/books/{book_id}`. The name is ignored when creating a book.