amazonka-efs-2.0: gen/Amazonka/EFS/DescribeReplicationConfigurations.hs
{-# 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.
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.
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.
nextToken :: Prelude.Maybe Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, 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'
{ fileSystemId =
Prelude.Nothing,
maxResults = Prelude.Nothing,
nextToken = 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.lens (\DescribeReplicationConfigurations' {fileSystemId} -> fileSystemId) (\s@DescribeReplicationConfigurations' {} a -> s {fileSystemId = 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.lens (\DescribeReplicationConfigurations' {maxResults} -> maxResults) (\s@DescribeReplicationConfigurations' {} a -> s {maxResults = 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.lens (\DescribeReplicationConfigurations' {nextToken} -> nextToken) (\s@DescribeReplicationConfigurations' {} a -> s {nextToken = a} :: DescribeReplicationConfigurations)
instance
Core.AWSRequest
DescribeReplicationConfigurations
where
type
AWSResponse DescribeReplicationConfigurations =
DescribeReplicationConfigurationsResponse
request overrides =
Request.get (overrides defaultService)
response =
Response.receiveJSON
( \s h x ->
DescribeReplicationConfigurationsResponse'
Prelude.<$> (x Data..?> "NextToken")
Prelude.<*> (x Data..?> "Replications" Core..!@ Prelude.mempty)
Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
)
instance
Prelude.Hashable
DescribeReplicationConfigurations
where
hashWithSalt
_salt
DescribeReplicationConfigurations' {..} =
_salt
`Prelude.hashWithSalt` fileSystemId
`Prelude.hashWithSalt` maxResults
`Prelude.hashWithSalt` nextToken
instance
Prelude.NFData
DescribeReplicationConfigurations
where
rnf DescribeReplicationConfigurations' {..} =
Prelude.rnf fileSystemId
`Prelude.seq` Prelude.rnf maxResults
`Prelude.seq` Prelude.rnf nextToken
instance
Data.ToHeaders
DescribeReplicationConfigurations
where
toHeaders = Prelude.const Prelude.mempty
instance
Data.ToPath
DescribeReplicationConfigurations
where
toPath =
Prelude.const
"/2015-02-01/file-systems/replication-configurations"
instance
Data.ToQuery
DescribeReplicationConfigurations
where
toQuery DescribeReplicationConfigurations' {..} =
Prelude.mconcat
[ "FileSystemId" Data.=: fileSystemId,
"MaxResults" Data.=: maxResults,
"NextToken" Data.=: 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.
nextToken :: Prelude.Maybe Prelude.Text,
-- | The collection of replication configurations that is returned.
replications :: Prelude.Maybe [ReplicationConfigurationDescription],
-- | The response's http status code.
httpStatus :: Prelude.Int
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, 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
pHttpStatus_ =
DescribeReplicationConfigurationsResponse'
{ nextToken =
Prelude.Nothing,
replications = Prelude.Nothing,
httpStatus = 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.lens (\DescribeReplicationConfigurationsResponse' {nextToken} -> nextToken) (\s@DescribeReplicationConfigurationsResponse' {} a -> s {nextToken = a} :: DescribeReplicationConfigurationsResponse)
-- | The collection of replication configurations that is returned.
describeReplicationConfigurationsResponse_replications :: Lens.Lens' DescribeReplicationConfigurationsResponse (Prelude.Maybe [ReplicationConfigurationDescription])
describeReplicationConfigurationsResponse_replications = Lens.lens (\DescribeReplicationConfigurationsResponse' {replications} -> replications) (\s@DescribeReplicationConfigurationsResponse' {} a -> s {replications = a} :: DescribeReplicationConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced
-- | The response's http status code.
describeReplicationConfigurationsResponse_httpStatus :: Lens.Lens' DescribeReplicationConfigurationsResponse Prelude.Int
describeReplicationConfigurationsResponse_httpStatus = Lens.lens (\DescribeReplicationConfigurationsResponse' {httpStatus} -> httpStatus) (\s@DescribeReplicationConfigurationsResponse' {} a -> s {httpStatus = a} :: DescribeReplicationConfigurationsResponse)
instance
Prelude.NFData
DescribeReplicationConfigurationsResponse
where
rnf DescribeReplicationConfigurationsResponse' {..} =
Prelude.rnf nextToken
`Prelude.seq` Prelude.rnf replications
`Prelude.seq` Prelude.rnf httpStatus