{-# 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.Athena.BatchGetPreparedStatement -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns the details of a single prepared statement or a list of up to -- 256 prepared statements for the array of prepared statement names that -- you provide. Requires you to have access to the workgroup to which the -- prepared statements belong. If a prepared statement cannot be retrieved -- for the name specified, the statement is listed in -- @UnprocessedPreparedStatementNames@. module Amazonka.Athena.BatchGetPreparedStatement ( -- * Creating a Request BatchGetPreparedStatement (..), newBatchGetPreparedStatement, -- * Request Lenses batchGetPreparedStatement_preparedStatementNames, batchGetPreparedStatement_workGroup, -- * Destructuring the Response BatchGetPreparedStatementResponse (..), newBatchGetPreparedStatementResponse, -- * Response Lenses batchGetPreparedStatementResponse_preparedStatements, batchGetPreparedStatementResponse_unprocessedPreparedStatementNames, batchGetPreparedStatementResponse_httpStatus, ) where import Amazonka.Athena.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 -- | /See:/ 'newBatchGetPreparedStatement' smart constructor. data BatchGetPreparedStatement = BatchGetPreparedStatement' { -- | A list of prepared statement names to return. preparedStatementNames :: [Prelude.Text], -- | The name of the workgroup to which the prepared statements belong. workGroup :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'BatchGetPreparedStatement' 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: -- -- 'preparedStatementNames', 'batchGetPreparedStatement_preparedStatementNames' - A list of prepared statement names to return. -- -- 'workGroup', 'batchGetPreparedStatement_workGroup' - The name of the workgroup to which the prepared statements belong. newBatchGetPreparedStatement :: -- | 'workGroup' Prelude.Text -> BatchGetPreparedStatement newBatchGetPreparedStatement pWorkGroup_ = BatchGetPreparedStatement' { preparedStatementNames = Prelude.mempty, workGroup = pWorkGroup_ } -- | A list of prepared statement names to return. batchGetPreparedStatement_preparedStatementNames :: Lens.Lens' BatchGetPreparedStatement [Prelude.Text] batchGetPreparedStatement_preparedStatementNames = Lens.lens (\BatchGetPreparedStatement' {preparedStatementNames} -> preparedStatementNames) (\s@BatchGetPreparedStatement' {} a -> s {preparedStatementNames = a} :: BatchGetPreparedStatement) Prelude.. Lens.coerced -- | The name of the workgroup to which the prepared statements belong. batchGetPreparedStatement_workGroup :: Lens.Lens' BatchGetPreparedStatement Prelude.Text batchGetPreparedStatement_workGroup = Lens.lens (\BatchGetPreparedStatement' {workGroup} -> workGroup) (\s@BatchGetPreparedStatement' {} a -> s {workGroup = a} :: BatchGetPreparedStatement) instance Core.AWSRequest BatchGetPreparedStatement where type AWSResponse BatchGetPreparedStatement = BatchGetPreparedStatementResponse request overrides = Request.postJSON (overrides defaultService) response = Response.receiveJSON ( \s h x -> BatchGetPreparedStatementResponse' Prelude.<$> ( x Data..?> "PreparedStatements" Core..!@ Prelude.mempty ) Prelude.<*> ( x Data..?> "UnprocessedPreparedStatementNames" Core..!@ Prelude.mempty ) Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable BatchGetPreparedStatement where hashWithSalt _salt BatchGetPreparedStatement' {..} = _salt `Prelude.hashWithSalt` preparedStatementNames `Prelude.hashWithSalt` workGroup instance Prelude.NFData BatchGetPreparedStatement where rnf BatchGetPreparedStatement' {..} = Prelude.rnf preparedStatementNames `Prelude.seq` Prelude.rnf workGroup instance Data.ToHeaders BatchGetPreparedStatement where toHeaders = Prelude.const ( Prelude.mconcat [ "X-Amz-Target" Data.=# ( "AmazonAthena.BatchGetPreparedStatement" :: Prelude.ByteString ), "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON BatchGetPreparedStatement where toJSON BatchGetPreparedStatement' {..} = Data.object ( Prelude.catMaybes [ Prelude.Just ( "PreparedStatementNames" Data..= preparedStatementNames ), Prelude.Just ("WorkGroup" Data..= workGroup) ] ) instance Data.ToPath BatchGetPreparedStatement where toPath = Prelude.const "/" instance Data.ToQuery BatchGetPreparedStatement where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newBatchGetPreparedStatementResponse' smart constructor. data BatchGetPreparedStatementResponse = BatchGetPreparedStatementResponse' { -- | The list of prepared statements returned. preparedStatements :: Prelude.Maybe [PreparedStatement], -- | A list of one or more prepared statements that were requested but could -- not be returned. unprocessedPreparedStatementNames :: Prelude.Maybe [UnprocessedPreparedStatementName], -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'BatchGetPreparedStatementResponse' 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: -- -- 'preparedStatements', 'batchGetPreparedStatementResponse_preparedStatements' - The list of prepared statements returned. -- -- 'unprocessedPreparedStatementNames', 'batchGetPreparedStatementResponse_unprocessedPreparedStatementNames' - A list of one or more prepared statements that were requested but could -- not be returned. -- -- 'httpStatus', 'batchGetPreparedStatementResponse_httpStatus' - The response's http status code. newBatchGetPreparedStatementResponse :: -- | 'httpStatus' Prelude.Int -> BatchGetPreparedStatementResponse newBatchGetPreparedStatementResponse pHttpStatus_ = BatchGetPreparedStatementResponse' { preparedStatements = Prelude.Nothing, unprocessedPreparedStatementNames = Prelude.Nothing, httpStatus = pHttpStatus_ } -- | The list of prepared statements returned. batchGetPreparedStatementResponse_preparedStatements :: Lens.Lens' BatchGetPreparedStatementResponse (Prelude.Maybe [PreparedStatement]) batchGetPreparedStatementResponse_preparedStatements = Lens.lens (\BatchGetPreparedStatementResponse' {preparedStatements} -> preparedStatements) (\s@BatchGetPreparedStatementResponse' {} a -> s {preparedStatements = a} :: BatchGetPreparedStatementResponse) Prelude.. Lens.mapping Lens.coerced -- | A list of one or more prepared statements that were requested but could -- not be returned. batchGetPreparedStatementResponse_unprocessedPreparedStatementNames :: Lens.Lens' BatchGetPreparedStatementResponse (Prelude.Maybe [UnprocessedPreparedStatementName]) batchGetPreparedStatementResponse_unprocessedPreparedStatementNames = Lens.lens (\BatchGetPreparedStatementResponse' {unprocessedPreparedStatementNames} -> unprocessedPreparedStatementNames) (\s@BatchGetPreparedStatementResponse' {} a -> s {unprocessedPreparedStatementNames = a} :: BatchGetPreparedStatementResponse) Prelude.. Lens.mapping Lens.coerced -- | The response's http status code. batchGetPreparedStatementResponse_httpStatus :: Lens.Lens' BatchGetPreparedStatementResponse Prelude.Int batchGetPreparedStatementResponse_httpStatus = Lens.lens (\BatchGetPreparedStatementResponse' {httpStatus} -> httpStatus) (\s@BatchGetPreparedStatementResponse' {} a -> s {httpStatus = a} :: BatchGetPreparedStatementResponse) instance Prelude.NFData BatchGetPreparedStatementResponse where rnf BatchGetPreparedStatementResponse' {..} = Prelude.rnf preparedStatements `Prelude.seq` Prelude.rnf unprocessedPreparedStatementNames `Prelude.seq` Prelude.rnf httpStatus