{-# 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.IoT1ClickDevices.FinalizeDeviceClaim
(
FinalizeDeviceClaim (..),
newFinalizeDeviceClaim,
finalizeDeviceClaim_tags,
finalizeDeviceClaim_deviceId,
FinalizeDeviceClaimResponse (..),
newFinalizeDeviceClaimResponse,
finalizeDeviceClaimResponse_state,
finalizeDeviceClaimResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoT1ClickDevices.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data FinalizeDeviceClaim = FinalizeDeviceClaim'
{
FinalizeDeviceClaim -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
FinalizeDeviceClaim -> Text
deviceId :: Prelude.Text
}
deriving (FinalizeDeviceClaim -> FinalizeDeviceClaim -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FinalizeDeviceClaim -> FinalizeDeviceClaim -> Bool
$c/= :: FinalizeDeviceClaim -> FinalizeDeviceClaim -> Bool
== :: FinalizeDeviceClaim -> FinalizeDeviceClaim -> Bool
$c== :: FinalizeDeviceClaim -> FinalizeDeviceClaim -> Bool
Prelude.Eq, ReadPrec [FinalizeDeviceClaim]
ReadPrec FinalizeDeviceClaim
Int -> ReadS FinalizeDeviceClaim
ReadS [FinalizeDeviceClaim]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [FinalizeDeviceClaim]
$creadListPrec :: ReadPrec [FinalizeDeviceClaim]
readPrec :: ReadPrec FinalizeDeviceClaim
$creadPrec :: ReadPrec FinalizeDeviceClaim
readList :: ReadS [FinalizeDeviceClaim]
$creadList :: ReadS [FinalizeDeviceClaim]
readsPrec :: Int -> ReadS FinalizeDeviceClaim
$creadsPrec :: Int -> ReadS FinalizeDeviceClaim
Prelude.Read, Int -> FinalizeDeviceClaim -> ShowS
[FinalizeDeviceClaim] -> ShowS
FinalizeDeviceClaim -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FinalizeDeviceClaim] -> ShowS
$cshowList :: [FinalizeDeviceClaim] -> ShowS
show :: FinalizeDeviceClaim -> String
$cshow :: FinalizeDeviceClaim -> String
showsPrec :: Int -> FinalizeDeviceClaim -> ShowS
$cshowsPrec :: Int -> FinalizeDeviceClaim -> ShowS
Prelude.Show, forall x. Rep FinalizeDeviceClaim x -> FinalizeDeviceClaim
forall x. FinalizeDeviceClaim -> Rep FinalizeDeviceClaim x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep FinalizeDeviceClaim x -> FinalizeDeviceClaim
$cfrom :: forall x. FinalizeDeviceClaim -> Rep FinalizeDeviceClaim x
Prelude.Generic)
newFinalizeDeviceClaim ::
Prelude.Text ->
FinalizeDeviceClaim
newFinalizeDeviceClaim :: Text -> FinalizeDeviceClaim
newFinalizeDeviceClaim Text
pDeviceId_ =
FinalizeDeviceClaim'
{ $sel:tags:FinalizeDeviceClaim' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
$sel:deviceId:FinalizeDeviceClaim' :: Text
deviceId = Text
pDeviceId_
}
finalizeDeviceClaim_tags :: Lens.Lens' FinalizeDeviceClaim (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
finalizeDeviceClaim_tags :: Lens' FinalizeDeviceClaim (Maybe (HashMap Text Text))
finalizeDeviceClaim_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FinalizeDeviceClaim' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:FinalizeDeviceClaim' :: FinalizeDeviceClaim -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: FinalizeDeviceClaim
s@FinalizeDeviceClaim' {} Maybe (HashMap Text Text)
a -> FinalizeDeviceClaim
s {$sel:tags:FinalizeDeviceClaim' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: FinalizeDeviceClaim) 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
finalizeDeviceClaim_deviceId :: Lens.Lens' FinalizeDeviceClaim Prelude.Text
finalizeDeviceClaim_deviceId :: Lens' FinalizeDeviceClaim Text
finalizeDeviceClaim_deviceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FinalizeDeviceClaim' {Text
deviceId :: Text
$sel:deviceId:FinalizeDeviceClaim' :: FinalizeDeviceClaim -> Text
deviceId} -> Text
deviceId) (\s :: FinalizeDeviceClaim
s@FinalizeDeviceClaim' {} Text
a -> FinalizeDeviceClaim
s {$sel:deviceId:FinalizeDeviceClaim' :: Text
deviceId = Text
a} :: FinalizeDeviceClaim)
instance Core.AWSRequest FinalizeDeviceClaim where
type
AWSResponse FinalizeDeviceClaim =
FinalizeDeviceClaimResponse
request :: (Service -> Service)
-> FinalizeDeviceClaim -> Request FinalizeDeviceClaim
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy FinalizeDeviceClaim
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse FinalizeDeviceClaim)))
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 -> Int -> FinalizeDeviceClaimResponse
FinalizeDeviceClaimResponse'
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
"state")
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 FinalizeDeviceClaim where
hashWithSalt :: Int -> FinalizeDeviceClaim -> Int
hashWithSalt Int
_salt FinalizeDeviceClaim' {Maybe (HashMap Text Text)
Text
deviceId :: Text
tags :: Maybe (HashMap Text Text)
$sel:deviceId:FinalizeDeviceClaim' :: FinalizeDeviceClaim -> Text
$sel:tags:FinalizeDeviceClaim' :: FinalizeDeviceClaim -> Maybe (HashMap Text Text)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
deviceId
instance Prelude.NFData FinalizeDeviceClaim where
rnf :: FinalizeDeviceClaim -> ()
rnf FinalizeDeviceClaim' {Maybe (HashMap Text Text)
Text
deviceId :: Text
tags :: Maybe (HashMap Text Text)
$sel:deviceId:FinalizeDeviceClaim' :: FinalizeDeviceClaim -> Text
$sel:tags:FinalizeDeviceClaim' :: FinalizeDeviceClaim -> Maybe (HashMap Text Text)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
deviceId
instance Data.ToHeaders FinalizeDeviceClaim where
toHeaders :: FinalizeDeviceClaim -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON FinalizeDeviceClaim where
toJSON :: FinalizeDeviceClaim -> Value
toJSON FinalizeDeviceClaim' {Maybe (HashMap Text Text)
Text
deviceId :: Text
tags :: Maybe (HashMap Text Text)
$sel:deviceId:FinalizeDeviceClaim' :: FinalizeDeviceClaim -> Text
$sel:tags:FinalizeDeviceClaim' :: FinalizeDeviceClaim -> Maybe (HashMap Text Text)
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[(Key
"tags" 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 (HashMap Text Text)
tags]
)
instance Data.ToPath FinalizeDeviceClaim where
toPath :: FinalizeDeviceClaim -> ByteString
toPath FinalizeDeviceClaim' {Maybe (HashMap Text Text)
Text
deviceId :: Text
tags :: Maybe (HashMap Text Text)
$sel:deviceId:FinalizeDeviceClaim' :: FinalizeDeviceClaim -> Text
$sel:tags:FinalizeDeviceClaim' :: FinalizeDeviceClaim -> Maybe (HashMap Text Text)
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/devices/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
deviceId, ByteString
"/finalize-claim"]
instance Data.ToQuery FinalizeDeviceClaim where
toQuery :: FinalizeDeviceClaim -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data FinalizeDeviceClaimResponse = FinalizeDeviceClaimResponse'
{
FinalizeDeviceClaimResponse -> Maybe Text
state :: Prelude.Maybe Prelude.Text,
FinalizeDeviceClaimResponse -> Int
httpStatus :: Prelude.Int
}
deriving (FinalizeDeviceClaimResponse -> FinalizeDeviceClaimResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FinalizeDeviceClaimResponse -> FinalizeDeviceClaimResponse -> Bool
$c/= :: FinalizeDeviceClaimResponse -> FinalizeDeviceClaimResponse -> Bool
== :: FinalizeDeviceClaimResponse -> FinalizeDeviceClaimResponse -> Bool
$c== :: FinalizeDeviceClaimResponse -> FinalizeDeviceClaimResponse -> Bool
Prelude.Eq, ReadPrec [FinalizeDeviceClaimResponse]
ReadPrec FinalizeDeviceClaimResponse
Int -> ReadS FinalizeDeviceClaimResponse
ReadS [FinalizeDeviceClaimResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [FinalizeDeviceClaimResponse]
$creadListPrec :: ReadPrec [FinalizeDeviceClaimResponse]
readPrec :: ReadPrec FinalizeDeviceClaimResponse
$creadPrec :: ReadPrec FinalizeDeviceClaimResponse
readList :: ReadS [FinalizeDeviceClaimResponse]
$creadList :: ReadS [FinalizeDeviceClaimResponse]
readsPrec :: Int -> ReadS FinalizeDeviceClaimResponse
$creadsPrec :: Int -> ReadS FinalizeDeviceClaimResponse
Prelude.Read, Int -> FinalizeDeviceClaimResponse -> ShowS
[FinalizeDeviceClaimResponse] -> ShowS
FinalizeDeviceClaimResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FinalizeDeviceClaimResponse] -> ShowS
$cshowList :: [FinalizeDeviceClaimResponse] -> ShowS
show :: FinalizeDeviceClaimResponse -> String
$cshow :: FinalizeDeviceClaimResponse -> String
showsPrec :: Int -> FinalizeDeviceClaimResponse -> ShowS
$cshowsPrec :: Int -> FinalizeDeviceClaimResponse -> ShowS
Prelude.Show, forall x.
Rep FinalizeDeviceClaimResponse x -> FinalizeDeviceClaimResponse
forall x.
FinalizeDeviceClaimResponse -> Rep FinalizeDeviceClaimResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep FinalizeDeviceClaimResponse x -> FinalizeDeviceClaimResponse
$cfrom :: forall x.
FinalizeDeviceClaimResponse -> Rep FinalizeDeviceClaimResponse x
Prelude.Generic)
newFinalizeDeviceClaimResponse ::
Prelude.Int ->
FinalizeDeviceClaimResponse
newFinalizeDeviceClaimResponse :: Int -> FinalizeDeviceClaimResponse
newFinalizeDeviceClaimResponse Int
pHttpStatus_ =
FinalizeDeviceClaimResponse'
{ $sel:state:FinalizeDeviceClaimResponse' :: Maybe Text
state =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:FinalizeDeviceClaimResponse' :: Int
httpStatus = Int
pHttpStatus_
}
finalizeDeviceClaimResponse_state :: Lens.Lens' FinalizeDeviceClaimResponse (Prelude.Maybe Prelude.Text)
finalizeDeviceClaimResponse_state :: Lens' FinalizeDeviceClaimResponse (Maybe Text)
finalizeDeviceClaimResponse_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FinalizeDeviceClaimResponse' {Maybe Text
state :: Maybe Text
$sel:state:FinalizeDeviceClaimResponse' :: FinalizeDeviceClaimResponse -> Maybe Text
state} -> Maybe Text
state) (\s :: FinalizeDeviceClaimResponse
s@FinalizeDeviceClaimResponse' {} Maybe Text
a -> FinalizeDeviceClaimResponse
s {$sel:state:FinalizeDeviceClaimResponse' :: Maybe Text
state = Maybe Text
a} :: FinalizeDeviceClaimResponse)
finalizeDeviceClaimResponse_httpStatus :: Lens.Lens' FinalizeDeviceClaimResponse Prelude.Int
finalizeDeviceClaimResponse_httpStatus :: Lens' FinalizeDeviceClaimResponse Int
finalizeDeviceClaimResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FinalizeDeviceClaimResponse' {Int
httpStatus :: Int
$sel:httpStatus:FinalizeDeviceClaimResponse' :: FinalizeDeviceClaimResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: FinalizeDeviceClaimResponse
s@FinalizeDeviceClaimResponse' {} Int
a -> FinalizeDeviceClaimResponse
s {$sel:httpStatus:FinalizeDeviceClaimResponse' :: Int
httpStatus = Int
a} :: FinalizeDeviceClaimResponse)
instance Prelude.NFData FinalizeDeviceClaimResponse where
rnf :: FinalizeDeviceClaimResponse -> ()
rnf FinalizeDeviceClaimResponse' {Int
Maybe Text
httpStatus :: Int
state :: Maybe Text
$sel:httpStatus:FinalizeDeviceClaimResponse' :: FinalizeDeviceClaimResponse -> Int
$sel:state:FinalizeDeviceClaimResponse' :: FinalizeDeviceClaimResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
state
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus