{-# 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.StorageGateway.DescribeChapCredentials
(
DescribeChapCredentials (..),
newDescribeChapCredentials,
describeChapCredentials_targetARN,
DescribeChapCredentialsResponse (..),
newDescribeChapCredentialsResponse,
describeChapCredentialsResponse_chapCredentials,
describeChapCredentialsResponse_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.StorageGateway.Types
data DescribeChapCredentials = DescribeChapCredentials'
{
DescribeChapCredentials -> Text
targetARN :: Prelude.Text
}
deriving (DescribeChapCredentials -> DescribeChapCredentials -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeChapCredentials -> DescribeChapCredentials -> Bool
$c/= :: DescribeChapCredentials -> DescribeChapCredentials -> Bool
== :: DescribeChapCredentials -> DescribeChapCredentials -> Bool
$c== :: DescribeChapCredentials -> DescribeChapCredentials -> Bool
Prelude.Eq, ReadPrec [DescribeChapCredentials]
ReadPrec DescribeChapCredentials
Int -> ReadS DescribeChapCredentials
ReadS [DescribeChapCredentials]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeChapCredentials]
$creadListPrec :: ReadPrec [DescribeChapCredentials]
readPrec :: ReadPrec DescribeChapCredentials
$creadPrec :: ReadPrec DescribeChapCredentials
readList :: ReadS [DescribeChapCredentials]
$creadList :: ReadS [DescribeChapCredentials]
readsPrec :: Int -> ReadS DescribeChapCredentials
$creadsPrec :: Int -> ReadS DescribeChapCredentials
Prelude.Read, Int -> DescribeChapCredentials -> ShowS
[DescribeChapCredentials] -> ShowS
DescribeChapCredentials -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeChapCredentials] -> ShowS
$cshowList :: [DescribeChapCredentials] -> ShowS
show :: DescribeChapCredentials -> String
$cshow :: DescribeChapCredentials -> String
showsPrec :: Int -> DescribeChapCredentials -> ShowS
$cshowsPrec :: Int -> DescribeChapCredentials -> ShowS
Prelude.Show, forall x. Rep DescribeChapCredentials x -> DescribeChapCredentials
forall x. DescribeChapCredentials -> Rep DescribeChapCredentials x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeChapCredentials x -> DescribeChapCredentials
$cfrom :: forall x. DescribeChapCredentials -> Rep DescribeChapCredentials x
Prelude.Generic)
newDescribeChapCredentials ::
Prelude.Text ->
DescribeChapCredentials
newDescribeChapCredentials :: Text -> DescribeChapCredentials
newDescribeChapCredentials Text
pTargetARN_ =
DescribeChapCredentials' {$sel:targetARN:DescribeChapCredentials' :: Text
targetARN = Text
pTargetARN_}
describeChapCredentials_targetARN :: Lens.Lens' DescribeChapCredentials Prelude.Text
describeChapCredentials_targetARN :: Lens' DescribeChapCredentials Text
describeChapCredentials_targetARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeChapCredentials' {Text
targetARN :: Text
$sel:targetARN:DescribeChapCredentials' :: DescribeChapCredentials -> Text
targetARN} -> Text
targetARN) (\s :: DescribeChapCredentials
s@DescribeChapCredentials' {} Text
a -> DescribeChapCredentials
s {$sel:targetARN:DescribeChapCredentials' :: Text
targetARN = Text
a} :: DescribeChapCredentials)
instance Core.AWSRequest DescribeChapCredentials where
type
AWSResponse DescribeChapCredentials =
DescribeChapCredentialsResponse
request :: (Service -> Service)
-> DescribeChapCredentials -> Request DescribeChapCredentials
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 DescribeChapCredentials
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeChapCredentials)))
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 [ChapInfo] -> Int -> DescribeChapCredentialsResponse
DescribeChapCredentialsResponse'
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
"ChapCredentials"
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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable DescribeChapCredentials where
hashWithSalt :: Int -> DescribeChapCredentials -> Int
hashWithSalt Int
_salt DescribeChapCredentials' {Text
targetARN :: Text
$sel:targetARN:DescribeChapCredentials' :: DescribeChapCredentials -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
targetARN
instance Prelude.NFData DescribeChapCredentials where
rnf :: DescribeChapCredentials -> ()
rnf DescribeChapCredentials' {Text
targetARN :: Text
$sel:targetARN:DescribeChapCredentials' :: DescribeChapCredentials -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
targetARN
instance Data.ToHeaders DescribeChapCredentials where
toHeaders :: DescribeChapCredentials -> 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
"StorageGateway_20130630.DescribeChapCredentials" ::
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 DescribeChapCredentials where
toJSON :: DescribeChapCredentials -> Value
toJSON DescribeChapCredentials' {Text
targetARN :: Text
$sel:targetARN:DescribeChapCredentials' :: DescribeChapCredentials -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"TargetARN" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
targetARN)]
)
instance Data.ToPath DescribeChapCredentials where
toPath :: DescribeChapCredentials -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeChapCredentials where
toQuery :: DescribeChapCredentials -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeChapCredentialsResponse = DescribeChapCredentialsResponse'
{
DescribeChapCredentialsResponse -> Maybe [ChapInfo]
chapCredentials :: Prelude.Maybe [ChapInfo],
DescribeChapCredentialsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeChapCredentialsResponse
-> DescribeChapCredentialsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeChapCredentialsResponse
-> DescribeChapCredentialsResponse -> Bool
$c/= :: DescribeChapCredentialsResponse
-> DescribeChapCredentialsResponse -> Bool
== :: DescribeChapCredentialsResponse
-> DescribeChapCredentialsResponse -> Bool
$c== :: DescribeChapCredentialsResponse
-> DescribeChapCredentialsResponse -> Bool
Prelude.Eq, Int -> DescribeChapCredentialsResponse -> ShowS
[DescribeChapCredentialsResponse] -> ShowS
DescribeChapCredentialsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeChapCredentialsResponse] -> ShowS
$cshowList :: [DescribeChapCredentialsResponse] -> ShowS
show :: DescribeChapCredentialsResponse -> String
$cshow :: DescribeChapCredentialsResponse -> String
showsPrec :: Int -> DescribeChapCredentialsResponse -> ShowS
$cshowsPrec :: Int -> DescribeChapCredentialsResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeChapCredentialsResponse x
-> DescribeChapCredentialsResponse
forall x.
DescribeChapCredentialsResponse
-> Rep DescribeChapCredentialsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeChapCredentialsResponse x
-> DescribeChapCredentialsResponse
$cfrom :: forall x.
DescribeChapCredentialsResponse
-> Rep DescribeChapCredentialsResponse x
Prelude.Generic)
newDescribeChapCredentialsResponse ::
Prelude.Int ->
DescribeChapCredentialsResponse
newDescribeChapCredentialsResponse :: Int -> DescribeChapCredentialsResponse
newDescribeChapCredentialsResponse Int
pHttpStatus_ =
DescribeChapCredentialsResponse'
{ $sel:chapCredentials:DescribeChapCredentialsResponse' :: Maybe [ChapInfo]
chapCredentials =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeChapCredentialsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeChapCredentialsResponse_chapCredentials :: Lens.Lens' DescribeChapCredentialsResponse (Prelude.Maybe [ChapInfo])
describeChapCredentialsResponse_chapCredentials :: Lens' DescribeChapCredentialsResponse (Maybe [ChapInfo])
describeChapCredentialsResponse_chapCredentials = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeChapCredentialsResponse' {Maybe [ChapInfo]
chapCredentials :: Maybe [ChapInfo]
$sel:chapCredentials:DescribeChapCredentialsResponse' :: DescribeChapCredentialsResponse -> Maybe [ChapInfo]
chapCredentials} -> Maybe [ChapInfo]
chapCredentials) (\s :: DescribeChapCredentialsResponse
s@DescribeChapCredentialsResponse' {} Maybe [ChapInfo]
a -> DescribeChapCredentialsResponse
s {$sel:chapCredentials:DescribeChapCredentialsResponse' :: Maybe [ChapInfo]
chapCredentials = Maybe [ChapInfo]
a} :: DescribeChapCredentialsResponse) 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
describeChapCredentialsResponse_httpStatus :: Lens.Lens' DescribeChapCredentialsResponse Prelude.Int
describeChapCredentialsResponse_httpStatus :: Lens' DescribeChapCredentialsResponse Int
describeChapCredentialsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeChapCredentialsResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeChapCredentialsResponse' :: DescribeChapCredentialsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeChapCredentialsResponse
s@DescribeChapCredentialsResponse' {} Int
a -> DescribeChapCredentialsResponse
s {$sel:httpStatus:DescribeChapCredentialsResponse' :: Int
httpStatus = Int
a} :: DescribeChapCredentialsResponse)
instance
Prelude.NFData
DescribeChapCredentialsResponse
where
rnf :: DescribeChapCredentialsResponse -> ()
rnf DescribeChapCredentialsResponse' {Int
Maybe [ChapInfo]
httpStatus :: Int
chapCredentials :: Maybe [ChapInfo]
$sel:httpStatus:DescribeChapCredentialsResponse' :: DescribeChapCredentialsResponse -> Int
$sel:chapCredentials:DescribeChapCredentialsResponse' :: DescribeChapCredentialsResponse -> Maybe [ChapInfo]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [ChapInfo]
chapCredentials
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus