{-# 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.DataBrew.StartJobRun -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Runs a DataBrew job. module Amazonka.DataBrew.StartJobRun ( -- * Creating a Request StartJobRun (..), newStartJobRun, -- * Request Lenses startJobRun_name, -- * Destructuring the Response StartJobRunResponse (..), newStartJobRunResponse, -- * Response Lenses startJobRunResponse_httpStatus, startJobRunResponse_runId, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.DataBrew.Types import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newStartJobRun' smart constructor. data StartJobRun = StartJobRun' { -- | The name of the job to be run. name :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'StartJobRun' 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: -- -- 'name', 'startJobRun_name' - The name of the job to be run. newStartJobRun :: -- | 'name' Prelude.Text -> StartJobRun newStartJobRun pName_ = StartJobRun' {name = pName_} -- | The name of the job to be run. startJobRun_name :: Lens.Lens' StartJobRun Prelude.Text startJobRun_name = Lens.lens (\StartJobRun' {name} -> name) (\s@StartJobRun' {} a -> s {name = a} :: StartJobRun) instance Core.AWSRequest StartJobRun where type AWSResponse StartJobRun = StartJobRunResponse request overrides = Request.postJSON (overrides defaultService) response = Response.receiveJSON ( \s h x -> StartJobRunResponse' Prelude.<$> (Prelude.pure (Prelude.fromEnum s)) Prelude.<*> (x Data..:> "RunId") ) instance Prelude.Hashable StartJobRun where hashWithSalt _salt StartJobRun' {..} = _salt `Prelude.hashWithSalt` name instance Prelude.NFData StartJobRun where rnf StartJobRun' {..} = Prelude.rnf name instance Data.ToHeaders StartJobRun where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON StartJobRun where toJSON = Prelude.const (Data.Object Prelude.mempty) instance Data.ToPath StartJobRun where toPath StartJobRun' {..} = Prelude.mconcat ["/jobs/", Data.toBS name, "/startJobRun"] instance Data.ToQuery StartJobRun where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newStartJobRunResponse' smart constructor. data StartJobRunResponse = StartJobRunResponse' { -- | The response's http status code. httpStatus :: Prelude.Int, -- | A system-generated identifier for this particular job run. runId :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'StartJobRunResponse' 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', 'startJobRunResponse_httpStatus' - The response's http status code. -- -- 'runId', 'startJobRunResponse_runId' - A system-generated identifier for this particular job run. newStartJobRunResponse :: -- | 'httpStatus' Prelude.Int -> -- | 'runId' Prelude.Text -> StartJobRunResponse newStartJobRunResponse pHttpStatus_ pRunId_ = StartJobRunResponse' { httpStatus = pHttpStatus_, runId = pRunId_ } -- | The response's http status code. startJobRunResponse_httpStatus :: Lens.Lens' StartJobRunResponse Prelude.Int startJobRunResponse_httpStatus = Lens.lens (\StartJobRunResponse' {httpStatus} -> httpStatus) (\s@StartJobRunResponse' {} a -> s {httpStatus = a} :: StartJobRunResponse) -- | A system-generated identifier for this particular job run. startJobRunResponse_runId :: Lens.Lens' StartJobRunResponse Prelude.Text startJobRunResponse_runId = Lens.lens (\StartJobRunResponse' {runId} -> runId) (\s@StartJobRunResponse' {} a -> s {runId = a} :: StartJobRunResponse) instance Prelude.NFData StartJobRunResponse where rnf StartJobRunResponse' {..} = Prelude.rnf httpStatus `Prelude.seq` Prelude.rnf runId