{-# 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.DrS.DescribeReplicationConfigurationTemplates -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Lists all ReplicationConfigurationTemplates, filtered by Source Server -- IDs. -- -- This operation returns paginated results. module Amazonka.DrS.DescribeReplicationConfigurationTemplates ( -- * Creating a Request DescribeReplicationConfigurationTemplates (..), newDescribeReplicationConfigurationTemplates, -- * Request Lenses describeReplicationConfigurationTemplates_maxResults, describeReplicationConfigurationTemplates_nextToken, describeReplicationConfigurationTemplates_replicationConfigurationTemplateIDs, -- * Destructuring the Response DescribeReplicationConfigurationTemplatesResponse (..), newDescribeReplicationConfigurationTemplatesResponse, -- * Response Lenses describeReplicationConfigurationTemplatesResponse_items, describeReplicationConfigurationTemplatesResponse_nextToken, describeReplicationConfigurationTemplatesResponse_httpStatus, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.DrS.Types import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newDescribeReplicationConfigurationTemplates' smart constructor. data DescribeReplicationConfigurationTemplates = DescribeReplicationConfigurationTemplates' { -- | Maximum number of Replication Configuration Templates to retrieve. maxResults :: Prelude.Maybe Prelude.Natural, -- | The token of the next Replication Configuration Template to retrieve. nextToken :: Prelude.Maybe Prelude.Text, -- | The IDs of the Replication Configuration Templates to retrieve. An empty -- list means all Replication Configuration Templates. replicationConfigurationTemplateIDs :: Prelude.Maybe [Prelude.Text] } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'DescribeReplicationConfigurationTemplates' 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: -- -- 'maxResults', 'describeReplicationConfigurationTemplates_maxResults' - Maximum number of Replication Configuration Templates to retrieve. -- -- 'nextToken', 'describeReplicationConfigurationTemplates_nextToken' - The token of the next Replication Configuration Template to retrieve. -- -- 'replicationConfigurationTemplateIDs', 'describeReplicationConfigurationTemplates_replicationConfigurationTemplateIDs' - The IDs of the Replication Configuration Templates to retrieve. An empty -- list means all Replication Configuration Templates. newDescribeReplicationConfigurationTemplates :: DescribeReplicationConfigurationTemplates newDescribeReplicationConfigurationTemplates = DescribeReplicationConfigurationTemplates' { maxResults = Prelude.Nothing, nextToken = Prelude.Nothing, replicationConfigurationTemplateIDs = Prelude.Nothing } -- | Maximum number of Replication Configuration Templates to retrieve. describeReplicationConfigurationTemplates_maxResults :: Lens.Lens' DescribeReplicationConfigurationTemplates (Prelude.Maybe Prelude.Natural) describeReplicationConfigurationTemplates_maxResults = Lens.lens (\DescribeReplicationConfigurationTemplates' {maxResults} -> maxResults) (\s@DescribeReplicationConfigurationTemplates' {} a -> s {maxResults = a} :: DescribeReplicationConfigurationTemplates) -- | The token of the next Replication Configuration Template to retrieve. describeReplicationConfigurationTemplates_nextToken :: Lens.Lens' DescribeReplicationConfigurationTemplates (Prelude.Maybe Prelude.Text) describeReplicationConfigurationTemplates_nextToken = Lens.lens (\DescribeReplicationConfigurationTemplates' {nextToken} -> nextToken) (\s@DescribeReplicationConfigurationTemplates' {} a -> s {nextToken = a} :: DescribeReplicationConfigurationTemplates) -- | The IDs of the Replication Configuration Templates to retrieve. An empty -- list means all Replication Configuration Templates. describeReplicationConfigurationTemplates_replicationConfigurationTemplateIDs :: Lens.Lens' DescribeReplicationConfigurationTemplates (Prelude.Maybe [Prelude.Text]) describeReplicationConfigurationTemplates_replicationConfigurationTemplateIDs = Lens.lens (\DescribeReplicationConfigurationTemplates' {replicationConfigurationTemplateIDs} -> replicationConfigurationTemplateIDs) (\s@DescribeReplicationConfigurationTemplates' {} a -> s {replicationConfigurationTemplateIDs = a} :: DescribeReplicationConfigurationTemplates) Prelude.. Lens.mapping Lens.coerced instance Core.AWSPager DescribeReplicationConfigurationTemplates where page rq rs | Core.stop ( rs Lens.^? describeReplicationConfigurationTemplatesResponse_nextToken Prelude.. Lens._Just ) = Prelude.Nothing | Core.stop ( rs Lens.^? describeReplicationConfigurationTemplatesResponse_items Prelude.. Lens._Just ) = Prelude.Nothing | Prelude.otherwise = Prelude.Just Prelude.$ rq Prelude.& describeReplicationConfigurationTemplates_nextToken Lens..~ rs Lens.^? describeReplicationConfigurationTemplatesResponse_nextToken Prelude.. Lens._Just instance Core.AWSRequest DescribeReplicationConfigurationTemplates where type AWSResponse DescribeReplicationConfigurationTemplates = DescribeReplicationConfigurationTemplatesResponse request overrides = Request.postJSON (overrides defaultService) response = Response.receiveJSON ( \s h x -> DescribeReplicationConfigurationTemplatesResponse' Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty) Prelude.<*> (x Data..?> "nextToken") Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable DescribeReplicationConfigurationTemplates where hashWithSalt _salt DescribeReplicationConfigurationTemplates' {..} = _salt `Prelude.hashWithSalt` maxResults `Prelude.hashWithSalt` nextToken `Prelude.hashWithSalt` replicationConfigurationTemplateIDs instance Prelude.NFData DescribeReplicationConfigurationTemplates where rnf DescribeReplicationConfigurationTemplates' {..} = Prelude.rnf maxResults `Prelude.seq` Prelude.rnf nextToken `Prelude.seq` Prelude.rnf replicationConfigurationTemplateIDs instance Data.ToHeaders DescribeReplicationConfigurationTemplates where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON DescribeReplicationConfigurationTemplates where toJSON DescribeReplicationConfigurationTemplates' {..} = Data.object ( Prelude.catMaybes [ ("maxResults" Data..=) Prelude.<$> maxResults, ("nextToken" Data..=) Prelude.<$> nextToken, ("replicationConfigurationTemplateIDs" Data..=) Prelude.<$> replicationConfigurationTemplateIDs ] ) instance Data.ToPath DescribeReplicationConfigurationTemplates where toPath = Prelude.const "/DescribeReplicationConfigurationTemplates" instance Data.ToQuery DescribeReplicationConfigurationTemplates where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newDescribeReplicationConfigurationTemplatesResponse' smart constructor. data DescribeReplicationConfigurationTemplatesResponse = DescribeReplicationConfigurationTemplatesResponse' { -- | An array of Replication Configuration Templates. items :: Prelude.Maybe [ReplicationConfigurationTemplate], -- | The token of the next Replication Configuration Template to retrieve. nextToken :: Prelude.Maybe Prelude.Text, -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'DescribeReplicationConfigurationTemplatesResponse' 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: -- -- 'items', 'describeReplicationConfigurationTemplatesResponse_items' - An array of Replication Configuration Templates. -- -- 'nextToken', 'describeReplicationConfigurationTemplatesResponse_nextToken' - The token of the next Replication Configuration Template to retrieve. -- -- 'httpStatus', 'describeReplicationConfigurationTemplatesResponse_httpStatus' - The response's http status code. newDescribeReplicationConfigurationTemplatesResponse :: -- | 'httpStatus' Prelude.Int -> DescribeReplicationConfigurationTemplatesResponse newDescribeReplicationConfigurationTemplatesResponse pHttpStatus_ = DescribeReplicationConfigurationTemplatesResponse' { items = Prelude.Nothing, nextToken = Prelude.Nothing, httpStatus = pHttpStatus_ } -- | An array of Replication Configuration Templates. describeReplicationConfigurationTemplatesResponse_items :: Lens.Lens' DescribeReplicationConfigurationTemplatesResponse (Prelude.Maybe [ReplicationConfigurationTemplate]) describeReplicationConfigurationTemplatesResponse_items = Lens.lens (\DescribeReplicationConfigurationTemplatesResponse' {items} -> items) (\s@DescribeReplicationConfigurationTemplatesResponse' {} a -> s {items = a} :: DescribeReplicationConfigurationTemplatesResponse) Prelude.. Lens.mapping Lens.coerced -- | The token of the next Replication Configuration Template to retrieve. describeReplicationConfigurationTemplatesResponse_nextToken :: Lens.Lens' DescribeReplicationConfigurationTemplatesResponse (Prelude.Maybe Prelude.Text) describeReplicationConfigurationTemplatesResponse_nextToken = Lens.lens (\DescribeReplicationConfigurationTemplatesResponse' {nextToken} -> nextToken) (\s@DescribeReplicationConfigurationTemplatesResponse' {} a -> s {nextToken = a} :: DescribeReplicationConfigurationTemplatesResponse) -- | The response's http status code. describeReplicationConfigurationTemplatesResponse_httpStatus :: Lens.Lens' DescribeReplicationConfigurationTemplatesResponse Prelude.Int describeReplicationConfigurationTemplatesResponse_httpStatus = Lens.lens (\DescribeReplicationConfigurationTemplatesResponse' {httpStatus} -> httpStatus) (\s@DescribeReplicationConfigurationTemplatesResponse' {} a -> s {httpStatus = a} :: DescribeReplicationConfigurationTemplatesResponse) instance Prelude.NFData DescribeReplicationConfigurationTemplatesResponse where rnf DescribeReplicationConfigurationTemplatesResponse' {..} = Prelude.rnf items `Prelude.seq` Prelude.rnf nextToken `Prelude.seq` Prelude.rnf httpStatus