{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.DocumentDB.DescribeEngineDefaultClusterParameters
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns the default engine and system parameter information for the
-- cluster database engine.
module Amazonka.DocumentDB.DescribeEngineDefaultClusterParameters
  ( -- * Creating a Request
    DescribeEngineDefaultClusterParameters (..),
    newDescribeEngineDefaultClusterParameters,

    -- * Request Lenses
    describeEngineDefaultClusterParameters_filters,
    describeEngineDefaultClusterParameters_marker,
    describeEngineDefaultClusterParameters_maxRecords,
    describeEngineDefaultClusterParameters_dbParameterGroupFamily,

    -- * Destructuring the Response
    DescribeEngineDefaultClusterParametersResponse (..),
    newDescribeEngineDefaultClusterParametersResponse,

    -- * Response Lenses
    describeEngineDefaultClusterParametersResponse_engineDefaults,
    describeEngineDefaultClusterParametersResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import Amazonka.DocumentDB.Types
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | Represents the input to DescribeEngineDefaultClusterParameters.
--
-- /See:/ 'newDescribeEngineDefaultClusterParameters' smart constructor.
data DescribeEngineDefaultClusterParameters = DescribeEngineDefaultClusterParameters'
  { -- | This parameter is not currently supported.
    DescribeEngineDefaultClusterParameters -> Maybe [Filter]
filters :: Prelude.Maybe [Filter],
    -- | An optional pagination token provided by a previous request. If this
    -- parameter is specified, the response includes only records beyond the
    -- marker, up to the value specified by @MaxRecords@.
    DescribeEngineDefaultClusterParameters -> Maybe Text
marker :: Prelude.Maybe Prelude.Text,
    -- | The maximum number of records to include in the response. If more
    -- records exist than the specified @MaxRecords@ value, a pagination token
    -- (marker) is included in the response so that the remaining results can
    -- be retrieved.
    --
    -- Default: 100
    --
    -- Constraints: Minimum 20, maximum 100.
    DescribeEngineDefaultClusterParameters -> Maybe Int
maxRecords :: Prelude.Maybe Prelude.Int,
    -- | The name of the cluster parameter group family to return the engine
    -- parameter information for.
    DescribeEngineDefaultClusterParameters -> Text
dbParameterGroupFamily :: Prelude.Text
  }
  deriving (DescribeEngineDefaultClusterParameters
-> DescribeEngineDefaultClusterParameters -> Bool
(DescribeEngineDefaultClusterParameters
 -> DescribeEngineDefaultClusterParameters -> Bool)
-> (DescribeEngineDefaultClusterParameters
    -> DescribeEngineDefaultClusterParameters -> Bool)
-> Eq DescribeEngineDefaultClusterParameters
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeEngineDefaultClusterParameters
-> DescribeEngineDefaultClusterParameters -> Bool
$c/= :: DescribeEngineDefaultClusterParameters
-> DescribeEngineDefaultClusterParameters -> Bool
== :: DescribeEngineDefaultClusterParameters
-> DescribeEngineDefaultClusterParameters -> Bool
$c== :: DescribeEngineDefaultClusterParameters
-> DescribeEngineDefaultClusterParameters -> Bool
Prelude.Eq, ReadPrec [DescribeEngineDefaultClusterParameters]
ReadPrec DescribeEngineDefaultClusterParameters
Int -> ReadS DescribeEngineDefaultClusterParameters
ReadS [DescribeEngineDefaultClusterParameters]
(Int -> ReadS DescribeEngineDefaultClusterParameters)
-> ReadS [DescribeEngineDefaultClusterParameters]
-> ReadPrec DescribeEngineDefaultClusterParameters
-> ReadPrec [DescribeEngineDefaultClusterParameters]
-> Read DescribeEngineDefaultClusterParameters
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeEngineDefaultClusterParameters]
$creadListPrec :: ReadPrec [DescribeEngineDefaultClusterParameters]
readPrec :: ReadPrec DescribeEngineDefaultClusterParameters
$creadPrec :: ReadPrec DescribeEngineDefaultClusterParameters
readList :: ReadS [DescribeEngineDefaultClusterParameters]
$creadList :: ReadS [DescribeEngineDefaultClusterParameters]
readsPrec :: Int -> ReadS DescribeEngineDefaultClusterParameters
$creadsPrec :: Int -> ReadS DescribeEngineDefaultClusterParameters
Prelude.Read, Int -> DescribeEngineDefaultClusterParameters -> ShowS
[DescribeEngineDefaultClusterParameters] -> ShowS
DescribeEngineDefaultClusterParameters -> String
(Int -> DescribeEngineDefaultClusterParameters -> ShowS)
-> (DescribeEngineDefaultClusterParameters -> String)
-> ([DescribeEngineDefaultClusterParameters] -> ShowS)
-> Show DescribeEngineDefaultClusterParameters
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeEngineDefaultClusterParameters] -> ShowS
$cshowList :: [DescribeEngineDefaultClusterParameters] -> ShowS
show :: DescribeEngineDefaultClusterParameters -> String
$cshow :: DescribeEngineDefaultClusterParameters -> String
showsPrec :: Int -> DescribeEngineDefaultClusterParameters -> ShowS
$cshowsPrec :: Int -> DescribeEngineDefaultClusterParameters -> ShowS
Prelude.Show, (forall x.
 DescribeEngineDefaultClusterParameters
 -> Rep DescribeEngineDefaultClusterParameters x)
-> (forall x.
    Rep DescribeEngineDefaultClusterParameters x
    -> DescribeEngineDefaultClusterParameters)
-> Generic DescribeEngineDefaultClusterParameters
forall x.
Rep DescribeEngineDefaultClusterParameters x
-> DescribeEngineDefaultClusterParameters
forall x.
DescribeEngineDefaultClusterParameters
-> Rep DescribeEngineDefaultClusterParameters x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeEngineDefaultClusterParameters x
-> DescribeEngineDefaultClusterParameters
$cfrom :: forall x.
DescribeEngineDefaultClusterParameters
-> Rep DescribeEngineDefaultClusterParameters x
Prelude.Generic)

-- |
-- Create a value of 'DescribeEngineDefaultClusterParameters' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'filters', 'describeEngineDefaultClusterParameters_filters' - This parameter is not currently supported.
--
-- 'marker', 'describeEngineDefaultClusterParameters_marker' - An optional pagination token provided by a previous request. If this
-- parameter is specified, the response includes only records beyond the
-- marker, up to the value specified by @MaxRecords@.
--
-- 'maxRecords', 'describeEngineDefaultClusterParameters_maxRecords' - The maximum number of records to include in the response. If more
-- records exist than the specified @MaxRecords@ value, a pagination token
-- (marker) is included in the response so that the remaining results can
-- be retrieved.
--
-- Default: 100
--
-- Constraints: Minimum 20, maximum 100.
--
-- 'dbParameterGroupFamily', 'describeEngineDefaultClusterParameters_dbParameterGroupFamily' - The name of the cluster parameter group family to return the engine
-- parameter information for.
newDescribeEngineDefaultClusterParameters ::
  -- | 'dbParameterGroupFamily'
  Prelude.Text ->
  DescribeEngineDefaultClusterParameters
newDescribeEngineDefaultClusterParameters :: Text -> DescribeEngineDefaultClusterParameters
newDescribeEngineDefaultClusterParameters
  Text
pDBParameterGroupFamily_ =
    DescribeEngineDefaultClusterParameters' :: Maybe [Filter]
-> Maybe Text
-> Maybe Int
-> Text
-> DescribeEngineDefaultClusterParameters
DescribeEngineDefaultClusterParameters'
      { $sel:filters:DescribeEngineDefaultClusterParameters' :: Maybe [Filter]
filters =
          Maybe [Filter]
forall a. Maybe a
Prelude.Nothing,
        $sel:marker:DescribeEngineDefaultClusterParameters' :: Maybe Text
marker = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:maxRecords:DescribeEngineDefaultClusterParameters' :: Maybe Int
maxRecords = Maybe Int
forall a. Maybe a
Prelude.Nothing,
        $sel:dbParameterGroupFamily:DescribeEngineDefaultClusterParameters' :: Text
dbParameterGroupFamily =
          Text
pDBParameterGroupFamily_
      }

-- | This parameter is not currently supported.
describeEngineDefaultClusterParameters_filters :: Lens.Lens' DescribeEngineDefaultClusterParameters (Prelude.Maybe [Filter])
describeEngineDefaultClusterParameters_filters :: (Maybe [Filter] -> f (Maybe [Filter]))
-> DescribeEngineDefaultClusterParameters
-> f DescribeEngineDefaultClusterParameters
describeEngineDefaultClusterParameters_filters = (DescribeEngineDefaultClusterParameters -> Maybe [Filter])
-> (DescribeEngineDefaultClusterParameters
    -> Maybe [Filter] -> DescribeEngineDefaultClusterParameters)
-> Lens
     DescribeEngineDefaultClusterParameters
     DescribeEngineDefaultClusterParameters
     (Maybe [Filter])
     (Maybe [Filter])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEngineDefaultClusterParameters' {Maybe [Filter]
filters :: Maybe [Filter]
$sel:filters:DescribeEngineDefaultClusterParameters' :: DescribeEngineDefaultClusterParameters -> Maybe [Filter]
filters} -> Maybe [Filter]
filters) (\s :: DescribeEngineDefaultClusterParameters
s@DescribeEngineDefaultClusterParameters' {} Maybe [Filter]
a -> DescribeEngineDefaultClusterParameters
s {$sel:filters:DescribeEngineDefaultClusterParameters' :: Maybe [Filter]
filters = Maybe [Filter]
a} :: DescribeEngineDefaultClusterParameters) ((Maybe [Filter] -> f (Maybe [Filter]))
 -> DescribeEngineDefaultClusterParameters
 -> f DescribeEngineDefaultClusterParameters)
-> ((Maybe [Filter] -> f (Maybe [Filter]))
    -> Maybe [Filter] -> f (Maybe [Filter]))
-> (Maybe [Filter] -> f (Maybe [Filter]))
-> DescribeEngineDefaultClusterParameters
-> f DescribeEngineDefaultClusterParameters
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

-- | An optional pagination token provided by a previous request. If this
-- parameter is specified, the response includes only records beyond the
-- marker, up to the value specified by @MaxRecords@.
describeEngineDefaultClusterParameters_marker :: Lens.Lens' DescribeEngineDefaultClusterParameters (Prelude.Maybe Prelude.Text)
describeEngineDefaultClusterParameters_marker :: (Maybe Text -> f (Maybe Text))
-> DescribeEngineDefaultClusterParameters
-> f DescribeEngineDefaultClusterParameters
describeEngineDefaultClusterParameters_marker = (DescribeEngineDefaultClusterParameters -> Maybe Text)
-> (DescribeEngineDefaultClusterParameters
    -> Maybe Text -> DescribeEngineDefaultClusterParameters)
-> Lens
     DescribeEngineDefaultClusterParameters
     DescribeEngineDefaultClusterParameters
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEngineDefaultClusterParameters' {Maybe Text
marker :: Maybe Text
$sel:marker:DescribeEngineDefaultClusterParameters' :: DescribeEngineDefaultClusterParameters -> Maybe Text
marker} -> Maybe Text
marker) (\s :: DescribeEngineDefaultClusterParameters
s@DescribeEngineDefaultClusterParameters' {} Maybe Text
a -> DescribeEngineDefaultClusterParameters
s {$sel:marker:DescribeEngineDefaultClusterParameters' :: Maybe Text
marker = Maybe Text
a} :: DescribeEngineDefaultClusterParameters)

-- | The maximum number of records to include in the response. If more
-- records exist than the specified @MaxRecords@ value, a pagination token
-- (marker) is included in the response so that the remaining results can
-- be retrieved.
--
-- Default: 100
--
-- Constraints: Minimum 20, maximum 100.
describeEngineDefaultClusterParameters_maxRecords :: Lens.Lens' DescribeEngineDefaultClusterParameters (Prelude.Maybe Prelude.Int)
describeEngineDefaultClusterParameters_maxRecords :: (Maybe Int -> f (Maybe Int))
-> DescribeEngineDefaultClusterParameters
-> f DescribeEngineDefaultClusterParameters
describeEngineDefaultClusterParameters_maxRecords = (DescribeEngineDefaultClusterParameters -> Maybe Int)
-> (DescribeEngineDefaultClusterParameters
    -> Maybe Int -> DescribeEngineDefaultClusterParameters)
-> Lens
     DescribeEngineDefaultClusterParameters
     DescribeEngineDefaultClusterParameters
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEngineDefaultClusterParameters' {Maybe Int
maxRecords :: Maybe Int
$sel:maxRecords:DescribeEngineDefaultClusterParameters' :: DescribeEngineDefaultClusterParameters -> Maybe Int
maxRecords} -> Maybe Int
maxRecords) (\s :: DescribeEngineDefaultClusterParameters
s@DescribeEngineDefaultClusterParameters' {} Maybe Int
a -> DescribeEngineDefaultClusterParameters
s {$sel:maxRecords:DescribeEngineDefaultClusterParameters' :: Maybe Int
maxRecords = Maybe Int
a} :: DescribeEngineDefaultClusterParameters)

-- | The name of the cluster parameter group family to return the engine
-- parameter information for.
describeEngineDefaultClusterParameters_dbParameterGroupFamily :: Lens.Lens' DescribeEngineDefaultClusterParameters Prelude.Text
describeEngineDefaultClusterParameters_dbParameterGroupFamily :: (Text -> f Text)
-> DescribeEngineDefaultClusterParameters
-> f DescribeEngineDefaultClusterParameters
describeEngineDefaultClusterParameters_dbParameterGroupFamily = (DescribeEngineDefaultClusterParameters -> Text)
-> (DescribeEngineDefaultClusterParameters
    -> Text -> DescribeEngineDefaultClusterParameters)
-> Lens
     DescribeEngineDefaultClusterParameters
     DescribeEngineDefaultClusterParameters
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEngineDefaultClusterParameters' {Text
dbParameterGroupFamily :: Text
$sel:dbParameterGroupFamily:DescribeEngineDefaultClusterParameters' :: DescribeEngineDefaultClusterParameters -> Text
dbParameterGroupFamily} -> Text
dbParameterGroupFamily) (\s :: DescribeEngineDefaultClusterParameters
s@DescribeEngineDefaultClusterParameters' {} Text
a -> DescribeEngineDefaultClusterParameters
s {$sel:dbParameterGroupFamily:DescribeEngineDefaultClusterParameters' :: Text
dbParameterGroupFamily = Text
a} :: DescribeEngineDefaultClusterParameters)

instance
  Core.AWSRequest
    DescribeEngineDefaultClusterParameters
  where
  type
    AWSResponse
      DescribeEngineDefaultClusterParameters =
      DescribeEngineDefaultClusterParametersResponse
  request :: DescribeEngineDefaultClusterParameters
-> Request DescribeEngineDefaultClusterParameters
request = Service
-> DescribeEngineDefaultClusterParameters
-> Request DescribeEngineDefaultClusterParameters
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeEngineDefaultClusterParameters
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse DescribeEngineDefaultClusterParameters)))
response =
    Text
-> (Int
    -> ResponseHeaders
    -> [Node]
    -> Either
         String (AWSResponse DescribeEngineDefaultClusterParameters))
-> Logger
-> Service
-> Proxy DescribeEngineDefaultClusterParameters
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse DescribeEngineDefaultClusterParameters)))
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
"DescribeEngineDefaultClusterParametersResult"
      ( \Int
s ResponseHeaders
h [Node]
x ->
          Maybe EngineDefaults
-> Int -> DescribeEngineDefaultClusterParametersResponse
DescribeEngineDefaultClusterParametersResponse'
            (Maybe EngineDefaults
 -> Int -> DescribeEngineDefaultClusterParametersResponse)
-> Either String (Maybe EngineDefaults)
-> Either
     String (Int -> DescribeEngineDefaultClusterParametersResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x [Node] -> Text -> Either String (Maybe EngineDefaults)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"EngineDefaults")
              Either
  String (Int -> DescribeEngineDefaultClusterParametersResponse)
-> Either String Int
-> Either String DescribeEngineDefaultClusterParametersResponse
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
    DescribeEngineDefaultClusterParameters

instance
  Prelude.NFData
    DescribeEngineDefaultClusterParameters

instance
  Core.ToHeaders
    DescribeEngineDefaultClusterParameters
  where
  toHeaders :: DescribeEngineDefaultClusterParameters -> ResponseHeaders
toHeaders = ResponseHeaders
-> DescribeEngineDefaultClusterParameters -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const ResponseHeaders
forall a. Monoid a => a
Prelude.mempty

instance
  Core.ToPath
    DescribeEngineDefaultClusterParameters
  where
  toPath :: DescribeEngineDefaultClusterParameters -> ByteString
toPath = ByteString -> DescribeEngineDefaultClusterParameters -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance
  Core.ToQuery
    DescribeEngineDefaultClusterParameters
  where
  toQuery :: DescribeEngineDefaultClusterParameters -> QueryString
toQuery DescribeEngineDefaultClusterParameters' {Maybe Int
Maybe [Filter]
Maybe Text
Text
dbParameterGroupFamily :: Text
maxRecords :: Maybe Int
marker :: Maybe Text
filters :: Maybe [Filter]
$sel:dbParameterGroupFamily:DescribeEngineDefaultClusterParameters' :: DescribeEngineDefaultClusterParameters -> Text
$sel:maxRecords:DescribeEngineDefaultClusterParameters' :: DescribeEngineDefaultClusterParameters -> Maybe Int
$sel:marker:DescribeEngineDefaultClusterParameters' :: DescribeEngineDefaultClusterParameters -> Maybe Text
$sel:filters:DescribeEngineDefaultClusterParameters' :: DescribeEngineDefaultClusterParameters -> Maybe [Filter]
..} =
    [QueryString] -> QueryString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: ( ByteString
"DescribeEngineDefaultClusterParameters" ::
                      Prelude.ByteString
                  ),
        ByteString
"Version"
          ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: (ByteString
"2014-10-31" :: Prelude.ByteString),
        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
"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,
        ByteString
"DBParameterGroupFamily"
          ByteString -> Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Text
dbParameterGroupFamily
      ]

-- | /See:/ 'newDescribeEngineDefaultClusterParametersResponse' smart constructor.
data DescribeEngineDefaultClusterParametersResponse = DescribeEngineDefaultClusterParametersResponse'
  { DescribeEngineDefaultClusterParametersResponse
-> Maybe EngineDefaults
engineDefaults :: Prelude.Maybe EngineDefaults,
    -- | The response's http status code.
    DescribeEngineDefaultClusterParametersResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeEngineDefaultClusterParametersResponse
-> DescribeEngineDefaultClusterParametersResponse -> Bool
(DescribeEngineDefaultClusterParametersResponse
 -> DescribeEngineDefaultClusterParametersResponse -> Bool)
-> (DescribeEngineDefaultClusterParametersResponse
    -> DescribeEngineDefaultClusterParametersResponse -> Bool)
-> Eq DescribeEngineDefaultClusterParametersResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeEngineDefaultClusterParametersResponse
-> DescribeEngineDefaultClusterParametersResponse -> Bool
$c/= :: DescribeEngineDefaultClusterParametersResponse
-> DescribeEngineDefaultClusterParametersResponse -> Bool
== :: DescribeEngineDefaultClusterParametersResponse
-> DescribeEngineDefaultClusterParametersResponse -> Bool
$c== :: DescribeEngineDefaultClusterParametersResponse
-> DescribeEngineDefaultClusterParametersResponse -> Bool
Prelude.Eq, ReadPrec [DescribeEngineDefaultClusterParametersResponse]
ReadPrec DescribeEngineDefaultClusterParametersResponse
Int -> ReadS DescribeEngineDefaultClusterParametersResponse
ReadS [DescribeEngineDefaultClusterParametersResponse]
(Int -> ReadS DescribeEngineDefaultClusterParametersResponse)
-> ReadS [DescribeEngineDefaultClusterParametersResponse]
-> ReadPrec DescribeEngineDefaultClusterParametersResponse
-> ReadPrec [DescribeEngineDefaultClusterParametersResponse]
-> Read DescribeEngineDefaultClusterParametersResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeEngineDefaultClusterParametersResponse]
$creadListPrec :: ReadPrec [DescribeEngineDefaultClusterParametersResponse]
readPrec :: ReadPrec DescribeEngineDefaultClusterParametersResponse
$creadPrec :: ReadPrec DescribeEngineDefaultClusterParametersResponse
readList :: ReadS [DescribeEngineDefaultClusterParametersResponse]
$creadList :: ReadS [DescribeEngineDefaultClusterParametersResponse]
readsPrec :: Int -> ReadS DescribeEngineDefaultClusterParametersResponse
$creadsPrec :: Int -> ReadS DescribeEngineDefaultClusterParametersResponse
Prelude.Read, Int -> DescribeEngineDefaultClusterParametersResponse -> ShowS
[DescribeEngineDefaultClusterParametersResponse] -> ShowS
DescribeEngineDefaultClusterParametersResponse -> String
(Int -> DescribeEngineDefaultClusterParametersResponse -> ShowS)
-> (DescribeEngineDefaultClusterParametersResponse -> String)
-> ([DescribeEngineDefaultClusterParametersResponse] -> ShowS)
-> Show DescribeEngineDefaultClusterParametersResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeEngineDefaultClusterParametersResponse] -> ShowS
$cshowList :: [DescribeEngineDefaultClusterParametersResponse] -> ShowS
show :: DescribeEngineDefaultClusterParametersResponse -> String
$cshow :: DescribeEngineDefaultClusterParametersResponse -> String
showsPrec :: Int -> DescribeEngineDefaultClusterParametersResponse -> ShowS
$cshowsPrec :: Int -> DescribeEngineDefaultClusterParametersResponse -> ShowS
Prelude.Show, (forall x.
 DescribeEngineDefaultClusterParametersResponse
 -> Rep DescribeEngineDefaultClusterParametersResponse x)
-> (forall x.
    Rep DescribeEngineDefaultClusterParametersResponse x
    -> DescribeEngineDefaultClusterParametersResponse)
-> Generic DescribeEngineDefaultClusterParametersResponse
forall x.
Rep DescribeEngineDefaultClusterParametersResponse x
-> DescribeEngineDefaultClusterParametersResponse
forall x.
DescribeEngineDefaultClusterParametersResponse
-> Rep DescribeEngineDefaultClusterParametersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeEngineDefaultClusterParametersResponse x
-> DescribeEngineDefaultClusterParametersResponse
$cfrom :: forall x.
DescribeEngineDefaultClusterParametersResponse
-> Rep DescribeEngineDefaultClusterParametersResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeEngineDefaultClusterParametersResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'engineDefaults', 'describeEngineDefaultClusterParametersResponse_engineDefaults' - Undocumented member.
--
-- 'httpStatus', 'describeEngineDefaultClusterParametersResponse_httpStatus' - The response's http status code.
newDescribeEngineDefaultClusterParametersResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeEngineDefaultClusterParametersResponse
newDescribeEngineDefaultClusterParametersResponse :: Int -> DescribeEngineDefaultClusterParametersResponse
newDescribeEngineDefaultClusterParametersResponse
  Int
pHttpStatus_ =
    DescribeEngineDefaultClusterParametersResponse' :: Maybe EngineDefaults
-> Int -> DescribeEngineDefaultClusterParametersResponse
DescribeEngineDefaultClusterParametersResponse'
      { $sel:engineDefaults:DescribeEngineDefaultClusterParametersResponse' :: Maybe EngineDefaults
engineDefaults =
          Maybe EngineDefaults
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeEngineDefaultClusterParametersResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | Undocumented member.
describeEngineDefaultClusterParametersResponse_engineDefaults :: Lens.Lens' DescribeEngineDefaultClusterParametersResponse (Prelude.Maybe EngineDefaults)
describeEngineDefaultClusterParametersResponse_engineDefaults :: (Maybe EngineDefaults -> f (Maybe EngineDefaults))
-> DescribeEngineDefaultClusterParametersResponse
-> f DescribeEngineDefaultClusterParametersResponse
describeEngineDefaultClusterParametersResponse_engineDefaults = (DescribeEngineDefaultClusterParametersResponse
 -> Maybe EngineDefaults)
-> (DescribeEngineDefaultClusterParametersResponse
    -> Maybe EngineDefaults
    -> DescribeEngineDefaultClusterParametersResponse)
-> Lens
     DescribeEngineDefaultClusterParametersResponse
     DescribeEngineDefaultClusterParametersResponse
     (Maybe EngineDefaults)
     (Maybe EngineDefaults)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEngineDefaultClusterParametersResponse' {Maybe EngineDefaults
engineDefaults :: Maybe EngineDefaults
$sel:engineDefaults:DescribeEngineDefaultClusterParametersResponse' :: DescribeEngineDefaultClusterParametersResponse
-> Maybe EngineDefaults
engineDefaults} -> Maybe EngineDefaults
engineDefaults) (\s :: DescribeEngineDefaultClusterParametersResponse
s@DescribeEngineDefaultClusterParametersResponse' {} Maybe EngineDefaults
a -> DescribeEngineDefaultClusterParametersResponse
s {$sel:engineDefaults:DescribeEngineDefaultClusterParametersResponse' :: Maybe EngineDefaults
engineDefaults = Maybe EngineDefaults
a} :: DescribeEngineDefaultClusterParametersResponse)

-- | The response's http status code.
describeEngineDefaultClusterParametersResponse_httpStatus :: Lens.Lens' DescribeEngineDefaultClusterParametersResponse Prelude.Int
describeEngineDefaultClusterParametersResponse_httpStatus :: (Int -> f Int)
-> DescribeEngineDefaultClusterParametersResponse
-> f DescribeEngineDefaultClusterParametersResponse
describeEngineDefaultClusterParametersResponse_httpStatus = (DescribeEngineDefaultClusterParametersResponse -> Int)
-> (DescribeEngineDefaultClusterParametersResponse
    -> Int -> DescribeEngineDefaultClusterParametersResponse)
-> Lens
     DescribeEngineDefaultClusterParametersResponse
     DescribeEngineDefaultClusterParametersResponse
     Int
     Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEngineDefaultClusterParametersResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeEngineDefaultClusterParametersResponse' :: DescribeEngineDefaultClusterParametersResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeEngineDefaultClusterParametersResponse
s@DescribeEngineDefaultClusterParametersResponse' {} Int
a -> DescribeEngineDefaultClusterParametersResponse
s {$sel:httpStatus:DescribeEngineDefaultClusterParametersResponse' :: Int
httpStatus = Int
a} :: DescribeEngineDefaultClusterParametersResponse)

instance
  Prelude.NFData
    DescribeEngineDefaultClusterParametersResponse