{-# 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.EFS.DescribeReplicationConfigurations
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Retrieves the replication configuration for a specific file system. If a
-- file system is not specified, all of the replication configurations for
-- the Amazon Web Services account in an Amazon Web Services Region are
-- retrieved.
module Amazonka.EFS.DescribeReplicationConfigurations
  ( -- * Creating a Request
    DescribeReplicationConfigurations (..),
    newDescribeReplicationConfigurations,

    -- * Request Lenses
    describeReplicationConfigurations_fileSystemId,
    describeReplicationConfigurations_maxResults,
    describeReplicationConfigurations_nextToken,

    -- * Destructuring the Response
    DescribeReplicationConfigurationsResponse (..),
    newDescribeReplicationConfigurationsResponse,

    -- * Response Lenses
    describeReplicationConfigurationsResponse_nextToken,
    describeReplicationConfigurationsResponse_replications,
    describeReplicationConfigurationsResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDescribeReplicationConfigurations' smart constructor.
data DescribeReplicationConfigurations = DescribeReplicationConfigurations'
  { -- | You can retrieve the replication configuration for a specific file
    -- system by providing its file system ID.
    DescribeReplicationConfigurations -> Maybe Text
fileSystemId :: Prelude.Maybe Prelude.Text,
    -- | (Optional) To limit the number of objects returned in a response, you
    -- can specify the @MaxItems@ parameter. The default value is 100.
    DescribeReplicationConfigurations -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | @NextToken@ is present if the response is paginated. You can use
    -- @NextToken@ in a subsequent request to fetch the next page of output.
    DescribeReplicationConfigurations -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text
  }
  deriving (DescribeReplicationConfigurations
-> DescribeReplicationConfigurations -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeReplicationConfigurations
-> DescribeReplicationConfigurations -> Bool
$c/= :: DescribeReplicationConfigurations
-> DescribeReplicationConfigurations -> Bool
== :: DescribeReplicationConfigurations
-> DescribeReplicationConfigurations -> Bool
$c== :: DescribeReplicationConfigurations
-> DescribeReplicationConfigurations -> Bool
Prelude.Eq, ReadPrec [DescribeReplicationConfigurations]
ReadPrec DescribeReplicationConfigurations
Int -> ReadS DescribeReplicationConfigurations
ReadS [DescribeReplicationConfigurations]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeReplicationConfigurations]
$creadListPrec :: ReadPrec [DescribeReplicationConfigurations]
readPrec :: ReadPrec DescribeReplicationConfigurations
$creadPrec :: ReadPrec DescribeReplicationConfigurations
readList :: ReadS [DescribeReplicationConfigurations]
$creadList :: ReadS [DescribeReplicationConfigurations]
readsPrec :: Int -> ReadS DescribeReplicationConfigurations
$creadsPrec :: Int -> ReadS DescribeReplicationConfigurations
Prelude.Read, Int -> DescribeReplicationConfigurations -> ShowS
[DescribeReplicationConfigurations] -> ShowS
DescribeReplicationConfigurations -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeReplicationConfigurations] -> ShowS
$cshowList :: [DescribeReplicationConfigurations] -> ShowS
show :: DescribeReplicationConfigurations -> String
$cshow :: DescribeReplicationConfigurations -> String
showsPrec :: Int -> DescribeReplicationConfigurations -> ShowS
$cshowsPrec :: Int -> DescribeReplicationConfigurations -> ShowS
Prelude.Show, forall x.
Rep DescribeReplicationConfigurations x
-> DescribeReplicationConfigurations
forall x.
DescribeReplicationConfigurations
-> Rep DescribeReplicationConfigurations x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeReplicationConfigurations x
-> DescribeReplicationConfigurations
$cfrom :: forall x.
DescribeReplicationConfigurations
-> Rep DescribeReplicationConfigurations x
Prelude.Generic)

-- |
-- Create a value of 'DescribeReplicationConfigurations' 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:
--
-- 'fileSystemId', 'describeReplicationConfigurations_fileSystemId' - You can retrieve the replication configuration for a specific file
-- system by providing its file system ID.
--
-- 'maxResults', 'describeReplicationConfigurations_maxResults' - (Optional) To limit the number of objects returned in a response, you
-- can specify the @MaxItems@ parameter. The default value is 100.
--
-- 'nextToken', 'describeReplicationConfigurations_nextToken' - @NextToken@ is present if the response is paginated. You can use
-- @NextToken@ in a subsequent request to fetch the next page of output.
newDescribeReplicationConfigurations ::
  DescribeReplicationConfigurations
newDescribeReplicationConfigurations :: DescribeReplicationConfigurations
newDescribeReplicationConfigurations =
  DescribeReplicationConfigurations'
    { $sel:fileSystemId:DescribeReplicationConfigurations' :: Maybe Text
fileSystemId =
        forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:DescribeReplicationConfigurations' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:DescribeReplicationConfigurations' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing
    }

-- | You can retrieve the replication configuration for a specific file
-- system by providing its file system ID.
describeReplicationConfigurations_fileSystemId :: Lens.Lens' DescribeReplicationConfigurations (Prelude.Maybe Prelude.Text)
describeReplicationConfigurations_fileSystemId :: Lens' DescribeReplicationConfigurations (Maybe Text)
describeReplicationConfigurations_fileSystemId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeReplicationConfigurations' {Maybe Text
fileSystemId :: Maybe Text
$sel:fileSystemId:DescribeReplicationConfigurations' :: DescribeReplicationConfigurations -> Maybe Text
fileSystemId} -> Maybe Text
fileSystemId) (\s :: DescribeReplicationConfigurations
s@DescribeReplicationConfigurations' {} Maybe Text
a -> DescribeReplicationConfigurations
s {$sel:fileSystemId:DescribeReplicationConfigurations' :: Maybe Text
fileSystemId = Maybe Text
a} :: DescribeReplicationConfigurations)

-- | (Optional) To limit the number of objects returned in a response, you
-- can specify the @MaxItems@ parameter. The default value is 100.
describeReplicationConfigurations_maxResults :: Lens.Lens' DescribeReplicationConfigurations (Prelude.Maybe Prelude.Natural)
describeReplicationConfigurations_maxResults :: Lens' DescribeReplicationConfigurations (Maybe Natural)
describeReplicationConfigurations_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeReplicationConfigurations' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:DescribeReplicationConfigurations' :: DescribeReplicationConfigurations -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: DescribeReplicationConfigurations
s@DescribeReplicationConfigurations' {} Maybe Natural
a -> DescribeReplicationConfigurations
s {$sel:maxResults:DescribeReplicationConfigurations' :: Maybe Natural
maxResults = Maybe Natural
a} :: DescribeReplicationConfigurations)

-- | @NextToken@ is present if the response is paginated. You can use
-- @NextToken@ in a subsequent request to fetch the next page of output.
describeReplicationConfigurations_nextToken :: Lens.Lens' DescribeReplicationConfigurations (Prelude.Maybe Prelude.Text)
describeReplicationConfigurations_nextToken :: Lens' DescribeReplicationConfigurations (Maybe Text)
describeReplicationConfigurations_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeReplicationConfigurations' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeReplicationConfigurations' :: DescribeReplicationConfigurations -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeReplicationConfigurations
s@DescribeReplicationConfigurations' {} Maybe Text
a -> DescribeReplicationConfigurations
s {$sel:nextToken:DescribeReplicationConfigurations' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeReplicationConfigurations)

instance
  Core.AWSRequest
    DescribeReplicationConfigurations
  where
  type
    AWSResponse DescribeReplicationConfigurations =
      DescribeReplicationConfigurationsResponse
  request :: (Service -> Service)
-> DescribeReplicationConfigurations
-> Request DescribeReplicationConfigurations
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeReplicationConfigurations
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DescribeReplicationConfigurations)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe [ReplicationConfigurationDescription]
-> Int
-> DescribeReplicationConfigurationsResponse
DescribeReplicationConfigurationsResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"NextToken")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Replications" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance
  Prelude.Hashable
    DescribeReplicationConfigurations
  where
  hashWithSalt :: Int -> DescribeReplicationConfigurations -> Int
hashWithSalt
    Int
_salt
    DescribeReplicationConfigurations' {Maybe Natural
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
fileSystemId :: Maybe Text
$sel:nextToken:DescribeReplicationConfigurations' :: DescribeReplicationConfigurations -> Maybe Text
$sel:maxResults:DescribeReplicationConfigurations' :: DescribeReplicationConfigurations -> Maybe Natural
$sel:fileSystemId:DescribeReplicationConfigurations' :: DescribeReplicationConfigurations -> Maybe Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
fileSystemId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken

instance
  Prelude.NFData
    DescribeReplicationConfigurations
  where
  rnf :: DescribeReplicationConfigurations -> ()
rnf DescribeReplicationConfigurations' {Maybe Natural
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
fileSystemId :: Maybe Text
$sel:nextToken:DescribeReplicationConfigurations' :: DescribeReplicationConfigurations -> Maybe Text
$sel:maxResults:DescribeReplicationConfigurations' :: DescribeReplicationConfigurations -> Maybe Natural
$sel:fileSystemId:DescribeReplicationConfigurations' :: DescribeReplicationConfigurations -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
fileSystemId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken

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

instance
  Data.ToPath
    DescribeReplicationConfigurations
  where
  toPath :: DescribeReplicationConfigurations -> ByteString
toPath =
    forall a b. a -> b -> a
Prelude.const
      ByteString
"/2015-02-01/file-systems/replication-configurations"

instance
  Data.ToQuery
    DescribeReplicationConfigurations
  where
  toQuery :: DescribeReplicationConfigurations -> QueryString
toQuery DescribeReplicationConfigurations' {Maybe Natural
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
fileSystemId :: Maybe Text
$sel:nextToken:DescribeReplicationConfigurations' :: DescribeReplicationConfigurations -> Maybe Text
$sel:maxResults:DescribeReplicationConfigurations' :: DescribeReplicationConfigurations -> Maybe Natural
$sel:fileSystemId:DescribeReplicationConfigurations' :: DescribeReplicationConfigurations -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"FileSystemId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
fileSystemId,
        ByteString
"MaxResults" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
maxResults,
        ByteString
"NextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken
      ]

-- | /See:/ 'newDescribeReplicationConfigurationsResponse' smart constructor.
data DescribeReplicationConfigurationsResponse = DescribeReplicationConfigurationsResponse'
  { -- | You can use the @NextToken@ from the previous response in a subsequent
    -- request to fetch the additional descriptions.
    DescribeReplicationConfigurationsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The collection of replication configurations that is returned.
    DescribeReplicationConfigurationsResponse
-> Maybe [ReplicationConfigurationDescription]
replications :: Prelude.Maybe [ReplicationConfigurationDescription],
    -- | The response's http status code.
    DescribeReplicationConfigurationsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeReplicationConfigurationsResponse
-> DescribeReplicationConfigurationsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeReplicationConfigurationsResponse
-> DescribeReplicationConfigurationsResponse -> Bool
$c/= :: DescribeReplicationConfigurationsResponse
-> DescribeReplicationConfigurationsResponse -> Bool
== :: DescribeReplicationConfigurationsResponse
-> DescribeReplicationConfigurationsResponse -> Bool
$c== :: DescribeReplicationConfigurationsResponse
-> DescribeReplicationConfigurationsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeReplicationConfigurationsResponse]
ReadPrec DescribeReplicationConfigurationsResponse
Int -> ReadS DescribeReplicationConfigurationsResponse
ReadS [DescribeReplicationConfigurationsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeReplicationConfigurationsResponse]
$creadListPrec :: ReadPrec [DescribeReplicationConfigurationsResponse]
readPrec :: ReadPrec DescribeReplicationConfigurationsResponse
$creadPrec :: ReadPrec DescribeReplicationConfigurationsResponse
readList :: ReadS [DescribeReplicationConfigurationsResponse]
$creadList :: ReadS [DescribeReplicationConfigurationsResponse]
readsPrec :: Int -> ReadS DescribeReplicationConfigurationsResponse
$creadsPrec :: Int -> ReadS DescribeReplicationConfigurationsResponse
Prelude.Read, Int -> DescribeReplicationConfigurationsResponse -> ShowS
[DescribeReplicationConfigurationsResponse] -> ShowS
DescribeReplicationConfigurationsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeReplicationConfigurationsResponse] -> ShowS
$cshowList :: [DescribeReplicationConfigurationsResponse] -> ShowS
show :: DescribeReplicationConfigurationsResponse -> String
$cshow :: DescribeReplicationConfigurationsResponse -> String
showsPrec :: Int -> DescribeReplicationConfigurationsResponse -> ShowS
$cshowsPrec :: Int -> DescribeReplicationConfigurationsResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeReplicationConfigurationsResponse x
-> DescribeReplicationConfigurationsResponse
forall x.
DescribeReplicationConfigurationsResponse
-> Rep DescribeReplicationConfigurationsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeReplicationConfigurationsResponse x
-> DescribeReplicationConfigurationsResponse
$cfrom :: forall x.
DescribeReplicationConfigurationsResponse
-> Rep DescribeReplicationConfigurationsResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeReplicationConfigurationsResponse' 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:
--
-- 'nextToken', 'describeReplicationConfigurationsResponse_nextToken' - You can use the @NextToken@ from the previous response in a subsequent
-- request to fetch the additional descriptions.
--
-- 'replications', 'describeReplicationConfigurationsResponse_replications' - The collection of replication configurations that is returned.
--
-- 'httpStatus', 'describeReplicationConfigurationsResponse_httpStatus' - The response's http status code.
newDescribeReplicationConfigurationsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeReplicationConfigurationsResponse
newDescribeReplicationConfigurationsResponse :: Int -> DescribeReplicationConfigurationsResponse
newDescribeReplicationConfigurationsResponse
  Int
pHttpStatus_ =
    DescribeReplicationConfigurationsResponse'
      { $sel:nextToken:DescribeReplicationConfigurationsResponse' :: Maybe Text
nextToken =
          forall a. Maybe a
Prelude.Nothing,
        $sel:replications:DescribeReplicationConfigurationsResponse' :: Maybe [ReplicationConfigurationDescription]
replications = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeReplicationConfigurationsResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | You can use the @NextToken@ from the previous response in a subsequent
-- request to fetch the additional descriptions.
describeReplicationConfigurationsResponse_nextToken :: Lens.Lens' DescribeReplicationConfigurationsResponse (Prelude.Maybe Prelude.Text)
describeReplicationConfigurationsResponse_nextToken :: Lens' DescribeReplicationConfigurationsResponse (Maybe Text)
describeReplicationConfigurationsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeReplicationConfigurationsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeReplicationConfigurationsResponse' :: DescribeReplicationConfigurationsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeReplicationConfigurationsResponse
s@DescribeReplicationConfigurationsResponse' {} Maybe Text
a -> DescribeReplicationConfigurationsResponse
s {$sel:nextToken:DescribeReplicationConfigurationsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeReplicationConfigurationsResponse)

-- | The collection of replication configurations that is returned.
describeReplicationConfigurationsResponse_replications :: Lens.Lens' DescribeReplicationConfigurationsResponse (Prelude.Maybe [ReplicationConfigurationDescription])
describeReplicationConfigurationsResponse_replications :: Lens'
  DescribeReplicationConfigurationsResponse
  (Maybe [ReplicationConfigurationDescription])
describeReplicationConfigurationsResponse_replications = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeReplicationConfigurationsResponse' {Maybe [ReplicationConfigurationDescription]
replications :: Maybe [ReplicationConfigurationDescription]
$sel:replications:DescribeReplicationConfigurationsResponse' :: DescribeReplicationConfigurationsResponse
-> Maybe [ReplicationConfigurationDescription]
replications} -> Maybe [ReplicationConfigurationDescription]
replications) (\s :: DescribeReplicationConfigurationsResponse
s@DescribeReplicationConfigurationsResponse' {} Maybe [ReplicationConfigurationDescription]
a -> DescribeReplicationConfigurationsResponse
s {$sel:replications:DescribeReplicationConfigurationsResponse' :: Maybe [ReplicationConfigurationDescription]
replications = Maybe [ReplicationConfigurationDescription]
a} :: DescribeReplicationConfigurationsResponse) 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

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

instance
  Prelude.NFData
    DescribeReplicationConfigurationsResponse
  where
  rnf :: DescribeReplicationConfigurationsResponse -> ()
rnf DescribeReplicationConfigurationsResponse' {Int
Maybe [ReplicationConfigurationDescription]
Maybe Text
httpStatus :: Int
replications :: Maybe [ReplicationConfigurationDescription]
nextToken :: Maybe Text
$sel:httpStatus:DescribeReplicationConfigurationsResponse' :: DescribeReplicationConfigurationsResponse -> Int
$sel:replications:DescribeReplicationConfigurationsResponse' :: DescribeReplicationConfigurationsResponse
-> Maybe [ReplicationConfigurationDescription]
$sel:nextToken:DescribeReplicationConfigurationsResponse' :: DescribeReplicationConfigurationsResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [ReplicationConfigurationDescription]
replications
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus