packages feed

amazonka-personalize-2.0: gen/Amazonka/Personalize/DescribeDatasetImportJob.hs

{-# 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.Personalize.DescribeDatasetImportJob
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Describes the dataset import job created by
-- <https://docs.aws.amazon.com/personalize/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>,
-- including the import job status.
module Amazonka.Personalize.DescribeDatasetImportJob
  ( -- * Creating a Request
    DescribeDatasetImportJob (..),
    newDescribeDatasetImportJob,

    -- * Request Lenses
    describeDatasetImportJob_datasetImportJobArn,

    -- * Destructuring the Response
    DescribeDatasetImportJobResponse (..),
    newDescribeDatasetImportJobResponse,

    -- * Response Lenses
    describeDatasetImportJobResponse_datasetImportJob,
    describeDatasetImportJobResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Personalize.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newDescribeDatasetImportJob' smart constructor.
data DescribeDatasetImportJob = DescribeDatasetImportJob'
  { -- | The Amazon Resource Name (ARN) of the dataset import job to describe.
    datasetImportJobArn :: Prelude.Text
  }
  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)

-- |
-- Create a value of 'DescribeDatasetImportJob' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'datasetImportJobArn', 'describeDatasetImportJob_datasetImportJobArn' - The Amazon Resource Name (ARN) of the dataset import job to describe.
newDescribeDatasetImportJob ::
  -- | 'datasetImportJobArn'
  Prelude.Text ->
  DescribeDatasetImportJob
newDescribeDatasetImportJob pDatasetImportJobArn_ =
  DescribeDatasetImportJob'
    { datasetImportJobArn =
        pDatasetImportJobArn_
    }

-- | The Amazon Resource Name (ARN) of the dataset import job to describe.
describeDatasetImportJob_datasetImportJobArn :: Lens.Lens' DescribeDatasetImportJob Prelude.Text
describeDatasetImportJob_datasetImportJobArn = Lens.lens (\DescribeDatasetImportJob' {datasetImportJobArn} -> datasetImportJobArn) (\s@DescribeDatasetImportJob' {} a -> s {datasetImportJobArn = a} :: DescribeDatasetImportJob)

instance Core.AWSRequest DescribeDatasetImportJob where
  type
    AWSResponse DescribeDatasetImportJob =
      DescribeDatasetImportJobResponse
  request overrides =
    Request.postJSON (overrides defaultService)
  response =
    Response.receiveJSON
      ( \s h x ->
          DescribeDatasetImportJobResponse'
            Prelude.<$> (x Data..?> "datasetImportJob")
            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
      )

instance Prelude.Hashable DescribeDatasetImportJob where
  hashWithSalt _salt DescribeDatasetImportJob' {..} =
    _salt `Prelude.hashWithSalt` datasetImportJobArn

instance Prelude.NFData DescribeDatasetImportJob where
  rnf DescribeDatasetImportJob' {..} =
    Prelude.rnf datasetImportJobArn

instance Data.ToHeaders DescribeDatasetImportJob where
  toHeaders =
    Prelude.const
      ( Prelude.mconcat
          [ "X-Amz-Target"
              Data.=# ( "AmazonPersonalize.DescribeDatasetImportJob" ::
                          Prelude.ByteString
                      ),
            "Content-Type"
              Data.=# ( "application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DescribeDatasetImportJob where
  toJSON DescribeDatasetImportJob' {..} =
    Data.object
      ( Prelude.catMaybes
          [ Prelude.Just
              ("datasetImportJobArn" Data..= datasetImportJobArn)
          ]
      )

instance Data.ToPath DescribeDatasetImportJob where
  toPath = Prelude.const "/"

instance Data.ToQuery DescribeDatasetImportJob where
  toQuery = Prelude.const Prelude.mempty

-- | /See:/ 'newDescribeDatasetImportJobResponse' smart constructor.
data DescribeDatasetImportJobResponse = DescribeDatasetImportJobResponse'
  { -- | Information about the dataset import job, including the status.
    --
    -- The status is one of the following values:
    --
    -- -   CREATE PENDING
    --
    -- -   CREATE IN_PROGRESS
    --
    -- -   ACTIVE
    --
    -- -   CREATE FAILED
    datasetImportJob :: Prelude.Maybe DatasetImportJob,
    -- | The response's http status code.
    httpStatus :: Prelude.Int
  }
  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)

-- |
-- Create a value of 'DescribeDatasetImportJobResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'datasetImportJob', 'describeDatasetImportJobResponse_datasetImportJob' - Information about the dataset import job, including the status.
--
-- The status is one of the following values:
--
-- -   CREATE PENDING
--
-- -   CREATE IN_PROGRESS
--
-- -   ACTIVE
--
-- -   CREATE FAILED
--
-- 'httpStatus', 'describeDatasetImportJobResponse_httpStatus' - The response's http status code.
newDescribeDatasetImportJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeDatasetImportJobResponse
newDescribeDatasetImportJobResponse pHttpStatus_ =
  DescribeDatasetImportJobResponse'
    { datasetImportJob =
        Prelude.Nothing,
      httpStatus = pHttpStatus_
    }

-- | Information about the dataset import job, including the status.
--
-- The status is one of the following values:
--
-- -   CREATE PENDING
--
-- -   CREATE IN_PROGRESS
--
-- -   ACTIVE
--
-- -   CREATE FAILED
describeDatasetImportJobResponse_datasetImportJob :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe DatasetImportJob)
describeDatasetImportJobResponse_datasetImportJob = Lens.lens (\DescribeDatasetImportJobResponse' {datasetImportJob} -> datasetImportJob) (\s@DescribeDatasetImportJobResponse' {} a -> s {datasetImportJob = a} :: DescribeDatasetImportJobResponse)

-- | The response's http status code.
describeDatasetImportJobResponse_httpStatus :: Lens.Lens' DescribeDatasetImportJobResponse Prelude.Int
describeDatasetImportJobResponse_httpStatus = Lens.lens (\DescribeDatasetImportJobResponse' {httpStatus} -> httpStatus) (\s@DescribeDatasetImportJobResponse' {} a -> s {httpStatus = a} :: DescribeDatasetImportJobResponse)

instance
  Prelude.NFData
    DescribeDatasetImportJobResponse
  where
  rnf DescribeDatasetImportJobResponse' {..} =
    Prelude.rnf datasetImportJob
      `Prelude.seq` Prelude.rnf httpStatus