{-# 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.Config.GetComplianceSummaryByResourceType
(
GetComplianceSummaryByResourceType (..),
newGetComplianceSummaryByResourceType,
getComplianceSummaryByResourceType_resourceTypes,
GetComplianceSummaryByResourceTypeResponse (..),
newGetComplianceSummaryByResourceTypeResponse,
getComplianceSummaryByResourceTypeResponse_complianceSummariesByResourceType,
getComplianceSummaryByResourceTypeResponse_httpStatus,
)
where
import Amazonka.Config.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetComplianceSummaryByResourceType = GetComplianceSummaryByResourceType'
{
GetComplianceSummaryByResourceType -> Maybe [Text]
resourceTypes :: Prelude.Maybe [Prelude.Text]
}
deriving (GetComplianceSummaryByResourceType
-> GetComplianceSummaryByResourceType -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetComplianceSummaryByResourceType
-> GetComplianceSummaryByResourceType -> Bool
$c/= :: GetComplianceSummaryByResourceType
-> GetComplianceSummaryByResourceType -> Bool
== :: GetComplianceSummaryByResourceType
-> GetComplianceSummaryByResourceType -> Bool
$c== :: GetComplianceSummaryByResourceType
-> GetComplianceSummaryByResourceType -> Bool
Prelude.Eq, ReadPrec [GetComplianceSummaryByResourceType]
ReadPrec GetComplianceSummaryByResourceType
Int -> ReadS GetComplianceSummaryByResourceType
ReadS [GetComplianceSummaryByResourceType]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetComplianceSummaryByResourceType]
$creadListPrec :: ReadPrec [GetComplianceSummaryByResourceType]
readPrec :: ReadPrec GetComplianceSummaryByResourceType
$creadPrec :: ReadPrec GetComplianceSummaryByResourceType
readList :: ReadS [GetComplianceSummaryByResourceType]
$creadList :: ReadS [GetComplianceSummaryByResourceType]
readsPrec :: Int -> ReadS GetComplianceSummaryByResourceType
$creadsPrec :: Int -> ReadS GetComplianceSummaryByResourceType
Prelude.Read, Int -> GetComplianceSummaryByResourceType -> ShowS
[GetComplianceSummaryByResourceType] -> ShowS
GetComplianceSummaryByResourceType -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetComplianceSummaryByResourceType] -> ShowS
$cshowList :: [GetComplianceSummaryByResourceType] -> ShowS
show :: GetComplianceSummaryByResourceType -> String
$cshow :: GetComplianceSummaryByResourceType -> String
showsPrec :: Int -> GetComplianceSummaryByResourceType -> ShowS
$cshowsPrec :: Int -> GetComplianceSummaryByResourceType -> ShowS
Prelude.Show, forall x.
Rep GetComplianceSummaryByResourceType x
-> GetComplianceSummaryByResourceType
forall x.
GetComplianceSummaryByResourceType
-> Rep GetComplianceSummaryByResourceType x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetComplianceSummaryByResourceType x
-> GetComplianceSummaryByResourceType
$cfrom :: forall x.
GetComplianceSummaryByResourceType
-> Rep GetComplianceSummaryByResourceType x
Prelude.Generic)
newGetComplianceSummaryByResourceType ::
GetComplianceSummaryByResourceType
newGetComplianceSummaryByResourceType :: GetComplianceSummaryByResourceType
newGetComplianceSummaryByResourceType =
GetComplianceSummaryByResourceType'
{ $sel:resourceTypes:GetComplianceSummaryByResourceType' :: Maybe [Text]
resourceTypes =
forall a. Maybe a
Prelude.Nothing
}
getComplianceSummaryByResourceType_resourceTypes :: Lens.Lens' GetComplianceSummaryByResourceType (Prelude.Maybe [Prelude.Text])
getComplianceSummaryByResourceType_resourceTypes :: Lens' GetComplianceSummaryByResourceType (Maybe [Text])
getComplianceSummaryByResourceType_resourceTypes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComplianceSummaryByResourceType' {Maybe [Text]
resourceTypes :: Maybe [Text]
$sel:resourceTypes:GetComplianceSummaryByResourceType' :: GetComplianceSummaryByResourceType -> Maybe [Text]
resourceTypes} -> Maybe [Text]
resourceTypes) (\s :: GetComplianceSummaryByResourceType
s@GetComplianceSummaryByResourceType' {} Maybe [Text]
a -> GetComplianceSummaryByResourceType
s {$sel:resourceTypes:GetComplianceSummaryByResourceType' :: Maybe [Text]
resourceTypes = Maybe [Text]
a} :: GetComplianceSummaryByResourceType) 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
instance
Core.AWSRequest
GetComplianceSummaryByResourceType
where
type
AWSResponse GetComplianceSummaryByResourceType =
GetComplianceSummaryByResourceTypeResponse
request :: (Service -> Service)
-> GetComplianceSummaryByResourceType
-> Request GetComplianceSummaryByResourceType
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 GetComplianceSummaryByResourceType
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse GetComplianceSummaryByResourceType)))
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 [ComplianceSummaryByResourceType]
-> Int -> GetComplianceSummaryByResourceTypeResponse
GetComplianceSummaryByResourceTypeResponse'
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
"ComplianceSummariesByResourceType"
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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance
Prelude.Hashable
GetComplianceSummaryByResourceType
where
hashWithSalt :: Int -> GetComplianceSummaryByResourceType -> Int
hashWithSalt
Int
_salt
GetComplianceSummaryByResourceType' {Maybe [Text]
resourceTypes :: Maybe [Text]
$sel:resourceTypes:GetComplianceSummaryByResourceType' :: GetComplianceSummaryByResourceType -> Maybe [Text]
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
resourceTypes
instance
Prelude.NFData
GetComplianceSummaryByResourceType
where
rnf :: GetComplianceSummaryByResourceType -> ()
rnf GetComplianceSummaryByResourceType' {Maybe [Text]
resourceTypes :: Maybe [Text]
$sel:resourceTypes:GetComplianceSummaryByResourceType' :: GetComplianceSummaryByResourceType -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
resourceTypes
instance
Data.ToHeaders
GetComplianceSummaryByResourceType
where
toHeaders :: GetComplianceSummaryByResourceType -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"StarlingDoveService.GetComplianceSummaryByResourceType" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance
Data.ToJSON
GetComplianceSummaryByResourceType
where
toJSON :: GetComplianceSummaryByResourceType -> Value
toJSON GetComplianceSummaryByResourceType' {Maybe [Text]
resourceTypes :: Maybe [Text]
$sel:resourceTypes:GetComplianceSummaryByResourceType' :: GetComplianceSummaryByResourceType -> Maybe [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ResourceTypes" 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 [Text]
resourceTypes
]
)
instance
Data.ToPath
GetComplianceSummaryByResourceType
where
toPath :: GetComplianceSummaryByResourceType -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
GetComplianceSummaryByResourceType
where
toQuery :: GetComplianceSummaryByResourceType -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetComplianceSummaryByResourceTypeResponse = GetComplianceSummaryByResourceTypeResponse'
{
GetComplianceSummaryByResourceTypeResponse
-> Maybe [ComplianceSummaryByResourceType]
complianceSummariesByResourceType :: Prelude.Maybe [ComplianceSummaryByResourceType],
GetComplianceSummaryByResourceTypeResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetComplianceSummaryByResourceTypeResponse
-> GetComplianceSummaryByResourceTypeResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetComplianceSummaryByResourceTypeResponse
-> GetComplianceSummaryByResourceTypeResponse -> Bool
$c/= :: GetComplianceSummaryByResourceTypeResponse
-> GetComplianceSummaryByResourceTypeResponse -> Bool
== :: GetComplianceSummaryByResourceTypeResponse
-> GetComplianceSummaryByResourceTypeResponse -> Bool
$c== :: GetComplianceSummaryByResourceTypeResponse
-> GetComplianceSummaryByResourceTypeResponse -> Bool
Prelude.Eq, ReadPrec [GetComplianceSummaryByResourceTypeResponse]
ReadPrec GetComplianceSummaryByResourceTypeResponse
Int -> ReadS GetComplianceSummaryByResourceTypeResponse
ReadS [GetComplianceSummaryByResourceTypeResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetComplianceSummaryByResourceTypeResponse]
$creadListPrec :: ReadPrec [GetComplianceSummaryByResourceTypeResponse]
readPrec :: ReadPrec GetComplianceSummaryByResourceTypeResponse
$creadPrec :: ReadPrec GetComplianceSummaryByResourceTypeResponse
readList :: ReadS [GetComplianceSummaryByResourceTypeResponse]
$creadList :: ReadS [GetComplianceSummaryByResourceTypeResponse]
readsPrec :: Int -> ReadS GetComplianceSummaryByResourceTypeResponse
$creadsPrec :: Int -> ReadS GetComplianceSummaryByResourceTypeResponse
Prelude.Read, Int -> GetComplianceSummaryByResourceTypeResponse -> ShowS
[GetComplianceSummaryByResourceTypeResponse] -> ShowS
GetComplianceSummaryByResourceTypeResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetComplianceSummaryByResourceTypeResponse] -> ShowS
$cshowList :: [GetComplianceSummaryByResourceTypeResponse] -> ShowS
show :: GetComplianceSummaryByResourceTypeResponse -> String
$cshow :: GetComplianceSummaryByResourceTypeResponse -> String
showsPrec :: Int -> GetComplianceSummaryByResourceTypeResponse -> ShowS
$cshowsPrec :: Int -> GetComplianceSummaryByResourceTypeResponse -> ShowS
Prelude.Show, forall x.
Rep GetComplianceSummaryByResourceTypeResponse x
-> GetComplianceSummaryByResourceTypeResponse
forall x.
GetComplianceSummaryByResourceTypeResponse
-> Rep GetComplianceSummaryByResourceTypeResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetComplianceSummaryByResourceTypeResponse x
-> GetComplianceSummaryByResourceTypeResponse
$cfrom :: forall x.
GetComplianceSummaryByResourceTypeResponse
-> Rep GetComplianceSummaryByResourceTypeResponse x
Prelude.Generic)
newGetComplianceSummaryByResourceTypeResponse ::
Prelude.Int ->
GetComplianceSummaryByResourceTypeResponse
newGetComplianceSummaryByResourceTypeResponse :: Int -> GetComplianceSummaryByResourceTypeResponse
newGetComplianceSummaryByResourceTypeResponse
Int
pHttpStatus_ =
GetComplianceSummaryByResourceTypeResponse'
{ $sel:complianceSummariesByResourceType:GetComplianceSummaryByResourceTypeResponse' :: Maybe [ComplianceSummaryByResourceType]
complianceSummariesByResourceType =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetComplianceSummaryByResourceTypeResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getComplianceSummaryByResourceTypeResponse_complianceSummariesByResourceType :: Lens.Lens' GetComplianceSummaryByResourceTypeResponse (Prelude.Maybe [ComplianceSummaryByResourceType])
getComplianceSummaryByResourceTypeResponse_complianceSummariesByResourceType :: Lens'
GetComplianceSummaryByResourceTypeResponse
(Maybe [ComplianceSummaryByResourceType])
getComplianceSummaryByResourceTypeResponse_complianceSummariesByResourceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComplianceSummaryByResourceTypeResponse' {Maybe [ComplianceSummaryByResourceType]
complianceSummariesByResourceType :: Maybe [ComplianceSummaryByResourceType]
$sel:complianceSummariesByResourceType:GetComplianceSummaryByResourceTypeResponse' :: GetComplianceSummaryByResourceTypeResponse
-> Maybe [ComplianceSummaryByResourceType]
complianceSummariesByResourceType} -> Maybe [ComplianceSummaryByResourceType]
complianceSummariesByResourceType) (\s :: GetComplianceSummaryByResourceTypeResponse
s@GetComplianceSummaryByResourceTypeResponse' {} Maybe [ComplianceSummaryByResourceType]
a -> GetComplianceSummaryByResourceTypeResponse
s {$sel:complianceSummariesByResourceType:GetComplianceSummaryByResourceTypeResponse' :: Maybe [ComplianceSummaryByResourceType]
complianceSummariesByResourceType = Maybe [ComplianceSummaryByResourceType]
a} :: GetComplianceSummaryByResourceTypeResponse) 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
getComplianceSummaryByResourceTypeResponse_httpStatus :: Lens.Lens' GetComplianceSummaryByResourceTypeResponse Prelude.Int
getComplianceSummaryByResourceTypeResponse_httpStatus :: Lens' GetComplianceSummaryByResourceTypeResponse Int
getComplianceSummaryByResourceTypeResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetComplianceSummaryByResourceTypeResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetComplianceSummaryByResourceTypeResponse' :: GetComplianceSummaryByResourceTypeResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetComplianceSummaryByResourceTypeResponse
s@GetComplianceSummaryByResourceTypeResponse' {} Int
a -> GetComplianceSummaryByResourceTypeResponse
s {$sel:httpStatus:GetComplianceSummaryByResourceTypeResponse' :: Int
httpStatus = Int
a} :: GetComplianceSummaryByResourceTypeResponse)
instance
Prelude.NFData
GetComplianceSummaryByResourceTypeResponse
where
rnf :: GetComplianceSummaryByResourceTypeResponse -> ()
rnf GetComplianceSummaryByResourceTypeResponse' {Int
Maybe [ComplianceSummaryByResourceType]
httpStatus :: Int
complianceSummariesByResourceType :: Maybe [ComplianceSummaryByResourceType]
$sel:httpStatus:GetComplianceSummaryByResourceTypeResponse' :: GetComplianceSummaryByResourceTypeResponse -> Int
$sel:complianceSummariesByResourceType:GetComplianceSummaryByResourceTypeResponse' :: GetComplianceSummaryByResourceTypeResponse
-> Maybe [ComplianceSummaryByResourceType]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [ComplianceSummaryByResourceType]
complianceSummariesByResourceType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus