{-# 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.CloudWatch.ListManagedInsightRules -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns a list that contains the number of managed Contributor Insights -- rules in your account. module Amazonka.CloudWatch.ListManagedInsightRules ( -- * Creating a Request ListManagedInsightRules (..), newListManagedInsightRules, -- * Request Lenses listManagedInsightRules_maxResults, listManagedInsightRules_nextToken, listManagedInsightRules_resourceARN, -- * Destructuring the Response ListManagedInsightRulesResponse (..), newListManagedInsightRulesResponse, -- * Response Lenses listManagedInsightRulesResponse_managedRules, listManagedInsightRulesResponse_nextToken, listManagedInsightRulesResponse_httpStatus, ) where import Amazonka.CloudWatch.Types 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 -- | /See:/ 'newListManagedInsightRules' smart constructor. data ListManagedInsightRules = ListManagedInsightRules' { -- | The maximum number of results to return in one operation. If you omit -- this parameter, the default number is used. The default number is @100@. maxResults :: Prelude.Maybe Prelude.Natural, -- | Include this value to get the next set of rules if the value was -- returned by the previous operation. nextToken :: Prelude.Maybe Prelude.Text, -- | The ARN of an Amazon Web Services resource that has managed Contributor -- Insights rules. resourceARN :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'ListManagedInsightRules' 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: -- -- 'maxResults', 'listManagedInsightRules_maxResults' - The maximum number of results to return in one operation. If you omit -- this parameter, the default number is used. The default number is @100@. -- -- 'nextToken', 'listManagedInsightRules_nextToken' - Include this value to get the next set of rules if the value was -- returned by the previous operation. -- -- 'resourceARN', 'listManagedInsightRules_resourceARN' - The ARN of an Amazon Web Services resource that has managed Contributor -- Insights rules. newListManagedInsightRules :: -- | 'resourceARN' Prelude.Text -> ListManagedInsightRules newListManagedInsightRules pResourceARN_ = ListManagedInsightRules' { maxResults = Prelude.Nothing, nextToken = Prelude.Nothing, resourceARN = pResourceARN_ } -- | The maximum number of results to return in one operation. If you omit -- this parameter, the default number is used. The default number is @100@. listManagedInsightRules_maxResults :: Lens.Lens' ListManagedInsightRules (Prelude.Maybe Prelude.Natural) listManagedInsightRules_maxResults = Lens.lens (\ListManagedInsightRules' {maxResults} -> maxResults) (\s@ListManagedInsightRules' {} a -> s {maxResults = a} :: ListManagedInsightRules) -- | Include this value to get the next set of rules if the value was -- returned by the previous operation. listManagedInsightRules_nextToken :: Lens.Lens' ListManagedInsightRules (Prelude.Maybe Prelude.Text) listManagedInsightRules_nextToken = Lens.lens (\ListManagedInsightRules' {nextToken} -> nextToken) (\s@ListManagedInsightRules' {} a -> s {nextToken = a} :: ListManagedInsightRules) -- | The ARN of an Amazon Web Services resource that has managed Contributor -- Insights rules. listManagedInsightRules_resourceARN :: Lens.Lens' ListManagedInsightRules Prelude.Text listManagedInsightRules_resourceARN = Lens.lens (\ListManagedInsightRules' {resourceARN} -> resourceARN) (\s@ListManagedInsightRules' {} a -> s {resourceARN = a} :: ListManagedInsightRules) instance Core.AWSRequest ListManagedInsightRules where type AWSResponse ListManagedInsightRules = ListManagedInsightRulesResponse request overrides = Request.postQuery (overrides defaultService) response = Response.receiveXMLWrapper "ListManagedInsightRulesResult" ( \s h x -> ListManagedInsightRulesResponse' Prelude.<$> ( x Data..@? "ManagedRules" Core..!@ Prelude.mempty Prelude.>>= Core.may (Data.parseXMLList "member") ) Prelude.<*> (x Data..@? "NextToken") Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable ListManagedInsightRules where hashWithSalt _salt ListManagedInsightRules' {..} = _salt `Prelude.hashWithSalt` maxResults `Prelude.hashWithSalt` nextToken `Prelude.hashWithSalt` resourceARN instance Prelude.NFData ListManagedInsightRules where rnf ListManagedInsightRules' {..} = Prelude.rnf maxResults `Prelude.seq` Prelude.rnf nextToken `Prelude.seq` Prelude.rnf resourceARN instance Data.ToHeaders ListManagedInsightRules where toHeaders = Prelude.const Prelude.mempty instance Data.ToPath ListManagedInsightRules where toPath = Prelude.const "/" instance Data.ToQuery ListManagedInsightRules where toQuery ListManagedInsightRules' {..} = Prelude.mconcat [ "Action" Data.=: ("ListManagedInsightRules" :: Prelude.ByteString), "Version" Data.=: ("2010-08-01" :: Prelude.ByteString), "MaxResults" Data.=: maxResults, "NextToken" Data.=: nextToken, "ResourceARN" Data.=: resourceARN ] -- | /See:/ 'newListManagedInsightRulesResponse' smart constructor. data ListManagedInsightRulesResponse = ListManagedInsightRulesResponse' { -- | The managed rules that are available for the specified Amazon Web -- Services resource. managedRules :: Prelude.Maybe [ManagedRuleDescription], -- | Include this value to get the next set of rules if the value was -- returned by the previous operation. 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 'ListManagedInsightRulesResponse' 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: -- -- 'managedRules', 'listManagedInsightRulesResponse_managedRules' - The managed rules that are available for the specified Amazon Web -- Services resource. -- -- 'nextToken', 'listManagedInsightRulesResponse_nextToken' - Include this value to get the next set of rules if the value was -- returned by the previous operation. -- -- 'httpStatus', 'listManagedInsightRulesResponse_httpStatus' - The response's http status code. newListManagedInsightRulesResponse :: -- | 'httpStatus' Prelude.Int -> ListManagedInsightRulesResponse newListManagedInsightRulesResponse pHttpStatus_ = ListManagedInsightRulesResponse' { managedRules = Prelude.Nothing, nextToken = Prelude.Nothing, httpStatus = pHttpStatus_ } -- | The managed rules that are available for the specified Amazon Web -- Services resource. listManagedInsightRulesResponse_managedRules :: Lens.Lens' ListManagedInsightRulesResponse (Prelude.Maybe [ManagedRuleDescription]) listManagedInsightRulesResponse_managedRules = Lens.lens (\ListManagedInsightRulesResponse' {managedRules} -> managedRules) (\s@ListManagedInsightRulesResponse' {} a -> s {managedRules = a} :: ListManagedInsightRulesResponse) Prelude.. Lens.mapping Lens.coerced -- | Include this value to get the next set of rules if the value was -- returned by the previous operation. listManagedInsightRulesResponse_nextToken :: Lens.Lens' ListManagedInsightRulesResponse (Prelude.Maybe Prelude.Text) listManagedInsightRulesResponse_nextToken = Lens.lens (\ListManagedInsightRulesResponse' {nextToken} -> nextToken) (\s@ListManagedInsightRulesResponse' {} a -> s {nextToken = a} :: ListManagedInsightRulesResponse) -- | The response's http status code. listManagedInsightRulesResponse_httpStatus :: Lens.Lens' ListManagedInsightRulesResponse Prelude.Int listManagedInsightRulesResponse_httpStatus = Lens.lens (\ListManagedInsightRulesResponse' {httpStatus} -> httpStatus) (\s@ListManagedInsightRulesResponse' {} a -> s {httpStatus = a} :: ListManagedInsightRulesResponse) instance Prelude.NFData ListManagedInsightRulesResponse where rnf ListManagedInsightRulesResponse' {..} = Prelude.rnf managedRules `Prelude.seq` Prelude.rnf nextToken `Prelude.seq` Prelude.rnf httpStatus