{-# 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.DescribeAccountAuditConfiguration
(
DescribeAccountAuditConfiguration (..),
newDescribeAccountAuditConfiguration,
DescribeAccountAuditConfigurationResponse (..),
newDescribeAccountAuditConfigurationResponse,
describeAccountAuditConfigurationResponse_auditCheckConfigurations,
describeAccountAuditConfigurationResponse_auditNotificationTargetConfigurations,
describeAccountAuditConfigurationResponse_roleArn,
describeAccountAuditConfigurationResponse_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 DescribeAccountAuditConfiguration = DescribeAccountAuditConfiguration'
{
}
deriving (DescribeAccountAuditConfiguration
-> DescribeAccountAuditConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAccountAuditConfiguration
-> DescribeAccountAuditConfiguration -> Bool
$c/= :: DescribeAccountAuditConfiguration
-> DescribeAccountAuditConfiguration -> Bool
== :: DescribeAccountAuditConfiguration
-> DescribeAccountAuditConfiguration -> Bool
$c== :: DescribeAccountAuditConfiguration
-> DescribeAccountAuditConfiguration -> Bool
Prelude.Eq, ReadPrec [DescribeAccountAuditConfiguration]
ReadPrec DescribeAccountAuditConfiguration
Int -> ReadS DescribeAccountAuditConfiguration
ReadS [DescribeAccountAuditConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAccountAuditConfiguration]
$creadListPrec :: ReadPrec [DescribeAccountAuditConfiguration]
readPrec :: ReadPrec DescribeAccountAuditConfiguration
$creadPrec :: ReadPrec DescribeAccountAuditConfiguration
readList :: ReadS [DescribeAccountAuditConfiguration]
$creadList :: ReadS [DescribeAccountAuditConfiguration]
readsPrec :: Int -> ReadS DescribeAccountAuditConfiguration
$creadsPrec :: Int -> ReadS DescribeAccountAuditConfiguration
Prelude.Read, Int -> DescribeAccountAuditConfiguration -> ShowS
[DescribeAccountAuditConfiguration] -> ShowS
DescribeAccountAuditConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAccountAuditConfiguration] -> ShowS
$cshowList :: [DescribeAccountAuditConfiguration] -> ShowS
show :: DescribeAccountAuditConfiguration -> String
$cshow :: DescribeAccountAuditConfiguration -> String
showsPrec :: Int -> DescribeAccountAuditConfiguration -> ShowS
$cshowsPrec :: Int -> DescribeAccountAuditConfiguration -> ShowS
Prelude.Show, forall x.
Rep DescribeAccountAuditConfiguration x
-> DescribeAccountAuditConfiguration
forall x.
DescribeAccountAuditConfiguration
-> Rep DescribeAccountAuditConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeAccountAuditConfiguration x
-> DescribeAccountAuditConfiguration
$cfrom :: forall x.
DescribeAccountAuditConfiguration
-> Rep DescribeAccountAuditConfiguration x
Prelude.Generic)
newDescribeAccountAuditConfiguration ::
DescribeAccountAuditConfiguration
newDescribeAccountAuditConfiguration :: DescribeAccountAuditConfiguration
newDescribeAccountAuditConfiguration =
DescribeAccountAuditConfiguration
DescribeAccountAuditConfiguration'
instance
Core.AWSRequest
DescribeAccountAuditConfiguration
where
type
AWSResponse DescribeAccountAuditConfiguration =
DescribeAccountAuditConfigurationResponse
request :: (Service -> Service)
-> DescribeAccountAuditConfiguration
-> Request DescribeAccountAuditConfiguration
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 DescribeAccountAuditConfiguration
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse DescribeAccountAuditConfiguration)))
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 (HashMap Text AuditCheckConfiguration)
-> Maybe (HashMap AuditNotificationType AuditNotificationTarget)
-> Maybe Text
-> Int
-> DescribeAccountAuditConfigurationResponse
DescribeAccountAuditConfigurationResponse'
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
"auditCheckConfigurations"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
)
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
"auditNotificationTargetConfigurations"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
)
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
"roleArn")
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
DescribeAccountAuditConfiguration
where
hashWithSalt :: Int -> DescribeAccountAuditConfiguration -> Int
hashWithSalt Int
_salt DescribeAccountAuditConfiguration
_ =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ()
instance
Prelude.NFData
DescribeAccountAuditConfiguration
where
rnf :: DescribeAccountAuditConfiguration -> ()
rnf DescribeAccountAuditConfiguration
_ = ()
instance
Data.ToHeaders
DescribeAccountAuditConfiguration
where
toHeaders :: DescribeAccountAuditConfiguration -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance
Data.ToPath
DescribeAccountAuditConfiguration
where
toPath :: DescribeAccountAuditConfiguration -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/audit/configuration"
instance
Data.ToQuery
DescribeAccountAuditConfiguration
where
toQuery :: DescribeAccountAuditConfiguration -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeAccountAuditConfigurationResponse = DescribeAccountAuditConfigurationResponse'
{
DescribeAccountAuditConfigurationResponse
-> Maybe (HashMap Text AuditCheckConfiguration)
auditCheckConfigurations :: Prelude.Maybe (Prelude.HashMap Prelude.Text AuditCheckConfiguration),
DescribeAccountAuditConfigurationResponse
-> Maybe (HashMap AuditNotificationType AuditNotificationTarget)
auditNotificationTargetConfigurations :: Prelude.Maybe (Prelude.HashMap AuditNotificationType AuditNotificationTarget),
DescribeAccountAuditConfigurationResponse -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text,
DescribeAccountAuditConfigurationResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeAccountAuditConfigurationResponse
-> DescribeAccountAuditConfigurationResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAccountAuditConfigurationResponse
-> DescribeAccountAuditConfigurationResponse -> Bool
$c/= :: DescribeAccountAuditConfigurationResponse
-> DescribeAccountAuditConfigurationResponse -> Bool
== :: DescribeAccountAuditConfigurationResponse
-> DescribeAccountAuditConfigurationResponse -> Bool
$c== :: DescribeAccountAuditConfigurationResponse
-> DescribeAccountAuditConfigurationResponse -> Bool
Prelude.Eq, ReadPrec [DescribeAccountAuditConfigurationResponse]
ReadPrec DescribeAccountAuditConfigurationResponse
Int -> ReadS DescribeAccountAuditConfigurationResponse
ReadS [DescribeAccountAuditConfigurationResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAccountAuditConfigurationResponse]
$creadListPrec :: ReadPrec [DescribeAccountAuditConfigurationResponse]
readPrec :: ReadPrec DescribeAccountAuditConfigurationResponse
$creadPrec :: ReadPrec DescribeAccountAuditConfigurationResponse
readList :: ReadS [DescribeAccountAuditConfigurationResponse]
$creadList :: ReadS [DescribeAccountAuditConfigurationResponse]
readsPrec :: Int -> ReadS DescribeAccountAuditConfigurationResponse
$creadsPrec :: Int -> ReadS DescribeAccountAuditConfigurationResponse
Prelude.Read, Int -> DescribeAccountAuditConfigurationResponse -> ShowS
[DescribeAccountAuditConfigurationResponse] -> ShowS
DescribeAccountAuditConfigurationResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAccountAuditConfigurationResponse] -> ShowS
$cshowList :: [DescribeAccountAuditConfigurationResponse] -> ShowS
show :: DescribeAccountAuditConfigurationResponse -> String
$cshow :: DescribeAccountAuditConfigurationResponse -> String
showsPrec :: Int -> DescribeAccountAuditConfigurationResponse -> ShowS
$cshowsPrec :: Int -> DescribeAccountAuditConfigurationResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeAccountAuditConfigurationResponse x
-> DescribeAccountAuditConfigurationResponse
forall x.
DescribeAccountAuditConfigurationResponse
-> Rep DescribeAccountAuditConfigurationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeAccountAuditConfigurationResponse x
-> DescribeAccountAuditConfigurationResponse
$cfrom :: forall x.
DescribeAccountAuditConfigurationResponse
-> Rep DescribeAccountAuditConfigurationResponse x
Prelude.Generic)
newDescribeAccountAuditConfigurationResponse ::
Prelude.Int ->
DescribeAccountAuditConfigurationResponse
newDescribeAccountAuditConfigurationResponse :: Int -> DescribeAccountAuditConfigurationResponse
newDescribeAccountAuditConfigurationResponse
Int
pHttpStatus_ =
DescribeAccountAuditConfigurationResponse'
{ $sel:auditCheckConfigurations:DescribeAccountAuditConfigurationResponse' :: Maybe (HashMap Text AuditCheckConfiguration)
auditCheckConfigurations =
forall a. Maybe a
Prelude.Nothing,
$sel:auditNotificationTargetConfigurations:DescribeAccountAuditConfigurationResponse' :: Maybe (HashMap AuditNotificationType AuditNotificationTarget)
auditNotificationTargetConfigurations =
forall a. Maybe a
Prelude.Nothing,
$sel:roleArn:DescribeAccountAuditConfigurationResponse' :: Maybe Text
roleArn = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeAccountAuditConfigurationResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeAccountAuditConfigurationResponse_auditCheckConfigurations :: Lens.Lens' DescribeAccountAuditConfigurationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text AuditCheckConfiguration))
describeAccountAuditConfigurationResponse_auditCheckConfigurations :: Lens'
DescribeAccountAuditConfigurationResponse
(Maybe (HashMap Text AuditCheckConfiguration))
describeAccountAuditConfigurationResponse_auditCheckConfigurations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAccountAuditConfigurationResponse' {Maybe (HashMap Text AuditCheckConfiguration)
auditCheckConfigurations :: Maybe (HashMap Text AuditCheckConfiguration)
$sel:auditCheckConfigurations:DescribeAccountAuditConfigurationResponse' :: DescribeAccountAuditConfigurationResponse
-> Maybe (HashMap Text AuditCheckConfiguration)
auditCheckConfigurations} -> Maybe (HashMap Text AuditCheckConfiguration)
auditCheckConfigurations) (\s :: DescribeAccountAuditConfigurationResponse
s@DescribeAccountAuditConfigurationResponse' {} Maybe (HashMap Text AuditCheckConfiguration)
a -> DescribeAccountAuditConfigurationResponse
s {$sel:auditCheckConfigurations:DescribeAccountAuditConfigurationResponse' :: Maybe (HashMap Text AuditCheckConfiguration)
auditCheckConfigurations = Maybe (HashMap Text AuditCheckConfiguration)
a} :: DescribeAccountAuditConfigurationResponse) 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
describeAccountAuditConfigurationResponse_auditNotificationTargetConfigurations :: Lens.Lens' DescribeAccountAuditConfigurationResponse (Prelude.Maybe (Prelude.HashMap AuditNotificationType AuditNotificationTarget))
describeAccountAuditConfigurationResponse_auditNotificationTargetConfigurations :: Lens'
DescribeAccountAuditConfigurationResponse
(Maybe (HashMap AuditNotificationType AuditNotificationTarget))
describeAccountAuditConfigurationResponse_auditNotificationTargetConfigurations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAccountAuditConfigurationResponse' {Maybe (HashMap AuditNotificationType AuditNotificationTarget)
auditNotificationTargetConfigurations :: Maybe (HashMap AuditNotificationType AuditNotificationTarget)
$sel:auditNotificationTargetConfigurations:DescribeAccountAuditConfigurationResponse' :: DescribeAccountAuditConfigurationResponse
-> Maybe (HashMap AuditNotificationType AuditNotificationTarget)
auditNotificationTargetConfigurations} -> Maybe (HashMap AuditNotificationType AuditNotificationTarget)
auditNotificationTargetConfigurations) (\s :: DescribeAccountAuditConfigurationResponse
s@DescribeAccountAuditConfigurationResponse' {} Maybe (HashMap AuditNotificationType AuditNotificationTarget)
a -> DescribeAccountAuditConfigurationResponse
s {$sel:auditNotificationTargetConfigurations:DescribeAccountAuditConfigurationResponse' :: Maybe (HashMap AuditNotificationType AuditNotificationTarget)
auditNotificationTargetConfigurations = Maybe (HashMap AuditNotificationType AuditNotificationTarget)
a} :: DescribeAccountAuditConfigurationResponse) 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
describeAccountAuditConfigurationResponse_roleArn :: Lens.Lens' DescribeAccountAuditConfigurationResponse (Prelude.Maybe Prelude.Text)
describeAccountAuditConfigurationResponse_roleArn :: Lens' DescribeAccountAuditConfigurationResponse (Maybe Text)
describeAccountAuditConfigurationResponse_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAccountAuditConfigurationResponse' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:DescribeAccountAuditConfigurationResponse' :: DescribeAccountAuditConfigurationResponse -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: DescribeAccountAuditConfigurationResponse
s@DescribeAccountAuditConfigurationResponse' {} Maybe Text
a -> DescribeAccountAuditConfigurationResponse
s {$sel:roleArn:DescribeAccountAuditConfigurationResponse' :: Maybe Text
roleArn = Maybe Text
a} :: DescribeAccountAuditConfigurationResponse)
describeAccountAuditConfigurationResponse_httpStatus :: Lens.Lens' DescribeAccountAuditConfigurationResponse Prelude.Int
describeAccountAuditConfigurationResponse_httpStatus :: Lens' DescribeAccountAuditConfigurationResponse Int
describeAccountAuditConfigurationResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAccountAuditConfigurationResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeAccountAuditConfigurationResponse' :: DescribeAccountAuditConfigurationResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeAccountAuditConfigurationResponse
s@DescribeAccountAuditConfigurationResponse' {} Int
a -> DescribeAccountAuditConfigurationResponse
s {$sel:httpStatus:DescribeAccountAuditConfigurationResponse' :: Int
httpStatus = Int
a} :: DescribeAccountAuditConfigurationResponse)
instance
Prelude.NFData
DescribeAccountAuditConfigurationResponse
where
rnf :: DescribeAccountAuditConfigurationResponse -> ()
rnf DescribeAccountAuditConfigurationResponse' {Int
Maybe Text
Maybe (HashMap Text AuditCheckConfiguration)
Maybe (HashMap AuditNotificationType AuditNotificationTarget)
httpStatus :: Int
roleArn :: Maybe Text
auditNotificationTargetConfigurations :: Maybe (HashMap AuditNotificationType AuditNotificationTarget)
auditCheckConfigurations :: Maybe (HashMap Text AuditCheckConfiguration)
$sel:httpStatus:DescribeAccountAuditConfigurationResponse' :: DescribeAccountAuditConfigurationResponse -> Int
$sel:roleArn:DescribeAccountAuditConfigurationResponse' :: DescribeAccountAuditConfigurationResponse -> Maybe Text
$sel:auditNotificationTargetConfigurations:DescribeAccountAuditConfigurationResponse' :: DescribeAccountAuditConfigurationResponse
-> Maybe (HashMap AuditNotificationType AuditNotificationTarget)
$sel:auditCheckConfigurations:DescribeAccountAuditConfigurationResponse' :: DescribeAccountAuditConfigurationResponse
-> Maybe (HashMap Text AuditCheckConfiguration)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text AuditCheckConfiguration)
auditCheckConfigurations
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap AuditNotificationType AuditNotificationTarget)
auditNotificationTargetConfigurations
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
roleArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus