{-# 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.IoT.DescribeCACertificate
(
DescribeCACertificate (..),
newDescribeCACertificate,
describeCACertificate_certificateId,
DescribeCACertificateResponse (..),
newDescribeCACertificateResponse,
describeCACertificateResponse_certificateDescription,
describeCACertificateResponse_registrationConfig,
describeCACertificateResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoT.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeCACertificate = DescribeCACertificate'
{
DescribeCACertificate -> Text
certificateId :: Prelude.Text
}
deriving (DescribeCACertificate -> DescribeCACertificate -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeCACertificate -> DescribeCACertificate -> Bool
$c/= :: DescribeCACertificate -> DescribeCACertificate -> Bool
== :: DescribeCACertificate -> DescribeCACertificate -> Bool
$c== :: DescribeCACertificate -> DescribeCACertificate -> Bool
Prelude.Eq, ReadPrec [DescribeCACertificate]
ReadPrec DescribeCACertificate
Int -> ReadS DescribeCACertificate
ReadS [DescribeCACertificate]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeCACertificate]
$creadListPrec :: ReadPrec [DescribeCACertificate]
readPrec :: ReadPrec DescribeCACertificate
$creadPrec :: ReadPrec DescribeCACertificate
readList :: ReadS [DescribeCACertificate]
$creadList :: ReadS [DescribeCACertificate]
readsPrec :: Int -> ReadS DescribeCACertificate
$creadsPrec :: Int -> ReadS DescribeCACertificate
Prelude.Read, Int -> DescribeCACertificate -> ShowS
[DescribeCACertificate] -> ShowS
DescribeCACertificate -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeCACertificate] -> ShowS
$cshowList :: [DescribeCACertificate] -> ShowS
show :: DescribeCACertificate -> String
$cshow :: DescribeCACertificate -> String
showsPrec :: Int -> DescribeCACertificate -> ShowS
$cshowsPrec :: Int -> DescribeCACertificate -> ShowS
Prelude.Show, forall x. Rep DescribeCACertificate x -> DescribeCACertificate
forall x. DescribeCACertificate -> Rep DescribeCACertificate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeCACertificate x -> DescribeCACertificate
$cfrom :: forall x. DescribeCACertificate -> Rep DescribeCACertificate x
Prelude.Generic)
newDescribeCACertificate ::
Prelude.Text ->
DescribeCACertificate
newDescribeCACertificate :: Text -> DescribeCACertificate
newDescribeCACertificate Text
pCertificateId_ =
DescribeCACertificate'
{ $sel:certificateId:DescribeCACertificate' :: Text
certificateId =
Text
pCertificateId_
}
describeCACertificate_certificateId :: Lens.Lens' DescribeCACertificate Prelude.Text
describeCACertificate_certificateId :: Lens' DescribeCACertificate Text
describeCACertificate_certificateId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeCACertificate' {Text
certificateId :: Text
$sel:certificateId:DescribeCACertificate' :: DescribeCACertificate -> Text
certificateId} -> Text
certificateId) (\s :: DescribeCACertificate
s@DescribeCACertificate' {} Text
a -> DescribeCACertificate
s {$sel:certificateId:DescribeCACertificate' :: Text
certificateId = Text
a} :: DescribeCACertificate)
instance Core.AWSRequest DescribeCACertificate where
type
AWSResponse DescribeCACertificate =
DescribeCACertificateResponse
request :: (Service -> Service)
-> DescribeCACertificate -> Request DescribeCACertificate
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 DescribeCACertificate
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeCACertificate)))
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 CACertificateDescription
-> Maybe RegistrationConfig -> Int -> DescribeCACertificateResponse
DescribeCACertificateResponse'
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
"certificateDescription")
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
"registrationConfig")
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 DescribeCACertificate where
hashWithSalt :: Int -> DescribeCACertificate -> Int
hashWithSalt Int
_salt DescribeCACertificate' {Text
certificateId :: Text
$sel:certificateId:DescribeCACertificate' :: DescribeCACertificate -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
certificateId
instance Prelude.NFData DescribeCACertificate where
rnf :: DescribeCACertificate -> ()
rnf DescribeCACertificate' {Text
certificateId :: Text
$sel:certificateId:DescribeCACertificate' :: DescribeCACertificate -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
certificateId
instance Data.ToHeaders DescribeCACertificate where
toHeaders :: DescribeCACertificate -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DescribeCACertificate where
toPath :: DescribeCACertificate -> ByteString
toPath DescribeCACertificate' {Text
certificateId :: Text
$sel:certificateId:DescribeCACertificate' :: DescribeCACertificate -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/cacertificate/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
certificateId]
instance Data.ToQuery DescribeCACertificate where
toQuery :: DescribeCACertificate -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeCACertificateResponse = DescribeCACertificateResponse'
{
DescribeCACertificateResponse -> Maybe CACertificateDescription
certificateDescription :: Prelude.Maybe CACertificateDescription,
DescribeCACertificateResponse -> Maybe RegistrationConfig
registrationConfig :: Prelude.Maybe RegistrationConfig,
DescribeCACertificateResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeCACertificateResponse
-> DescribeCACertificateResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeCACertificateResponse
-> DescribeCACertificateResponse -> Bool
$c/= :: DescribeCACertificateResponse
-> DescribeCACertificateResponse -> Bool
== :: DescribeCACertificateResponse
-> DescribeCACertificateResponse -> Bool
$c== :: DescribeCACertificateResponse
-> DescribeCACertificateResponse -> Bool
Prelude.Eq, ReadPrec [DescribeCACertificateResponse]
ReadPrec DescribeCACertificateResponse
Int -> ReadS DescribeCACertificateResponse
ReadS [DescribeCACertificateResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeCACertificateResponse]
$creadListPrec :: ReadPrec [DescribeCACertificateResponse]
readPrec :: ReadPrec DescribeCACertificateResponse
$creadPrec :: ReadPrec DescribeCACertificateResponse
readList :: ReadS [DescribeCACertificateResponse]
$creadList :: ReadS [DescribeCACertificateResponse]
readsPrec :: Int -> ReadS DescribeCACertificateResponse
$creadsPrec :: Int -> ReadS DescribeCACertificateResponse
Prelude.Read, Int -> DescribeCACertificateResponse -> ShowS
[DescribeCACertificateResponse] -> ShowS
DescribeCACertificateResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeCACertificateResponse] -> ShowS
$cshowList :: [DescribeCACertificateResponse] -> ShowS
show :: DescribeCACertificateResponse -> String
$cshow :: DescribeCACertificateResponse -> String
showsPrec :: Int -> DescribeCACertificateResponse -> ShowS
$cshowsPrec :: Int -> DescribeCACertificateResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeCACertificateResponse x
-> DescribeCACertificateResponse
forall x.
DescribeCACertificateResponse
-> Rep DescribeCACertificateResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeCACertificateResponse x
-> DescribeCACertificateResponse
$cfrom :: forall x.
DescribeCACertificateResponse
-> Rep DescribeCACertificateResponse x
Prelude.Generic)
newDescribeCACertificateResponse ::
Prelude.Int ->
DescribeCACertificateResponse
newDescribeCACertificateResponse :: Int -> DescribeCACertificateResponse
newDescribeCACertificateResponse Int
pHttpStatus_ =
DescribeCACertificateResponse'
{ $sel:certificateDescription:DescribeCACertificateResponse' :: Maybe CACertificateDescription
certificateDescription =
forall a. Maybe a
Prelude.Nothing,
$sel:registrationConfig:DescribeCACertificateResponse' :: Maybe RegistrationConfig
registrationConfig = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeCACertificateResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeCACertificateResponse_certificateDescription :: Lens.Lens' DescribeCACertificateResponse (Prelude.Maybe CACertificateDescription)
describeCACertificateResponse_certificateDescription :: Lens'
DescribeCACertificateResponse (Maybe CACertificateDescription)
describeCACertificateResponse_certificateDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeCACertificateResponse' {Maybe CACertificateDescription
certificateDescription :: Maybe CACertificateDescription
$sel:certificateDescription:DescribeCACertificateResponse' :: DescribeCACertificateResponse -> Maybe CACertificateDescription
certificateDescription} -> Maybe CACertificateDescription
certificateDescription) (\s :: DescribeCACertificateResponse
s@DescribeCACertificateResponse' {} Maybe CACertificateDescription
a -> DescribeCACertificateResponse
s {$sel:certificateDescription:DescribeCACertificateResponse' :: Maybe CACertificateDescription
certificateDescription = Maybe CACertificateDescription
a} :: DescribeCACertificateResponse)
describeCACertificateResponse_registrationConfig :: Lens.Lens' DescribeCACertificateResponse (Prelude.Maybe RegistrationConfig)
describeCACertificateResponse_registrationConfig :: Lens' DescribeCACertificateResponse (Maybe RegistrationConfig)
describeCACertificateResponse_registrationConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeCACertificateResponse' {Maybe RegistrationConfig
registrationConfig :: Maybe RegistrationConfig
$sel:registrationConfig:DescribeCACertificateResponse' :: DescribeCACertificateResponse -> Maybe RegistrationConfig
registrationConfig} -> Maybe RegistrationConfig
registrationConfig) (\s :: DescribeCACertificateResponse
s@DescribeCACertificateResponse' {} Maybe RegistrationConfig
a -> DescribeCACertificateResponse
s {$sel:registrationConfig:DescribeCACertificateResponse' :: Maybe RegistrationConfig
registrationConfig = Maybe RegistrationConfig
a} :: DescribeCACertificateResponse)
describeCACertificateResponse_httpStatus :: Lens.Lens' DescribeCACertificateResponse Prelude.Int
describeCACertificateResponse_httpStatus :: Lens' DescribeCACertificateResponse Int
describeCACertificateResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeCACertificateResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeCACertificateResponse' :: DescribeCACertificateResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeCACertificateResponse
s@DescribeCACertificateResponse' {} Int
a -> DescribeCACertificateResponse
s {$sel:httpStatus:DescribeCACertificateResponse' :: Int
httpStatus = Int
a} :: DescribeCACertificateResponse)
instance Prelude.NFData DescribeCACertificateResponse where
rnf :: DescribeCACertificateResponse -> ()
rnf DescribeCACertificateResponse' {Int
Maybe CACertificateDescription
Maybe RegistrationConfig
httpStatus :: Int
registrationConfig :: Maybe RegistrationConfig
certificateDescription :: Maybe CACertificateDescription
$sel:httpStatus:DescribeCACertificateResponse' :: DescribeCACertificateResponse -> Int
$sel:registrationConfig:DescribeCACertificateResponse' :: DescribeCACertificateResponse -> Maybe RegistrationConfig
$sel:certificateDescription:DescribeCACertificateResponse' :: DescribeCACertificateResponse -> Maybe CACertificateDescription
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe CACertificateDescription
certificateDescription
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RegistrationConfig
registrationConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus