{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.WorkDocs.GetResources
(
GetResources (..),
newGetResources,
getResources_authenticationToken,
getResources_collectionType,
getResources_limit,
getResources_marker,
getResources_userId,
GetResourcesResponse (..),
newGetResourcesResponse,
getResourcesResponse_documents,
getResourcesResponse_folders,
getResourcesResponse_marker,
getResourcesResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.WorkDocs.Types
data GetResources = GetResources'
{
GetResources -> Maybe (Sensitive Text)
authenticationToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),
GetResources -> Maybe ResourceCollectionType
collectionType :: Prelude.Maybe ResourceCollectionType,
GetResources -> Maybe Natural
limit :: Prelude.Maybe Prelude.Natural,
GetResources -> Maybe Text
marker :: Prelude.Maybe Prelude.Text,
GetResources -> Maybe Text
userId :: Prelude.Maybe Prelude.Text
}
deriving (GetResources -> GetResources -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetResources -> GetResources -> Bool
$c/= :: GetResources -> GetResources -> Bool
== :: GetResources -> GetResources -> Bool
$c== :: GetResources -> GetResources -> Bool
Prelude.Eq, Int -> GetResources -> ShowS
[GetResources] -> ShowS
GetResources -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetResources] -> ShowS
$cshowList :: [GetResources] -> ShowS
show :: GetResources -> String
$cshow :: GetResources -> String
showsPrec :: Int -> GetResources -> ShowS
$cshowsPrec :: Int -> GetResources -> ShowS
Prelude.Show, forall x. Rep GetResources x -> GetResources
forall x. GetResources -> Rep GetResources x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetResources x -> GetResources
$cfrom :: forall x. GetResources -> Rep GetResources x
Prelude.Generic)
newGetResources ::
GetResources
newGetResources :: GetResources
newGetResources =
GetResources'
{ $sel:authenticationToken:GetResources' :: Maybe (Sensitive Text)
authenticationToken =
forall a. Maybe a
Prelude.Nothing,
$sel:collectionType:GetResources' :: Maybe ResourceCollectionType
collectionType = forall a. Maybe a
Prelude.Nothing,
$sel:limit:GetResources' :: Maybe Natural
limit = forall a. Maybe a
Prelude.Nothing,
$sel:marker:GetResources' :: Maybe Text
marker = forall a. Maybe a
Prelude.Nothing,
$sel:userId:GetResources' :: Maybe Text
userId = forall a. Maybe a
Prelude.Nothing
}
getResources_authenticationToken :: Lens.Lens' GetResources (Prelude.Maybe Prelude.Text)
getResources_authenticationToken :: Lens' GetResources (Maybe Text)
getResources_authenticationToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResources' {Maybe (Sensitive Text)
authenticationToken :: Maybe (Sensitive Text)
$sel:authenticationToken:GetResources' :: GetResources -> Maybe (Sensitive Text)
authenticationToken} -> Maybe (Sensitive Text)
authenticationToken) (\s :: GetResources
s@GetResources' {} Maybe (Sensitive Text)
a -> GetResources
s {$sel:authenticationToken:GetResources' :: Maybe (Sensitive Text)
authenticationToken = Maybe (Sensitive Text)
a} :: GetResources) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall a. Iso' (Sensitive a) a
Data._Sensitive
getResources_collectionType :: Lens.Lens' GetResources (Prelude.Maybe ResourceCollectionType)
getResources_collectionType :: Lens' GetResources (Maybe ResourceCollectionType)
getResources_collectionType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResources' {Maybe ResourceCollectionType
collectionType :: Maybe ResourceCollectionType
$sel:collectionType:GetResources' :: GetResources -> Maybe ResourceCollectionType
collectionType} -> Maybe ResourceCollectionType
collectionType) (\s :: GetResources
s@GetResources' {} Maybe ResourceCollectionType
a -> GetResources
s {$sel:collectionType:GetResources' :: Maybe ResourceCollectionType
collectionType = Maybe ResourceCollectionType
a} :: GetResources)
getResources_limit :: Lens.Lens' GetResources (Prelude.Maybe Prelude.Natural)
getResources_limit :: Lens' GetResources (Maybe Natural)
getResources_limit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResources' {Maybe Natural
limit :: Maybe Natural
$sel:limit:GetResources' :: GetResources -> Maybe Natural
limit} -> Maybe Natural
limit) (\s :: GetResources
s@GetResources' {} Maybe Natural
a -> GetResources
s {$sel:limit:GetResources' :: Maybe Natural
limit = Maybe Natural
a} :: GetResources)
getResources_marker :: Lens.Lens' GetResources (Prelude.Maybe Prelude.Text)
getResources_marker :: Lens' GetResources (Maybe Text)
getResources_marker = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResources' {Maybe Text
marker :: Maybe Text
$sel:marker:GetResources' :: GetResources -> Maybe Text
marker} -> Maybe Text
marker) (\s :: GetResources
s@GetResources' {} Maybe Text
a -> GetResources
s {$sel:marker:GetResources' :: Maybe Text
marker = Maybe Text
a} :: GetResources)
getResources_userId :: Lens.Lens' GetResources (Prelude.Maybe Prelude.Text)
getResources_userId :: Lens' GetResources (Maybe Text)
getResources_userId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResources' {Maybe Text
userId :: Maybe Text
$sel:userId:GetResources' :: GetResources -> Maybe Text
userId} -> Maybe Text
userId) (\s :: GetResources
s@GetResources' {} Maybe Text
a -> GetResources
s {$sel:userId:GetResources' :: Maybe Text
userId = Maybe Text
a} :: GetResources)
instance Core.AWSRequest GetResources where
type AWSResponse GetResources = GetResourcesResponse
request :: (Service -> Service) -> GetResources -> Request GetResources
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetResources
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetResources)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe [DocumentMetadata]
-> Maybe [FolderMetadata]
-> Maybe Text
-> Int
-> GetResourcesResponse
GetResourcesResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Documents" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Folders" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Marker")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable GetResources where
hashWithSalt :: Int -> GetResources -> Int
hashWithSalt Int
_salt GetResources' {Maybe Natural
Maybe Text
Maybe (Sensitive Text)
Maybe ResourceCollectionType
userId :: Maybe Text
marker :: Maybe Text
limit :: Maybe Natural
collectionType :: Maybe ResourceCollectionType
authenticationToken :: Maybe (Sensitive Text)
$sel:userId:GetResources' :: GetResources -> Maybe Text
$sel:marker:GetResources' :: GetResources -> Maybe Text
$sel:limit:GetResources' :: GetResources -> Maybe Natural
$sel:collectionType:GetResources' :: GetResources -> Maybe ResourceCollectionType
$sel:authenticationToken:GetResources' :: GetResources -> Maybe (Sensitive Text)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
authenticationToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceCollectionType
collectionType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
limit
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
marker
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
userId
instance Prelude.NFData GetResources where
rnf :: GetResources -> ()
rnf GetResources' {Maybe Natural
Maybe Text
Maybe (Sensitive Text)
Maybe ResourceCollectionType
userId :: Maybe Text
marker :: Maybe Text
limit :: Maybe Natural
collectionType :: Maybe ResourceCollectionType
authenticationToken :: Maybe (Sensitive Text)
$sel:userId:GetResources' :: GetResources -> Maybe Text
$sel:marker:GetResources' :: GetResources -> Maybe Text
$sel:limit:GetResources' :: GetResources -> Maybe Natural
$sel:collectionType:GetResources' :: GetResources -> Maybe ResourceCollectionType
$sel:authenticationToken:GetResources' :: GetResources -> Maybe (Sensitive Text)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
authenticationToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceCollectionType
collectionType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
limit
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
marker
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
userId
instance Data.ToHeaders GetResources where
toHeaders :: GetResources -> ResponseHeaders
toHeaders GetResources' {Maybe Natural
Maybe Text
Maybe (Sensitive Text)
Maybe ResourceCollectionType
userId :: Maybe Text
marker :: Maybe Text
limit :: Maybe Natural
collectionType :: Maybe ResourceCollectionType
authenticationToken :: Maybe (Sensitive Text)
$sel:userId:GetResources' :: GetResources -> Maybe Text
$sel:marker:GetResources' :: GetResources -> Maybe Text
$sel:limit:GetResources' :: GetResources -> Maybe Natural
$sel:collectionType:GetResources' :: GetResources -> Maybe ResourceCollectionType
$sel:authenticationToken:GetResources' :: GetResources -> Maybe (Sensitive Text)
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Authentication" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe (Sensitive Text)
authenticationToken,
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# (ByteString
"application/x-amz-json-1.1" :: Prelude.ByteString)
]
instance Data.ToPath GetResources where
toPath :: GetResources -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/api/v1/resources"
instance Data.ToQuery GetResources where
toQuery :: GetResources -> QueryString
toQuery GetResources' {Maybe Natural
Maybe Text
Maybe (Sensitive Text)
Maybe ResourceCollectionType
userId :: Maybe Text
marker :: Maybe Text
limit :: Maybe Natural
collectionType :: Maybe ResourceCollectionType
authenticationToken :: Maybe (Sensitive Text)
$sel:userId:GetResources' :: GetResources -> Maybe Text
$sel:marker:GetResources' :: GetResources -> Maybe Text
$sel:limit:GetResources' :: GetResources -> Maybe Natural
$sel:collectionType:GetResources' :: GetResources -> Maybe ResourceCollectionType
$sel:authenticationToken:GetResources' :: GetResources -> Maybe (Sensitive Text)
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"collectionType" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe ResourceCollectionType
collectionType,
ByteString
"limit" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
limit,
ByteString
"marker" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
marker,
ByteString
"userId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
userId
]
data GetResourcesResponse = GetResourcesResponse'
{
GetResourcesResponse -> Maybe [DocumentMetadata]
documents :: Prelude.Maybe [DocumentMetadata],
GetResourcesResponse -> Maybe [FolderMetadata]
folders :: Prelude.Maybe [FolderMetadata],
GetResourcesResponse -> Maybe Text
marker :: Prelude.Maybe Prelude.Text,
GetResourcesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetResourcesResponse -> GetResourcesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetResourcesResponse -> GetResourcesResponse -> Bool
$c/= :: GetResourcesResponse -> GetResourcesResponse -> Bool
== :: GetResourcesResponse -> GetResourcesResponse -> Bool
$c== :: GetResourcesResponse -> GetResourcesResponse -> Bool
Prelude.Eq, Int -> GetResourcesResponse -> ShowS
[GetResourcesResponse] -> ShowS
GetResourcesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetResourcesResponse] -> ShowS
$cshowList :: [GetResourcesResponse] -> ShowS
show :: GetResourcesResponse -> String
$cshow :: GetResourcesResponse -> String
showsPrec :: Int -> GetResourcesResponse -> ShowS
$cshowsPrec :: Int -> GetResourcesResponse -> ShowS
Prelude.Show, forall x. Rep GetResourcesResponse x -> GetResourcesResponse
forall x. GetResourcesResponse -> Rep GetResourcesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetResourcesResponse x -> GetResourcesResponse
$cfrom :: forall x. GetResourcesResponse -> Rep GetResourcesResponse x
Prelude.Generic)
newGetResourcesResponse ::
Prelude.Int ->
GetResourcesResponse
newGetResourcesResponse :: Int -> GetResourcesResponse
newGetResourcesResponse Int
pHttpStatus_ =
GetResourcesResponse'
{ $sel:documents:GetResourcesResponse' :: Maybe [DocumentMetadata]
documents = forall a. Maybe a
Prelude.Nothing,
$sel:folders:GetResourcesResponse' :: Maybe [FolderMetadata]
folders = forall a. Maybe a
Prelude.Nothing,
$sel:marker:GetResourcesResponse' :: Maybe Text
marker = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetResourcesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getResourcesResponse_documents :: Lens.Lens' GetResourcesResponse (Prelude.Maybe [DocumentMetadata])
getResourcesResponse_documents :: Lens' GetResourcesResponse (Maybe [DocumentMetadata])
getResourcesResponse_documents = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourcesResponse' {Maybe [DocumentMetadata]
documents :: Maybe [DocumentMetadata]
$sel:documents:GetResourcesResponse' :: GetResourcesResponse -> Maybe [DocumentMetadata]
documents} -> Maybe [DocumentMetadata]
documents) (\s :: GetResourcesResponse
s@GetResourcesResponse' {} Maybe [DocumentMetadata]
a -> GetResourcesResponse
s {$sel:documents:GetResourcesResponse' :: Maybe [DocumentMetadata]
documents = Maybe [DocumentMetadata]
a} :: GetResourcesResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
getResourcesResponse_folders :: Lens.Lens' GetResourcesResponse (Prelude.Maybe [FolderMetadata])
getResourcesResponse_folders :: Lens' GetResourcesResponse (Maybe [FolderMetadata])
getResourcesResponse_folders = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourcesResponse' {Maybe [FolderMetadata]
folders :: Maybe [FolderMetadata]
$sel:folders:GetResourcesResponse' :: GetResourcesResponse -> Maybe [FolderMetadata]
folders} -> Maybe [FolderMetadata]
folders) (\s :: GetResourcesResponse
s@GetResourcesResponse' {} Maybe [FolderMetadata]
a -> GetResourcesResponse
s {$sel:folders:GetResourcesResponse' :: Maybe [FolderMetadata]
folders = Maybe [FolderMetadata]
a} :: GetResourcesResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
getResourcesResponse_marker :: Lens.Lens' GetResourcesResponse (Prelude.Maybe Prelude.Text)
getResourcesResponse_marker :: Lens' GetResourcesResponse (Maybe Text)
getResourcesResponse_marker = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourcesResponse' {Maybe Text
marker :: Maybe Text
$sel:marker:GetResourcesResponse' :: GetResourcesResponse -> Maybe Text
marker} -> Maybe Text
marker) (\s :: GetResourcesResponse
s@GetResourcesResponse' {} Maybe Text
a -> GetResourcesResponse
s {$sel:marker:GetResourcesResponse' :: Maybe Text
marker = Maybe Text
a} :: GetResourcesResponse)
getResourcesResponse_httpStatus :: Lens.Lens' GetResourcesResponse Prelude.Int
getResourcesResponse_httpStatus :: Lens' GetResourcesResponse Int
getResourcesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourcesResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetResourcesResponse' :: GetResourcesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetResourcesResponse
s@GetResourcesResponse' {} Int
a -> GetResourcesResponse
s {$sel:httpStatus:GetResourcesResponse' :: Int
httpStatus = Int
a} :: GetResourcesResponse)
instance Prelude.NFData GetResourcesResponse where
rnf :: GetResourcesResponse -> ()
rnf GetResourcesResponse' {Int
Maybe [FolderMetadata]
Maybe [DocumentMetadata]
Maybe Text
httpStatus :: Int
marker :: Maybe Text
folders :: Maybe [FolderMetadata]
documents :: Maybe [DocumentMetadata]
$sel:httpStatus:GetResourcesResponse' :: GetResourcesResponse -> Int
$sel:marker:GetResourcesResponse' :: GetResourcesResponse -> Maybe Text
$sel:folders:GetResourcesResponse' :: GetResourcesResponse -> Maybe [FolderMetadata]
$sel:documents:GetResourcesResponse' :: GetResourcesResponse -> Maybe [DocumentMetadata]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [DocumentMetadata]
documents
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [FolderMetadata]
folders
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
marker
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus