{-# 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.Inspector.DescribeRulesPackages
(
DescribeRulesPackages (..),
newDescribeRulesPackages,
describeRulesPackages_locale,
describeRulesPackages_rulesPackageArns,
DescribeRulesPackagesResponse (..),
newDescribeRulesPackagesResponse,
describeRulesPackagesResponse_httpStatus,
describeRulesPackagesResponse_rulesPackages,
describeRulesPackagesResponse_failedItems,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Inspector.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeRulesPackages = DescribeRulesPackages'
{
DescribeRulesPackages -> Maybe Locale
locale :: Prelude.Maybe Locale,
DescribeRulesPackages -> NonEmpty Text
rulesPackageArns :: Prelude.NonEmpty Prelude.Text
}
deriving (DescribeRulesPackages -> DescribeRulesPackages -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeRulesPackages -> DescribeRulesPackages -> Bool
$c/= :: DescribeRulesPackages -> DescribeRulesPackages -> Bool
== :: DescribeRulesPackages -> DescribeRulesPackages -> Bool
$c== :: DescribeRulesPackages -> DescribeRulesPackages -> Bool
Prelude.Eq, ReadPrec [DescribeRulesPackages]
ReadPrec DescribeRulesPackages
Int -> ReadS DescribeRulesPackages
ReadS [DescribeRulesPackages]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeRulesPackages]
$creadListPrec :: ReadPrec [DescribeRulesPackages]
readPrec :: ReadPrec DescribeRulesPackages
$creadPrec :: ReadPrec DescribeRulesPackages
readList :: ReadS [DescribeRulesPackages]
$creadList :: ReadS [DescribeRulesPackages]
readsPrec :: Int -> ReadS DescribeRulesPackages
$creadsPrec :: Int -> ReadS DescribeRulesPackages
Prelude.Read, Int -> DescribeRulesPackages -> ShowS
[DescribeRulesPackages] -> ShowS
DescribeRulesPackages -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeRulesPackages] -> ShowS
$cshowList :: [DescribeRulesPackages] -> ShowS
show :: DescribeRulesPackages -> String
$cshow :: DescribeRulesPackages -> String
showsPrec :: Int -> DescribeRulesPackages -> ShowS
$cshowsPrec :: Int -> DescribeRulesPackages -> ShowS
Prelude.Show, forall x. Rep DescribeRulesPackages x -> DescribeRulesPackages
forall x. DescribeRulesPackages -> Rep DescribeRulesPackages x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeRulesPackages x -> DescribeRulesPackages
$cfrom :: forall x. DescribeRulesPackages -> Rep DescribeRulesPackages x
Prelude.Generic)
newDescribeRulesPackages ::
Prelude.NonEmpty Prelude.Text ->
DescribeRulesPackages
newDescribeRulesPackages :: NonEmpty Text -> DescribeRulesPackages
newDescribeRulesPackages NonEmpty Text
pRulesPackageArns_ =
DescribeRulesPackages'
{ $sel:locale:DescribeRulesPackages' :: Maybe Locale
locale = forall a. Maybe a
Prelude.Nothing,
$sel:rulesPackageArns:DescribeRulesPackages' :: NonEmpty Text
rulesPackageArns =
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty Text
pRulesPackageArns_
}
describeRulesPackages_locale :: Lens.Lens' DescribeRulesPackages (Prelude.Maybe Locale)
describeRulesPackages_locale :: Lens' DescribeRulesPackages (Maybe Locale)
describeRulesPackages_locale = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRulesPackages' {Maybe Locale
locale :: Maybe Locale
$sel:locale:DescribeRulesPackages' :: DescribeRulesPackages -> Maybe Locale
locale} -> Maybe Locale
locale) (\s :: DescribeRulesPackages
s@DescribeRulesPackages' {} Maybe Locale
a -> DescribeRulesPackages
s {$sel:locale:DescribeRulesPackages' :: Maybe Locale
locale = Maybe Locale
a} :: DescribeRulesPackages)
describeRulesPackages_rulesPackageArns :: Lens.Lens' DescribeRulesPackages (Prelude.NonEmpty Prelude.Text)
describeRulesPackages_rulesPackageArns :: Lens' DescribeRulesPackages (NonEmpty Text)
describeRulesPackages_rulesPackageArns = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRulesPackages' {NonEmpty Text
rulesPackageArns :: NonEmpty Text
$sel:rulesPackageArns:DescribeRulesPackages' :: DescribeRulesPackages -> NonEmpty Text
rulesPackageArns} -> NonEmpty Text
rulesPackageArns) (\s :: DescribeRulesPackages
s@DescribeRulesPackages' {} NonEmpty Text
a -> DescribeRulesPackages
s {$sel:rulesPackageArns:DescribeRulesPackages' :: NonEmpty Text
rulesPackageArns = NonEmpty Text
a} :: DescribeRulesPackages) 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 DescribeRulesPackages where
type
AWSResponse DescribeRulesPackages =
DescribeRulesPackagesResponse
request :: (Service -> Service)
-> DescribeRulesPackages -> Request DescribeRulesPackages
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 DescribeRulesPackages
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeRulesPackages)))
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 ->
Int
-> [RulesPackage]
-> HashMap Text FailedItemDetails
-> DescribeRulesPackagesResponse
DescribeRulesPackagesResponse'
forall (f :: * -> *) a b. Functor 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))
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
"rulesPackages" 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
"failedItems" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
)
instance Prelude.Hashable DescribeRulesPackages where
hashWithSalt :: Int -> DescribeRulesPackages -> Int
hashWithSalt Int
_salt DescribeRulesPackages' {Maybe Locale
NonEmpty Text
rulesPackageArns :: NonEmpty Text
locale :: Maybe Locale
$sel:rulesPackageArns:DescribeRulesPackages' :: DescribeRulesPackages -> NonEmpty Text
$sel:locale:DescribeRulesPackages' :: DescribeRulesPackages -> Maybe Locale
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Locale
locale
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty Text
rulesPackageArns
instance Prelude.NFData DescribeRulesPackages where
rnf :: DescribeRulesPackages -> ()
rnf DescribeRulesPackages' {Maybe Locale
NonEmpty Text
rulesPackageArns :: NonEmpty Text
locale :: Maybe Locale
$sel:rulesPackageArns:DescribeRulesPackages' :: DescribeRulesPackages -> NonEmpty Text
$sel:locale:DescribeRulesPackages' :: DescribeRulesPackages -> Maybe Locale
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Locale
locale
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty Text
rulesPackageArns
instance Data.ToHeaders DescribeRulesPackages where
toHeaders :: DescribeRulesPackages -> 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
"InspectorService.DescribeRulesPackages" ::
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 DescribeRulesPackages where
toJSON :: DescribeRulesPackages -> Value
toJSON DescribeRulesPackages' {Maybe Locale
NonEmpty Text
rulesPackageArns :: NonEmpty Text
locale :: Maybe Locale
$sel:rulesPackageArns:DescribeRulesPackages' :: DescribeRulesPackages -> NonEmpty Text
$sel:locale:DescribeRulesPackages' :: DescribeRulesPackages -> Maybe Locale
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"locale" 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 Locale
locale,
forall a. a -> Maybe a
Prelude.Just
(Key
"rulesPackageArns" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty Text
rulesPackageArns)
]
)
instance Data.ToPath DescribeRulesPackages where
toPath :: DescribeRulesPackages -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeRulesPackages where
toQuery :: DescribeRulesPackages -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeRulesPackagesResponse = DescribeRulesPackagesResponse'
{
DescribeRulesPackagesResponse -> Int
httpStatus :: Prelude.Int,
DescribeRulesPackagesResponse -> [RulesPackage]
rulesPackages :: [RulesPackage],
DescribeRulesPackagesResponse -> HashMap Text FailedItemDetails
failedItems :: Prelude.HashMap Prelude.Text FailedItemDetails
}
deriving (DescribeRulesPackagesResponse
-> DescribeRulesPackagesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeRulesPackagesResponse
-> DescribeRulesPackagesResponse -> Bool
$c/= :: DescribeRulesPackagesResponse
-> DescribeRulesPackagesResponse -> Bool
== :: DescribeRulesPackagesResponse
-> DescribeRulesPackagesResponse -> Bool
$c== :: DescribeRulesPackagesResponse
-> DescribeRulesPackagesResponse -> Bool
Prelude.Eq, ReadPrec [DescribeRulesPackagesResponse]
ReadPrec DescribeRulesPackagesResponse
Int -> ReadS DescribeRulesPackagesResponse
ReadS [DescribeRulesPackagesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeRulesPackagesResponse]
$creadListPrec :: ReadPrec [DescribeRulesPackagesResponse]
readPrec :: ReadPrec DescribeRulesPackagesResponse
$creadPrec :: ReadPrec DescribeRulesPackagesResponse
readList :: ReadS [DescribeRulesPackagesResponse]
$creadList :: ReadS [DescribeRulesPackagesResponse]
readsPrec :: Int -> ReadS DescribeRulesPackagesResponse
$creadsPrec :: Int -> ReadS DescribeRulesPackagesResponse
Prelude.Read, Int -> DescribeRulesPackagesResponse -> ShowS
[DescribeRulesPackagesResponse] -> ShowS
DescribeRulesPackagesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeRulesPackagesResponse] -> ShowS
$cshowList :: [DescribeRulesPackagesResponse] -> ShowS
show :: DescribeRulesPackagesResponse -> String
$cshow :: DescribeRulesPackagesResponse -> String
showsPrec :: Int -> DescribeRulesPackagesResponse -> ShowS
$cshowsPrec :: Int -> DescribeRulesPackagesResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeRulesPackagesResponse x
-> DescribeRulesPackagesResponse
forall x.
DescribeRulesPackagesResponse
-> Rep DescribeRulesPackagesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeRulesPackagesResponse x
-> DescribeRulesPackagesResponse
$cfrom :: forall x.
DescribeRulesPackagesResponse
-> Rep DescribeRulesPackagesResponse x
Prelude.Generic)
newDescribeRulesPackagesResponse ::
Prelude.Int ->
DescribeRulesPackagesResponse
newDescribeRulesPackagesResponse :: Int -> DescribeRulesPackagesResponse
newDescribeRulesPackagesResponse Int
pHttpStatus_ =
DescribeRulesPackagesResponse'
{ $sel:httpStatus:DescribeRulesPackagesResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:rulesPackages:DescribeRulesPackagesResponse' :: [RulesPackage]
rulesPackages = forall a. Monoid a => a
Prelude.mempty,
$sel:failedItems:DescribeRulesPackagesResponse' :: HashMap Text FailedItemDetails
failedItems = forall a. Monoid a => a
Prelude.mempty
}
describeRulesPackagesResponse_httpStatus :: Lens.Lens' DescribeRulesPackagesResponse Prelude.Int
describeRulesPackagesResponse_httpStatus :: Lens' DescribeRulesPackagesResponse Int
describeRulesPackagesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRulesPackagesResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeRulesPackagesResponse' :: DescribeRulesPackagesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeRulesPackagesResponse
s@DescribeRulesPackagesResponse' {} Int
a -> DescribeRulesPackagesResponse
s {$sel:httpStatus:DescribeRulesPackagesResponse' :: Int
httpStatus = Int
a} :: DescribeRulesPackagesResponse)
describeRulesPackagesResponse_rulesPackages :: Lens.Lens' DescribeRulesPackagesResponse [RulesPackage]
describeRulesPackagesResponse_rulesPackages :: Lens' DescribeRulesPackagesResponse [RulesPackage]
describeRulesPackagesResponse_rulesPackages = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRulesPackagesResponse' {[RulesPackage]
rulesPackages :: [RulesPackage]
$sel:rulesPackages:DescribeRulesPackagesResponse' :: DescribeRulesPackagesResponse -> [RulesPackage]
rulesPackages} -> [RulesPackage]
rulesPackages) (\s :: DescribeRulesPackagesResponse
s@DescribeRulesPackagesResponse' {} [RulesPackage]
a -> DescribeRulesPackagesResponse
s {$sel:rulesPackages:DescribeRulesPackagesResponse' :: [RulesPackage]
rulesPackages = [RulesPackage]
a} :: DescribeRulesPackagesResponse) 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
describeRulesPackagesResponse_failedItems :: Lens.Lens' DescribeRulesPackagesResponse (Prelude.HashMap Prelude.Text FailedItemDetails)
describeRulesPackagesResponse_failedItems :: Lens'
DescribeRulesPackagesResponse (HashMap Text FailedItemDetails)
describeRulesPackagesResponse_failedItems = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRulesPackagesResponse' {HashMap Text FailedItemDetails
failedItems :: HashMap Text FailedItemDetails
$sel:failedItems:DescribeRulesPackagesResponse' :: DescribeRulesPackagesResponse -> HashMap Text FailedItemDetails
failedItems} -> HashMap Text FailedItemDetails
failedItems) (\s :: DescribeRulesPackagesResponse
s@DescribeRulesPackagesResponse' {} HashMap Text FailedItemDetails
a -> DescribeRulesPackagesResponse
s {$sel:failedItems:DescribeRulesPackagesResponse' :: HashMap Text FailedItemDetails
failedItems = HashMap Text FailedItemDetails
a} :: DescribeRulesPackagesResponse) 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 Prelude.NFData DescribeRulesPackagesResponse where
rnf :: DescribeRulesPackagesResponse -> ()
rnf DescribeRulesPackagesResponse' {Int
[RulesPackage]
HashMap Text FailedItemDetails
failedItems :: HashMap Text FailedItemDetails
rulesPackages :: [RulesPackage]
httpStatus :: Int
$sel:failedItems:DescribeRulesPackagesResponse' :: DescribeRulesPackagesResponse -> HashMap Text FailedItemDetails
$sel:rulesPackages:DescribeRulesPackagesResponse' :: DescribeRulesPackagesResponse -> [RulesPackage]
$sel:httpStatus:DescribeRulesPackagesResponse' :: DescribeRulesPackagesResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [RulesPackage]
rulesPackages
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf HashMap Text FailedItemDetails
failedItems