amazonka-iotsitewise-2.0: gen/Amazonka/IoTSiteWise/ListBulkImportJobs.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.IoTSiteWise.ListBulkImportJobs
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Retrieves a paginated list of bulk import job requests. For more
-- information, see
-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ListBulkImportJobs.html List bulk import jobs (CLI)>
-- in the /IoT SiteWise User Guide/.
--
-- This operation returns paginated results.
module Amazonka.IoTSiteWise.ListBulkImportJobs
( -- * Creating a Request
ListBulkImportJobs (..),
newListBulkImportJobs,
-- * Request Lenses
listBulkImportJobs_filter,
listBulkImportJobs_maxResults,
listBulkImportJobs_nextToken,
-- * Destructuring the Response
ListBulkImportJobsResponse (..),
newListBulkImportJobsResponse,
-- * Response Lenses
listBulkImportJobsResponse_nextToken,
listBulkImportJobsResponse_httpStatus,
listBulkImportJobsResponse_jobSummaries,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoTSiteWise.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
-- | /See:/ 'newListBulkImportJobs' smart constructor.
data ListBulkImportJobs = ListBulkImportJobs'
{ -- | You can use a filter to select the bulk import jobs that you want to
-- retrieve.
filter' :: Prelude.Maybe ListBulkImportJobsFilter,
-- | The maximum number of results to return for each paginated request.
maxResults :: Prelude.Maybe Prelude.Natural,
-- | The token to be used for the next set of paginated results.
nextToken :: Prelude.Maybe Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'ListBulkImportJobs' 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:
--
-- 'filter'', 'listBulkImportJobs_filter' - You can use a filter to select the bulk import jobs that you want to
-- retrieve.
--
-- 'maxResults', 'listBulkImportJobs_maxResults' - The maximum number of results to return for each paginated request.
--
-- 'nextToken', 'listBulkImportJobs_nextToken' - The token to be used for the next set of paginated results.
newListBulkImportJobs ::
ListBulkImportJobs
newListBulkImportJobs =
ListBulkImportJobs'
{ filter' = Prelude.Nothing,
maxResults = Prelude.Nothing,
nextToken = Prelude.Nothing
}
-- | You can use a filter to select the bulk import jobs that you want to
-- retrieve.
listBulkImportJobs_filter :: Lens.Lens' ListBulkImportJobs (Prelude.Maybe ListBulkImportJobsFilter)
listBulkImportJobs_filter = Lens.lens (\ListBulkImportJobs' {filter'} -> filter') (\s@ListBulkImportJobs' {} a -> s {filter' = a} :: ListBulkImportJobs)
-- | The maximum number of results to return for each paginated request.
listBulkImportJobs_maxResults :: Lens.Lens' ListBulkImportJobs (Prelude.Maybe Prelude.Natural)
listBulkImportJobs_maxResults = Lens.lens (\ListBulkImportJobs' {maxResults} -> maxResults) (\s@ListBulkImportJobs' {} a -> s {maxResults = a} :: ListBulkImportJobs)
-- | The token to be used for the next set of paginated results.
listBulkImportJobs_nextToken :: Lens.Lens' ListBulkImportJobs (Prelude.Maybe Prelude.Text)
listBulkImportJobs_nextToken = Lens.lens (\ListBulkImportJobs' {nextToken} -> nextToken) (\s@ListBulkImportJobs' {} a -> s {nextToken = a} :: ListBulkImportJobs)
instance Core.AWSPager ListBulkImportJobs where
page rq rs
| Core.stop
( rs
Lens.^? listBulkImportJobsResponse_nextToken
Prelude.. Lens._Just
) =
Prelude.Nothing
| Core.stop
(rs Lens.^. listBulkImportJobsResponse_jobSummaries) =
Prelude.Nothing
| Prelude.otherwise =
Prelude.Just
Prelude.$ rq
Prelude.& listBulkImportJobs_nextToken
Lens..~ rs
Lens.^? listBulkImportJobsResponse_nextToken
Prelude.. Lens._Just
instance Core.AWSRequest ListBulkImportJobs where
type
AWSResponse ListBulkImportJobs =
ListBulkImportJobsResponse
request overrides =
Request.get (overrides defaultService)
response =
Response.receiveJSON
( \s h x ->
ListBulkImportJobsResponse'
Prelude.<$> (x Data..?> "nextToken")
Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
Prelude.<*> (x Data..?> "jobSummaries" Core..!@ Prelude.mempty)
)
instance Prelude.Hashable ListBulkImportJobs where
hashWithSalt _salt ListBulkImportJobs' {..} =
_salt
`Prelude.hashWithSalt` filter'
`Prelude.hashWithSalt` maxResults
`Prelude.hashWithSalt` nextToken
instance Prelude.NFData ListBulkImportJobs where
rnf ListBulkImportJobs' {..} =
Prelude.rnf filter'
`Prelude.seq` Prelude.rnf maxResults
`Prelude.seq` Prelude.rnf nextToken
instance Data.ToHeaders ListBulkImportJobs where
toHeaders =
Prelude.const
( Prelude.mconcat
[ "Content-Type"
Data.=# ( "application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath ListBulkImportJobs where
toPath = Prelude.const "/jobs"
instance Data.ToQuery ListBulkImportJobs where
toQuery ListBulkImportJobs' {..} =
Prelude.mconcat
[ "filter" Data.=: filter',
"maxResults" Data.=: maxResults,
"nextToken" Data.=: nextToken
]
-- | /See:/ 'newListBulkImportJobsResponse' smart constructor.
data ListBulkImportJobsResponse = ListBulkImportJobsResponse'
{ -- | The token for the next set of results, or null if there are no
-- additional results.
nextToken :: Prelude.Maybe Prelude.Text,
-- | The response's http status code.
httpStatus :: Prelude.Int,
-- | One or more job summaries to list.
jobSummaries :: [JobSummary]
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'ListBulkImportJobsResponse' 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:
--
-- 'nextToken', 'listBulkImportJobsResponse_nextToken' - The token for the next set of results, or null if there are no
-- additional results.
--
-- 'httpStatus', 'listBulkImportJobsResponse_httpStatus' - The response's http status code.
--
-- 'jobSummaries', 'listBulkImportJobsResponse_jobSummaries' - One or more job summaries to list.
newListBulkImportJobsResponse ::
-- | 'httpStatus'
Prelude.Int ->
ListBulkImportJobsResponse
newListBulkImportJobsResponse pHttpStatus_ =
ListBulkImportJobsResponse'
{ nextToken =
Prelude.Nothing,
httpStatus = pHttpStatus_,
jobSummaries = Prelude.mempty
}
-- | The token for the next set of results, or null if there are no
-- additional results.
listBulkImportJobsResponse_nextToken :: Lens.Lens' ListBulkImportJobsResponse (Prelude.Maybe Prelude.Text)
listBulkImportJobsResponse_nextToken = Lens.lens (\ListBulkImportJobsResponse' {nextToken} -> nextToken) (\s@ListBulkImportJobsResponse' {} a -> s {nextToken = a} :: ListBulkImportJobsResponse)
-- | The response's http status code.
listBulkImportJobsResponse_httpStatus :: Lens.Lens' ListBulkImportJobsResponse Prelude.Int
listBulkImportJobsResponse_httpStatus = Lens.lens (\ListBulkImportJobsResponse' {httpStatus} -> httpStatus) (\s@ListBulkImportJobsResponse' {} a -> s {httpStatus = a} :: ListBulkImportJobsResponse)
-- | One or more job summaries to list.
listBulkImportJobsResponse_jobSummaries :: Lens.Lens' ListBulkImportJobsResponse [JobSummary]
listBulkImportJobsResponse_jobSummaries = Lens.lens (\ListBulkImportJobsResponse' {jobSummaries} -> jobSummaries) (\s@ListBulkImportJobsResponse' {} a -> s {jobSummaries = a} :: ListBulkImportJobsResponse) Prelude.. Lens.coerced
instance Prelude.NFData ListBulkImportJobsResponse where
rnf ListBulkImportJobsResponse' {..} =
Prelude.rnf nextToken
`Prelude.seq` Prelude.rnf httpStatus
`Prelude.seq` Prelude.rnf jobSummaries