{-# 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.SageMakerGeoSpatial.ExportVectorEnrichmentJob -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Use this operation to copy results of a Vector Enrichment job to an S3 -- location. module Amazonka.SageMakerGeoSpatial.ExportVectorEnrichmentJob ( -- * Creating a Request ExportVectorEnrichmentJob (..), newExportVectorEnrichmentJob, -- * Request Lenses exportVectorEnrichmentJob_arn, exportVectorEnrichmentJob_executionRoleArn, exportVectorEnrichmentJob_outputConfig, -- * Destructuring the Response ExportVectorEnrichmentJobResponse (..), newExportVectorEnrichmentJobResponse, -- * Response Lenses exportVectorEnrichmentJobResponse_httpStatus, exportVectorEnrichmentJobResponse_arn, exportVectorEnrichmentJobResponse_creationTime, exportVectorEnrichmentJobResponse_executionRoleArn, exportVectorEnrichmentJobResponse_exportStatus, exportVectorEnrichmentJobResponse_outputConfig, ) where 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 import Amazonka.SageMakerGeoSpatial.Types -- | /See:/ 'newExportVectorEnrichmentJob' smart constructor. data ExportVectorEnrichmentJob = ExportVectorEnrichmentJob' { -- | The Amazon Resource Name (ARN) of the Vector Enrichment job. arn :: Prelude.Text, -- | The Amazon Resource Name (ARN) of the IAM rolewith permission to upload -- to the location in OutputConfig. executionRoleArn :: Prelude.Text, -- | Output location information for exporting Vector Enrichment Job results. outputConfig :: ExportVectorEnrichmentJobOutputConfig } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'ExportVectorEnrichmentJob' 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: -- -- 'arn', 'exportVectorEnrichmentJob_arn' - The Amazon Resource Name (ARN) of the Vector Enrichment job. -- -- 'executionRoleArn', 'exportVectorEnrichmentJob_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM rolewith permission to upload -- to the location in OutputConfig. -- -- 'outputConfig', 'exportVectorEnrichmentJob_outputConfig' - Output location information for exporting Vector Enrichment Job results. newExportVectorEnrichmentJob :: -- | 'arn' Prelude.Text -> -- | 'executionRoleArn' Prelude.Text -> -- | 'outputConfig' ExportVectorEnrichmentJobOutputConfig -> ExportVectorEnrichmentJob newExportVectorEnrichmentJob pArn_ pExecutionRoleArn_ pOutputConfig_ = ExportVectorEnrichmentJob' { arn = pArn_, executionRoleArn = pExecutionRoleArn_, outputConfig = pOutputConfig_ } -- | The Amazon Resource Name (ARN) of the Vector Enrichment job. exportVectorEnrichmentJob_arn :: Lens.Lens' ExportVectorEnrichmentJob Prelude.Text exportVectorEnrichmentJob_arn = Lens.lens (\ExportVectorEnrichmentJob' {arn} -> arn) (\s@ExportVectorEnrichmentJob' {} a -> s {arn = a} :: ExportVectorEnrichmentJob) -- | The Amazon Resource Name (ARN) of the IAM rolewith permission to upload -- to the location in OutputConfig. exportVectorEnrichmentJob_executionRoleArn :: Lens.Lens' ExportVectorEnrichmentJob Prelude.Text exportVectorEnrichmentJob_executionRoleArn = Lens.lens (\ExportVectorEnrichmentJob' {executionRoleArn} -> executionRoleArn) (\s@ExportVectorEnrichmentJob' {} a -> s {executionRoleArn = a} :: ExportVectorEnrichmentJob) -- | Output location information for exporting Vector Enrichment Job results. exportVectorEnrichmentJob_outputConfig :: Lens.Lens' ExportVectorEnrichmentJob ExportVectorEnrichmentJobOutputConfig exportVectorEnrichmentJob_outputConfig = Lens.lens (\ExportVectorEnrichmentJob' {outputConfig} -> outputConfig) (\s@ExportVectorEnrichmentJob' {} a -> s {outputConfig = a} :: ExportVectorEnrichmentJob) instance Core.AWSRequest ExportVectorEnrichmentJob where type AWSResponse ExportVectorEnrichmentJob = ExportVectorEnrichmentJobResponse request overrides = Request.postJSON (overrides defaultService) response = Response.receiveJSON ( \s h x -> ExportVectorEnrichmentJobResponse' Prelude.<$> (Prelude.pure (Prelude.fromEnum s)) Prelude.<*> (x Data..:> "Arn") Prelude.<*> (x Data..:> "CreationTime") Prelude.<*> (x Data..:> "ExecutionRoleArn") Prelude.<*> (x Data..:> "ExportStatus") Prelude.<*> (x Data..:> "OutputConfig") ) instance Prelude.Hashable ExportVectorEnrichmentJob where hashWithSalt _salt ExportVectorEnrichmentJob' {..} = _salt `Prelude.hashWithSalt` arn `Prelude.hashWithSalt` executionRoleArn `Prelude.hashWithSalt` outputConfig instance Prelude.NFData ExportVectorEnrichmentJob where rnf ExportVectorEnrichmentJob' {..} = Prelude.rnf arn `Prelude.seq` Prelude.rnf executionRoleArn `Prelude.seq` Prelude.rnf outputConfig instance Data.ToHeaders ExportVectorEnrichmentJob where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON ExportVectorEnrichmentJob where toJSON ExportVectorEnrichmentJob' {..} = Data.object ( Prelude.catMaybes [ Prelude.Just ("Arn" Data..= arn), Prelude.Just ("ExecutionRoleArn" Data..= executionRoleArn), Prelude.Just ("OutputConfig" Data..= outputConfig) ] ) instance Data.ToPath ExportVectorEnrichmentJob where toPath = Prelude.const "/export-vector-enrichment-jobs" instance Data.ToQuery ExportVectorEnrichmentJob where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newExportVectorEnrichmentJobResponse' smart constructor. data ExportVectorEnrichmentJobResponse = ExportVectorEnrichmentJobResponse' { -- | The response's http status code. httpStatus :: Prelude.Int, -- | The Amazon Resource Name (ARN) of the Vector Enrichment job being -- exported. arn :: Prelude.Text, -- | The creation time. creationTime :: Data.POSIX, -- | The Amazon Resource Name (ARN) of the IAM role with permission to upload -- to the location in OutputConfig. executionRoleArn :: Prelude.Text, -- | The status of the results the Vector Enrichment job being exported. exportStatus :: VectorEnrichmentJobExportStatus, -- | Output location information for exporting Vector Enrichment Job results. outputConfig :: ExportVectorEnrichmentJobOutputConfig } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'ExportVectorEnrichmentJobResponse' 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', 'exportVectorEnrichmentJobResponse_httpStatus' - The response's http status code. -- -- 'arn', 'exportVectorEnrichmentJobResponse_arn' - The Amazon Resource Name (ARN) of the Vector Enrichment job being -- exported. -- -- 'creationTime', 'exportVectorEnrichmentJobResponse_creationTime' - The creation time. -- -- 'executionRoleArn', 'exportVectorEnrichmentJobResponse_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM role with permission to upload -- to the location in OutputConfig. -- -- 'exportStatus', 'exportVectorEnrichmentJobResponse_exportStatus' - The status of the results the Vector Enrichment job being exported. -- -- 'outputConfig', 'exportVectorEnrichmentJobResponse_outputConfig' - Output location information for exporting Vector Enrichment Job results. newExportVectorEnrichmentJobResponse :: -- | 'httpStatus' Prelude.Int -> -- | 'arn' Prelude.Text -> -- | 'creationTime' Prelude.UTCTime -> -- | 'executionRoleArn' Prelude.Text -> -- | 'exportStatus' VectorEnrichmentJobExportStatus -> -- | 'outputConfig' ExportVectorEnrichmentJobOutputConfig -> ExportVectorEnrichmentJobResponse newExportVectorEnrichmentJobResponse pHttpStatus_ pArn_ pCreationTime_ pExecutionRoleArn_ pExportStatus_ pOutputConfig_ = ExportVectorEnrichmentJobResponse' { httpStatus = pHttpStatus_, arn = pArn_, creationTime = Data._Time Lens.# pCreationTime_, executionRoleArn = pExecutionRoleArn_, exportStatus = pExportStatus_, outputConfig = pOutputConfig_ } -- | The response's http status code. exportVectorEnrichmentJobResponse_httpStatus :: Lens.Lens' ExportVectorEnrichmentJobResponse Prelude.Int exportVectorEnrichmentJobResponse_httpStatus = Lens.lens (\ExportVectorEnrichmentJobResponse' {httpStatus} -> httpStatus) (\s@ExportVectorEnrichmentJobResponse' {} a -> s {httpStatus = a} :: ExportVectorEnrichmentJobResponse) -- | The Amazon Resource Name (ARN) of the Vector Enrichment job being -- exported. exportVectorEnrichmentJobResponse_arn :: Lens.Lens' ExportVectorEnrichmentJobResponse Prelude.Text exportVectorEnrichmentJobResponse_arn = Lens.lens (\ExportVectorEnrichmentJobResponse' {arn} -> arn) (\s@ExportVectorEnrichmentJobResponse' {} a -> s {arn = a} :: ExportVectorEnrichmentJobResponse) -- | The creation time. exportVectorEnrichmentJobResponse_creationTime :: Lens.Lens' ExportVectorEnrichmentJobResponse Prelude.UTCTime exportVectorEnrichmentJobResponse_creationTime = Lens.lens (\ExportVectorEnrichmentJobResponse' {creationTime} -> creationTime) (\s@ExportVectorEnrichmentJobResponse' {} a -> s {creationTime = a} :: ExportVectorEnrichmentJobResponse) Prelude.. Data._Time -- | The Amazon Resource Name (ARN) of the IAM role with permission to upload -- to the location in OutputConfig. exportVectorEnrichmentJobResponse_executionRoleArn :: Lens.Lens' ExportVectorEnrichmentJobResponse Prelude.Text exportVectorEnrichmentJobResponse_executionRoleArn = Lens.lens (\ExportVectorEnrichmentJobResponse' {executionRoleArn} -> executionRoleArn) (\s@ExportVectorEnrichmentJobResponse' {} a -> s {executionRoleArn = a} :: ExportVectorEnrichmentJobResponse) -- | The status of the results the Vector Enrichment job being exported. exportVectorEnrichmentJobResponse_exportStatus :: Lens.Lens' ExportVectorEnrichmentJobResponse VectorEnrichmentJobExportStatus exportVectorEnrichmentJobResponse_exportStatus = Lens.lens (\ExportVectorEnrichmentJobResponse' {exportStatus} -> exportStatus) (\s@ExportVectorEnrichmentJobResponse' {} a -> s {exportStatus = a} :: ExportVectorEnrichmentJobResponse) -- | Output location information for exporting Vector Enrichment Job results. exportVectorEnrichmentJobResponse_outputConfig :: Lens.Lens' ExportVectorEnrichmentJobResponse ExportVectorEnrichmentJobOutputConfig exportVectorEnrichmentJobResponse_outputConfig = Lens.lens (\ExportVectorEnrichmentJobResponse' {outputConfig} -> outputConfig) (\s@ExportVectorEnrichmentJobResponse' {} a -> s {outputConfig = a} :: ExportVectorEnrichmentJobResponse) instance Prelude.NFData ExportVectorEnrichmentJobResponse where rnf ExportVectorEnrichmentJobResponse' {..} = Prelude.rnf httpStatus `Prelude.seq` Prelude.rnf arn `Prelude.seq` Prelude.rnf creationTime `Prelude.seq` Prelude.rnf executionRoleArn `Prelude.seq` Prelude.rnf exportStatus `Prelude.seq` Prelude.rnf outputConfig