{-# 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.CreateProvisioningClaim
(
CreateProvisioningClaim (..),
newCreateProvisioningClaim,
createProvisioningClaim_templateName,
CreateProvisioningClaimResponse (..),
newCreateProvisioningClaimResponse,
createProvisioningClaimResponse_certificateId,
createProvisioningClaimResponse_certificatePem,
createProvisioningClaimResponse_expiration,
createProvisioningClaimResponse_keyPair,
createProvisioningClaimResponse_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 CreateProvisioningClaim = CreateProvisioningClaim'
{
CreateProvisioningClaim -> Text
templateName :: Prelude.Text
}
deriving (CreateProvisioningClaim -> CreateProvisioningClaim -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateProvisioningClaim -> CreateProvisioningClaim -> Bool
$c/= :: CreateProvisioningClaim -> CreateProvisioningClaim -> Bool
== :: CreateProvisioningClaim -> CreateProvisioningClaim -> Bool
$c== :: CreateProvisioningClaim -> CreateProvisioningClaim -> Bool
Prelude.Eq, ReadPrec [CreateProvisioningClaim]
ReadPrec CreateProvisioningClaim
Int -> ReadS CreateProvisioningClaim
ReadS [CreateProvisioningClaim]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateProvisioningClaim]
$creadListPrec :: ReadPrec [CreateProvisioningClaim]
readPrec :: ReadPrec CreateProvisioningClaim
$creadPrec :: ReadPrec CreateProvisioningClaim
readList :: ReadS [CreateProvisioningClaim]
$creadList :: ReadS [CreateProvisioningClaim]
readsPrec :: Int -> ReadS CreateProvisioningClaim
$creadsPrec :: Int -> ReadS CreateProvisioningClaim
Prelude.Read, Int -> CreateProvisioningClaim -> ShowS
[CreateProvisioningClaim] -> ShowS
CreateProvisioningClaim -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateProvisioningClaim] -> ShowS
$cshowList :: [CreateProvisioningClaim] -> ShowS
show :: CreateProvisioningClaim -> String
$cshow :: CreateProvisioningClaim -> String
showsPrec :: Int -> CreateProvisioningClaim -> ShowS
$cshowsPrec :: Int -> CreateProvisioningClaim -> ShowS
Prelude.Show, forall x. Rep CreateProvisioningClaim x -> CreateProvisioningClaim
forall x. CreateProvisioningClaim -> Rep CreateProvisioningClaim x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateProvisioningClaim x -> CreateProvisioningClaim
$cfrom :: forall x. CreateProvisioningClaim -> Rep CreateProvisioningClaim x
Prelude.Generic)
newCreateProvisioningClaim ::
Prelude.Text ->
CreateProvisioningClaim
newCreateProvisioningClaim :: Text -> CreateProvisioningClaim
newCreateProvisioningClaim Text
pTemplateName_ =
CreateProvisioningClaim'
{ $sel:templateName:CreateProvisioningClaim' :: Text
templateName =
Text
pTemplateName_
}
createProvisioningClaim_templateName :: Lens.Lens' CreateProvisioningClaim Prelude.Text
createProvisioningClaim_templateName :: Lens' CreateProvisioningClaim Text
createProvisioningClaim_templateName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateProvisioningClaim' {Text
templateName :: Text
$sel:templateName:CreateProvisioningClaim' :: CreateProvisioningClaim -> Text
templateName} -> Text
templateName) (\s :: CreateProvisioningClaim
s@CreateProvisioningClaim' {} Text
a -> CreateProvisioningClaim
s {$sel:templateName:CreateProvisioningClaim' :: Text
templateName = Text
a} :: CreateProvisioningClaim)
instance Core.AWSRequest CreateProvisioningClaim where
type
AWSResponse CreateProvisioningClaim =
CreateProvisioningClaimResponse
request :: (Service -> Service)
-> CreateProvisioningClaim -> Request CreateProvisioningClaim
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 CreateProvisioningClaim
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateProvisioningClaim)))
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 Text
-> Maybe Text
-> Maybe POSIX
-> Maybe KeyPair
-> Int
-> CreateProvisioningClaimResponse
CreateProvisioningClaimResponse'
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
"certificateId")
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
"certificatePem")
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
"expiration")
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
"keyPair")
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 CreateProvisioningClaim where
hashWithSalt :: Int -> CreateProvisioningClaim -> Int
hashWithSalt Int
_salt CreateProvisioningClaim' {Text
templateName :: Text
$sel:templateName:CreateProvisioningClaim' :: CreateProvisioningClaim -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
templateName
instance Prelude.NFData CreateProvisioningClaim where
rnf :: CreateProvisioningClaim -> ()
rnf CreateProvisioningClaim' {Text
templateName :: Text
$sel:templateName:CreateProvisioningClaim' :: CreateProvisioningClaim -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
templateName
instance Data.ToHeaders CreateProvisioningClaim where
toHeaders :: CreateProvisioningClaim -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON CreateProvisioningClaim where
toJSON :: CreateProvisioningClaim -> Value
toJSON = forall a b. a -> b -> a
Prelude.const (Object -> Value
Data.Object forall a. Monoid a => a
Prelude.mempty)
instance Data.ToPath CreateProvisioningClaim where
toPath :: CreateProvisioningClaim -> ByteString
toPath CreateProvisioningClaim' {Text
templateName :: Text
$sel:templateName:CreateProvisioningClaim' :: CreateProvisioningClaim -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/provisioning-templates/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
templateName,
ByteString
"/provisioning-claim"
]
instance Data.ToQuery CreateProvisioningClaim where
toQuery :: CreateProvisioningClaim -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateProvisioningClaimResponse = CreateProvisioningClaimResponse'
{
CreateProvisioningClaimResponse -> Maybe Text
certificateId :: Prelude.Maybe Prelude.Text,
CreateProvisioningClaimResponse -> Maybe Text
certificatePem :: Prelude.Maybe Prelude.Text,
CreateProvisioningClaimResponse -> Maybe POSIX
expiration :: Prelude.Maybe Data.POSIX,
CreateProvisioningClaimResponse -> Maybe KeyPair
keyPair :: Prelude.Maybe KeyPair,
CreateProvisioningClaimResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateProvisioningClaimResponse
-> CreateProvisioningClaimResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateProvisioningClaimResponse
-> CreateProvisioningClaimResponse -> Bool
$c/= :: CreateProvisioningClaimResponse
-> CreateProvisioningClaimResponse -> Bool
== :: CreateProvisioningClaimResponse
-> CreateProvisioningClaimResponse -> Bool
$c== :: CreateProvisioningClaimResponse
-> CreateProvisioningClaimResponse -> Bool
Prelude.Eq, Int -> CreateProvisioningClaimResponse -> ShowS
[CreateProvisioningClaimResponse] -> ShowS
CreateProvisioningClaimResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateProvisioningClaimResponse] -> ShowS
$cshowList :: [CreateProvisioningClaimResponse] -> ShowS
show :: CreateProvisioningClaimResponse -> String
$cshow :: CreateProvisioningClaimResponse -> String
showsPrec :: Int -> CreateProvisioningClaimResponse -> ShowS
$cshowsPrec :: Int -> CreateProvisioningClaimResponse -> ShowS
Prelude.Show, forall x.
Rep CreateProvisioningClaimResponse x
-> CreateProvisioningClaimResponse
forall x.
CreateProvisioningClaimResponse
-> Rep CreateProvisioningClaimResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateProvisioningClaimResponse x
-> CreateProvisioningClaimResponse
$cfrom :: forall x.
CreateProvisioningClaimResponse
-> Rep CreateProvisioningClaimResponse x
Prelude.Generic)
newCreateProvisioningClaimResponse ::
Prelude.Int ->
CreateProvisioningClaimResponse
newCreateProvisioningClaimResponse :: Int -> CreateProvisioningClaimResponse
newCreateProvisioningClaimResponse Int
pHttpStatus_ =
CreateProvisioningClaimResponse'
{ $sel:certificateId:CreateProvisioningClaimResponse' :: Maybe Text
certificateId =
forall a. Maybe a
Prelude.Nothing,
$sel:certificatePem:CreateProvisioningClaimResponse' :: Maybe Text
certificatePem = forall a. Maybe a
Prelude.Nothing,
$sel:expiration:CreateProvisioningClaimResponse' :: Maybe POSIX
expiration = forall a. Maybe a
Prelude.Nothing,
$sel:keyPair:CreateProvisioningClaimResponse' :: Maybe KeyPair
keyPair = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateProvisioningClaimResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createProvisioningClaimResponse_certificateId :: Lens.Lens' CreateProvisioningClaimResponse (Prelude.Maybe Prelude.Text)
createProvisioningClaimResponse_certificateId :: Lens' CreateProvisioningClaimResponse (Maybe Text)
createProvisioningClaimResponse_certificateId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateProvisioningClaimResponse' {Maybe Text
certificateId :: Maybe Text
$sel:certificateId:CreateProvisioningClaimResponse' :: CreateProvisioningClaimResponse -> Maybe Text
certificateId} -> Maybe Text
certificateId) (\s :: CreateProvisioningClaimResponse
s@CreateProvisioningClaimResponse' {} Maybe Text
a -> CreateProvisioningClaimResponse
s {$sel:certificateId:CreateProvisioningClaimResponse' :: Maybe Text
certificateId = Maybe Text
a} :: CreateProvisioningClaimResponse)
createProvisioningClaimResponse_certificatePem :: Lens.Lens' CreateProvisioningClaimResponse (Prelude.Maybe Prelude.Text)
createProvisioningClaimResponse_certificatePem :: Lens' CreateProvisioningClaimResponse (Maybe Text)
createProvisioningClaimResponse_certificatePem = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateProvisioningClaimResponse' {Maybe Text
certificatePem :: Maybe Text
$sel:certificatePem:CreateProvisioningClaimResponse' :: CreateProvisioningClaimResponse -> Maybe Text
certificatePem} -> Maybe Text
certificatePem) (\s :: CreateProvisioningClaimResponse
s@CreateProvisioningClaimResponse' {} Maybe Text
a -> CreateProvisioningClaimResponse
s {$sel:certificatePem:CreateProvisioningClaimResponse' :: Maybe Text
certificatePem = Maybe Text
a} :: CreateProvisioningClaimResponse)
createProvisioningClaimResponse_expiration :: Lens.Lens' CreateProvisioningClaimResponse (Prelude.Maybe Prelude.UTCTime)
createProvisioningClaimResponse_expiration :: Lens' CreateProvisioningClaimResponse (Maybe UTCTime)
createProvisioningClaimResponse_expiration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateProvisioningClaimResponse' {Maybe POSIX
expiration :: Maybe POSIX
$sel:expiration:CreateProvisioningClaimResponse' :: CreateProvisioningClaimResponse -> Maybe POSIX
expiration} -> Maybe POSIX
expiration) (\s :: CreateProvisioningClaimResponse
s@CreateProvisioningClaimResponse' {} Maybe POSIX
a -> CreateProvisioningClaimResponse
s {$sel:expiration:CreateProvisioningClaimResponse' :: Maybe POSIX
expiration = Maybe POSIX
a} :: CreateProvisioningClaimResponse) 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 :: Format). Iso' (Time a) UTCTime
Data._Time
createProvisioningClaimResponse_keyPair :: Lens.Lens' CreateProvisioningClaimResponse (Prelude.Maybe KeyPair)
createProvisioningClaimResponse_keyPair :: Lens' CreateProvisioningClaimResponse (Maybe KeyPair)
createProvisioningClaimResponse_keyPair = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateProvisioningClaimResponse' {Maybe KeyPair
keyPair :: Maybe KeyPair
$sel:keyPair:CreateProvisioningClaimResponse' :: CreateProvisioningClaimResponse -> Maybe KeyPair
keyPair} -> Maybe KeyPair
keyPair) (\s :: CreateProvisioningClaimResponse
s@CreateProvisioningClaimResponse' {} Maybe KeyPair
a -> CreateProvisioningClaimResponse
s {$sel:keyPair:CreateProvisioningClaimResponse' :: Maybe KeyPair
keyPair = Maybe KeyPair
a} :: CreateProvisioningClaimResponse)
createProvisioningClaimResponse_httpStatus :: Lens.Lens' CreateProvisioningClaimResponse Prelude.Int
createProvisioningClaimResponse_httpStatus :: Lens' CreateProvisioningClaimResponse Int
createProvisioningClaimResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateProvisioningClaimResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateProvisioningClaimResponse' :: CreateProvisioningClaimResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateProvisioningClaimResponse
s@CreateProvisioningClaimResponse' {} Int
a -> CreateProvisioningClaimResponse
s {$sel:httpStatus:CreateProvisioningClaimResponse' :: Int
httpStatus = Int
a} :: CreateProvisioningClaimResponse)
instance
Prelude.NFData
CreateProvisioningClaimResponse
where
rnf :: CreateProvisioningClaimResponse -> ()
rnf CreateProvisioningClaimResponse' {Int
Maybe Text
Maybe POSIX
Maybe KeyPair
httpStatus :: Int
keyPair :: Maybe KeyPair
expiration :: Maybe POSIX
certificatePem :: Maybe Text
certificateId :: Maybe Text
$sel:httpStatus:CreateProvisioningClaimResponse' :: CreateProvisioningClaimResponse -> Int
$sel:keyPair:CreateProvisioningClaimResponse' :: CreateProvisioningClaimResponse -> Maybe KeyPair
$sel:expiration:CreateProvisioningClaimResponse' :: CreateProvisioningClaimResponse -> Maybe POSIX
$sel:certificatePem:CreateProvisioningClaimResponse' :: CreateProvisioningClaimResponse -> Maybe Text
$sel:certificateId:CreateProvisioningClaimResponse' :: CreateProvisioningClaimResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
certificateId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
certificatePem
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
expiration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe KeyPair
keyPair
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus