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