{-# 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.CloudSearch.DescribeAnalysisSchemes
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Gets the analysis schemes configured for a domain. An analysis scheme
-- defines language-specific text processing options for a @text@ field.
-- Can be limited to specific analysis schemes by name. By default, shows
-- all analysis schemes and includes any pending changes to the
-- configuration. Set the @Deployed@ option to @true@ to show the active
-- configuration and exclude pending changes. For more information, see
-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-analysis-schemes.html Configuring Analysis Schemes>
-- in the /Amazon CloudSearch Developer Guide/.
module Amazonka.CloudSearch.DescribeAnalysisSchemes
  ( -- * Creating a Request
    DescribeAnalysisSchemes (..),
    newDescribeAnalysisSchemes,

    -- * Request Lenses
    describeAnalysisSchemes_analysisSchemeNames,
    describeAnalysisSchemes_deployed,
    describeAnalysisSchemes_domainName,

    -- * Destructuring the Response
    DescribeAnalysisSchemesResponse (..),
    newDescribeAnalysisSchemesResponse,

    -- * Response Lenses
    describeAnalysisSchemesResponse_httpStatus,
    describeAnalysisSchemesResponse_analysisSchemes,
  )
where

import Amazonka.CloudSearch.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | Container for the parameters to the @DescribeAnalysisSchemes@ operation.
-- Specifies the name of the domain you want to describe. To limit the
-- response to particular analysis schemes, specify the names of the
-- analysis schemes you want to describe. To show the active configuration
-- and exclude any pending changes, set the @Deployed@ option to @true@.
--
-- /See:/ 'newDescribeAnalysisSchemes' smart constructor.
data DescribeAnalysisSchemes = DescribeAnalysisSchemes'
  { -- | The analysis schemes you want to describe.
    DescribeAnalysisSchemes -> Maybe [Text]
analysisSchemeNames :: Prelude.Maybe [Prelude.Text],
    -- | Whether to display the deployed configuration (@true@) or include any
    -- pending changes (@false@). Defaults to @false@.
    DescribeAnalysisSchemes -> Maybe Bool
deployed :: Prelude.Maybe Prelude.Bool,
    -- | The name of the domain you want to describe.
    DescribeAnalysisSchemes -> Text
domainName :: Prelude.Text
  }
  deriving (DescribeAnalysisSchemes -> DescribeAnalysisSchemes -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAnalysisSchemes -> DescribeAnalysisSchemes -> Bool
$c/= :: DescribeAnalysisSchemes -> DescribeAnalysisSchemes -> Bool
== :: DescribeAnalysisSchemes -> DescribeAnalysisSchemes -> Bool
$c== :: DescribeAnalysisSchemes -> DescribeAnalysisSchemes -> Bool
Prelude.Eq, ReadPrec [DescribeAnalysisSchemes]
ReadPrec DescribeAnalysisSchemes
Int -> ReadS DescribeAnalysisSchemes
ReadS [DescribeAnalysisSchemes]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAnalysisSchemes]
$creadListPrec :: ReadPrec [DescribeAnalysisSchemes]
readPrec :: ReadPrec DescribeAnalysisSchemes
$creadPrec :: ReadPrec DescribeAnalysisSchemes
readList :: ReadS [DescribeAnalysisSchemes]
$creadList :: ReadS [DescribeAnalysisSchemes]
readsPrec :: Int -> ReadS DescribeAnalysisSchemes
$creadsPrec :: Int -> ReadS DescribeAnalysisSchemes
Prelude.Read, Int -> DescribeAnalysisSchemes -> ShowS
[DescribeAnalysisSchemes] -> ShowS
DescribeAnalysisSchemes -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAnalysisSchemes] -> ShowS
$cshowList :: [DescribeAnalysisSchemes] -> ShowS
show :: DescribeAnalysisSchemes -> String
$cshow :: DescribeAnalysisSchemes -> String
showsPrec :: Int -> DescribeAnalysisSchemes -> ShowS
$cshowsPrec :: Int -> DescribeAnalysisSchemes -> ShowS
Prelude.Show, forall x. Rep DescribeAnalysisSchemes x -> DescribeAnalysisSchemes
forall x. DescribeAnalysisSchemes -> Rep DescribeAnalysisSchemes x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeAnalysisSchemes x -> DescribeAnalysisSchemes
$cfrom :: forall x. DescribeAnalysisSchemes -> Rep DescribeAnalysisSchemes x
Prelude.Generic)

-- |
-- Create a value of 'DescribeAnalysisSchemes' 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:
--
-- 'analysisSchemeNames', 'describeAnalysisSchemes_analysisSchemeNames' - The analysis schemes you want to describe.
--
-- 'deployed', 'describeAnalysisSchemes_deployed' - Whether to display the deployed configuration (@true@) or include any
-- pending changes (@false@). Defaults to @false@.
--
-- 'domainName', 'describeAnalysisSchemes_domainName' - The name of the domain you want to describe.
newDescribeAnalysisSchemes ::
  -- | 'domainName'
  Prelude.Text ->
  DescribeAnalysisSchemes
newDescribeAnalysisSchemes :: Text -> DescribeAnalysisSchemes
newDescribeAnalysisSchemes Text
pDomainName_ =
  DescribeAnalysisSchemes'
    { $sel:analysisSchemeNames:DescribeAnalysisSchemes' :: Maybe [Text]
analysisSchemeNames =
        forall a. Maybe a
Prelude.Nothing,
      $sel:deployed:DescribeAnalysisSchemes' :: Maybe Bool
deployed = forall a. Maybe a
Prelude.Nothing,
      $sel:domainName:DescribeAnalysisSchemes' :: Text
domainName = Text
pDomainName_
    }

-- | The analysis schemes you want to describe.
describeAnalysisSchemes_analysisSchemeNames :: Lens.Lens' DescribeAnalysisSchemes (Prelude.Maybe [Prelude.Text])
describeAnalysisSchemes_analysisSchemeNames :: Lens' DescribeAnalysisSchemes (Maybe [Text])
describeAnalysisSchemes_analysisSchemeNames = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAnalysisSchemes' {Maybe [Text]
analysisSchemeNames :: Maybe [Text]
$sel:analysisSchemeNames:DescribeAnalysisSchemes' :: DescribeAnalysisSchemes -> Maybe [Text]
analysisSchemeNames} -> Maybe [Text]
analysisSchemeNames) (\s :: DescribeAnalysisSchemes
s@DescribeAnalysisSchemes' {} Maybe [Text]
a -> DescribeAnalysisSchemes
s {$sel:analysisSchemeNames:DescribeAnalysisSchemes' :: Maybe [Text]
analysisSchemeNames = Maybe [Text]
a} :: DescribeAnalysisSchemes) 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

-- | Whether to display the deployed configuration (@true@) or include any
-- pending changes (@false@). Defaults to @false@.
describeAnalysisSchemes_deployed :: Lens.Lens' DescribeAnalysisSchemes (Prelude.Maybe Prelude.Bool)
describeAnalysisSchemes_deployed :: Lens' DescribeAnalysisSchemes (Maybe Bool)
describeAnalysisSchemes_deployed = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAnalysisSchemes' {Maybe Bool
deployed :: Maybe Bool
$sel:deployed:DescribeAnalysisSchemes' :: DescribeAnalysisSchemes -> Maybe Bool
deployed} -> Maybe Bool
deployed) (\s :: DescribeAnalysisSchemes
s@DescribeAnalysisSchemes' {} Maybe Bool
a -> DescribeAnalysisSchemes
s {$sel:deployed:DescribeAnalysisSchemes' :: Maybe Bool
deployed = Maybe Bool
a} :: DescribeAnalysisSchemes)

-- | The name of the domain you want to describe.
describeAnalysisSchemes_domainName :: Lens.Lens' DescribeAnalysisSchemes Prelude.Text
describeAnalysisSchemes_domainName :: Lens' DescribeAnalysisSchemes Text
describeAnalysisSchemes_domainName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAnalysisSchemes' {Text
domainName :: Text
$sel:domainName:DescribeAnalysisSchemes' :: DescribeAnalysisSchemes -> Text
domainName} -> Text
domainName) (\s :: DescribeAnalysisSchemes
s@DescribeAnalysisSchemes' {} Text
a -> DescribeAnalysisSchemes
s {$sel:domainName:DescribeAnalysisSchemes' :: Text
domainName = Text
a} :: DescribeAnalysisSchemes)

instance Core.AWSRequest DescribeAnalysisSchemes where
  type
    AWSResponse DescribeAnalysisSchemes =
      DescribeAnalysisSchemesResponse
  request :: (Service -> Service)
-> DescribeAnalysisSchemes -> Request DescribeAnalysisSchemes
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 DescribeAnalysisSchemes
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeAnalysisSchemes)))
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
"DescribeAnalysisSchemesResult"
      ( \Int
s ResponseHeaders
h [Node]
x ->
          Int -> [AnalysisSchemeStatus] -> DescribeAnalysisSchemesResponse
DescribeAnalysisSchemesResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                            forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"AnalysisSchemes"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                            forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"member"
                        )
      )

instance Prelude.Hashable DescribeAnalysisSchemes where
  hashWithSalt :: Int -> DescribeAnalysisSchemes -> Int
hashWithSalt Int
_salt DescribeAnalysisSchemes' {Maybe Bool
Maybe [Text]
Text
domainName :: Text
deployed :: Maybe Bool
analysisSchemeNames :: Maybe [Text]
$sel:domainName:DescribeAnalysisSchemes' :: DescribeAnalysisSchemes -> Text
$sel:deployed:DescribeAnalysisSchemes' :: DescribeAnalysisSchemes -> Maybe Bool
$sel:analysisSchemeNames:DescribeAnalysisSchemes' :: DescribeAnalysisSchemes -> Maybe [Text]
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
analysisSchemeNames
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
deployed
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
domainName

instance Prelude.NFData DescribeAnalysisSchemes where
  rnf :: DescribeAnalysisSchemes -> ()
rnf DescribeAnalysisSchemes' {Maybe Bool
Maybe [Text]
Text
domainName :: Text
deployed :: Maybe Bool
analysisSchemeNames :: Maybe [Text]
$sel:domainName:DescribeAnalysisSchemes' :: DescribeAnalysisSchemes -> Text
$sel:deployed:DescribeAnalysisSchemes' :: DescribeAnalysisSchemes -> Maybe Bool
$sel:analysisSchemeNames:DescribeAnalysisSchemes' :: DescribeAnalysisSchemes -> Maybe [Text]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
analysisSchemeNames
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
deployed
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
domainName

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

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

instance Data.ToQuery DescribeAnalysisSchemes where
  toQuery :: DescribeAnalysisSchemes -> QueryString
toQuery DescribeAnalysisSchemes' {Maybe Bool
Maybe [Text]
Text
domainName :: Text
deployed :: Maybe Bool
analysisSchemeNames :: Maybe [Text]
$sel:domainName:DescribeAnalysisSchemes' :: DescribeAnalysisSchemes -> Text
$sel:deployed:DescribeAnalysisSchemes' :: DescribeAnalysisSchemes -> Maybe Bool
$sel:analysisSchemeNames:DescribeAnalysisSchemes' :: DescribeAnalysisSchemes -> Maybe [Text]
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"DescribeAnalysisSchemes" :: Prelude.ByteString),
        ByteString
"Version"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2013-01-01" :: Prelude.ByteString),
        ByteString
"AnalysisSchemeNames"
          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
"member"
                forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
analysisSchemeNames
            ),
        ByteString
"Deployed" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
deployed,
        ByteString
"DomainName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
domainName
      ]

-- | The result of a @DescribeAnalysisSchemes@ request. Contains the analysis
-- schemes configured for the domain specified in the request.
--
-- /See:/ 'newDescribeAnalysisSchemesResponse' smart constructor.
data DescribeAnalysisSchemesResponse = DescribeAnalysisSchemesResponse'
  { -- | The response's http status code.
    DescribeAnalysisSchemesResponse -> Int
httpStatus :: Prelude.Int,
    -- | The analysis scheme descriptions.
    DescribeAnalysisSchemesResponse -> [AnalysisSchemeStatus]
analysisSchemes :: [AnalysisSchemeStatus]
  }
  deriving (DescribeAnalysisSchemesResponse
-> DescribeAnalysisSchemesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAnalysisSchemesResponse
-> DescribeAnalysisSchemesResponse -> Bool
$c/= :: DescribeAnalysisSchemesResponse
-> DescribeAnalysisSchemesResponse -> Bool
== :: DescribeAnalysisSchemesResponse
-> DescribeAnalysisSchemesResponse -> Bool
$c== :: DescribeAnalysisSchemesResponse
-> DescribeAnalysisSchemesResponse -> Bool
Prelude.Eq, ReadPrec [DescribeAnalysisSchemesResponse]
ReadPrec DescribeAnalysisSchemesResponse
Int -> ReadS DescribeAnalysisSchemesResponse
ReadS [DescribeAnalysisSchemesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAnalysisSchemesResponse]
$creadListPrec :: ReadPrec [DescribeAnalysisSchemesResponse]
readPrec :: ReadPrec DescribeAnalysisSchemesResponse
$creadPrec :: ReadPrec DescribeAnalysisSchemesResponse
readList :: ReadS [DescribeAnalysisSchemesResponse]
$creadList :: ReadS [DescribeAnalysisSchemesResponse]
readsPrec :: Int -> ReadS DescribeAnalysisSchemesResponse
$creadsPrec :: Int -> ReadS DescribeAnalysisSchemesResponse
Prelude.Read, Int -> DescribeAnalysisSchemesResponse -> ShowS
[DescribeAnalysisSchemesResponse] -> ShowS
DescribeAnalysisSchemesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAnalysisSchemesResponse] -> ShowS
$cshowList :: [DescribeAnalysisSchemesResponse] -> ShowS
show :: DescribeAnalysisSchemesResponse -> String
$cshow :: DescribeAnalysisSchemesResponse -> String
showsPrec :: Int -> DescribeAnalysisSchemesResponse -> ShowS
$cshowsPrec :: Int -> DescribeAnalysisSchemesResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeAnalysisSchemesResponse x
-> DescribeAnalysisSchemesResponse
forall x.
DescribeAnalysisSchemesResponse
-> Rep DescribeAnalysisSchemesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeAnalysisSchemesResponse x
-> DescribeAnalysisSchemesResponse
$cfrom :: forall x.
DescribeAnalysisSchemesResponse
-> Rep DescribeAnalysisSchemesResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeAnalysisSchemesResponse' 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:
--
-- 'httpStatus', 'describeAnalysisSchemesResponse_httpStatus' - The response's http status code.
--
-- 'analysisSchemes', 'describeAnalysisSchemesResponse_analysisSchemes' - The analysis scheme descriptions.
newDescribeAnalysisSchemesResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeAnalysisSchemesResponse
newDescribeAnalysisSchemesResponse :: Int -> DescribeAnalysisSchemesResponse
newDescribeAnalysisSchemesResponse Int
pHttpStatus_ =
  DescribeAnalysisSchemesResponse'
    { $sel:httpStatus:DescribeAnalysisSchemesResponse' :: Int
httpStatus =
        Int
pHttpStatus_,
      $sel:analysisSchemes:DescribeAnalysisSchemesResponse' :: [AnalysisSchemeStatus]
analysisSchemes = forall a. Monoid a => a
Prelude.mempty
    }

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

-- | The analysis scheme descriptions.
describeAnalysisSchemesResponse_analysisSchemes :: Lens.Lens' DescribeAnalysisSchemesResponse [AnalysisSchemeStatus]
describeAnalysisSchemesResponse_analysisSchemes :: Lens' DescribeAnalysisSchemesResponse [AnalysisSchemeStatus]
describeAnalysisSchemesResponse_analysisSchemes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAnalysisSchemesResponse' {[AnalysisSchemeStatus]
analysisSchemes :: [AnalysisSchemeStatus]
$sel:analysisSchemes:DescribeAnalysisSchemesResponse' :: DescribeAnalysisSchemesResponse -> [AnalysisSchemeStatus]
analysisSchemes} -> [AnalysisSchemeStatus]
analysisSchemes) (\s :: DescribeAnalysisSchemesResponse
s@DescribeAnalysisSchemesResponse' {} [AnalysisSchemeStatus]
a -> DescribeAnalysisSchemesResponse
s {$sel:analysisSchemes:DescribeAnalysisSchemesResponse' :: [AnalysisSchemeStatus]
analysisSchemes = [AnalysisSchemeStatus]
a} :: DescribeAnalysisSchemesResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

instance
  Prelude.NFData
    DescribeAnalysisSchemesResponse
  where
  rnf :: DescribeAnalysisSchemesResponse -> ()
rnf DescribeAnalysisSchemesResponse' {Int
[AnalysisSchemeStatus]
analysisSchemes :: [AnalysisSchemeStatus]
httpStatus :: Int
$sel:analysisSchemes:DescribeAnalysisSchemesResponse' :: DescribeAnalysisSchemesResponse -> [AnalysisSchemeStatus]
$sel:httpStatus:DescribeAnalysisSchemesResponse' :: DescribeAnalysisSchemesResponse -> Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [AnalysisSchemeStatus]
analysisSchemes