{-# 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.FSx.DescribeFileCaches
(
DescribeFileCaches (..),
newDescribeFileCaches,
describeFileCaches_fileCacheIds,
describeFileCaches_maxResults,
describeFileCaches_nextToken,
DescribeFileCachesResponse (..),
newDescribeFileCachesResponse,
describeFileCachesResponse_fileCaches,
describeFileCachesResponse_nextToken,
describeFileCachesResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.FSx.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeFileCaches = DescribeFileCaches'
{
DescribeFileCaches -> Maybe [Text]
fileCacheIds :: Prelude.Maybe [Prelude.Text],
DescribeFileCaches -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
DescribeFileCaches -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text
}
deriving (DescribeFileCaches -> DescribeFileCaches -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeFileCaches -> DescribeFileCaches -> Bool
$c/= :: DescribeFileCaches -> DescribeFileCaches -> Bool
== :: DescribeFileCaches -> DescribeFileCaches -> Bool
$c== :: DescribeFileCaches -> DescribeFileCaches -> Bool
Prelude.Eq, ReadPrec [DescribeFileCaches]
ReadPrec DescribeFileCaches
Int -> ReadS DescribeFileCaches
ReadS [DescribeFileCaches]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeFileCaches]
$creadListPrec :: ReadPrec [DescribeFileCaches]
readPrec :: ReadPrec DescribeFileCaches
$creadPrec :: ReadPrec DescribeFileCaches
readList :: ReadS [DescribeFileCaches]
$creadList :: ReadS [DescribeFileCaches]
readsPrec :: Int -> ReadS DescribeFileCaches
$creadsPrec :: Int -> ReadS DescribeFileCaches
Prelude.Read, Int -> DescribeFileCaches -> ShowS
[DescribeFileCaches] -> ShowS
DescribeFileCaches -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeFileCaches] -> ShowS
$cshowList :: [DescribeFileCaches] -> ShowS
show :: DescribeFileCaches -> String
$cshow :: DescribeFileCaches -> String
showsPrec :: Int -> DescribeFileCaches -> ShowS
$cshowsPrec :: Int -> DescribeFileCaches -> ShowS
Prelude.Show, forall x. Rep DescribeFileCaches x -> DescribeFileCaches
forall x. DescribeFileCaches -> Rep DescribeFileCaches x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeFileCaches x -> DescribeFileCaches
$cfrom :: forall x. DescribeFileCaches -> Rep DescribeFileCaches x
Prelude.Generic)
newDescribeFileCaches ::
DescribeFileCaches
newDescribeFileCaches :: DescribeFileCaches
newDescribeFileCaches =
DescribeFileCaches'
{ $sel:fileCacheIds:DescribeFileCaches' :: Maybe [Text]
fileCacheIds = forall a. Maybe a
Prelude.Nothing,
$sel:maxResults:DescribeFileCaches' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:DescribeFileCaches' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing
}
describeFileCaches_fileCacheIds :: Lens.Lens' DescribeFileCaches (Prelude.Maybe [Prelude.Text])
describeFileCaches_fileCacheIds :: Lens' DescribeFileCaches (Maybe [Text])
describeFileCaches_fileCacheIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFileCaches' {Maybe [Text]
fileCacheIds :: Maybe [Text]
$sel:fileCacheIds:DescribeFileCaches' :: DescribeFileCaches -> Maybe [Text]
fileCacheIds} -> Maybe [Text]
fileCacheIds) (\s :: DescribeFileCaches
s@DescribeFileCaches' {} Maybe [Text]
a -> DescribeFileCaches
s {$sel:fileCacheIds:DescribeFileCaches' :: Maybe [Text]
fileCacheIds = Maybe [Text]
a} :: DescribeFileCaches) 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
describeFileCaches_maxResults :: Lens.Lens' DescribeFileCaches (Prelude.Maybe Prelude.Natural)
describeFileCaches_maxResults :: Lens' DescribeFileCaches (Maybe Natural)
describeFileCaches_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFileCaches' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:DescribeFileCaches' :: DescribeFileCaches -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: DescribeFileCaches
s@DescribeFileCaches' {} Maybe Natural
a -> DescribeFileCaches
s {$sel:maxResults:DescribeFileCaches' :: Maybe Natural
maxResults = Maybe Natural
a} :: DescribeFileCaches)
describeFileCaches_nextToken :: Lens.Lens' DescribeFileCaches (Prelude.Maybe Prelude.Text)
describeFileCaches_nextToken :: Lens' DescribeFileCaches (Maybe Text)
describeFileCaches_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFileCaches' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeFileCaches' :: DescribeFileCaches -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeFileCaches
s@DescribeFileCaches' {} Maybe Text
a -> DescribeFileCaches
s {$sel:nextToken:DescribeFileCaches' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeFileCaches)
instance Core.AWSRequest DescribeFileCaches where
type
AWSResponse DescribeFileCaches =
DescribeFileCachesResponse
request :: (Service -> Service)
-> DescribeFileCaches -> Request DescribeFileCaches
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeFileCaches
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeFileCaches)))
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 [FileCache]
-> Maybe Text -> Int -> DescribeFileCachesResponse
DescribeFileCachesResponse'
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
"FileCaches" 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
"NextToken")
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 DescribeFileCaches where
hashWithSalt :: Int -> DescribeFileCaches -> Int
hashWithSalt Int
_salt DescribeFileCaches' {Maybe Natural
Maybe [Text]
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
fileCacheIds :: Maybe [Text]
$sel:nextToken:DescribeFileCaches' :: DescribeFileCaches -> Maybe Text
$sel:maxResults:DescribeFileCaches' :: DescribeFileCaches -> Maybe Natural
$sel:fileCacheIds:DescribeFileCaches' :: DescribeFileCaches -> Maybe [Text]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
fileCacheIds
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
instance Prelude.NFData DescribeFileCaches where
rnf :: DescribeFileCaches -> ()
rnf DescribeFileCaches' {Maybe Natural
Maybe [Text]
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
fileCacheIds :: Maybe [Text]
$sel:nextToken:DescribeFileCaches' :: DescribeFileCaches -> Maybe Text
$sel:maxResults:DescribeFileCaches' :: DescribeFileCaches -> Maybe Natural
$sel:fileCacheIds:DescribeFileCaches' :: DescribeFileCaches -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
fileCacheIds
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
instance Data.ToHeaders DescribeFileCaches where
toHeaders :: DescribeFileCaches -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AWSSimbaAPIService_v20180301.DescribeFileCaches" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DescribeFileCaches where
toJSON :: DescribeFileCaches -> Value
toJSON DescribeFileCaches' {Maybe Natural
Maybe [Text]
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
fileCacheIds :: Maybe [Text]
$sel:nextToken:DescribeFileCaches' :: DescribeFileCaches -> Maybe Text
$sel:maxResults:DescribeFileCaches' :: DescribeFileCaches -> Maybe Natural
$sel:fileCacheIds:DescribeFileCaches' :: DescribeFileCaches -> Maybe [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"FileCacheIds" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
fileCacheIds,
(Key
"MaxResults" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
maxResults,
(Key
"NextToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
nextToken
]
)
instance Data.ToPath DescribeFileCaches where
toPath :: DescribeFileCaches -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeFileCaches where
toQuery :: DescribeFileCaches -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeFileCachesResponse = DescribeFileCachesResponse'
{
DescribeFileCachesResponse -> Maybe [FileCache]
fileCaches :: Prelude.Maybe [FileCache],
DescribeFileCachesResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
DescribeFileCachesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeFileCachesResponse -> DescribeFileCachesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeFileCachesResponse -> DescribeFileCachesResponse -> Bool
$c/= :: DescribeFileCachesResponse -> DescribeFileCachesResponse -> Bool
== :: DescribeFileCachesResponse -> DescribeFileCachesResponse -> Bool
$c== :: DescribeFileCachesResponse -> DescribeFileCachesResponse -> Bool
Prelude.Eq, ReadPrec [DescribeFileCachesResponse]
ReadPrec DescribeFileCachesResponse
Int -> ReadS DescribeFileCachesResponse
ReadS [DescribeFileCachesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeFileCachesResponse]
$creadListPrec :: ReadPrec [DescribeFileCachesResponse]
readPrec :: ReadPrec DescribeFileCachesResponse
$creadPrec :: ReadPrec DescribeFileCachesResponse
readList :: ReadS [DescribeFileCachesResponse]
$creadList :: ReadS [DescribeFileCachesResponse]
readsPrec :: Int -> ReadS DescribeFileCachesResponse
$creadsPrec :: Int -> ReadS DescribeFileCachesResponse
Prelude.Read, Int -> DescribeFileCachesResponse -> ShowS
[DescribeFileCachesResponse] -> ShowS
DescribeFileCachesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeFileCachesResponse] -> ShowS
$cshowList :: [DescribeFileCachesResponse] -> ShowS
show :: DescribeFileCachesResponse -> String
$cshow :: DescribeFileCachesResponse -> String
showsPrec :: Int -> DescribeFileCachesResponse -> ShowS
$cshowsPrec :: Int -> DescribeFileCachesResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeFileCachesResponse x -> DescribeFileCachesResponse
forall x.
DescribeFileCachesResponse -> Rep DescribeFileCachesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeFileCachesResponse x -> DescribeFileCachesResponse
$cfrom :: forall x.
DescribeFileCachesResponse -> Rep DescribeFileCachesResponse x
Prelude.Generic)
newDescribeFileCachesResponse ::
Prelude.Int ->
DescribeFileCachesResponse
newDescribeFileCachesResponse :: Int -> DescribeFileCachesResponse
newDescribeFileCachesResponse Int
pHttpStatus_ =
DescribeFileCachesResponse'
{ $sel:fileCaches:DescribeFileCachesResponse' :: Maybe [FileCache]
fileCaches =
forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:DescribeFileCachesResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeFileCachesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeFileCachesResponse_fileCaches :: Lens.Lens' DescribeFileCachesResponse (Prelude.Maybe [FileCache])
describeFileCachesResponse_fileCaches :: Lens' DescribeFileCachesResponse (Maybe [FileCache])
describeFileCachesResponse_fileCaches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFileCachesResponse' {Maybe [FileCache]
fileCaches :: Maybe [FileCache]
$sel:fileCaches:DescribeFileCachesResponse' :: DescribeFileCachesResponse -> Maybe [FileCache]
fileCaches} -> Maybe [FileCache]
fileCaches) (\s :: DescribeFileCachesResponse
s@DescribeFileCachesResponse' {} Maybe [FileCache]
a -> DescribeFileCachesResponse
s {$sel:fileCaches:DescribeFileCachesResponse' :: Maybe [FileCache]
fileCaches = Maybe [FileCache]
a} :: DescribeFileCachesResponse) 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
describeFileCachesResponse_nextToken :: Lens.Lens' DescribeFileCachesResponse (Prelude.Maybe Prelude.Text)
describeFileCachesResponse_nextToken :: Lens' DescribeFileCachesResponse (Maybe Text)
describeFileCachesResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFileCachesResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeFileCachesResponse' :: DescribeFileCachesResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeFileCachesResponse
s@DescribeFileCachesResponse' {} Maybe Text
a -> DescribeFileCachesResponse
s {$sel:nextToken:DescribeFileCachesResponse' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeFileCachesResponse)
describeFileCachesResponse_httpStatus :: Lens.Lens' DescribeFileCachesResponse Prelude.Int
describeFileCachesResponse_httpStatus :: Lens' DescribeFileCachesResponse Int
describeFileCachesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFileCachesResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeFileCachesResponse' :: DescribeFileCachesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeFileCachesResponse
s@DescribeFileCachesResponse' {} Int
a -> DescribeFileCachesResponse
s {$sel:httpStatus:DescribeFileCachesResponse' :: Int
httpStatus = Int
a} :: DescribeFileCachesResponse)
instance Prelude.NFData DescribeFileCachesResponse where
rnf :: DescribeFileCachesResponse -> ()
rnf DescribeFileCachesResponse' {Int
Maybe [FileCache]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
fileCaches :: Maybe [FileCache]
$sel:httpStatus:DescribeFileCachesResponse' :: DescribeFileCachesResponse -> Int
$sel:nextToken:DescribeFileCachesResponse' :: DescribeFileCachesResponse -> Maybe Text
$sel:fileCaches:DescribeFileCachesResponse' :: DescribeFileCachesResponse -> Maybe [FileCache]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [FileCache]
fileCaches
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus