{-# 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.LakeFormation.GetWorkUnitResults -- 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 work units resulting from the query. Work units can be -- executed in any order and in parallel. module Amazonka.LakeFormation.GetWorkUnitResults ( -- * Creating a Request GetWorkUnitResults (..), newGetWorkUnitResults, -- * Request Lenses getWorkUnitResults_queryId, getWorkUnitResults_workUnitId, getWorkUnitResults_workUnitToken, -- * Destructuring the Response GetWorkUnitResultsResponse (..), newGetWorkUnitResultsResponse, -- * Response Lenses getWorkUnitResultsResponse_httpStatus, getWorkUnitResultsResponse_resultStream, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.LakeFormation.Types import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newGetWorkUnitResults' smart constructor. data GetWorkUnitResults = GetWorkUnitResults' { -- | The ID of the plan query operation for which to get results. queryId :: Prelude.Text, -- | The work unit ID for which to get results. Value generated by -- enumerating @WorkUnitIdMin@ to @WorkUnitIdMax@ (inclusive) from the -- @WorkUnitRange@ in the output of @GetWorkUnits@. workUnitId :: Prelude.Natural, -- | A work token used to query the execution service. Token output from -- @GetWorkUnits@. workUnitToken :: Data.Sensitive Prelude.Text } deriving (Prelude.Eq, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'GetWorkUnitResults' 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: -- -- 'queryId', 'getWorkUnitResults_queryId' - The ID of the plan query operation for which to get results. -- -- 'workUnitId', 'getWorkUnitResults_workUnitId' - The work unit ID for which to get results. Value generated by -- enumerating @WorkUnitIdMin@ to @WorkUnitIdMax@ (inclusive) from the -- @WorkUnitRange@ in the output of @GetWorkUnits@. -- -- 'workUnitToken', 'getWorkUnitResults_workUnitToken' - A work token used to query the execution service. Token output from -- @GetWorkUnits@. newGetWorkUnitResults :: -- | 'queryId' Prelude.Text -> -- | 'workUnitId' Prelude.Natural -> -- | 'workUnitToken' Prelude.Text -> GetWorkUnitResults newGetWorkUnitResults pQueryId_ pWorkUnitId_ pWorkUnitToken_ = GetWorkUnitResults' { queryId = pQueryId_, workUnitId = pWorkUnitId_, workUnitToken = Data._Sensitive Lens.# pWorkUnitToken_ } -- | The ID of the plan query operation for which to get results. getWorkUnitResults_queryId :: Lens.Lens' GetWorkUnitResults Prelude.Text getWorkUnitResults_queryId = Lens.lens (\GetWorkUnitResults' {queryId} -> queryId) (\s@GetWorkUnitResults' {} a -> s {queryId = a} :: GetWorkUnitResults) -- | The work unit ID for which to get results. Value generated by -- enumerating @WorkUnitIdMin@ to @WorkUnitIdMax@ (inclusive) from the -- @WorkUnitRange@ in the output of @GetWorkUnits@. getWorkUnitResults_workUnitId :: Lens.Lens' GetWorkUnitResults Prelude.Natural getWorkUnitResults_workUnitId = Lens.lens (\GetWorkUnitResults' {workUnitId} -> workUnitId) (\s@GetWorkUnitResults' {} a -> s {workUnitId = a} :: GetWorkUnitResults) -- | A work token used to query the execution service. Token output from -- @GetWorkUnits@. getWorkUnitResults_workUnitToken :: Lens.Lens' GetWorkUnitResults Prelude.Text getWorkUnitResults_workUnitToken = Lens.lens (\GetWorkUnitResults' {workUnitToken} -> workUnitToken) (\s@GetWorkUnitResults' {} a -> s {workUnitToken = a} :: GetWorkUnitResults) Prelude.. Data._Sensitive instance Core.AWSRequest GetWorkUnitResults where type AWSResponse GetWorkUnitResults = GetWorkUnitResultsResponse request overrides = Request.postJSON (overrides defaultService) response = Response.receiveBody ( \s h x -> GetWorkUnitResultsResponse' Prelude.<$> (Prelude.pure (Prelude.fromEnum s)) Prelude.<*> (Prelude.pure x) ) instance Prelude.Hashable GetWorkUnitResults where hashWithSalt _salt GetWorkUnitResults' {..} = _salt `Prelude.hashWithSalt` queryId `Prelude.hashWithSalt` workUnitId `Prelude.hashWithSalt` workUnitToken instance Prelude.NFData GetWorkUnitResults where rnf GetWorkUnitResults' {..} = Prelude.rnf queryId `Prelude.seq` Prelude.rnf workUnitId `Prelude.seq` Prelude.rnf workUnitToken instance Data.ToHeaders GetWorkUnitResults where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON GetWorkUnitResults where toJSON GetWorkUnitResults' {..} = Data.object ( Prelude.catMaybes [ Prelude.Just ("QueryId" Data..= queryId), Prelude.Just ("WorkUnitId" Data..= workUnitId), Prelude.Just ("WorkUnitToken" Data..= workUnitToken) ] ) instance Data.ToPath GetWorkUnitResults where toPath = Prelude.const "/GetWorkUnitResults" instance Data.ToQuery GetWorkUnitResults where toQuery = Prelude.const Prelude.mempty -- | A structure for the output. -- -- /See:/ 'newGetWorkUnitResultsResponse' smart constructor. data GetWorkUnitResultsResponse = GetWorkUnitResultsResponse' { -- | The response's http status code. httpStatus :: Prelude.Int, -- | Rows returned from the @GetWorkUnitResults@ operation as a stream of -- Apache Arrow v1.0 messages. resultStream :: Data.ResponseBody } deriving (Prelude.Show, Prelude.Generic) -- | -- Create a value of 'GetWorkUnitResultsResponse' 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: -- -- 'httpStatus', 'getWorkUnitResultsResponse_httpStatus' - The response's http status code. -- -- 'resultStream', 'getWorkUnitResultsResponse_resultStream' - Rows returned from the @GetWorkUnitResults@ operation as a stream of -- Apache Arrow v1.0 messages. newGetWorkUnitResultsResponse :: -- | 'httpStatus' Prelude.Int -> -- | 'resultStream' Data.ResponseBody -> GetWorkUnitResultsResponse newGetWorkUnitResultsResponse pHttpStatus_ pResultStream_ = GetWorkUnitResultsResponse' { httpStatus = pHttpStatus_, resultStream = pResultStream_ } -- | The response's http status code. getWorkUnitResultsResponse_httpStatus :: Lens.Lens' GetWorkUnitResultsResponse Prelude.Int getWorkUnitResultsResponse_httpStatus = Lens.lens (\GetWorkUnitResultsResponse' {httpStatus} -> httpStatus) (\s@GetWorkUnitResultsResponse' {} a -> s {httpStatus = a} :: GetWorkUnitResultsResponse) -- | Rows returned from the @GetWorkUnitResults@ operation as a stream of -- Apache Arrow v1.0 messages. getWorkUnitResultsResponse_resultStream :: Lens.Lens' GetWorkUnitResultsResponse Data.ResponseBody getWorkUnitResultsResponse_resultStream = Lens.lens (\GetWorkUnitResultsResponse' {resultStream} -> resultStream) (\s@GetWorkUnitResultsResponse' {} a -> s {resultStream = a} :: GetWorkUnitResultsResponse)