{-# 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-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- 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 qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DocumentDB.Types
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
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]
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
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.
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'
      { $sel:filters:DescribeEngineDefaultClusterParameters' :: Maybe [Filter]
filters =
          forall a. Maybe a
Prelude.Nothing,
        $sel:marker:DescribeEngineDefaultClusterParameters' :: Maybe Text
marker = forall a. Maybe a
Prelude.Nothing,
        $sel:maxRecords:DescribeEngineDefaultClusterParameters' :: Maybe Int
maxRecords = 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 :: Lens' DescribeEngineDefaultClusterParameters (Maybe [Filter])
describeEngineDefaultClusterParameters_filters = 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) 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

-- | 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 :: Lens' DescribeEngineDefaultClusterParameters (Maybe Text)
describeEngineDefaultClusterParameters_marker = 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 :: Lens' DescribeEngineDefaultClusterParameters (Maybe Int)
describeEngineDefaultClusterParameters_maxRecords = 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 :: Lens' DescribeEngineDefaultClusterParameters Text
describeEngineDefaultClusterParameters_dbParameterGroupFamily = 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 :: (Service -> Service)
-> DescribeEngineDefaultClusterParameters
-> Request DescribeEngineDefaultClusterParameters
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeEngineDefaultClusterParameters
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse DescribeEngineDefaultClusterParameters)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
    -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> 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'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"EngineDefaults")
            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
    DescribeEngineDefaultClusterParameters
  where
  hashWithSalt :: Int -> DescribeEngineDefaultClusterParameters -> Int
hashWithSalt
    Int
_salt
    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]
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Filter]
filters
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
marker
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
maxRecords
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
dbParameterGroupFamily

instance
  Prelude.NFData
    DescribeEngineDefaultClusterParameters
  where
  rnf :: DescribeEngineDefaultClusterParameters -> ()
rnf 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]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [Filter]
filters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
marker
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
maxRecords
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
dbParameterGroupFamily

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

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

instance
  Data.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]
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"DescribeEngineDefaultClusterParameters" ::
                      Prelude.ByteString
                  ),
        ByteString
"Version"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2014-10-31" :: Prelude.ByteString),
        ByteString
"Filters"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
            (forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"Filter" forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Filter]
filters),
        ByteString
"Marker" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
marker,
        ByteString
"MaxRecords" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Int
maxRecords,
        ByteString
"DBParameterGroupFamily"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: 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
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]
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
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.
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'
      { $sel:engineDefaults:DescribeEngineDefaultClusterParametersResponse' :: Maybe EngineDefaults
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 :: Lens'
  DescribeEngineDefaultClusterParametersResponse
  (Maybe EngineDefaults)
describeEngineDefaultClusterParametersResponse_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 :: Lens' DescribeEngineDefaultClusterParametersResponse Int
describeEngineDefaultClusterParametersResponse_httpStatus = 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
  where
  rnf :: DescribeEngineDefaultClusterParametersResponse -> ()
rnf
    DescribeEngineDefaultClusterParametersResponse' {Int
Maybe EngineDefaults
httpStatus :: Int
engineDefaults :: Maybe EngineDefaults
$sel:httpStatus:DescribeEngineDefaultClusterParametersResponse' :: DescribeEngineDefaultClusterParametersResponse -> Int
$sel:engineDefaults:DescribeEngineDefaultClusterParametersResponse' :: DescribeEngineDefaultClusterParametersResponse
-> Maybe EngineDefaults
..} =
      forall a. NFData a => a -> ()
Prelude.rnf Maybe EngineDefaults
engineDefaults
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus