{-# 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.StartThingRegistrationTask
(
StartThingRegistrationTask (..),
newStartThingRegistrationTask,
startThingRegistrationTask_templateBody,
startThingRegistrationTask_inputFileBucket,
startThingRegistrationTask_inputFileKey,
startThingRegistrationTask_roleArn,
StartThingRegistrationTaskResponse (..),
newStartThingRegistrationTaskResponse,
startThingRegistrationTaskResponse_taskId,
startThingRegistrationTaskResponse_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 StartThingRegistrationTask = StartThingRegistrationTask'
{
StartThingRegistrationTask -> Text
templateBody :: Prelude.Text,
StartThingRegistrationTask -> Text
inputFileBucket :: Prelude.Text,
StartThingRegistrationTask -> Text
inputFileKey :: Prelude.Text,
StartThingRegistrationTask -> Text
roleArn :: Prelude.Text
}
deriving (StartThingRegistrationTask -> StartThingRegistrationTask -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartThingRegistrationTask -> StartThingRegistrationTask -> Bool
$c/= :: StartThingRegistrationTask -> StartThingRegistrationTask -> Bool
== :: StartThingRegistrationTask -> StartThingRegistrationTask -> Bool
$c== :: StartThingRegistrationTask -> StartThingRegistrationTask -> Bool
Prelude.Eq, ReadPrec [StartThingRegistrationTask]
ReadPrec StartThingRegistrationTask
Int -> ReadS StartThingRegistrationTask
ReadS [StartThingRegistrationTask]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartThingRegistrationTask]
$creadListPrec :: ReadPrec [StartThingRegistrationTask]
readPrec :: ReadPrec StartThingRegistrationTask
$creadPrec :: ReadPrec StartThingRegistrationTask
readList :: ReadS [StartThingRegistrationTask]
$creadList :: ReadS [StartThingRegistrationTask]
readsPrec :: Int -> ReadS StartThingRegistrationTask
$creadsPrec :: Int -> ReadS StartThingRegistrationTask
Prelude.Read, Int -> StartThingRegistrationTask -> ShowS
[StartThingRegistrationTask] -> ShowS
StartThingRegistrationTask -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartThingRegistrationTask] -> ShowS
$cshowList :: [StartThingRegistrationTask] -> ShowS
show :: StartThingRegistrationTask -> String
$cshow :: StartThingRegistrationTask -> String
showsPrec :: Int -> StartThingRegistrationTask -> ShowS
$cshowsPrec :: Int -> StartThingRegistrationTask -> ShowS
Prelude.Show, forall x.
Rep StartThingRegistrationTask x -> StartThingRegistrationTask
forall x.
StartThingRegistrationTask -> Rep StartThingRegistrationTask x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartThingRegistrationTask x -> StartThingRegistrationTask
$cfrom :: forall x.
StartThingRegistrationTask -> Rep StartThingRegistrationTask x
Prelude.Generic)
newStartThingRegistrationTask ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
StartThingRegistrationTask
newStartThingRegistrationTask :: Text -> Text -> Text -> Text -> StartThingRegistrationTask
newStartThingRegistrationTask
Text
pTemplateBody_
Text
pInputFileBucket_
Text
pInputFileKey_
Text
pRoleArn_ =
StartThingRegistrationTask'
{ $sel:templateBody:StartThingRegistrationTask' :: Text
templateBody =
Text
pTemplateBody_,
$sel:inputFileBucket:StartThingRegistrationTask' :: Text
inputFileBucket = Text
pInputFileBucket_,
$sel:inputFileKey:StartThingRegistrationTask' :: Text
inputFileKey = Text
pInputFileKey_,
$sel:roleArn:StartThingRegistrationTask' :: Text
roleArn = Text
pRoleArn_
}
startThingRegistrationTask_templateBody :: Lens.Lens' StartThingRegistrationTask Prelude.Text
startThingRegistrationTask_templateBody :: Lens' StartThingRegistrationTask Text
startThingRegistrationTask_templateBody = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartThingRegistrationTask' {Text
templateBody :: Text
$sel:templateBody:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
templateBody} -> Text
templateBody) (\s :: StartThingRegistrationTask
s@StartThingRegistrationTask' {} Text
a -> StartThingRegistrationTask
s {$sel:templateBody:StartThingRegistrationTask' :: Text
templateBody = Text
a} :: StartThingRegistrationTask)
startThingRegistrationTask_inputFileBucket :: Lens.Lens' StartThingRegistrationTask Prelude.Text
startThingRegistrationTask_inputFileBucket :: Lens' StartThingRegistrationTask Text
startThingRegistrationTask_inputFileBucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartThingRegistrationTask' {Text
inputFileBucket :: Text
$sel:inputFileBucket:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
inputFileBucket} -> Text
inputFileBucket) (\s :: StartThingRegistrationTask
s@StartThingRegistrationTask' {} Text
a -> StartThingRegistrationTask
s {$sel:inputFileBucket:StartThingRegistrationTask' :: Text
inputFileBucket = Text
a} :: StartThingRegistrationTask)
startThingRegistrationTask_inputFileKey :: Lens.Lens' StartThingRegistrationTask Prelude.Text
startThingRegistrationTask_inputFileKey :: Lens' StartThingRegistrationTask Text
startThingRegistrationTask_inputFileKey = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartThingRegistrationTask' {Text
inputFileKey :: Text
$sel:inputFileKey:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
inputFileKey} -> Text
inputFileKey) (\s :: StartThingRegistrationTask
s@StartThingRegistrationTask' {} Text
a -> StartThingRegistrationTask
s {$sel:inputFileKey:StartThingRegistrationTask' :: Text
inputFileKey = Text
a} :: StartThingRegistrationTask)
startThingRegistrationTask_roleArn :: Lens.Lens' StartThingRegistrationTask Prelude.Text
startThingRegistrationTask_roleArn :: Lens' StartThingRegistrationTask Text
startThingRegistrationTask_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartThingRegistrationTask' {Text
roleArn :: Text
$sel:roleArn:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
roleArn} -> Text
roleArn) (\s :: StartThingRegistrationTask
s@StartThingRegistrationTask' {} Text
a -> StartThingRegistrationTask
s {$sel:roleArn:StartThingRegistrationTask' :: Text
roleArn = Text
a} :: StartThingRegistrationTask)
instance Core.AWSRequest StartThingRegistrationTask where
type
AWSResponse StartThingRegistrationTask =
StartThingRegistrationTaskResponse
request :: (Service -> Service)
-> StartThingRegistrationTask -> Request StartThingRegistrationTask
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 StartThingRegistrationTask
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse StartThingRegistrationTask)))
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 -> StartThingRegistrationTaskResponse
StartThingRegistrationTaskResponse'
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
"taskId")
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 StartThingRegistrationTask where
hashWithSalt :: Int -> StartThingRegistrationTask -> Int
hashWithSalt Int
_salt StartThingRegistrationTask' {Text
roleArn :: Text
inputFileKey :: Text
inputFileBucket :: Text
templateBody :: Text
$sel:roleArn:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
$sel:inputFileKey:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
$sel:inputFileBucket:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
$sel:templateBody:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
templateBody
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
inputFileBucket
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
inputFileKey
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
roleArn
instance Prelude.NFData StartThingRegistrationTask where
rnf :: StartThingRegistrationTask -> ()
rnf StartThingRegistrationTask' {Text
roleArn :: Text
inputFileKey :: Text
inputFileBucket :: Text
templateBody :: Text
$sel:roleArn:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
$sel:inputFileKey:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
$sel:inputFileBucket:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
$sel:templateBody:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
templateBody
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
inputFileBucket
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
inputFileKey
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
roleArn
instance Data.ToHeaders StartThingRegistrationTask where
toHeaders :: StartThingRegistrationTask -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON StartThingRegistrationTask where
toJSON :: StartThingRegistrationTask -> Value
toJSON StartThingRegistrationTask' {Text
roleArn :: Text
inputFileKey :: Text
inputFileBucket :: Text
templateBody :: Text
$sel:roleArn:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
$sel:inputFileKey:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
$sel:inputFileBucket:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
$sel:templateBody:StartThingRegistrationTask' :: StartThingRegistrationTask -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"templateBody" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
templateBody),
forall a. a -> Maybe a
Prelude.Just
(Key
"inputFileBucket" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
inputFileBucket),
forall a. a -> Maybe a
Prelude.Just (Key
"inputFileKey" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
inputFileKey),
forall a. a -> Maybe a
Prelude.Just (Key
"roleArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
roleArn)
]
)
instance Data.ToPath StartThingRegistrationTask where
toPath :: StartThingRegistrationTask -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/thing-registration-tasks"
instance Data.ToQuery StartThingRegistrationTask where
toQuery :: StartThingRegistrationTask -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data StartThingRegistrationTaskResponse = StartThingRegistrationTaskResponse'
{
StartThingRegistrationTaskResponse -> Maybe Text
taskId :: Prelude.Maybe Prelude.Text,
StartThingRegistrationTaskResponse -> Int
httpStatus :: Prelude.Int
}
deriving (StartThingRegistrationTaskResponse
-> StartThingRegistrationTaskResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartThingRegistrationTaskResponse
-> StartThingRegistrationTaskResponse -> Bool
$c/= :: StartThingRegistrationTaskResponse
-> StartThingRegistrationTaskResponse -> Bool
== :: StartThingRegistrationTaskResponse
-> StartThingRegistrationTaskResponse -> Bool
$c== :: StartThingRegistrationTaskResponse
-> StartThingRegistrationTaskResponse -> Bool
Prelude.Eq, ReadPrec [StartThingRegistrationTaskResponse]
ReadPrec StartThingRegistrationTaskResponse
Int -> ReadS StartThingRegistrationTaskResponse
ReadS [StartThingRegistrationTaskResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartThingRegistrationTaskResponse]
$creadListPrec :: ReadPrec [StartThingRegistrationTaskResponse]
readPrec :: ReadPrec StartThingRegistrationTaskResponse
$creadPrec :: ReadPrec StartThingRegistrationTaskResponse
readList :: ReadS [StartThingRegistrationTaskResponse]
$creadList :: ReadS [StartThingRegistrationTaskResponse]
readsPrec :: Int -> ReadS StartThingRegistrationTaskResponse
$creadsPrec :: Int -> ReadS StartThingRegistrationTaskResponse
Prelude.Read, Int -> StartThingRegistrationTaskResponse -> ShowS
[StartThingRegistrationTaskResponse] -> ShowS
StartThingRegistrationTaskResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartThingRegistrationTaskResponse] -> ShowS
$cshowList :: [StartThingRegistrationTaskResponse] -> ShowS
show :: StartThingRegistrationTaskResponse -> String
$cshow :: StartThingRegistrationTaskResponse -> String
showsPrec :: Int -> StartThingRegistrationTaskResponse -> ShowS
$cshowsPrec :: Int -> StartThingRegistrationTaskResponse -> ShowS
Prelude.Show, forall x.
Rep StartThingRegistrationTaskResponse x
-> StartThingRegistrationTaskResponse
forall x.
StartThingRegistrationTaskResponse
-> Rep StartThingRegistrationTaskResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartThingRegistrationTaskResponse x
-> StartThingRegistrationTaskResponse
$cfrom :: forall x.
StartThingRegistrationTaskResponse
-> Rep StartThingRegistrationTaskResponse x
Prelude.Generic)
newStartThingRegistrationTaskResponse ::
Prelude.Int ->
StartThingRegistrationTaskResponse
newStartThingRegistrationTaskResponse :: Int -> StartThingRegistrationTaskResponse
newStartThingRegistrationTaskResponse Int
pHttpStatus_ =
StartThingRegistrationTaskResponse'
{ $sel:taskId:StartThingRegistrationTaskResponse' :: Maybe Text
taskId =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:StartThingRegistrationTaskResponse' :: Int
httpStatus = Int
pHttpStatus_
}
startThingRegistrationTaskResponse_taskId :: Lens.Lens' StartThingRegistrationTaskResponse (Prelude.Maybe Prelude.Text)
startThingRegistrationTaskResponse_taskId :: Lens' StartThingRegistrationTaskResponse (Maybe Text)
startThingRegistrationTaskResponse_taskId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartThingRegistrationTaskResponse' {Maybe Text
taskId :: Maybe Text
$sel:taskId:StartThingRegistrationTaskResponse' :: StartThingRegistrationTaskResponse -> Maybe Text
taskId} -> Maybe Text
taskId) (\s :: StartThingRegistrationTaskResponse
s@StartThingRegistrationTaskResponse' {} Maybe Text
a -> StartThingRegistrationTaskResponse
s {$sel:taskId:StartThingRegistrationTaskResponse' :: Maybe Text
taskId = Maybe Text
a} :: StartThingRegistrationTaskResponse)
startThingRegistrationTaskResponse_httpStatus :: Lens.Lens' StartThingRegistrationTaskResponse Prelude.Int
startThingRegistrationTaskResponse_httpStatus :: Lens' StartThingRegistrationTaskResponse Int
startThingRegistrationTaskResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartThingRegistrationTaskResponse' {Int
httpStatus :: Int
$sel:httpStatus:StartThingRegistrationTaskResponse' :: StartThingRegistrationTaskResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: StartThingRegistrationTaskResponse
s@StartThingRegistrationTaskResponse' {} Int
a -> StartThingRegistrationTaskResponse
s {$sel:httpStatus:StartThingRegistrationTaskResponse' :: Int
httpStatus = Int
a} :: StartThingRegistrationTaskResponse)
instance
Prelude.NFData
StartThingRegistrationTaskResponse
where
rnf :: StartThingRegistrationTaskResponse -> ()
rnf StartThingRegistrationTaskResponse' {Int
Maybe Text
httpStatus :: Int
taskId :: Maybe Text
$sel:httpStatus:StartThingRegistrationTaskResponse' :: StartThingRegistrationTaskResponse -> Int
$sel:taskId:StartThingRegistrationTaskResponse' :: StartThingRegistrationTaskResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
taskId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus