{-# 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.RDS.DescribeDBEngineVersions
(
DescribeDBEngineVersions (..),
newDescribeDBEngineVersions,
describeDBEngineVersions_engineVersion,
describeDBEngineVersions_listSupportedTimezones,
describeDBEngineVersions_defaultOnly,
describeDBEngineVersions_includeAll,
describeDBEngineVersions_filters,
describeDBEngineVersions_engine,
describeDBEngineVersions_dbParameterGroupFamily,
describeDBEngineVersions_listSupportedCharacterSets,
describeDBEngineVersions_marker,
describeDBEngineVersions_maxRecords,
DescribeDBEngineVersionsResponse (..),
newDescribeDBEngineVersionsResponse,
describeDBEngineVersionsResponse_marker,
describeDBEngineVersionsResponse_dbEngineVersions,
describeDBEngineVersionsResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.RDS.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeDBEngineVersions = DescribeDBEngineVersions'
{
DescribeDBEngineVersions -> Maybe Text
engineVersion :: Prelude.Maybe Prelude.Text,
DescribeDBEngineVersions -> Maybe Bool
listSupportedTimezones :: Prelude.Maybe Prelude.Bool,
DescribeDBEngineVersions -> Maybe Bool
defaultOnly :: Prelude.Maybe Prelude.Bool,
DescribeDBEngineVersions -> Maybe Bool
includeAll :: Prelude.Maybe Prelude.Bool,
DescribeDBEngineVersions -> Maybe [Filter]
filters :: Prelude.Maybe [Filter],
DescribeDBEngineVersions -> Maybe Text
engine :: Prelude.Maybe Prelude.Text,
DescribeDBEngineVersions -> Maybe Text
dbParameterGroupFamily :: Prelude.Maybe Prelude.Text,
DescribeDBEngineVersions -> Maybe Bool
listSupportedCharacterSets :: Prelude.Maybe Prelude.Bool,
DescribeDBEngineVersions -> Maybe Text
marker :: Prelude.Maybe Prelude.Text,
DescribeDBEngineVersions -> Maybe Int
maxRecords :: Prelude.Maybe Prelude.Int
}
deriving (DescribeDBEngineVersions -> DescribeDBEngineVersions -> Bool
(DescribeDBEngineVersions -> DescribeDBEngineVersions -> Bool)
-> (DescribeDBEngineVersions -> DescribeDBEngineVersions -> Bool)
-> Eq DescribeDBEngineVersions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDBEngineVersions -> DescribeDBEngineVersions -> Bool
$c/= :: DescribeDBEngineVersions -> DescribeDBEngineVersions -> Bool
== :: DescribeDBEngineVersions -> DescribeDBEngineVersions -> Bool
$c== :: DescribeDBEngineVersions -> DescribeDBEngineVersions -> Bool
Prelude.Eq, ReadPrec [DescribeDBEngineVersions]
ReadPrec DescribeDBEngineVersions
Int -> ReadS DescribeDBEngineVersions
ReadS [DescribeDBEngineVersions]
(Int -> ReadS DescribeDBEngineVersions)
-> ReadS [DescribeDBEngineVersions]
-> ReadPrec DescribeDBEngineVersions
-> ReadPrec [DescribeDBEngineVersions]
-> Read DescribeDBEngineVersions
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDBEngineVersions]
$creadListPrec :: ReadPrec [DescribeDBEngineVersions]
readPrec :: ReadPrec DescribeDBEngineVersions
$creadPrec :: ReadPrec DescribeDBEngineVersions
readList :: ReadS [DescribeDBEngineVersions]
$creadList :: ReadS [DescribeDBEngineVersions]
readsPrec :: Int -> ReadS DescribeDBEngineVersions
$creadsPrec :: Int -> ReadS DescribeDBEngineVersions
Prelude.Read, Int -> DescribeDBEngineVersions -> ShowS
[DescribeDBEngineVersions] -> ShowS
DescribeDBEngineVersions -> String
(Int -> DescribeDBEngineVersions -> ShowS)
-> (DescribeDBEngineVersions -> String)
-> ([DescribeDBEngineVersions] -> ShowS)
-> Show DescribeDBEngineVersions
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDBEngineVersions] -> ShowS
$cshowList :: [DescribeDBEngineVersions] -> ShowS
show :: DescribeDBEngineVersions -> String
$cshow :: DescribeDBEngineVersions -> String
showsPrec :: Int -> DescribeDBEngineVersions -> ShowS
$cshowsPrec :: Int -> DescribeDBEngineVersions -> ShowS
Prelude.Show, (forall x.
DescribeDBEngineVersions -> Rep DescribeDBEngineVersions x)
-> (forall x.
Rep DescribeDBEngineVersions x -> DescribeDBEngineVersions)
-> Generic DescribeDBEngineVersions
forall x.
Rep DescribeDBEngineVersions x -> DescribeDBEngineVersions
forall x.
DescribeDBEngineVersions -> Rep DescribeDBEngineVersions x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDBEngineVersions x -> DescribeDBEngineVersions
$cfrom :: forall x.
DescribeDBEngineVersions -> Rep DescribeDBEngineVersions x
Prelude.Generic)
newDescribeDBEngineVersions ::
DescribeDBEngineVersions
newDescribeDBEngineVersions :: DescribeDBEngineVersions
newDescribeDBEngineVersions =
DescribeDBEngineVersions' :: Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> Maybe [Filter]
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Int
-> DescribeDBEngineVersions
DescribeDBEngineVersions'
{ $sel:engineVersion:DescribeDBEngineVersions' :: Maybe Text
engineVersion =
Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:listSupportedTimezones:DescribeDBEngineVersions' :: Maybe Bool
listSupportedTimezones = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
$sel:defaultOnly:DescribeDBEngineVersions' :: Maybe Bool
defaultOnly = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
$sel:includeAll:DescribeDBEngineVersions' :: Maybe Bool
includeAll = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
$sel:filters:DescribeDBEngineVersions' :: Maybe [Filter]
filters = Maybe [Filter]
forall a. Maybe a
Prelude.Nothing,
$sel:engine:DescribeDBEngineVersions' :: Maybe Text
engine = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:dbParameterGroupFamily:DescribeDBEngineVersions' :: Maybe Text
dbParameterGroupFamily = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:listSupportedCharacterSets:DescribeDBEngineVersions' :: Maybe Bool
listSupportedCharacterSets = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
$sel:marker:DescribeDBEngineVersions' :: Maybe Text
marker = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:maxRecords:DescribeDBEngineVersions' :: Maybe Int
maxRecords = Maybe Int
forall a. Maybe a
Prelude.Nothing
}
describeDBEngineVersions_engineVersion :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Text)
describeDBEngineVersions_engineVersion :: (Maybe Text -> f (Maybe Text))
-> DescribeDBEngineVersions -> f DescribeDBEngineVersions
describeDBEngineVersions_engineVersion = (DescribeDBEngineVersions -> Maybe Text)
-> (DescribeDBEngineVersions
-> Maybe Text -> DescribeDBEngineVersions)
-> Lens
DescribeDBEngineVersions
DescribeDBEngineVersions
(Maybe Text)
(Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDBEngineVersions' {Maybe Text
engineVersion :: Maybe Text
$sel:engineVersion:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Text
engineVersion} -> Maybe Text
engineVersion) (\s :: DescribeDBEngineVersions
s@DescribeDBEngineVersions' {} Maybe Text
a -> DescribeDBEngineVersions
s {$sel:engineVersion:DescribeDBEngineVersions' :: Maybe Text
engineVersion = Maybe Text
a} :: DescribeDBEngineVersions)
describeDBEngineVersions_listSupportedTimezones :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Bool)
describeDBEngineVersions_listSupportedTimezones :: (Maybe Bool -> f (Maybe Bool))
-> DescribeDBEngineVersions -> f DescribeDBEngineVersions
describeDBEngineVersions_listSupportedTimezones = (DescribeDBEngineVersions -> Maybe Bool)
-> (DescribeDBEngineVersions
-> Maybe Bool -> DescribeDBEngineVersions)
-> Lens
DescribeDBEngineVersions
DescribeDBEngineVersions
(Maybe Bool)
(Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDBEngineVersions' {Maybe Bool
listSupportedTimezones :: Maybe Bool
$sel:listSupportedTimezones:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Bool
listSupportedTimezones} -> Maybe Bool
listSupportedTimezones) (\s :: DescribeDBEngineVersions
s@DescribeDBEngineVersions' {} Maybe Bool
a -> DescribeDBEngineVersions
s {$sel:listSupportedTimezones:DescribeDBEngineVersions' :: Maybe Bool
listSupportedTimezones = Maybe Bool
a} :: DescribeDBEngineVersions)
describeDBEngineVersions_defaultOnly :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Bool)
describeDBEngineVersions_defaultOnly :: (Maybe Bool -> f (Maybe Bool))
-> DescribeDBEngineVersions -> f DescribeDBEngineVersions
describeDBEngineVersions_defaultOnly = (DescribeDBEngineVersions -> Maybe Bool)
-> (DescribeDBEngineVersions
-> Maybe Bool -> DescribeDBEngineVersions)
-> Lens
DescribeDBEngineVersions
DescribeDBEngineVersions
(Maybe Bool)
(Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDBEngineVersions' {Maybe Bool
defaultOnly :: Maybe Bool
$sel:defaultOnly:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Bool
defaultOnly} -> Maybe Bool
defaultOnly) (\s :: DescribeDBEngineVersions
s@DescribeDBEngineVersions' {} Maybe Bool
a -> DescribeDBEngineVersions
s {$sel:defaultOnly:DescribeDBEngineVersions' :: Maybe Bool
defaultOnly = Maybe Bool
a} :: DescribeDBEngineVersions)
describeDBEngineVersions_includeAll :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Bool)
describeDBEngineVersions_includeAll :: (Maybe Bool -> f (Maybe Bool))
-> DescribeDBEngineVersions -> f DescribeDBEngineVersions
describeDBEngineVersions_includeAll = (DescribeDBEngineVersions -> Maybe Bool)
-> (DescribeDBEngineVersions
-> Maybe Bool -> DescribeDBEngineVersions)
-> Lens
DescribeDBEngineVersions
DescribeDBEngineVersions
(Maybe Bool)
(Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDBEngineVersions' {Maybe Bool
includeAll :: Maybe Bool
$sel:includeAll:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Bool
includeAll} -> Maybe Bool
includeAll) (\s :: DescribeDBEngineVersions
s@DescribeDBEngineVersions' {} Maybe Bool
a -> DescribeDBEngineVersions
s {$sel:includeAll:DescribeDBEngineVersions' :: Maybe Bool
includeAll = Maybe Bool
a} :: DescribeDBEngineVersions)
describeDBEngineVersions_filters :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe [Filter])
describeDBEngineVersions_filters :: (Maybe [Filter] -> f (Maybe [Filter]))
-> DescribeDBEngineVersions -> f DescribeDBEngineVersions
describeDBEngineVersions_filters = (DescribeDBEngineVersions -> Maybe [Filter])
-> (DescribeDBEngineVersions
-> Maybe [Filter] -> DescribeDBEngineVersions)
-> Lens
DescribeDBEngineVersions
DescribeDBEngineVersions
(Maybe [Filter])
(Maybe [Filter])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDBEngineVersions' {Maybe [Filter]
filters :: Maybe [Filter]
$sel:filters:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe [Filter]
filters} -> Maybe [Filter]
filters) (\s :: DescribeDBEngineVersions
s@DescribeDBEngineVersions' {} Maybe [Filter]
a -> DescribeDBEngineVersions
s {$sel:filters:DescribeDBEngineVersions' :: Maybe [Filter]
filters = Maybe [Filter]
a} :: DescribeDBEngineVersions) ((Maybe [Filter] -> f (Maybe [Filter]))
-> DescribeDBEngineVersions -> f DescribeDBEngineVersions)
-> ((Maybe [Filter] -> f (Maybe [Filter]))
-> Maybe [Filter] -> f (Maybe [Filter]))
-> (Maybe [Filter] -> f (Maybe [Filter]))
-> DescribeDBEngineVersions
-> f DescribeDBEngineVersions
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Filter] [Filter] [Filter] [Filter]
-> Iso
(Maybe [Filter]) (Maybe [Filter]) (Maybe [Filter]) (Maybe [Filter])
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 AnIso [Filter] [Filter] [Filter] [Filter]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
describeDBEngineVersions_engine :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Text)
describeDBEngineVersions_engine :: (Maybe Text -> f (Maybe Text))
-> DescribeDBEngineVersions -> f DescribeDBEngineVersions
describeDBEngineVersions_engine = (DescribeDBEngineVersions -> Maybe Text)
-> (DescribeDBEngineVersions
-> Maybe Text -> DescribeDBEngineVersions)
-> Lens
DescribeDBEngineVersions
DescribeDBEngineVersions
(Maybe Text)
(Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDBEngineVersions' {Maybe Text
engine :: Maybe Text
$sel:engine:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Text
engine} -> Maybe Text
engine) (\s :: DescribeDBEngineVersions
s@DescribeDBEngineVersions' {} Maybe Text
a -> DescribeDBEngineVersions
s {$sel:engine:DescribeDBEngineVersions' :: Maybe Text
engine = Maybe Text
a} :: DescribeDBEngineVersions)
describeDBEngineVersions_dbParameterGroupFamily :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Text)
describeDBEngineVersions_dbParameterGroupFamily :: (Maybe Text -> f (Maybe Text))
-> DescribeDBEngineVersions -> f DescribeDBEngineVersions
describeDBEngineVersions_dbParameterGroupFamily = (DescribeDBEngineVersions -> Maybe Text)
-> (DescribeDBEngineVersions
-> Maybe Text -> DescribeDBEngineVersions)
-> Lens
DescribeDBEngineVersions
DescribeDBEngineVersions
(Maybe Text)
(Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDBEngineVersions' {Maybe Text
dbParameterGroupFamily :: Maybe Text
$sel:dbParameterGroupFamily:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Text
dbParameterGroupFamily} -> Maybe Text
dbParameterGroupFamily) (\s :: DescribeDBEngineVersions
s@DescribeDBEngineVersions' {} Maybe Text
a -> DescribeDBEngineVersions
s {$sel:dbParameterGroupFamily:DescribeDBEngineVersions' :: Maybe Text
dbParameterGroupFamily = Maybe Text
a} :: DescribeDBEngineVersions)
describeDBEngineVersions_listSupportedCharacterSets :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Bool)
describeDBEngineVersions_listSupportedCharacterSets :: (Maybe Bool -> f (Maybe Bool))
-> DescribeDBEngineVersions -> f DescribeDBEngineVersions
describeDBEngineVersions_listSupportedCharacterSets = (DescribeDBEngineVersions -> Maybe Bool)
-> (DescribeDBEngineVersions
-> Maybe Bool -> DescribeDBEngineVersions)
-> Lens
DescribeDBEngineVersions
DescribeDBEngineVersions
(Maybe Bool)
(Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDBEngineVersions' {Maybe Bool
listSupportedCharacterSets :: Maybe Bool
$sel:listSupportedCharacterSets:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Bool
listSupportedCharacterSets} -> Maybe Bool
listSupportedCharacterSets) (\s :: DescribeDBEngineVersions
s@DescribeDBEngineVersions' {} Maybe Bool
a -> DescribeDBEngineVersions
s {$sel:listSupportedCharacterSets:DescribeDBEngineVersions' :: Maybe Bool
listSupportedCharacterSets = Maybe Bool
a} :: DescribeDBEngineVersions)
describeDBEngineVersions_marker :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Text)
describeDBEngineVersions_marker :: (Maybe Text -> f (Maybe Text))
-> DescribeDBEngineVersions -> f DescribeDBEngineVersions
describeDBEngineVersions_marker = (DescribeDBEngineVersions -> Maybe Text)
-> (DescribeDBEngineVersions
-> Maybe Text -> DescribeDBEngineVersions)
-> Lens
DescribeDBEngineVersions
DescribeDBEngineVersions
(Maybe Text)
(Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDBEngineVersions' {Maybe Text
marker :: Maybe Text
$sel:marker:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Text
marker} -> Maybe Text
marker) (\s :: DescribeDBEngineVersions
s@DescribeDBEngineVersions' {} Maybe Text
a -> DescribeDBEngineVersions
s {$sel:marker:DescribeDBEngineVersions' :: Maybe Text
marker = Maybe Text
a} :: DescribeDBEngineVersions)
describeDBEngineVersions_maxRecords :: Lens.Lens' DescribeDBEngineVersions (Prelude.Maybe Prelude.Int)
describeDBEngineVersions_maxRecords :: (Maybe Int -> f (Maybe Int))
-> DescribeDBEngineVersions -> f DescribeDBEngineVersions
describeDBEngineVersions_maxRecords = (DescribeDBEngineVersions -> Maybe Int)
-> (DescribeDBEngineVersions
-> Maybe Int -> DescribeDBEngineVersions)
-> Lens
DescribeDBEngineVersions
DescribeDBEngineVersions
(Maybe Int)
(Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDBEngineVersions' {Maybe Int
maxRecords :: Maybe Int
$sel:maxRecords:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Int
maxRecords} -> Maybe Int
maxRecords) (\s :: DescribeDBEngineVersions
s@DescribeDBEngineVersions' {} Maybe Int
a -> DescribeDBEngineVersions
s {$sel:maxRecords:DescribeDBEngineVersions' :: Maybe Int
maxRecords = Maybe Int
a} :: DescribeDBEngineVersions)
instance Core.AWSPager DescribeDBEngineVersions where
page :: DescribeDBEngineVersions
-> AWSResponse DescribeDBEngineVersions
-> Maybe DescribeDBEngineVersions
page DescribeDBEngineVersions
rq AWSResponse DescribeDBEngineVersions
rs
| Maybe Text -> Bool
forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse DescribeDBEngineVersions
DescribeDBEngineVersionsResponse
rs
DescribeDBEngineVersionsResponse
-> Getting (First Text) DescribeDBEngineVersionsResponse Text
-> Maybe Text
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? (Maybe Text -> Const (First Text) (Maybe Text))
-> DescribeDBEngineVersionsResponse
-> Const (First Text) DescribeDBEngineVersionsResponse
Lens' DescribeDBEngineVersionsResponse (Maybe Text)
describeDBEngineVersionsResponse_marker
((Maybe Text -> Const (First Text) (Maybe Text))
-> DescribeDBEngineVersionsResponse
-> Const (First Text) DescribeDBEngineVersionsResponse)
-> ((Text -> Const (First Text) Text)
-> Maybe Text -> Const (First Text) (Maybe Text))
-> Getting (First Text) DescribeDBEngineVersionsResponse Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Text -> Const (First Text) Text)
-> Maybe Text -> Const (First Text) (Maybe Text)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
Maybe DescribeDBEngineVersions
forall a. Maybe a
Prelude.Nothing
| Maybe [DBEngineVersion] -> Bool
forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse DescribeDBEngineVersions
DescribeDBEngineVersionsResponse
rs
DescribeDBEngineVersionsResponse
-> Getting
(First [DBEngineVersion])
DescribeDBEngineVersionsResponse
[DBEngineVersion]
-> Maybe [DBEngineVersion]
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? (Maybe [DBEngineVersion]
-> Const (First [DBEngineVersion]) (Maybe [DBEngineVersion]))
-> DescribeDBEngineVersionsResponse
-> Const (First [DBEngineVersion]) DescribeDBEngineVersionsResponse
Lens' DescribeDBEngineVersionsResponse (Maybe [DBEngineVersion])
describeDBEngineVersionsResponse_dbEngineVersions
((Maybe [DBEngineVersion]
-> Const (First [DBEngineVersion]) (Maybe [DBEngineVersion]))
-> DescribeDBEngineVersionsResponse
-> Const
(First [DBEngineVersion]) DescribeDBEngineVersionsResponse)
-> (([DBEngineVersion]
-> Const (First [DBEngineVersion]) [DBEngineVersion])
-> Maybe [DBEngineVersion]
-> Const (First [DBEngineVersion]) (Maybe [DBEngineVersion]))
-> Getting
(First [DBEngineVersion])
DescribeDBEngineVersionsResponse
[DBEngineVersion]
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. ([DBEngineVersion]
-> Const (First [DBEngineVersion]) [DBEngineVersion])
-> Maybe [DBEngineVersion]
-> Const (First [DBEngineVersion]) (Maybe [DBEngineVersion])
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
Maybe DescribeDBEngineVersions
forall a. Maybe a
Prelude.Nothing
| Bool
Prelude.otherwise =
DescribeDBEngineVersions -> Maybe DescribeDBEngineVersions
forall a. a -> Maybe a
Prelude.Just (DescribeDBEngineVersions -> Maybe DescribeDBEngineVersions)
-> DescribeDBEngineVersions -> Maybe DescribeDBEngineVersions
forall a b. (a -> b) -> a -> b
Prelude.$
DescribeDBEngineVersions
rq
DescribeDBEngineVersions
-> (DescribeDBEngineVersions -> DescribeDBEngineVersions)
-> DescribeDBEngineVersions
forall a b. a -> (a -> b) -> b
Prelude.& (Maybe Text -> Identity (Maybe Text))
-> DescribeDBEngineVersions -> Identity DescribeDBEngineVersions
Lens
DescribeDBEngineVersions
DescribeDBEngineVersions
(Maybe Text)
(Maybe Text)
describeDBEngineVersions_marker
((Maybe Text -> Identity (Maybe Text))
-> DescribeDBEngineVersions -> Identity DescribeDBEngineVersions)
-> Maybe Text
-> DescribeDBEngineVersions
-> DescribeDBEngineVersions
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse DescribeDBEngineVersions
DescribeDBEngineVersionsResponse
rs
DescribeDBEngineVersionsResponse
-> Getting (First Text) DescribeDBEngineVersionsResponse Text
-> Maybe Text
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? (Maybe Text -> Const (First Text) (Maybe Text))
-> DescribeDBEngineVersionsResponse
-> Const (First Text) DescribeDBEngineVersionsResponse
Lens' DescribeDBEngineVersionsResponse (Maybe Text)
describeDBEngineVersionsResponse_marker
((Maybe Text -> Const (First Text) (Maybe Text))
-> DescribeDBEngineVersionsResponse
-> Const (First Text) DescribeDBEngineVersionsResponse)
-> ((Text -> Const (First Text) Text)
-> Maybe Text -> Const (First Text) (Maybe Text))
-> Getting (First Text) DescribeDBEngineVersionsResponse Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Text -> Const (First Text) Text)
-> Maybe Text -> Const (First Text) (Maybe Text)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
instance Core.AWSRequest DescribeDBEngineVersions where
type
AWSResponse DescribeDBEngineVersions =
DescribeDBEngineVersionsResponse
request :: DescribeDBEngineVersions -> Request DescribeDBEngineVersions
request = Service
-> DescribeDBEngineVersions -> Request DescribeDBEngineVersions
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery Service
defaultService
response :: Logger
-> Service
-> Proxy DescribeDBEngineVersions
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeDBEngineVersions)))
response =
Text
-> (Int
-> ResponseHeaders
-> [Node]
-> Either String (AWSResponse DescribeDBEngineVersions))
-> Logger
-> Service
-> Proxy DescribeDBEngineVersions
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeDBEngineVersions)))
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
-> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
Text
"DescribeDBEngineVersionsResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe Text
-> Maybe [DBEngineVersion]
-> Int
-> DescribeDBEngineVersionsResponse
DescribeDBEngineVersionsResponse'
(Maybe Text
-> Maybe [DBEngineVersion]
-> Int
-> DescribeDBEngineVersionsResponse)
-> Either String (Maybe Text)
-> Either
String
(Maybe [DBEngineVersion]
-> Int -> DescribeDBEngineVersionsResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"Marker")
Either
String
(Maybe [DBEngineVersion]
-> Int -> DescribeDBEngineVersionsResponse)
-> Either String (Maybe [DBEngineVersion])
-> Either String (Int -> DescribeDBEngineVersionsResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x [Node] -> Text -> Either String (Maybe [Node])
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"DBEngineVersions"
Either String (Maybe [Node]) -> [Node] -> Either String [Node]
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ [Node]
forall a. Monoid a => a
Prelude.mempty
Either String [Node]
-> ([Node] -> Either String (Maybe [DBEngineVersion]))
-> Either String (Maybe [DBEngineVersion])
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= ([Node] -> Either String [DBEngineVersion])
-> [Node] -> Either String (Maybe [DBEngineVersion])
forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (Text -> [Node] -> Either String [DBEngineVersion]
forall a. FromXML a => Text -> [Node] -> Either String [a]
Core.parseXMLList Text
"DBEngineVersion")
)
Either String (Int -> DescribeDBEngineVersionsResponse)
-> Either String Int
-> Either String DescribeDBEngineVersionsResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable DescribeDBEngineVersions
instance Prelude.NFData DescribeDBEngineVersions
instance Core.ToHeaders DescribeDBEngineVersions where
toHeaders :: DescribeDBEngineVersions -> ResponseHeaders
toHeaders = ResponseHeaders -> DescribeDBEngineVersions -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const ResponseHeaders
forall a. Monoid a => a
Prelude.mempty
instance Core.ToPath DescribeDBEngineVersions where
toPath :: DescribeDBEngineVersions -> ByteString
toPath = ByteString -> DescribeDBEngineVersions -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Core.ToQuery DescribeDBEngineVersions where
toQuery :: DescribeDBEngineVersions -> QueryString
toQuery DescribeDBEngineVersions' {Maybe Bool
Maybe Int
Maybe [Filter]
Maybe Text
maxRecords :: Maybe Int
marker :: Maybe Text
listSupportedCharacterSets :: Maybe Bool
dbParameterGroupFamily :: Maybe Text
engine :: Maybe Text
filters :: Maybe [Filter]
includeAll :: Maybe Bool
defaultOnly :: Maybe Bool
listSupportedTimezones :: Maybe Bool
engineVersion :: Maybe Text
$sel:maxRecords:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Int
$sel:marker:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Text
$sel:listSupportedCharacterSets:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Bool
$sel:dbParameterGroupFamily:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Text
$sel:engine:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Text
$sel:filters:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe [Filter]
$sel:includeAll:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Bool
$sel:defaultOnly:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Bool
$sel:listSupportedTimezones:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Bool
$sel:engineVersion:DescribeDBEngineVersions' :: DescribeDBEngineVersions -> Maybe Text
..} =
[QueryString] -> QueryString
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: (ByteString
"DescribeDBEngineVersions" :: Prelude.ByteString),
ByteString
"Version"
ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: (ByteString
"2014-10-31" :: Prelude.ByteString),
ByteString
"EngineVersion" ByteString -> Maybe Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Text
engineVersion,
ByteString
"ListSupportedTimezones"
ByteString -> Maybe Bool -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Bool
listSupportedTimezones,
ByteString
"DefaultOnly" ByteString -> Maybe Bool -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Bool
defaultOnly,
ByteString
"IncludeAll" ByteString -> Maybe Bool -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Bool
includeAll,
ByteString
"Filters"
ByteString -> QueryString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe QueryString -> QueryString
forall a. ToQuery a => a -> QueryString
Core.toQuery
(ByteString -> [Filter] -> QueryString
forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Core.toQueryList ByteString
"Filter" ([Filter] -> QueryString) -> Maybe [Filter] -> Maybe QueryString
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Filter]
filters),
ByteString
"Engine" ByteString -> Maybe Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Text
engine,
ByteString
"DBParameterGroupFamily"
ByteString -> Maybe Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Text
dbParameterGroupFamily,
ByteString
"ListSupportedCharacterSets"
ByteString -> Maybe Bool -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Bool
listSupportedCharacterSets,
ByteString
"Marker" ByteString -> Maybe Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Text
marker,
ByteString
"MaxRecords" ByteString -> Maybe Int -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Int
maxRecords
]
data DescribeDBEngineVersionsResponse = DescribeDBEngineVersionsResponse'
{
DescribeDBEngineVersionsResponse -> Maybe Text
marker :: Prelude.Maybe Prelude.Text,
DescribeDBEngineVersionsResponse -> Maybe [DBEngineVersion]
dbEngineVersions :: Prelude.Maybe [DBEngineVersion],
DescribeDBEngineVersionsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeDBEngineVersionsResponse
-> DescribeDBEngineVersionsResponse -> Bool
(DescribeDBEngineVersionsResponse
-> DescribeDBEngineVersionsResponse -> Bool)
-> (DescribeDBEngineVersionsResponse
-> DescribeDBEngineVersionsResponse -> Bool)
-> Eq DescribeDBEngineVersionsResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDBEngineVersionsResponse
-> DescribeDBEngineVersionsResponse -> Bool
$c/= :: DescribeDBEngineVersionsResponse
-> DescribeDBEngineVersionsResponse -> Bool
== :: DescribeDBEngineVersionsResponse
-> DescribeDBEngineVersionsResponse -> Bool
$c== :: DescribeDBEngineVersionsResponse
-> DescribeDBEngineVersionsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeDBEngineVersionsResponse]
ReadPrec DescribeDBEngineVersionsResponse
Int -> ReadS DescribeDBEngineVersionsResponse
ReadS [DescribeDBEngineVersionsResponse]
(Int -> ReadS DescribeDBEngineVersionsResponse)
-> ReadS [DescribeDBEngineVersionsResponse]
-> ReadPrec DescribeDBEngineVersionsResponse
-> ReadPrec [DescribeDBEngineVersionsResponse]
-> Read DescribeDBEngineVersionsResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDBEngineVersionsResponse]
$creadListPrec :: ReadPrec [DescribeDBEngineVersionsResponse]
readPrec :: ReadPrec DescribeDBEngineVersionsResponse
$creadPrec :: ReadPrec DescribeDBEngineVersionsResponse
readList :: ReadS [DescribeDBEngineVersionsResponse]
$creadList :: ReadS [DescribeDBEngineVersionsResponse]
readsPrec :: Int -> ReadS DescribeDBEngineVersionsResponse
$creadsPrec :: Int -> ReadS DescribeDBEngineVersionsResponse
Prelude.Read, Int -> DescribeDBEngineVersionsResponse -> ShowS
[DescribeDBEngineVersionsResponse] -> ShowS
DescribeDBEngineVersionsResponse -> String
(Int -> DescribeDBEngineVersionsResponse -> ShowS)
-> (DescribeDBEngineVersionsResponse -> String)
-> ([DescribeDBEngineVersionsResponse] -> ShowS)
-> Show DescribeDBEngineVersionsResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDBEngineVersionsResponse] -> ShowS
$cshowList :: [DescribeDBEngineVersionsResponse] -> ShowS
show :: DescribeDBEngineVersionsResponse -> String
$cshow :: DescribeDBEngineVersionsResponse -> String
showsPrec :: Int -> DescribeDBEngineVersionsResponse -> ShowS
$cshowsPrec :: Int -> DescribeDBEngineVersionsResponse -> ShowS
Prelude.Show, (forall x.
DescribeDBEngineVersionsResponse
-> Rep DescribeDBEngineVersionsResponse x)
-> (forall x.
Rep DescribeDBEngineVersionsResponse x
-> DescribeDBEngineVersionsResponse)
-> Generic DescribeDBEngineVersionsResponse
forall x.
Rep DescribeDBEngineVersionsResponse x
-> DescribeDBEngineVersionsResponse
forall x.
DescribeDBEngineVersionsResponse
-> Rep DescribeDBEngineVersionsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDBEngineVersionsResponse x
-> DescribeDBEngineVersionsResponse
$cfrom :: forall x.
DescribeDBEngineVersionsResponse
-> Rep DescribeDBEngineVersionsResponse x
Prelude.Generic)
newDescribeDBEngineVersionsResponse ::
Prelude.Int ->
DescribeDBEngineVersionsResponse
newDescribeDBEngineVersionsResponse :: Int -> DescribeDBEngineVersionsResponse
newDescribeDBEngineVersionsResponse Int
pHttpStatus_ =
DescribeDBEngineVersionsResponse' :: Maybe Text
-> Maybe [DBEngineVersion]
-> Int
-> DescribeDBEngineVersionsResponse
DescribeDBEngineVersionsResponse'
{ $sel:marker:DescribeDBEngineVersionsResponse' :: Maybe Text
marker =
Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:dbEngineVersions:DescribeDBEngineVersionsResponse' :: Maybe [DBEngineVersion]
dbEngineVersions = Maybe [DBEngineVersion]
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeDBEngineVersionsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeDBEngineVersionsResponse_marker :: Lens.Lens' DescribeDBEngineVersionsResponse (Prelude.Maybe Prelude.Text)
describeDBEngineVersionsResponse_marker :: (Maybe Text -> f (Maybe Text))
-> DescribeDBEngineVersionsResponse
-> f DescribeDBEngineVersionsResponse
describeDBEngineVersionsResponse_marker = (DescribeDBEngineVersionsResponse -> Maybe Text)
-> (DescribeDBEngineVersionsResponse
-> Maybe Text -> DescribeDBEngineVersionsResponse)
-> Lens' DescribeDBEngineVersionsResponse (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDBEngineVersionsResponse' {Maybe Text
marker :: Maybe Text
$sel:marker:DescribeDBEngineVersionsResponse' :: DescribeDBEngineVersionsResponse -> Maybe Text
marker} -> Maybe Text
marker) (\s :: DescribeDBEngineVersionsResponse
s@DescribeDBEngineVersionsResponse' {} Maybe Text
a -> DescribeDBEngineVersionsResponse
s {$sel:marker:DescribeDBEngineVersionsResponse' :: Maybe Text
marker = Maybe Text
a} :: DescribeDBEngineVersionsResponse)
describeDBEngineVersionsResponse_dbEngineVersions :: Lens.Lens' DescribeDBEngineVersionsResponse (Prelude.Maybe [DBEngineVersion])
describeDBEngineVersionsResponse_dbEngineVersions :: (Maybe [DBEngineVersion] -> f (Maybe [DBEngineVersion]))
-> DescribeDBEngineVersionsResponse
-> f DescribeDBEngineVersionsResponse
describeDBEngineVersionsResponse_dbEngineVersions = (DescribeDBEngineVersionsResponse -> Maybe [DBEngineVersion])
-> (DescribeDBEngineVersionsResponse
-> Maybe [DBEngineVersion] -> DescribeDBEngineVersionsResponse)
-> Lens' DescribeDBEngineVersionsResponse (Maybe [DBEngineVersion])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDBEngineVersionsResponse' {Maybe [DBEngineVersion]
dbEngineVersions :: Maybe [DBEngineVersion]
$sel:dbEngineVersions:DescribeDBEngineVersionsResponse' :: DescribeDBEngineVersionsResponse -> Maybe [DBEngineVersion]
dbEngineVersions} -> Maybe [DBEngineVersion]
dbEngineVersions) (\s :: DescribeDBEngineVersionsResponse
s@DescribeDBEngineVersionsResponse' {} Maybe [DBEngineVersion]
a -> DescribeDBEngineVersionsResponse
s {$sel:dbEngineVersions:DescribeDBEngineVersionsResponse' :: Maybe [DBEngineVersion]
dbEngineVersions = Maybe [DBEngineVersion]
a} :: DescribeDBEngineVersionsResponse) ((Maybe [DBEngineVersion] -> f (Maybe [DBEngineVersion]))
-> DescribeDBEngineVersionsResponse
-> f DescribeDBEngineVersionsResponse)
-> ((Maybe [DBEngineVersion] -> f (Maybe [DBEngineVersion]))
-> Maybe [DBEngineVersion] -> f (Maybe [DBEngineVersion]))
-> (Maybe [DBEngineVersion] -> f (Maybe [DBEngineVersion]))
-> DescribeDBEngineVersionsResponse
-> f DescribeDBEngineVersionsResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
[DBEngineVersion]
[DBEngineVersion]
[DBEngineVersion]
[DBEngineVersion]
-> Iso
(Maybe [DBEngineVersion])
(Maybe [DBEngineVersion])
(Maybe [DBEngineVersion])
(Maybe [DBEngineVersion])
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 AnIso
[DBEngineVersion]
[DBEngineVersion]
[DBEngineVersion]
[DBEngineVersion]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
describeDBEngineVersionsResponse_httpStatus :: Lens.Lens' DescribeDBEngineVersionsResponse Prelude.Int
describeDBEngineVersionsResponse_httpStatus :: (Int -> f Int)
-> DescribeDBEngineVersionsResponse
-> f DescribeDBEngineVersionsResponse
describeDBEngineVersionsResponse_httpStatus = (DescribeDBEngineVersionsResponse -> Int)
-> (DescribeDBEngineVersionsResponse
-> Int -> DescribeDBEngineVersionsResponse)
-> Lens
DescribeDBEngineVersionsResponse
DescribeDBEngineVersionsResponse
Int
Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDBEngineVersionsResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeDBEngineVersionsResponse' :: DescribeDBEngineVersionsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeDBEngineVersionsResponse
s@DescribeDBEngineVersionsResponse' {} Int
a -> DescribeDBEngineVersionsResponse
s {$sel:httpStatus:DescribeDBEngineVersionsResponse' :: Int
httpStatus = Int
a} :: DescribeDBEngineVersionsResponse)
instance
Prelude.NFData
DescribeDBEngineVersionsResponse