{-# 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.Discovery.DescribeConfigurations
(
DescribeConfigurations (..),
newDescribeConfigurations,
describeConfigurations_configurationIds,
DescribeConfigurationsResponse (..),
newDescribeConfigurationsResponse,
describeConfigurationsResponse_configurations,
describeConfigurationsResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Discovery.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeConfigurations = DescribeConfigurations'
{
DescribeConfigurations -> [Text]
configurationIds :: [Prelude.Text]
}
deriving (DescribeConfigurations -> DescribeConfigurations -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeConfigurations -> DescribeConfigurations -> Bool
$c/= :: DescribeConfigurations -> DescribeConfigurations -> Bool
== :: DescribeConfigurations -> DescribeConfigurations -> Bool
$c== :: DescribeConfigurations -> DescribeConfigurations -> Bool
Prelude.Eq, ReadPrec [DescribeConfigurations]
ReadPrec DescribeConfigurations
Int -> ReadS DescribeConfigurations
ReadS [DescribeConfigurations]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeConfigurations]
$creadListPrec :: ReadPrec [DescribeConfigurations]
readPrec :: ReadPrec DescribeConfigurations
$creadPrec :: ReadPrec DescribeConfigurations
readList :: ReadS [DescribeConfigurations]
$creadList :: ReadS [DescribeConfigurations]
readsPrec :: Int -> ReadS DescribeConfigurations
$creadsPrec :: Int -> ReadS DescribeConfigurations
Prelude.Read, Int -> DescribeConfigurations -> ShowS
[DescribeConfigurations] -> ShowS
DescribeConfigurations -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeConfigurations] -> ShowS
$cshowList :: [DescribeConfigurations] -> ShowS
show :: DescribeConfigurations -> String
$cshow :: DescribeConfigurations -> String
showsPrec :: Int -> DescribeConfigurations -> ShowS
$cshowsPrec :: Int -> DescribeConfigurations -> ShowS
Prelude.Show, forall x. Rep DescribeConfigurations x -> DescribeConfigurations
forall x. DescribeConfigurations -> Rep DescribeConfigurations x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeConfigurations x -> DescribeConfigurations
$cfrom :: forall x. DescribeConfigurations -> Rep DescribeConfigurations x
Prelude.Generic)
newDescribeConfigurations ::
DescribeConfigurations
newDescribeConfigurations :: DescribeConfigurations
newDescribeConfigurations =
DescribeConfigurations'
{ $sel:configurationIds:DescribeConfigurations' :: [Text]
configurationIds =
forall a. Monoid a => a
Prelude.mempty
}
describeConfigurations_configurationIds :: Lens.Lens' DescribeConfigurations [Prelude.Text]
describeConfigurations_configurationIds :: Lens' DescribeConfigurations [Text]
describeConfigurations_configurationIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeConfigurations' {[Text]
configurationIds :: [Text]
$sel:configurationIds:DescribeConfigurations' :: DescribeConfigurations -> [Text]
configurationIds} -> [Text]
configurationIds) (\s :: DescribeConfigurations
s@DescribeConfigurations' {} [Text]
a -> DescribeConfigurations
s {$sel:configurationIds:DescribeConfigurations' :: [Text]
configurationIds = [Text]
a} :: DescribeConfigurations) 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 DescribeConfigurations where
type
AWSResponse DescribeConfigurations =
DescribeConfigurationsResponse
request :: (Service -> Service)
-> DescribeConfigurations -> Request DescribeConfigurations
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 DescribeConfigurations
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeConfigurations)))
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 Text] -> Int -> DescribeConfigurationsResponse
DescribeConfigurationsResponse'
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
"configurations" 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 DescribeConfigurations where
hashWithSalt :: Int -> DescribeConfigurations -> Int
hashWithSalt Int
_salt DescribeConfigurations' {[Text]
configurationIds :: [Text]
$sel:configurationIds:DescribeConfigurations' :: DescribeConfigurations -> [Text]
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
configurationIds
instance Prelude.NFData DescribeConfigurations where
rnf :: DescribeConfigurations -> ()
rnf DescribeConfigurations' {[Text]
configurationIds :: [Text]
$sel:configurationIds:DescribeConfigurations' :: DescribeConfigurations -> [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf [Text]
configurationIds
instance Data.ToHeaders DescribeConfigurations where
toHeaders :: DescribeConfigurations -> 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
"AWSPoseidonService_V2015_11_01.DescribeConfigurations" ::
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 DescribeConfigurations where
toJSON :: DescribeConfigurations -> Value
toJSON DescribeConfigurations' {[Text]
configurationIds :: [Text]
$sel:configurationIds:DescribeConfigurations' :: DescribeConfigurations -> [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"configurationIds" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [Text]
configurationIds)
]
)
instance Data.ToPath DescribeConfigurations where
toPath :: DescribeConfigurations -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeConfigurations where
toQuery :: DescribeConfigurations -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeConfigurationsResponse = DescribeConfigurationsResponse'
{
DescribeConfigurationsResponse -> Maybe [HashMap Text Text]
configurations :: Prelude.Maybe [Prelude.HashMap Prelude.Text Prelude.Text],
DescribeConfigurationsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeConfigurationsResponse
-> DescribeConfigurationsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeConfigurationsResponse
-> DescribeConfigurationsResponse -> Bool
$c/= :: DescribeConfigurationsResponse
-> DescribeConfigurationsResponse -> Bool
== :: DescribeConfigurationsResponse
-> DescribeConfigurationsResponse -> Bool
$c== :: DescribeConfigurationsResponse
-> DescribeConfigurationsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeConfigurationsResponse]
ReadPrec DescribeConfigurationsResponse
Int -> ReadS DescribeConfigurationsResponse
ReadS [DescribeConfigurationsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeConfigurationsResponse]
$creadListPrec :: ReadPrec [DescribeConfigurationsResponse]
readPrec :: ReadPrec DescribeConfigurationsResponse
$creadPrec :: ReadPrec DescribeConfigurationsResponse
readList :: ReadS [DescribeConfigurationsResponse]
$creadList :: ReadS [DescribeConfigurationsResponse]
readsPrec :: Int -> ReadS DescribeConfigurationsResponse
$creadsPrec :: Int -> ReadS DescribeConfigurationsResponse
Prelude.Read, Int -> DescribeConfigurationsResponse -> ShowS
[DescribeConfigurationsResponse] -> ShowS
DescribeConfigurationsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeConfigurationsResponse] -> ShowS
$cshowList :: [DescribeConfigurationsResponse] -> ShowS
show :: DescribeConfigurationsResponse -> String
$cshow :: DescribeConfigurationsResponse -> String
showsPrec :: Int -> DescribeConfigurationsResponse -> ShowS
$cshowsPrec :: Int -> DescribeConfigurationsResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeConfigurationsResponse x
-> DescribeConfigurationsResponse
forall x.
DescribeConfigurationsResponse
-> Rep DescribeConfigurationsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeConfigurationsResponse x
-> DescribeConfigurationsResponse
$cfrom :: forall x.
DescribeConfigurationsResponse
-> Rep DescribeConfigurationsResponse x
Prelude.Generic)
newDescribeConfigurationsResponse ::
Prelude.Int ->
DescribeConfigurationsResponse
newDescribeConfigurationsResponse :: Int -> DescribeConfigurationsResponse
newDescribeConfigurationsResponse Int
pHttpStatus_ =
DescribeConfigurationsResponse'
{ $sel:configurations:DescribeConfigurationsResponse' :: Maybe [HashMap Text Text]
configurations =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeConfigurationsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeConfigurationsResponse_configurations :: Lens.Lens' DescribeConfigurationsResponse (Prelude.Maybe [Prelude.HashMap Prelude.Text Prelude.Text])
describeConfigurationsResponse_configurations :: Lens' DescribeConfigurationsResponse (Maybe [HashMap Text Text])
describeConfigurationsResponse_configurations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeConfigurationsResponse' {Maybe [HashMap Text Text]
configurations :: Maybe [HashMap Text Text]
$sel:configurations:DescribeConfigurationsResponse' :: DescribeConfigurationsResponse -> Maybe [HashMap Text Text]
configurations} -> Maybe [HashMap Text Text]
configurations) (\s :: DescribeConfigurationsResponse
s@DescribeConfigurationsResponse' {} Maybe [HashMap Text Text]
a -> DescribeConfigurationsResponse
s {$sel:configurations:DescribeConfigurationsResponse' :: Maybe [HashMap Text Text]
configurations = Maybe [HashMap Text Text]
a} :: DescribeConfigurationsResponse) 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
describeConfigurationsResponse_httpStatus :: Lens.Lens' DescribeConfigurationsResponse Prelude.Int
describeConfigurationsResponse_httpStatus :: Lens' DescribeConfigurationsResponse Int
describeConfigurationsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeConfigurationsResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeConfigurationsResponse' :: DescribeConfigurationsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeConfigurationsResponse
s@DescribeConfigurationsResponse' {} Int
a -> DescribeConfigurationsResponse
s {$sel:httpStatus:DescribeConfigurationsResponse' :: Int
httpStatus = Int
a} :: DescribeConfigurationsResponse)
instance
Prelude.NFData
DescribeConfigurationsResponse
where
rnf :: DescribeConfigurationsResponse -> ()
rnf DescribeConfigurationsResponse' {Int
Maybe [HashMap Text Text]
httpStatus :: Int
configurations :: Maybe [HashMap Text Text]
$sel:httpStatus:DescribeConfigurationsResponse' :: DescribeConfigurationsResponse -> Int
$sel:configurations:DescribeConfigurationsResponse' :: DescribeConfigurationsResponse -> Maybe [HashMap Text Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [HashMap Text Text]
configurations
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus