{-# 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.StartOnDemandAuditTask
(
StartOnDemandAuditTask (..),
newStartOnDemandAuditTask,
startOnDemandAuditTask_targetCheckNames,
StartOnDemandAuditTaskResponse (..),
newStartOnDemandAuditTaskResponse,
startOnDemandAuditTaskResponse_taskId,
startOnDemandAuditTaskResponse_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 StartOnDemandAuditTask = StartOnDemandAuditTask'
{
StartOnDemandAuditTask -> [Text]
targetCheckNames :: [Prelude.Text]
}
deriving (StartOnDemandAuditTask -> StartOnDemandAuditTask -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartOnDemandAuditTask -> StartOnDemandAuditTask -> Bool
$c/= :: StartOnDemandAuditTask -> StartOnDemandAuditTask -> Bool
== :: StartOnDemandAuditTask -> StartOnDemandAuditTask -> Bool
$c== :: StartOnDemandAuditTask -> StartOnDemandAuditTask -> Bool
Prelude.Eq, ReadPrec [StartOnDemandAuditTask]
ReadPrec StartOnDemandAuditTask
Int -> ReadS StartOnDemandAuditTask
ReadS [StartOnDemandAuditTask]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartOnDemandAuditTask]
$creadListPrec :: ReadPrec [StartOnDemandAuditTask]
readPrec :: ReadPrec StartOnDemandAuditTask
$creadPrec :: ReadPrec StartOnDemandAuditTask
readList :: ReadS [StartOnDemandAuditTask]
$creadList :: ReadS [StartOnDemandAuditTask]
readsPrec :: Int -> ReadS StartOnDemandAuditTask
$creadsPrec :: Int -> ReadS StartOnDemandAuditTask
Prelude.Read, Int -> StartOnDemandAuditTask -> ShowS
[StartOnDemandAuditTask] -> ShowS
StartOnDemandAuditTask -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartOnDemandAuditTask] -> ShowS
$cshowList :: [StartOnDemandAuditTask] -> ShowS
show :: StartOnDemandAuditTask -> String
$cshow :: StartOnDemandAuditTask -> String
showsPrec :: Int -> StartOnDemandAuditTask -> ShowS
$cshowsPrec :: Int -> StartOnDemandAuditTask -> ShowS
Prelude.Show, forall x. Rep StartOnDemandAuditTask x -> StartOnDemandAuditTask
forall x. StartOnDemandAuditTask -> Rep StartOnDemandAuditTask x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep StartOnDemandAuditTask x -> StartOnDemandAuditTask
$cfrom :: forall x. StartOnDemandAuditTask -> Rep StartOnDemandAuditTask x
Prelude.Generic)
newStartOnDemandAuditTask ::
StartOnDemandAuditTask
newStartOnDemandAuditTask :: StartOnDemandAuditTask
newStartOnDemandAuditTask =
StartOnDemandAuditTask'
{ $sel:targetCheckNames:StartOnDemandAuditTask' :: [Text]
targetCheckNames =
forall a. Monoid a => a
Prelude.mempty
}
startOnDemandAuditTask_targetCheckNames :: Lens.Lens' StartOnDemandAuditTask [Prelude.Text]
startOnDemandAuditTask_targetCheckNames :: Lens' StartOnDemandAuditTask [Text]
startOnDemandAuditTask_targetCheckNames = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartOnDemandAuditTask' {[Text]
targetCheckNames :: [Text]
$sel:targetCheckNames:StartOnDemandAuditTask' :: StartOnDemandAuditTask -> [Text]
targetCheckNames} -> [Text]
targetCheckNames) (\s :: StartOnDemandAuditTask
s@StartOnDemandAuditTask' {} [Text]
a -> StartOnDemandAuditTask
s {$sel:targetCheckNames:StartOnDemandAuditTask' :: [Text]
targetCheckNames = [Text]
a} :: StartOnDemandAuditTask) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest StartOnDemandAuditTask where
type
AWSResponse StartOnDemandAuditTask =
StartOnDemandAuditTaskResponse
request :: (Service -> Service)
-> StartOnDemandAuditTask -> Request StartOnDemandAuditTask
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 StartOnDemandAuditTask
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse StartOnDemandAuditTask)))
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 -> StartOnDemandAuditTaskResponse
StartOnDemandAuditTaskResponse'
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 StartOnDemandAuditTask where
hashWithSalt :: Int -> StartOnDemandAuditTask -> Int
hashWithSalt Int
_salt StartOnDemandAuditTask' {[Text]
targetCheckNames :: [Text]
$sel:targetCheckNames:StartOnDemandAuditTask' :: StartOnDemandAuditTask -> [Text]
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
targetCheckNames
instance Prelude.NFData StartOnDemandAuditTask where
rnf :: StartOnDemandAuditTask -> ()
rnf StartOnDemandAuditTask' {[Text]
targetCheckNames :: [Text]
$sel:targetCheckNames:StartOnDemandAuditTask' :: StartOnDemandAuditTask -> [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf [Text]
targetCheckNames
instance Data.ToHeaders StartOnDemandAuditTask where
toHeaders :: StartOnDemandAuditTask -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON StartOnDemandAuditTask where
toJSON :: StartOnDemandAuditTask -> Value
toJSON StartOnDemandAuditTask' {[Text]
targetCheckNames :: [Text]
$sel:targetCheckNames:StartOnDemandAuditTask' :: StartOnDemandAuditTask -> [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"targetCheckNames" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [Text]
targetCheckNames)
]
)
instance Data.ToPath StartOnDemandAuditTask where
toPath :: StartOnDemandAuditTask -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/audit/tasks"
instance Data.ToQuery StartOnDemandAuditTask where
toQuery :: StartOnDemandAuditTask -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data StartOnDemandAuditTaskResponse = StartOnDemandAuditTaskResponse'
{
StartOnDemandAuditTaskResponse -> Maybe Text
taskId :: Prelude.Maybe Prelude.Text,
StartOnDemandAuditTaskResponse -> Int
httpStatus :: Prelude.Int
}
deriving (StartOnDemandAuditTaskResponse
-> StartOnDemandAuditTaskResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartOnDemandAuditTaskResponse
-> StartOnDemandAuditTaskResponse -> Bool
$c/= :: StartOnDemandAuditTaskResponse
-> StartOnDemandAuditTaskResponse -> Bool
== :: StartOnDemandAuditTaskResponse
-> StartOnDemandAuditTaskResponse -> Bool
$c== :: StartOnDemandAuditTaskResponse
-> StartOnDemandAuditTaskResponse -> Bool
Prelude.Eq, ReadPrec [StartOnDemandAuditTaskResponse]
ReadPrec StartOnDemandAuditTaskResponse
Int -> ReadS StartOnDemandAuditTaskResponse
ReadS [StartOnDemandAuditTaskResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartOnDemandAuditTaskResponse]
$creadListPrec :: ReadPrec [StartOnDemandAuditTaskResponse]
readPrec :: ReadPrec StartOnDemandAuditTaskResponse
$creadPrec :: ReadPrec StartOnDemandAuditTaskResponse
readList :: ReadS [StartOnDemandAuditTaskResponse]
$creadList :: ReadS [StartOnDemandAuditTaskResponse]
readsPrec :: Int -> ReadS StartOnDemandAuditTaskResponse
$creadsPrec :: Int -> ReadS StartOnDemandAuditTaskResponse
Prelude.Read, Int -> StartOnDemandAuditTaskResponse -> ShowS
[StartOnDemandAuditTaskResponse] -> ShowS
StartOnDemandAuditTaskResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartOnDemandAuditTaskResponse] -> ShowS
$cshowList :: [StartOnDemandAuditTaskResponse] -> ShowS
show :: StartOnDemandAuditTaskResponse -> String
$cshow :: StartOnDemandAuditTaskResponse -> String
showsPrec :: Int -> StartOnDemandAuditTaskResponse -> ShowS
$cshowsPrec :: Int -> StartOnDemandAuditTaskResponse -> ShowS
Prelude.Show, forall x.
Rep StartOnDemandAuditTaskResponse x
-> StartOnDemandAuditTaskResponse
forall x.
StartOnDemandAuditTaskResponse
-> Rep StartOnDemandAuditTaskResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartOnDemandAuditTaskResponse x
-> StartOnDemandAuditTaskResponse
$cfrom :: forall x.
StartOnDemandAuditTaskResponse
-> Rep StartOnDemandAuditTaskResponse x
Prelude.Generic)
newStartOnDemandAuditTaskResponse ::
Prelude.Int ->
StartOnDemandAuditTaskResponse
newStartOnDemandAuditTaskResponse :: Int -> StartOnDemandAuditTaskResponse
newStartOnDemandAuditTaskResponse Int
pHttpStatus_ =
StartOnDemandAuditTaskResponse'
{ $sel:taskId:StartOnDemandAuditTaskResponse' :: Maybe Text
taskId =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:StartOnDemandAuditTaskResponse' :: Int
httpStatus = Int
pHttpStatus_
}
startOnDemandAuditTaskResponse_taskId :: Lens.Lens' StartOnDemandAuditTaskResponse (Prelude.Maybe Prelude.Text)
startOnDemandAuditTaskResponse_taskId :: Lens' StartOnDemandAuditTaskResponse (Maybe Text)
startOnDemandAuditTaskResponse_taskId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartOnDemandAuditTaskResponse' {Maybe Text
taskId :: Maybe Text
$sel:taskId:StartOnDemandAuditTaskResponse' :: StartOnDemandAuditTaskResponse -> Maybe Text
taskId} -> Maybe Text
taskId) (\s :: StartOnDemandAuditTaskResponse
s@StartOnDemandAuditTaskResponse' {} Maybe Text
a -> StartOnDemandAuditTaskResponse
s {$sel:taskId:StartOnDemandAuditTaskResponse' :: Maybe Text
taskId = Maybe Text
a} :: StartOnDemandAuditTaskResponse)
startOnDemandAuditTaskResponse_httpStatus :: Lens.Lens' StartOnDemandAuditTaskResponse Prelude.Int
startOnDemandAuditTaskResponse_httpStatus :: Lens' StartOnDemandAuditTaskResponse Int
startOnDemandAuditTaskResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartOnDemandAuditTaskResponse' {Int
httpStatus :: Int
$sel:httpStatus:StartOnDemandAuditTaskResponse' :: StartOnDemandAuditTaskResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: StartOnDemandAuditTaskResponse
s@StartOnDemandAuditTaskResponse' {} Int
a -> StartOnDemandAuditTaskResponse
s {$sel:httpStatus:StartOnDemandAuditTaskResponse' :: Int
httpStatus = Int
a} :: StartOnDemandAuditTaskResponse)
instance
Prelude.NFData
StartOnDemandAuditTaskResponse
where
rnf :: StartOnDemandAuditTaskResponse -> ()
rnf StartOnDemandAuditTaskResponse' {Int
Maybe Text
httpStatus :: Int
taskId :: Maybe Text
$sel:httpStatus:StartOnDemandAuditTaskResponse' :: StartOnDemandAuditTaskResponse -> Int
$sel:taskId:StartOnDemandAuditTaskResponse' :: StartOnDemandAuditTaskResponse -> 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