{-# 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.LookoutEquipment.ListLabels -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Provides a list of labels. module Amazonka.LookoutEquipment.ListLabels ( -- * Creating a Request ListLabels (..), newListLabels, -- * Request Lenses listLabels_equipment, listLabels_faultCode, listLabels_intervalEndTime, listLabels_intervalStartTime, listLabels_maxResults, listLabels_nextToken, listLabels_labelGroupName, -- * Destructuring the Response ListLabelsResponse (..), newListLabelsResponse, -- * Response Lenses listLabelsResponse_labelSummaries, listLabelsResponse_nextToken, listLabelsResponse_httpStatus, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.LookoutEquipment.Types import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newListLabels' smart constructor. data ListLabels = ListLabels' { -- | Lists the labels that pertain to a particular piece of equipment. equipment :: Prelude.Maybe Prelude.Text, -- | Returns labels with a particular fault code. faultCode :: Prelude.Maybe Prelude.Text, -- | Returns all labels with a start time earlier than the end time given. intervalEndTime :: Prelude.Maybe Data.POSIX, -- | Returns all the labels with a end time equal to or later than the start -- time given. intervalStartTime :: Prelude.Maybe Data.POSIX, -- | Specifies the maximum number of labels to list. maxResults :: Prelude.Maybe Prelude.Natural, -- | An opaque pagination token indicating where to continue the listing of -- label groups. nextToken :: Prelude.Maybe Prelude.Text, -- | Retruns the name of the label group. labelGroupName :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'ListLabels' 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: -- -- 'equipment', 'listLabels_equipment' - Lists the labels that pertain to a particular piece of equipment. -- -- 'faultCode', 'listLabels_faultCode' - Returns labels with a particular fault code. -- -- 'intervalEndTime', 'listLabels_intervalEndTime' - Returns all labels with a start time earlier than the end time given. -- -- 'intervalStartTime', 'listLabels_intervalStartTime' - Returns all the labels with a end time equal to or later than the start -- time given. -- -- 'maxResults', 'listLabels_maxResults' - Specifies the maximum number of labels to list. -- -- 'nextToken', 'listLabels_nextToken' - An opaque pagination token indicating where to continue the listing of -- label groups. -- -- 'labelGroupName', 'listLabels_labelGroupName' - Retruns the name of the label group. newListLabels :: -- | 'labelGroupName' Prelude.Text -> ListLabels newListLabels pLabelGroupName_ = ListLabels' { equipment = Prelude.Nothing, faultCode = Prelude.Nothing, intervalEndTime = Prelude.Nothing, intervalStartTime = Prelude.Nothing, maxResults = Prelude.Nothing, nextToken = Prelude.Nothing, labelGroupName = pLabelGroupName_ } -- | Lists the labels that pertain to a particular piece of equipment. listLabels_equipment :: Lens.Lens' ListLabels (Prelude.Maybe Prelude.Text) listLabels_equipment = Lens.lens (\ListLabels' {equipment} -> equipment) (\s@ListLabels' {} a -> s {equipment = a} :: ListLabels) -- | Returns labels with a particular fault code. listLabels_faultCode :: Lens.Lens' ListLabels (Prelude.Maybe Prelude.Text) listLabels_faultCode = Lens.lens (\ListLabels' {faultCode} -> faultCode) (\s@ListLabels' {} a -> s {faultCode = a} :: ListLabels) -- | Returns all labels with a start time earlier than the end time given. listLabels_intervalEndTime :: Lens.Lens' ListLabels (Prelude.Maybe Prelude.UTCTime) listLabels_intervalEndTime = Lens.lens (\ListLabels' {intervalEndTime} -> intervalEndTime) (\s@ListLabels' {} a -> s {intervalEndTime = a} :: ListLabels) Prelude.. Lens.mapping Data._Time -- | Returns all the labels with a end time equal to or later than the start -- time given. listLabels_intervalStartTime :: Lens.Lens' ListLabels (Prelude.Maybe Prelude.UTCTime) listLabels_intervalStartTime = Lens.lens (\ListLabels' {intervalStartTime} -> intervalStartTime) (\s@ListLabels' {} a -> s {intervalStartTime = a} :: ListLabels) Prelude.. Lens.mapping Data._Time -- | Specifies the maximum number of labels to list. listLabels_maxResults :: Lens.Lens' ListLabels (Prelude.Maybe Prelude.Natural) listLabels_maxResults = Lens.lens (\ListLabels' {maxResults} -> maxResults) (\s@ListLabels' {} a -> s {maxResults = a} :: ListLabels) -- | An opaque pagination token indicating where to continue the listing of -- label groups. listLabels_nextToken :: Lens.Lens' ListLabels (Prelude.Maybe Prelude.Text) listLabels_nextToken = Lens.lens (\ListLabels' {nextToken} -> nextToken) (\s@ListLabels' {} a -> s {nextToken = a} :: ListLabels) -- | Retruns the name of the label group. listLabels_labelGroupName :: Lens.Lens' ListLabels Prelude.Text listLabels_labelGroupName = Lens.lens (\ListLabels' {labelGroupName} -> labelGroupName) (\s@ListLabels' {} a -> s {labelGroupName = a} :: ListLabels) instance Core.AWSRequest ListLabels where type AWSResponse ListLabels = ListLabelsResponse request overrides = Request.postJSON (overrides defaultService) response = Response.receiveJSON ( \s h x -> ListLabelsResponse' Prelude.<$> (x Data..?> "LabelSummaries" Core..!@ Prelude.mempty) Prelude.<*> (x Data..?> "NextToken") Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable ListLabels where hashWithSalt _salt ListLabels' {..} = _salt `Prelude.hashWithSalt` equipment `Prelude.hashWithSalt` faultCode `Prelude.hashWithSalt` intervalEndTime `Prelude.hashWithSalt` intervalStartTime `Prelude.hashWithSalt` maxResults `Prelude.hashWithSalt` nextToken `Prelude.hashWithSalt` labelGroupName instance Prelude.NFData ListLabels where rnf ListLabels' {..} = Prelude.rnf equipment `Prelude.seq` Prelude.rnf faultCode `Prelude.seq` Prelude.rnf intervalEndTime `Prelude.seq` Prelude.rnf intervalStartTime `Prelude.seq` Prelude.rnf maxResults `Prelude.seq` Prelude.rnf nextToken `Prelude.seq` Prelude.rnf labelGroupName instance Data.ToHeaders ListLabels where toHeaders = Prelude.const ( Prelude.mconcat [ "X-Amz-Target" Data.=# ( "AWSLookoutEquipmentFrontendService.ListLabels" :: Prelude.ByteString ), "Content-Type" Data.=# ( "application/x-amz-json-1.0" :: Prelude.ByteString ) ] ) instance Data.ToJSON ListLabels where toJSON ListLabels' {..} = Data.object ( Prelude.catMaybes [ ("Equipment" Data..=) Prelude.<$> equipment, ("FaultCode" Data..=) Prelude.<$> faultCode, ("IntervalEndTime" Data..=) Prelude.<$> intervalEndTime, ("IntervalStartTime" Data..=) Prelude.<$> intervalStartTime, ("MaxResults" Data..=) Prelude.<$> maxResults, ("NextToken" Data..=) Prelude.<$> nextToken, Prelude.Just ("LabelGroupName" Data..= labelGroupName) ] ) instance Data.ToPath ListLabels where toPath = Prelude.const "/" instance Data.ToQuery ListLabels where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newListLabelsResponse' smart constructor. data ListLabelsResponse = ListLabelsResponse' { -- | A summary of the items in the label group. labelSummaries :: Prelude.Maybe [LabelSummary], -- | An opaque pagination token indicating where to continue the listing of -- datasets. nextToken :: Prelude.Maybe Prelude.Text, -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'ListLabelsResponse' 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: -- -- 'labelSummaries', 'listLabelsResponse_labelSummaries' - A summary of the items in the label group. -- -- 'nextToken', 'listLabelsResponse_nextToken' - An opaque pagination token indicating where to continue the listing of -- datasets. -- -- 'httpStatus', 'listLabelsResponse_httpStatus' - The response's http status code. newListLabelsResponse :: -- | 'httpStatus' Prelude.Int -> ListLabelsResponse newListLabelsResponse pHttpStatus_ = ListLabelsResponse' { labelSummaries = Prelude.Nothing, nextToken = Prelude.Nothing, httpStatus = pHttpStatus_ } -- | A summary of the items in the label group. listLabelsResponse_labelSummaries :: Lens.Lens' ListLabelsResponse (Prelude.Maybe [LabelSummary]) listLabelsResponse_labelSummaries = Lens.lens (\ListLabelsResponse' {labelSummaries} -> labelSummaries) (\s@ListLabelsResponse' {} a -> s {labelSummaries = a} :: ListLabelsResponse) Prelude.. Lens.mapping Lens.coerced -- | An opaque pagination token indicating where to continue the listing of -- datasets. listLabelsResponse_nextToken :: Lens.Lens' ListLabelsResponse (Prelude.Maybe Prelude.Text) listLabelsResponse_nextToken = Lens.lens (\ListLabelsResponse' {nextToken} -> nextToken) (\s@ListLabelsResponse' {} a -> s {nextToken = a} :: ListLabelsResponse) -- | The response's http status code. listLabelsResponse_httpStatus :: Lens.Lens' ListLabelsResponse Prelude.Int listLabelsResponse_httpStatus = Lens.lens (\ListLabelsResponse' {httpStatus} -> httpStatus) (\s@ListLabelsResponse' {} a -> s {httpStatus = a} :: ListLabelsResponse) instance Prelude.NFData ListLabelsResponse where rnf ListLabelsResponse' {..} = Prelude.rnf labelSummaries `Prelude.seq` Prelude.rnf nextToken `Prelude.seq` Prelude.rnf httpStatus