packages feed

amazonka-application-insights (empty) → 2.0

raw patch · 113 files changed

+11190/−0 lines, 113 filesdep +amazonka-application-insightsdep +amazonka-coredep +amazonka-test

Dependencies added: amazonka-application-insights, amazonka-core, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon CloudWatch Application Insights SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-11-25@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-application-insights)+and the [AWS API Reference](https://aws.amazon.com/documentation/).++The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information, sending requests,+and receiving responses.++Lenses are used for constructing and manipulating types,+due to the depth of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++See [Amazonka.ApplicationInsights](http://hackage.haskell.org/package/amazonka-application-insights/docs/Amazonka-ApplicationInsights.html)+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-application-insights` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).++Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.+Source files subject to this contain an additional licensing clause in their header.
+ amazonka-application-insights.cabal view
@@ -0,0 +1,130 @@+cabal-version:      2.2+name:               amazonka-application-insights+version:            2.0+synopsis:           Amazon CloudWatch Application Insights SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2018-11-25@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.ApplicationInsights.Lens" and are+  suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+  .+  See "Amazonka.ApplicationInsights" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.++source-repository head+  type:     git+  location: git://github.com/brendanhay/amazonka.git+  subdir:   amazonka-application-insights++library+  default-language: Haskell2010+  hs-source-dirs:   src gen+  ghc-options:+    -Wall -fwarn-incomplete-uni-patterns+    -fwarn-incomplete-record-updates -funbox-strict-fields++  exposed-modules:+    Amazonka.ApplicationInsights+    Amazonka.ApplicationInsights.CreateApplication+    Amazonka.ApplicationInsights.CreateComponent+    Amazonka.ApplicationInsights.CreateLogPattern+    Amazonka.ApplicationInsights.DeleteApplication+    Amazonka.ApplicationInsights.DeleteComponent+    Amazonka.ApplicationInsights.DeleteLogPattern+    Amazonka.ApplicationInsights.DescribeApplication+    Amazonka.ApplicationInsights.DescribeComponent+    Amazonka.ApplicationInsights.DescribeComponentConfiguration+    Amazonka.ApplicationInsights.DescribeComponentConfigurationRecommendation+    Amazonka.ApplicationInsights.DescribeLogPattern+    Amazonka.ApplicationInsights.DescribeObservation+    Amazonka.ApplicationInsights.DescribeProblem+    Amazonka.ApplicationInsights.DescribeProblemObservations+    Amazonka.ApplicationInsights.Lens+    Amazonka.ApplicationInsights.ListApplications+    Amazonka.ApplicationInsights.ListComponents+    Amazonka.ApplicationInsights.ListConfigurationHistory+    Amazonka.ApplicationInsights.ListLogPatterns+    Amazonka.ApplicationInsights.ListLogPatternSets+    Amazonka.ApplicationInsights.ListProblems+    Amazonka.ApplicationInsights.ListTagsForResource+    Amazonka.ApplicationInsights.TagResource+    Amazonka.ApplicationInsights.Types+    Amazonka.ApplicationInsights.Types.ApplicationComponent+    Amazonka.ApplicationInsights.Types.ApplicationInfo+    Amazonka.ApplicationInsights.Types.CloudWatchEventSource+    Amazonka.ApplicationInsights.Types.ConfigurationEvent+    Amazonka.ApplicationInsights.Types.ConfigurationEventResourceType+    Amazonka.ApplicationInsights.Types.ConfigurationEventStatus+    Amazonka.ApplicationInsights.Types.DiscoveryType+    Amazonka.ApplicationInsights.Types.FeedbackKey+    Amazonka.ApplicationInsights.Types.FeedbackValue+    Amazonka.ApplicationInsights.Types.GroupingType+    Amazonka.ApplicationInsights.Types.LogFilter+    Amazonka.ApplicationInsights.Types.LogPattern+    Amazonka.ApplicationInsights.Types.Observation+    Amazonka.ApplicationInsights.Types.OsType+    Amazonka.ApplicationInsights.Types.Problem+    Amazonka.ApplicationInsights.Types.RelatedObservations+    Amazonka.ApplicationInsights.Types.SeverityLevel+    Amazonka.ApplicationInsights.Types.Status+    Amazonka.ApplicationInsights.Types.Tag+    Amazonka.ApplicationInsights.Types.Tier+    Amazonka.ApplicationInsights.UntagResource+    Amazonka.ApplicationInsights.UpdateApplication+    Amazonka.ApplicationInsights.UpdateComponent+    Amazonka.ApplicationInsights.UpdateComponentConfiguration+    Amazonka.ApplicationInsights.UpdateLogPattern+    Amazonka.ApplicationInsights.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-application-insights-test+  type:             exitcode-stdio-1.0+  default-language: Haskell2010+  hs-source-dirs:   test+  main-is:          Main.hs+  ghc-options:      -Wall -threaded++  -- This section is encoded by the template and any modules added by+  -- hand outside these namespaces will not correctly be added to the+  -- distribution package.+  other-modules:+    Test.Amazonka.ApplicationInsights+    Test.Amazonka.ApplicationInsights.Internal+    Test.Amazonka.Gen.ApplicationInsights++  build-depends:+    , amazonka-application-insights+    , amazonka-core                  >=2.0 && <2.1+    , amazonka-test                  >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateApplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateApplicationResponse.proto view
+ fixture/CreateComponent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateComponentResponse.proto view
+ fixture/CreateLogPattern.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateLogPatternResponse.proto view
+ fixture/DeleteApplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteApplicationResponse.proto view
+ fixture/DeleteComponent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteComponentResponse.proto view
+ fixture/DeleteLogPattern.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteLogPatternResponse.proto view
+ fixture/DescribeApplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeApplicationResponse.proto view
+ fixture/DescribeComponent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeComponentConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeComponentConfigurationRecommendation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeComponentConfigurationRecommendationResponse.proto view
+ fixture/DescribeComponentConfigurationResponse.proto view
+ fixture/DescribeComponentResponse.proto view
+ fixture/DescribeLogPattern.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeLogPatternResponse.proto view
+ fixture/DescribeObservation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeObservationResponse.proto view
+ fixture/DescribeProblem.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeProblemObservations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeProblemObservationsResponse.proto view
+ fixture/DescribeProblemResponse.proto view
+ fixture/ListApplications.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListApplicationsResponse.proto view
+ fixture/ListComponents.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListComponentsResponse.proto view
+ fixture/ListConfigurationHistory.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListConfigurationHistoryResponse.proto view
+ fixture/ListLogPatternSets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListLogPatternSetsResponse.proto view
+ fixture/ListLogPatterns.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListLogPatternsResponse.proto view
+ fixture/ListProblems.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListProblemsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateApplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateApplicationResponse.proto view
+ fixture/UpdateComponent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateComponentConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateComponentConfigurationResponse.proto view
+ fixture/UpdateComponentResponse.proto view
+ fixture/UpdateLogPattern.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/applicationinsights/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  applicationinsights.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateLogPatternResponse.proto view
+ gen/Amazonka/ApplicationInsights.hs view
@@ -0,0 +1,357 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.ApplicationInsights+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2018-11-25@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon CloudWatch Application Insights+--+-- Amazon CloudWatch Application Insights is a service that helps you+-- detect common problems with your applications. It enables you to+-- pinpoint the source of issues in your applications (built with+-- technologies such as Microsoft IIS, .NET, and Microsoft SQL Server), by+-- providing key insights into detected problems.+--+-- After you onboard your application, CloudWatch Application Insights+-- identifies, recommends, and sets up metrics and logs. It continuously+-- analyzes and correlates your metrics and logs for unusual behavior to+-- surface actionable problems with your application. For example, if your+-- application is slow and unresponsive and leading to HTTP 500 errors in+-- your Application Load Balancer (ALB), Application Insights informs you+-- that a memory pressure problem with your SQL Server database is+-- occurring. It bases this analysis on impactful metrics and log errors.+module Amazonka.ApplicationInsights+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** BadRequestException+    _BadRequestException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceInUseException+    _ResourceInUseException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** TagsAlreadyExistException+    _TagsAlreadyExistException,++    -- ** TooManyTagsException+    _TooManyTagsException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateApplication+    CreateApplication (CreateApplication'),+    newCreateApplication,+    CreateApplicationResponse (CreateApplicationResponse'),+    newCreateApplicationResponse,++    -- ** CreateComponent+    CreateComponent (CreateComponent'),+    newCreateComponent,+    CreateComponentResponse (CreateComponentResponse'),+    newCreateComponentResponse,++    -- ** CreateLogPattern+    CreateLogPattern (CreateLogPattern'),+    newCreateLogPattern,+    CreateLogPatternResponse (CreateLogPatternResponse'),+    newCreateLogPatternResponse,++    -- ** DeleteApplication+    DeleteApplication (DeleteApplication'),+    newDeleteApplication,+    DeleteApplicationResponse (DeleteApplicationResponse'),+    newDeleteApplicationResponse,++    -- ** DeleteComponent+    DeleteComponent (DeleteComponent'),+    newDeleteComponent,+    DeleteComponentResponse (DeleteComponentResponse'),+    newDeleteComponentResponse,++    -- ** DeleteLogPattern+    DeleteLogPattern (DeleteLogPattern'),+    newDeleteLogPattern,+    DeleteLogPatternResponse (DeleteLogPatternResponse'),+    newDeleteLogPatternResponse,++    -- ** DescribeApplication+    DescribeApplication (DescribeApplication'),+    newDescribeApplication,+    DescribeApplicationResponse (DescribeApplicationResponse'),+    newDescribeApplicationResponse,++    -- ** DescribeComponent+    DescribeComponent (DescribeComponent'),+    newDescribeComponent,+    DescribeComponentResponse (DescribeComponentResponse'),+    newDescribeComponentResponse,++    -- ** DescribeComponentConfiguration+    DescribeComponentConfiguration (DescribeComponentConfiguration'),+    newDescribeComponentConfiguration,+    DescribeComponentConfigurationResponse (DescribeComponentConfigurationResponse'),+    newDescribeComponentConfigurationResponse,++    -- ** DescribeComponentConfigurationRecommendation+    DescribeComponentConfigurationRecommendation (DescribeComponentConfigurationRecommendation'),+    newDescribeComponentConfigurationRecommendation,+    DescribeComponentConfigurationRecommendationResponse (DescribeComponentConfigurationRecommendationResponse'),+    newDescribeComponentConfigurationRecommendationResponse,++    -- ** DescribeLogPattern+    DescribeLogPattern (DescribeLogPattern'),+    newDescribeLogPattern,+    DescribeLogPatternResponse (DescribeLogPatternResponse'),+    newDescribeLogPatternResponse,++    -- ** DescribeObservation+    DescribeObservation (DescribeObservation'),+    newDescribeObservation,+    DescribeObservationResponse (DescribeObservationResponse'),+    newDescribeObservationResponse,++    -- ** DescribeProblem+    DescribeProblem (DescribeProblem'),+    newDescribeProblem,+    DescribeProblemResponse (DescribeProblemResponse'),+    newDescribeProblemResponse,++    -- ** DescribeProblemObservations+    DescribeProblemObservations (DescribeProblemObservations'),+    newDescribeProblemObservations,+    DescribeProblemObservationsResponse (DescribeProblemObservationsResponse'),+    newDescribeProblemObservationsResponse,++    -- ** ListApplications+    ListApplications (ListApplications'),+    newListApplications,+    ListApplicationsResponse (ListApplicationsResponse'),+    newListApplicationsResponse,++    -- ** ListComponents+    ListComponents (ListComponents'),+    newListComponents,+    ListComponentsResponse (ListComponentsResponse'),+    newListComponentsResponse,++    -- ** ListConfigurationHistory+    ListConfigurationHistory (ListConfigurationHistory'),+    newListConfigurationHistory,+    ListConfigurationHistoryResponse (ListConfigurationHistoryResponse'),+    newListConfigurationHistoryResponse,++    -- ** ListLogPatternSets+    ListLogPatternSets (ListLogPatternSets'),+    newListLogPatternSets,+    ListLogPatternSetsResponse (ListLogPatternSetsResponse'),+    newListLogPatternSetsResponse,++    -- ** ListLogPatterns+    ListLogPatterns (ListLogPatterns'),+    newListLogPatterns,+    ListLogPatternsResponse (ListLogPatternsResponse'),+    newListLogPatternsResponse,++    -- ** ListProblems+    ListProblems (ListProblems'),+    newListProblems,+    ListProblemsResponse (ListProblemsResponse'),+    newListProblemsResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateApplication+    UpdateApplication (UpdateApplication'),+    newUpdateApplication,+    UpdateApplicationResponse (UpdateApplicationResponse'),+    newUpdateApplicationResponse,++    -- ** UpdateComponent+    UpdateComponent (UpdateComponent'),+    newUpdateComponent,+    UpdateComponentResponse (UpdateComponentResponse'),+    newUpdateComponentResponse,++    -- ** UpdateComponentConfiguration+    UpdateComponentConfiguration (UpdateComponentConfiguration'),+    newUpdateComponentConfiguration,+    UpdateComponentConfigurationResponse (UpdateComponentConfigurationResponse'),+    newUpdateComponentConfigurationResponse,++    -- ** UpdateLogPattern+    UpdateLogPattern (UpdateLogPattern'),+    newUpdateLogPattern,+    UpdateLogPatternResponse (UpdateLogPatternResponse'),+    newUpdateLogPatternResponse,++    -- * Types++    -- ** CloudWatchEventSource+    CloudWatchEventSource (..),++    -- ** ConfigurationEventResourceType+    ConfigurationEventResourceType (..),++    -- ** ConfigurationEventStatus+    ConfigurationEventStatus (..),++    -- ** DiscoveryType+    DiscoveryType (..),++    -- ** FeedbackKey+    FeedbackKey (..),++    -- ** FeedbackValue+    FeedbackValue (..),++    -- ** GroupingType+    GroupingType (..),++    -- ** LogFilter+    LogFilter (..),++    -- ** OsType+    OsType (..),++    -- ** SeverityLevel+    SeverityLevel (..),++    -- ** Status+    Status (..),++    -- ** Tier+    Tier (..),++    -- ** ApplicationComponent+    ApplicationComponent (ApplicationComponent'),+    newApplicationComponent,++    -- ** ApplicationInfo+    ApplicationInfo (ApplicationInfo'),+    newApplicationInfo,++    -- ** ConfigurationEvent+    ConfigurationEvent (ConfigurationEvent'),+    newConfigurationEvent,++    -- ** LogPattern+    LogPattern (LogPattern'),+    newLogPattern,++    -- ** Observation+    Observation (Observation'),+    newObservation,++    -- ** Problem+    Problem (Problem'),+    newProblem,++    -- ** RelatedObservations+    RelatedObservations (RelatedObservations'),+    newRelatedObservations,++    -- ** Tag+    Tag (Tag'),+    newTag,+  )+where++import Amazonka.ApplicationInsights.CreateApplication+import Amazonka.ApplicationInsights.CreateComponent+import Amazonka.ApplicationInsights.CreateLogPattern+import Amazonka.ApplicationInsights.DeleteApplication+import Amazonka.ApplicationInsights.DeleteComponent+import Amazonka.ApplicationInsights.DeleteLogPattern+import Amazonka.ApplicationInsights.DescribeApplication+import Amazonka.ApplicationInsights.DescribeComponent+import Amazonka.ApplicationInsights.DescribeComponentConfiguration+import Amazonka.ApplicationInsights.DescribeComponentConfigurationRecommendation+import Amazonka.ApplicationInsights.DescribeLogPattern+import Amazonka.ApplicationInsights.DescribeObservation+import Amazonka.ApplicationInsights.DescribeProblem+import Amazonka.ApplicationInsights.DescribeProblemObservations+import Amazonka.ApplicationInsights.Lens+import Amazonka.ApplicationInsights.ListApplications+import Amazonka.ApplicationInsights.ListComponents+import Amazonka.ApplicationInsights.ListConfigurationHistory+import Amazonka.ApplicationInsights.ListLogPatternSets+import Amazonka.ApplicationInsights.ListLogPatterns+import Amazonka.ApplicationInsights.ListProblems+import Amazonka.ApplicationInsights.ListTagsForResource+import Amazonka.ApplicationInsights.TagResource+import Amazonka.ApplicationInsights.Types+import Amazonka.ApplicationInsights.UntagResource+import Amazonka.ApplicationInsights.UpdateApplication+import Amazonka.ApplicationInsights.UpdateComponent+import Amazonka.ApplicationInsights.UpdateComponentConfiguration+import Amazonka.ApplicationInsights.UpdateLogPattern+import Amazonka.ApplicationInsights.Waiters++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'ApplicationInsights'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
+ gen/Amazonka/ApplicationInsights/CreateApplication.hs view
@@ -0,0 +1,301 @@+{-# 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.ApplicationInsights.CreateApplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds an application that is created from a resource group.+module Amazonka.ApplicationInsights.CreateApplication+  ( -- * Creating a Request+    CreateApplication (..),+    newCreateApplication,++    -- * Request Lenses+    createApplication_autoConfigEnabled,+    createApplication_autoCreate,+    createApplication_cWEMonitorEnabled,+    createApplication_groupingType,+    createApplication_opsCenterEnabled,+    createApplication_opsItemSNSTopicArn,+    createApplication_resourceGroupName,+    createApplication_tags,++    -- * Destructuring the Response+    CreateApplicationResponse (..),+    newCreateApplicationResponse,++    -- * Response Lenses+    createApplicationResponse_applicationInfo,+    createApplicationResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newCreateApplication' smart constructor.+data CreateApplication = CreateApplication'+  { -- | Indicates whether Application Insights automatically configures+    -- unmonitored resources in the resource group.+    autoConfigEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Configures all of the resources in the resource group by applying the+    -- recommended configurations.+    autoCreate :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether Application Insights can listen to CloudWatch events+    -- for the application resources, such as @instance terminated@,+    -- @failed deployment@, and others.+    cWEMonitorEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Application Insights can create applications based on a resource group+    -- or on an account. To create an account-based application using all of+    -- the resources in the account, set this parameter to @ACCOUNT_BASED@.+    groupingType :: Prelude.Maybe GroupingType,+    -- | When set to @true@, creates opsItems for any problems detected on an+    -- application.+    opsCenterEnabled :: Prelude.Maybe Prelude.Bool,+    -- | The SNS topic provided to Application Insights that is associated to the+    -- created opsItem. Allows you to receive notifications for updates to the+    -- opsItem.+    opsItemSNSTopicArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource group.+    resourceGroupName :: Prelude.Maybe Prelude.Text,+    -- | List of tags to add to the application. tag key (@Key@) and an+    -- associated tag value (@Value@). The maximum length of a tag key is 128+    -- characters. The maximum length of a tag value is 256 characters.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateApplication' 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:+--+-- 'autoConfigEnabled', 'createApplication_autoConfigEnabled' - Indicates whether Application Insights automatically configures+-- unmonitored resources in the resource group.+--+-- 'autoCreate', 'createApplication_autoCreate' - Configures all of the resources in the resource group by applying the+-- recommended configurations.+--+-- 'cWEMonitorEnabled', 'createApplication_cWEMonitorEnabled' - Indicates whether Application Insights can listen to CloudWatch events+-- for the application resources, such as @instance terminated@,+-- @failed deployment@, and others.+--+-- 'groupingType', 'createApplication_groupingType' - Application Insights can create applications based on a resource group+-- or on an account. To create an account-based application using all of+-- the resources in the account, set this parameter to @ACCOUNT_BASED@.+--+-- 'opsCenterEnabled', 'createApplication_opsCenterEnabled' - When set to @true@, creates opsItems for any problems detected on an+-- application.+--+-- 'opsItemSNSTopicArn', 'createApplication_opsItemSNSTopicArn' - The SNS topic provided to Application Insights that is associated to the+-- created opsItem. Allows you to receive notifications for updates to the+-- opsItem.+--+-- 'resourceGroupName', 'createApplication_resourceGroupName' - The name of the resource group.+--+-- 'tags', 'createApplication_tags' - List of tags to add to the application. tag key (@Key@) and an+-- associated tag value (@Value@). The maximum length of a tag key is 128+-- characters. The maximum length of a tag value is 256 characters.+newCreateApplication ::+  CreateApplication+newCreateApplication =+  CreateApplication'+    { autoConfigEnabled =+        Prelude.Nothing,+      autoCreate = Prelude.Nothing,+      cWEMonitorEnabled = Prelude.Nothing,+      groupingType = Prelude.Nothing,+      opsCenterEnabled = Prelude.Nothing,+      opsItemSNSTopicArn = Prelude.Nothing,+      resourceGroupName = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | Indicates whether Application Insights automatically configures+-- unmonitored resources in the resource group.+createApplication_autoConfigEnabled :: Lens.Lens' CreateApplication (Prelude.Maybe Prelude.Bool)+createApplication_autoConfigEnabled = Lens.lens (\CreateApplication' {autoConfigEnabled} -> autoConfigEnabled) (\s@CreateApplication' {} a -> s {autoConfigEnabled = a} :: CreateApplication)++-- | Configures all of the resources in the resource group by applying the+-- recommended configurations.+createApplication_autoCreate :: Lens.Lens' CreateApplication (Prelude.Maybe Prelude.Bool)+createApplication_autoCreate = Lens.lens (\CreateApplication' {autoCreate} -> autoCreate) (\s@CreateApplication' {} a -> s {autoCreate = a} :: CreateApplication)++-- | Indicates whether Application Insights can listen to CloudWatch events+-- for the application resources, such as @instance terminated@,+-- @failed deployment@, and others.+createApplication_cWEMonitorEnabled :: Lens.Lens' CreateApplication (Prelude.Maybe Prelude.Bool)+createApplication_cWEMonitorEnabled = Lens.lens (\CreateApplication' {cWEMonitorEnabled} -> cWEMonitorEnabled) (\s@CreateApplication' {} a -> s {cWEMonitorEnabled = a} :: CreateApplication)++-- | Application Insights can create applications based on a resource group+-- or on an account. To create an account-based application using all of+-- the resources in the account, set this parameter to @ACCOUNT_BASED@.+createApplication_groupingType :: Lens.Lens' CreateApplication (Prelude.Maybe GroupingType)+createApplication_groupingType = Lens.lens (\CreateApplication' {groupingType} -> groupingType) (\s@CreateApplication' {} a -> s {groupingType = a} :: CreateApplication)++-- | When set to @true@, creates opsItems for any problems detected on an+-- application.+createApplication_opsCenterEnabled :: Lens.Lens' CreateApplication (Prelude.Maybe Prelude.Bool)+createApplication_opsCenterEnabled = Lens.lens (\CreateApplication' {opsCenterEnabled} -> opsCenterEnabled) (\s@CreateApplication' {} a -> s {opsCenterEnabled = a} :: CreateApplication)++-- | The SNS topic provided to Application Insights that is associated to the+-- created opsItem. Allows you to receive notifications for updates to the+-- opsItem.+createApplication_opsItemSNSTopicArn :: Lens.Lens' CreateApplication (Prelude.Maybe Prelude.Text)+createApplication_opsItemSNSTopicArn = Lens.lens (\CreateApplication' {opsItemSNSTopicArn} -> opsItemSNSTopicArn) (\s@CreateApplication' {} a -> s {opsItemSNSTopicArn = a} :: CreateApplication)++-- | The name of the resource group.+createApplication_resourceGroupName :: Lens.Lens' CreateApplication (Prelude.Maybe Prelude.Text)+createApplication_resourceGroupName = Lens.lens (\CreateApplication' {resourceGroupName} -> resourceGroupName) (\s@CreateApplication' {} a -> s {resourceGroupName = a} :: CreateApplication)++-- | List of tags to add to the application. tag key (@Key@) and an+-- associated tag value (@Value@). The maximum length of a tag key is 128+-- characters. The maximum length of a tag value is 256 characters.+createApplication_tags :: Lens.Lens' CreateApplication (Prelude.Maybe [Tag])+createApplication_tags = Lens.lens (\CreateApplication' {tags} -> tags) (\s@CreateApplication' {} a -> s {tags = a} :: CreateApplication) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest CreateApplication where+  type+    AWSResponse CreateApplication =+      CreateApplicationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateApplicationResponse'+            Prelude.<$> (x Data..?> "ApplicationInfo")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateApplication where+  hashWithSalt _salt CreateApplication' {..} =+    _salt+      `Prelude.hashWithSalt` autoConfigEnabled+      `Prelude.hashWithSalt` autoCreate+      `Prelude.hashWithSalt` cWEMonitorEnabled+      `Prelude.hashWithSalt` groupingType+      `Prelude.hashWithSalt` opsCenterEnabled+      `Prelude.hashWithSalt` opsItemSNSTopicArn+      `Prelude.hashWithSalt` resourceGroupName+      `Prelude.hashWithSalt` tags++instance Prelude.NFData CreateApplication where+  rnf CreateApplication' {..} =+    Prelude.rnf autoConfigEnabled+      `Prelude.seq` Prelude.rnf autoCreate+      `Prelude.seq` Prelude.rnf cWEMonitorEnabled+      `Prelude.seq` Prelude.rnf groupingType+      `Prelude.seq` Prelude.rnf opsCenterEnabled+      `Prelude.seq` Prelude.rnf opsItemSNSTopicArn+      `Prelude.seq` Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders CreateApplication where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.CreateApplication" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateApplication where+  toJSON CreateApplication' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AutoConfigEnabled" Data..=)+              Prelude.<$> autoConfigEnabled,+            ("AutoCreate" Data..=) Prelude.<$> autoCreate,+            ("CWEMonitorEnabled" Data..=)+              Prelude.<$> cWEMonitorEnabled,+            ("GroupingType" Data..=) Prelude.<$> groupingType,+            ("OpsCenterEnabled" Data..=)+              Prelude.<$> opsCenterEnabled,+            ("OpsItemSNSTopicArn" Data..=)+              Prelude.<$> opsItemSNSTopicArn,+            ("ResourceGroupName" Data..=)+              Prelude.<$> resourceGroupName,+            ("Tags" Data..=) Prelude.<$> tags+          ]+      )++instance Data.ToPath CreateApplication where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateApplicationResponse' smart constructor.+data CreateApplicationResponse = CreateApplicationResponse'+  { -- | Information about the application.+    applicationInfo :: Prelude.Maybe ApplicationInfo,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateApplicationResponse' 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:+--+-- 'applicationInfo', 'createApplicationResponse_applicationInfo' - Information about the application.+--+-- 'httpStatus', 'createApplicationResponse_httpStatus' - The response's http status code.+newCreateApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateApplicationResponse+newCreateApplicationResponse pHttpStatus_ =+  CreateApplicationResponse'+    { applicationInfo =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the application.+createApplicationResponse_applicationInfo :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe ApplicationInfo)+createApplicationResponse_applicationInfo = Lens.lens (\CreateApplicationResponse' {applicationInfo} -> applicationInfo) (\s@CreateApplicationResponse' {} a -> s {applicationInfo = a} :: CreateApplicationResponse)++-- | The response's http status code.+createApplicationResponse_httpStatus :: Lens.Lens' CreateApplicationResponse Prelude.Int+createApplicationResponse_httpStatus = Lens.lens (\CreateApplicationResponse' {httpStatus} -> httpStatus) (\s@CreateApplicationResponse' {} a -> s {httpStatus = a} :: CreateApplicationResponse)++instance Prelude.NFData CreateApplicationResponse where+  rnf CreateApplicationResponse' {..} =+    Prelude.rnf applicationInfo+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/CreateComponent.hs view
@@ -0,0 +1,191 @@+{-# 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.ApplicationInsights.CreateComponent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a custom component by grouping similar standalone instances to+-- monitor.+module Amazonka.ApplicationInsights.CreateComponent+  ( -- * Creating a Request+    CreateComponent (..),+    newCreateComponent,++    -- * Request Lenses+    createComponent_resourceGroupName,+    createComponent_componentName,+    createComponent_resourceList,++    -- * Destructuring the Response+    CreateComponentResponse (..),+    newCreateComponentResponse,++    -- * Response Lenses+    createComponentResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newCreateComponent' smart constructor.+data CreateComponent = CreateComponent'+  { -- | The name of the resource group.+    resourceGroupName :: Prelude.Text,+    -- | The name of the component.+    componentName :: Prelude.Text,+    -- | The list of resource ARNs that belong to the component.+    resourceList :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateComponent' 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:+--+-- 'resourceGroupName', 'createComponent_resourceGroupName' - The name of the resource group.+--+-- 'componentName', 'createComponent_componentName' - The name of the component.+--+-- 'resourceList', 'createComponent_resourceList' - The list of resource ARNs that belong to the component.+newCreateComponent ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  -- | 'componentName'+  Prelude.Text ->+  CreateComponent+newCreateComponent+  pResourceGroupName_+  pComponentName_ =+    CreateComponent'+      { resourceGroupName =+          pResourceGroupName_,+        componentName = pComponentName_,+        resourceList = Prelude.mempty+      }++-- | The name of the resource group.+createComponent_resourceGroupName :: Lens.Lens' CreateComponent Prelude.Text+createComponent_resourceGroupName = Lens.lens (\CreateComponent' {resourceGroupName} -> resourceGroupName) (\s@CreateComponent' {} a -> s {resourceGroupName = a} :: CreateComponent)++-- | The name of the component.+createComponent_componentName :: Lens.Lens' CreateComponent Prelude.Text+createComponent_componentName = Lens.lens (\CreateComponent' {componentName} -> componentName) (\s@CreateComponent' {} a -> s {componentName = a} :: CreateComponent)++-- | The list of resource ARNs that belong to the component.+createComponent_resourceList :: Lens.Lens' CreateComponent [Prelude.Text]+createComponent_resourceList = Lens.lens (\CreateComponent' {resourceList} -> resourceList) (\s@CreateComponent' {} a -> s {resourceList = a} :: CreateComponent) Prelude.. Lens.coerced++instance Core.AWSRequest CreateComponent where+  type+    AWSResponse CreateComponent =+      CreateComponentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          CreateComponentResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateComponent where+  hashWithSalt _salt CreateComponent' {..} =+    _salt+      `Prelude.hashWithSalt` resourceGroupName+      `Prelude.hashWithSalt` componentName+      `Prelude.hashWithSalt` resourceList++instance Prelude.NFData CreateComponent where+  rnf CreateComponent' {..} =+    Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf componentName+      `Prelude.seq` Prelude.rnf resourceList++instance Data.ToHeaders CreateComponent where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.CreateComponent" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateComponent where+  toJSON CreateComponent' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName),+            Prelude.Just ("ComponentName" Data..= componentName),+            Prelude.Just ("ResourceList" Data..= resourceList)+          ]+      )++instance Data.ToPath CreateComponent where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateComponent where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateComponentResponse' smart constructor.+data CreateComponentResponse = CreateComponentResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateComponentResponse' 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:+--+-- 'httpStatus', 'createComponentResponse_httpStatus' - The response's http status code.+newCreateComponentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateComponentResponse+newCreateComponentResponse pHttpStatus_ =+  CreateComponentResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+createComponentResponse_httpStatus :: Lens.Lens' CreateComponentResponse Prelude.Int+createComponentResponse_httpStatus = Lens.lens (\CreateComponentResponse' {httpStatus} -> httpStatus) (\s@CreateComponentResponse' {} a -> s {httpStatus = a} :: CreateComponentResponse)++instance Prelude.NFData CreateComponentResponse where+  rnf CreateComponentResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/CreateLogPattern.hs view
@@ -0,0 +1,286 @@+{-# 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.ApplicationInsights.CreateLogPattern+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds an log pattern to a @LogPatternSet@.+module Amazonka.ApplicationInsights.CreateLogPattern+  ( -- * Creating a Request+    CreateLogPattern (..),+    newCreateLogPattern,++    -- * Request Lenses+    createLogPattern_resourceGroupName,+    createLogPattern_patternSetName,+    createLogPattern_patternName,+    createLogPattern_pattern,+    createLogPattern_rank,++    -- * Destructuring the Response+    CreateLogPatternResponse (..),+    newCreateLogPatternResponse,++    -- * Response Lenses+    createLogPatternResponse_logPattern,+    createLogPatternResponse_resourceGroupName,+    createLogPatternResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newCreateLogPattern' smart constructor.+data CreateLogPattern = CreateLogPattern'+  { -- | The name of the resource group.+    resourceGroupName :: Prelude.Text,+    -- | The name of the log pattern set.+    patternSetName :: Prelude.Text,+    -- | The name of the log pattern.+    patternName :: Prelude.Text,+    -- | The log pattern. The pattern must be DFA compatible. Patterns that+    -- utilize forward lookahead or backreference constructions are not+    -- supported.+    pattern' :: Prelude.Text,+    -- | Rank of the log pattern. Must be a value between @1@ and @1,000,000@.+    -- The patterns are sorted by rank, so we recommend that you set your+    -- highest priority patterns with the lowest rank. A pattern of rank @1@+    -- will be the first to get matched to a log line. A pattern of rank+    -- @1,000,000@ will be last to get matched. When you configure custom log+    -- patterns from the console, a @Low@ severity pattern translates to a+    -- @750,000@ rank. A @Medium@ severity pattern translates to a @500,000@+    -- rank. And a @High@ severity pattern translates to a @250,000@ rank. Rank+    -- values less than @1@ or greater than @1,000,000@ are reserved for+    -- AWS-provided patterns.+    rank :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLogPattern' 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:+--+-- 'resourceGroupName', 'createLogPattern_resourceGroupName' - The name of the resource group.+--+-- 'patternSetName', 'createLogPattern_patternSetName' - The name of the log pattern set.+--+-- 'patternName', 'createLogPattern_patternName' - The name of the log pattern.+--+-- 'pattern'', 'createLogPattern_pattern' - The log pattern. The pattern must be DFA compatible. Patterns that+-- utilize forward lookahead or backreference constructions are not+-- supported.+--+-- 'rank', 'createLogPattern_rank' - Rank of the log pattern. Must be a value between @1@ and @1,000,000@.+-- The patterns are sorted by rank, so we recommend that you set your+-- highest priority patterns with the lowest rank. A pattern of rank @1@+-- will be the first to get matched to a log line. A pattern of rank+-- @1,000,000@ will be last to get matched. When you configure custom log+-- patterns from the console, a @Low@ severity pattern translates to a+-- @750,000@ rank. A @Medium@ severity pattern translates to a @500,000@+-- rank. And a @High@ severity pattern translates to a @250,000@ rank. Rank+-- values less than @1@ or greater than @1,000,000@ are reserved for+-- AWS-provided patterns.+newCreateLogPattern ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  -- | 'patternSetName'+  Prelude.Text ->+  -- | 'patternName'+  Prelude.Text ->+  -- | 'pattern''+  Prelude.Text ->+  -- | 'rank'+  Prelude.Int ->+  CreateLogPattern+newCreateLogPattern+  pResourceGroupName_+  pPatternSetName_+  pPatternName_+  pPattern_+  pRank_ =+    CreateLogPattern'+      { resourceGroupName =+          pResourceGroupName_,+        patternSetName = pPatternSetName_,+        patternName = pPatternName_,+        pattern' = pPattern_,+        rank = pRank_+      }++-- | The name of the resource group.+createLogPattern_resourceGroupName :: Lens.Lens' CreateLogPattern Prelude.Text+createLogPattern_resourceGroupName = Lens.lens (\CreateLogPattern' {resourceGroupName} -> resourceGroupName) (\s@CreateLogPattern' {} a -> s {resourceGroupName = a} :: CreateLogPattern)++-- | The name of the log pattern set.+createLogPattern_patternSetName :: Lens.Lens' CreateLogPattern Prelude.Text+createLogPattern_patternSetName = Lens.lens (\CreateLogPattern' {patternSetName} -> patternSetName) (\s@CreateLogPattern' {} a -> s {patternSetName = a} :: CreateLogPattern)++-- | The name of the log pattern.+createLogPattern_patternName :: Lens.Lens' CreateLogPattern Prelude.Text+createLogPattern_patternName = Lens.lens (\CreateLogPattern' {patternName} -> patternName) (\s@CreateLogPattern' {} a -> s {patternName = a} :: CreateLogPattern)++-- | The log pattern. The pattern must be DFA compatible. Patterns that+-- utilize forward lookahead or backreference constructions are not+-- supported.+createLogPattern_pattern :: Lens.Lens' CreateLogPattern Prelude.Text+createLogPattern_pattern = Lens.lens (\CreateLogPattern' {pattern'} -> pattern') (\s@CreateLogPattern' {} a -> s {pattern' = a} :: CreateLogPattern)++-- | Rank of the log pattern. Must be a value between @1@ and @1,000,000@.+-- The patterns are sorted by rank, so we recommend that you set your+-- highest priority patterns with the lowest rank. A pattern of rank @1@+-- will be the first to get matched to a log line. A pattern of rank+-- @1,000,000@ will be last to get matched. When you configure custom log+-- patterns from the console, a @Low@ severity pattern translates to a+-- @750,000@ rank. A @Medium@ severity pattern translates to a @500,000@+-- rank. And a @High@ severity pattern translates to a @250,000@ rank. Rank+-- values less than @1@ or greater than @1,000,000@ are reserved for+-- AWS-provided patterns.+createLogPattern_rank :: Lens.Lens' CreateLogPattern Prelude.Int+createLogPattern_rank = Lens.lens (\CreateLogPattern' {rank} -> rank) (\s@CreateLogPattern' {} a -> s {rank = a} :: CreateLogPattern)++instance Core.AWSRequest CreateLogPattern where+  type+    AWSResponse CreateLogPattern =+      CreateLogPatternResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateLogPatternResponse'+            Prelude.<$> (x Data..?> "LogPattern")+            Prelude.<*> (x Data..?> "ResourceGroupName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateLogPattern where+  hashWithSalt _salt CreateLogPattern' {..} =+    _salt+      `Prelude.hashWithSalt` resourceGroupName+      `Prelude.hashWithSalt` patternSetName+      `Prelude.hashWithSalt` patternName+      `Prelude.hashWithSalt` pattern'+      `Prelude.hashWithSalt` rank++instance Prelude.NFData CreateLogPattern where+  rnf CreateLogPattern' {..} =+    Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf patternSetName+      `Prelude.seq` Prelude.rnf patternName+      `Prelude.seq` Prelude.rnf pattern'+      `Prelude.seq` Prelude.rnf rank++instance Data.ToHeaders CreateLogPattern where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.CreateLogPattern" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateLogPattern where+  toJSON CreateLogPattern' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName),+            Prelude.Just+              ("PatternSetName" Data..= patternSetName),+            Prelude.Just ("PatternName" Data..= patternName),+            Prelude.Just ("Pattern" Data..= pattern'),+            Prelude.Just ("Rank" Data..= rank)+          ]+      )++instance Data.ToPath CreateLogPattern where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateLogPattern where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLogPatternResponse' smart constructor.+data CreateLogPatternResponse = CreateLogPatternResponse'+  { -- | The successfully created log pattern.+    logPattern :: Prelude.Maybe LogPattern,+    -- | The name of the resource group.+    resourceGroupName :: 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 'CreateLogPatternResponse' 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:+--+-- 'logPattern', 'createLogPatternResponse_logPattern' - The successfully created log pattern.+--+-- 'resourceGroupName', 'createLogPatternResponse_resourceGroupName' - The name of the resource group.+--+-- 'httpStatus', 'createLogPatternResponse_httpStatus' - The response's http status code.+newCreateLogPatternResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateLogPatternResponse+newCreateLogPatternResponse pHttpStatus_ =+  CreateLogPatternResponse'+    { logPattern =+        Prelude.Nothing,+      resourceGroupName = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The successfully created log pattern.+createLogPatternResponse_logPattern :: Lens.Lens' CreateLogPatternResponse (Prelude.Maybe LogPattern)+createLogPatternResponse_logPattern = Lens.lens (\CreateLogPatternResponse' {logPattern} -> logPattern) (\s@CreateLogPatternResponse' {} a -> s {logPattern = a} :: CreateLogPatternResponse)++-- | The name of the resource group.+createLogPatternResponse_resourceGroupName :: Lens.Lens' CreateLogPatternResponse (Prelude.Maybe Prelude.Text)+createLogPatternResponse_resourceGroupName = Lens.lens (\CreateLogPatternResponse' {resourceGroupName} -> resourceGroupName) (\s@CreateLogPatternResponse' {} a -> s {resourceGroupName = a} :: CreateLogPatternResponse)++-- | The response's http status code.+createLogPatternResponse_httpStatus :: Lens.Lens' CreateLogPatternResponse Prelude.Int+createLogPatternResponse_httpStatus = Lens.lens (\CreateLogPatternResponse' {httpStatus} -> httpStatus) (\s@CreateLogPatternResponse' {} a -> s {httpStatus = a} :: CreateLogPatternResponse)++instance Prelude.NFData CreateLogPatternResponse where+  rnf CreateLogPatternResponse' {..} =+    Prelude.rnf logPattern+      `Prelude.seq` Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/DeleteApplication.hs view
@@ -0,0 +1,163 @@+{-# 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.ApplicationInsights.DeleteApplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the specified application from monitoring. Does not delete the+-- application.+module Amazonka.ApplicationInsights.DeleteApplication+  ( -- * Creating a Request+    DeleteApplication (..),+    newDeleteApplication,++    -- * Request Lenses+    deleteApplication_resourceGroupName,++    -- * Destructuring the Response+    DeleteApplicationResponse (..),+    newDeleteApplicationResponse,++    -- * Response Lenses+    deleteApplicationResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newDeleteApplication' smart constructor.+data DeleteApplication = DeleteApplication'+  { -- | The name of the resource group.+    resourceGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteApplication' 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:+--+-- 'resourceGroupName', 'deleteApplication_resourceGroupName' - The name of the resource group.+newDeleteApplication ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  DeleteApplication+newDeleteApplication pResourceGroupName_ =+  DeleteApplication'+    { resourceGroupName =+        pResourceGroupName_+    }++-- | The name of the resource group.+deleteApplication_resourceGroupName :: Lens.Lens' DeleteApplication Prelude.Text+deleteApplication_resourceGroupName = Lens.lens (\DeleteApplication' {resourceGroupName} -> resourceGroupName) (\s@DeleteApplication' {} a -> s {resourceGroupName = a} :: DeleteApplication)++instance Core.AWSRequest DeleteApplication where+  type+    AWSResponse DeleteApplication =+      DeleteApplicationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteApplicationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteApplication where+  hashWithSalt _salt DeleteApplication' {..} =+    _salt `Prelude.hashWithSalt` resourceGroupName++instance Prelude.NFData DeleteApplication where+  rnf DeleteApplication' {..} =+    Prelude.rnf resourceGroupName++instance Data.ToHeaders DeleteApplication where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.DeleteApplication" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteApplication where+  toJSON DeleteApplication' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName)+          ]+      )++instance Data.ToPath DeleteApplication where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteApplicationResponse' smart constructor.+data DeleteApplicationResponse = DeleteApplicationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteApplicationResponse' 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:+--+-- 'httpStatus', 'deleteApplicationResponse_httpStatus' - The response's http status code.+newDeleteApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteApplicationResponse+newDeleteApplicationResponse pHttpStatus_ =+  DeleteApplicationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteApplicationResponse_httpStatus :: Lens.Lens' DeleteApplicationResponse Prelude.Int+deleteApplicationResponse_httpStatus = Lens.lens (\DeleteApplicationResponse' {httpStatus} -> httpStatus) (\s@DeleteApplicationResponse' {} a -> s {httpStatus = a} :: DeleteApplicationResponse)++instance Prelude.NFData DeleteApplicationResponse where+  rnf DeleteApplicationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/DeleteComponent.hs view
@@ -0,0 +1,180 @@+{-# 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.ApplicationInsights.DeleteComponent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Ungroups a custom component. When you ungroup custom components, all+-- applicable monitors that are set up for the component are removed and+-- the instances revert to their standalone status.+module Amazonka.ApplicationInsights.DeleteComponent+  ( -- * Creating a Request+    DeleteComponent (..),+    newDeleteComponent,++    -- * Request Lenses+    deleteComponent_resourceGroupName,+    deleteComponent_componentName,++    -- * Destructuring the Response+    DeleteComponentResponse (..),+    newDeleteComponentResponse,++    -- * Response Lenses+    deleteComponentResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newDeleteComponent' smart constructor.+data DeleteComponent = DeleteComponent'+  { -- | The name of the resource group.+    resourceGroupName :: Prelude.Text,+    -- | The name of the component.+    componentName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteComponent' 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:+--+-- 'resourceGroupName', 'deleteComponent_resourceGroupName' - The name of the resource group.+--+-- 'componentName', 'deleteComponent_componentName' - The name of the component.+newDeleteComponent ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  -- | 'componentName'+  Prelude.Text ->+  DeleteComponent+newDeleteComponent+  pResourceGroupName_+  pComponentName_ =+    DeleteComponent'+      { resourceGroupName =+          pResourceGroupName_,+        componentName = pComponentName_+      }++-- | The name of the resource group.+deleteComponent_resourceGroupName :: Lens.Lens' DeleteComponent Prelude.Text+deleteComponent_resourceGroupName = Lens.lens (\DeleteComponent' {resourceGroupName} -> resourceGroupName) (\s@DeleteComponent' {} a -> s {resourceGroupName = a} :: DeleteComponent)++-- | The name of the component.+deleteComponent_componentName :: Lens.Lens' DeleteComponent Prelude.Text+deleteComponent_componentName = Lens.lens (\DeleteComponent' {componentName} -> componentName) (\s@DeleteComponent' {} a -> s {componentName = a} :: DeleteComponent)++instance Core.AWSRequest DeleteComponent where+  type+    AWSResponse DeleteComponent =+      DeleteComponentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteComponentResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteComponent where+  hashWithSalt _salt DeleteComponent' {..} =+    _salt+      `Prelude.hashWithSalt` resourceGroupName+      `Prelude.hashWithSalt` componentName++instance Prelude.NFData DeleteComponent where+  rnf DeleteComponent' {..} =+    Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf componentName++instance Data.ToHeaders DeleteComponent where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.DeleteComponent" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteComponent where+  toJSON DeleteComponent' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName),+            Prelude.Just+              ("ComponentName" Data..= componentName)+          ]+      )++instance Data.ToPath DeleteComponent where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteComponent where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteComponentResponse' smart constructor.+data DeleteComponentResponse = DeleteComponentResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteComponentResponse' 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:+--+-- 'httpStatus', 'deleteComponentResponse_httpStatus' - The response's http status code.+newDeleteComponentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteComponentResponse+newDeleteComponentResponse pHttpStatus_ =+  DeleteComponentResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteComponentResponse_httpStatus :: Lens.Lens' DeleteComponentResponse Prelude.Int+deleteComponentResponse_httpStatus = Lens.lens (\DeleteComponentResponse' {httpStatus} -> httpStatus) (\s@DeleteComponentResponse' {} a -> s {httpStatus = a} :: DeleteComponentResponse)++instance Prelude.NFData DeleteComponentResponse where+  rnf DeleteComponentResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/DeleteLogPattern.hs view
@@ -0,0 +1,197 @@+{-# 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.ApplicationInsights.DeleteLogPattern+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the specified log pattern from a @LogPatternSet@.+module Amazonka.ApplicationInsights.DeleteLogPattern+  ( -- * Creating a Request+    DeleteLogPattern (..),+    newDeleteLogPattern,++    -- * Request Lenses+    deleteLogPattern_resourceGroupName,+    deleteLogPattern_patternSetName,+    deleteLogPattern_patternName,++    -- * Destructuring the Response+    DeleteLogPatternResponse (..),+    newDeleteLogPatternResponse,++    -- * Response Lenses+    deleteLogPatternResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newDeleteLogPattern' smart constructor.+data DeleteLogPattern = DeleteLogPattern'+  { -- | The name of the resource group.+    resourceGroupName :: Prelude.Text,+    -- | The name of the log pattern set.+    patternSetName :: Prelude.Text,+    -- | The name of the log pattern.+    patternName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLogPattern' 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:+--+-- 'resourceGroupName', 'deleteLogPattern_resourceGroupName' - The name of the resource group.+--+-- 'patternSetName', 'deleteLogPattern_patternSetName' - The name of the log pattern set.+--+-- 'patternName', 'deleteLogPattern_patternName' - The name of the log pattern.+newDeleteLogPattern ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  -- | 'patternSetName'+  Prelude.Text ->+  -- | 'patternName'+  Prelude.Text ->+  DeleteLogPattern+newDeleteLogPattern+  pResourceGroupName_+  pPatternSetName_+  pPatternName_ =+    DeleteLogPattern'+      { resourceGroupName =+          pResourceGroupName_,+        patternSetName = pPatternSetName_,+        patternName = pPatternName_+      }++-- | The name of the resource group.+deleteLogPattern_resourceGroupName :: Lens.Lens' DeleteLogPattern Prelude.Text+deleteLogPattern_resourceGroupName = Lens.lens (\DeleteLogPattern' {resourceGroupName} -> resourceGroupName) (\s@DeleteLogPattern' {} a -> s {resourceGroupName = a} :: DeleteLogPattern)++-- | The name of the log pattern set.+deleteLogPattern_patternSetName :: Lens.Lens' DeleteLogPattern Prelude.Text+deleteLogPattern_patternSetName = Lens.lens (\DeleteLogPattern' {patternSetName} -> patternSetName) (\s@DeleteLogPattern' {} a -> s {patternSetName = a} :: DeleteLogPattern)++-- | The name of the log pattern.+deleteLogPattern_patternName :: Lens.Lens' DeleteLogPattern Prelude.Text+deleteLogPattern_patternName = Lens.lens (\DeleteLogPattern' {patternName} -> patternName) (\s@DeleteLogPattern' {} a -> s {patternName = a} :: DeleteLogPattern)++instance Core.AWSRequest DeleteLogPattern where+  type+    AWSResponse DeleteLogPattern =+      DeleteLogPatternResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteLogPatternResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteLogPattern where+  hashWithSalt _salt DeleteLogPattern' {..} =+    _salt+      `Prelude.hashWithSalt` resourceGroupName+      `Prelude.hashWithSalt` patternSetName+      `Prelude.hashWithSalt` patternName++instance Prelude.NFData DeleteLogPattern where+  rnf DeleteLogPattern' {..} =+    Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf patternSetName+      `Prelude.seq` Prelude.rnf patternName++instance Data.ToHeaders DeleteLogPattern where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.DeleteLogPattern" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteLogPattern where+  toJSON DeleteLogPattern' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName),+            Prelude.Just+              ("PatternSetName" Data..= patternSetName),+            Prelude.Just ("PatternName" Data..= patternName)+          ]+      )++instance Data.ToPath DeleteLogPattern where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteLogPattern where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteLogPatternResponse' smart constructor.+data DeleteLogPatternResponse = DeleteLogPatternResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLogPatternResponse' 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:+--+-- 'httpStatus', 'deleteLogPatternResponse_httpStatus' - The response's http status code.+newDeleteLogPatternResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteLogPatternResponse+newDeleteLogPatternResponse pHttpStatus_ =+  DeleteLogPatternResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteLogPatternResponse_httpStatus :: Lens.Lens' DeleteLogPatternResponse Prelude.Int+deleteLogPatternResponse_httpStatus = Lens.lens (\DeleteLogPatternResponse' {httpStatus} -> httpStatus) (\s@DeleteLogPatternResponse' {} a -> s {httpStatus = a} :: DeleteLogPatternResponse)++instance Prelude.NFData DeleteLogPatternResponse where+  rnf DeleteLogPatternResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/DescribeApplication.hs view
@@ -0,0 +1,174 @@+{-# 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.ApplicationInsights.DescribeApplication+-- 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 application.+module Amazonka.ApplicationInsights.DescribeApplication+  ( -- * Creating a Request+    DescribeApplication (..),+    newDescribeApplication,++    -- * Request Lenses+    describeApplication_resourceGroupName,++    -- * Destructuring the Response+    DescribeApplicationResponse (..),+    newDescribeApplicationResponse,++    -- * Response Lenses+    describeApplicationResponse_applicationInfo,+    describeApplicationResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newDescribeApplication' smart constructor.+data DescribeApplication = DescribeApplication'+  { -- | The name of the resource group.+    resourceGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeApplication' 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:+--+-- 'resourceGroupName', 'describeApplication_resourceGroupName' - The name of the resource group.+newDescribeApplication ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  DescribeApplication+newDescribeApplication pResourceGroupName_ =+  DescribeApplication'+    { resourceGroupName =+        pResourceGroupName_+    }++-- | The name of the resource group.+describeApplication_resourceGroupName :: Lens.Lens' DescribeApplication Prelude.Text+describeApplication_resourceGroupName = Lens.lens (\DescribeApplication' {resourceGroupName} -> resourceGroupName) (\s@DescribeApplication' {} a -> s {resourceGroupName = a} :: DescribeApplication)++instance Core.AWSRequest DescribeApplication where+  type+    AWSResponse DescribeApplication =+      DescribeApplicationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeApplicationResponse'+            Prelude.<$> (x Data..?> "ApplicationInfo")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeApplication where+  hashWithSalt _salt DescribeApplication' {..} =+    _salt `Prelude.hashWithSalt` resourceGroupName++instance Prelude.NFData DescribeApplication where+  rnf DescribeApplication' {..} =+    Prelude.rnf resourceGroupName++instance Data.ToHeaders DescribeApplication where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.DescribeApplication" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeApplication where+  toJSON DescribeApplication' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName)+          ]+      )++instance Data.ToPath DescribeApplication where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeApplicationResponse' smart constructor.+data DescribeApplicationResponse = DescribeApplicationResponse'+  { -- | Information about the application.+    applicationInfo :: Prelude.Maybe ApplicationInfo,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeApplicationResponse' 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:+--+-- 'applicationInfo', 'describeApplicationResponse_applicationInfo' - Information about the application.+--+-- 'httpStatus', 'describeApplicationResponse_httpStatus' - The response's http status code.+newDescribeApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeApplicationResponse+newDescribeApplicationResponse pHttpStatus_ =+  DescribeApplicationResponse'+    { applicationInfo =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the application.+describeApplicationResponse_applicationInfo :: Lens.Lens' DescribeApplicationResponse (Prelude.Maybe ApplicationInfo)+describeApplicationResponse_applicationInfo = Lens.lens (\DescribeApplicationResponse' {applicationInfo} -> applicationInfo) (\s@DescribeApplicationResponse' {} a -> s {applicationInfo = a} :: DescribeApplicationResponse)++-- | The response's http status code.+describeApplicationResponse_httpStatus :: Lens.Lens' DescribeApplicationResponse Prelude.Int+describeApplicationResponse_httpStatus = Lens.lens (\DescribeApplicationResponse' {httpStatus} -> httpStatus) (\s@DescribeApplicationResponse' {} a -> s {httpStatus = a} :: DescribeApplicationResponse)++instance Prelude.NFData DescribeApplicationResponse where+  rnf DescribeApplicationResponse' {..} =+    Prelude.rnf applicationInfo+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/DescribeComponent.hs view
@@ -0,0 +1,205 @@+{-# 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.ApplicationInsights.DescribeComponent+-- 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 a component and lists the resources that are grouped together+-- in a component.+module Amazonka.ApplicationInsights.DescribeComponent+  ( -- * Creating a Request+    DescribeComponent (..),+    newDescribeComponent,++    -- * Request Lenses+    describeComponent_resourceGroupName,+    describeComponent_componentName,++    -- * Destructuring the Response+    DescribeComponentResponse (..),+    newDescribeComponentResponse,++    -- * Response Lenses+    describeComponentResponse_applicationComponent,+    describeComponentResponse_resourceList,+    describeComponentResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newDescribeComponent' smart constructor.+data DescribeComponent = DescribeComponent'+  { -- | The name of the resource group.+    resourceGroupName :: Prelude.Text,+    -- | The name of the component.+    componentName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeComponent' 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:+--+-- 'resourceGroupName', 'describeComponent_resourceGroupName' - The name of the resource group.+--+-- 'componentName', 'describeComponent_componentName' - The name of the component.+newDescribeComponent ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  -- | 'componentName'+  Prelude.Text ->+  DescribeComponent+newDescribeComponent+  pResourceGroupName_+  pComponentName_ =+    DescribeComponent'+      { resourceGroupName =+          pResourceGroupName_,+        componentName = pComponentName_+      }++-- | The name of the resource group.+describeComponent_resourceGroupName :: Lens.Lens' DescribeComponent Prelude.Text+describeComponent_resourceGroupName = Lens.lens (\DescribeComponent' {resourceGroupName} -> resourceGroupName) (\s@DescribeComponent' {} a -> s {resourceGroupName = a} :: DescribeComponent)++-- | The name of the component.+describeComponent_componentName :: Lens.Lens' DescribeComponent Prelude.Text+describeComponent_componentName = Lens.lens (\DescribeComponent' {componentName} -> componentName) (\s@DescribeComponent' {} a -> s {componentName = a} :: DescribeComponent)++instance Core.AWSRequest DescribeComponent where+  type+    AWSResponse DescribeComponent =+      DescribeComponentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeComponentResponse'+            Prelude.<$> (x Data..?> "ApplicationComponent")+            Prelude.<*> (x Data..?> "ResourceList" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeComponent where+  hashWithSalt _salt DescribeComponent' {..} =+    _salt+      `Prelude.hashWithSalt` resourceGroupName+      `Prelude.hashWithSalt` componentName++instance Prelude.NFData DescribeComponent where+  rnf DescribeComponent' {..} =+    Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf componentName++instance Data.ToHeaders DescribeComponent where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.DescribeComponent" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeComponent where+  toJSON DescribeComponent' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName),+            Prelude.Just+              ("ComponentName" Data..= componentName)+          ]+      )++instance Data.ToPath DescribeComponent where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeComponent where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeComponentResponse' smart constructor.+data DescribeComponentResponse = DescribeComponentResponse'+  { applicationComponent :: Prelude.Maybe ApplicationComponent,+    -- | The list of resource ARNs that belong to the component.+    resourceList :: 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 'DescribeComponentResponse' 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:+--+-- 'applicationComponent', 'describeComponentResponse_applicationComponent' - Undocumented member.+--+-- 'resourceList', 'describeComponentResponse_resourceList' - The list of resource ARNs that belong to the component.+--+-- 'httpStatus', 'describeComponentResponse_httpStatus' - The response's http status code.+newDescribeComponentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeComponentResponse+newDescribeComponentResponse pHttpStatus_ =+  DescribeComponentResponse'+    { applicationComponent =+        Prelude.Nothing,+      resourceList = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+describeComponentResponse_applicationComponent :: Lens.Lens' DescribeComponentResponse (Prelude.Maybe ApplicationComponent)+describeComponentResponse_applicationComponent = Lens.lens (\DescribeComponentResponse' {applicationComponent} -> applicationComponent) (\s@DescribeComponentResponse' {} a -> s {applicationComponent = a} :: DescribeComponentResponse)++-- | The list of resource ARNs that belong to the component.+describeComponentResponse_resourceList :: Lens.Lens' DescribeComponentResponse (Prelude.Maybe [Prelude.Text])+describeComponentResponse_resourceList = Lens.lens (\DescribeComponentResponse' {resourceList} -> resourceList) (\s@DescribeComponentResponse' {} a -> s {resourceList = a} :: DescribeComponentResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeComponentResponse_httpStatus :: Lens.Lens' DescribeComponentResponse Prelude.Int+describeComponentResponse_httpStatus = Lens.lens (\DescribeComponentResponse' {httpStatus} -> httpStatus) (\s@DescribeComponentResponse' {} a -> s {httpStatus = a} :: DescribeComponentResponse)++instance Prelude.NFData DescribeComponentResponse where+  rnf DescribeComponentResponse' {..} =+    Prelude.rnf applicationComponent+      `Prelude.seq` Prelude.rnf resourceList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/DescribeComponentConfiguration.hs view
@@ -0,0 +1,244 @@+{-# 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.ApplicationInsights.DescribeComponentConfiguration+-- 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 monitoring configuration of the component.+module Amazonka.ApplicationInsights.DescribeComponentConfiguration+  ( -- * Creating a Request+    DescribeComponentConfiguration (..),+    newDescribeComponentConfiguration,++    -- * Request Lenses+    describeComponentConfiguration_resourceGroupName,+    describeComponentConfiguration_componentName,++    -- * Destructuring the Response+    DescribeComponentConfigurationResponse (..),+    newDescribeComponentConfigurationResponse,++    -- * Response Lenses+    describeComponentConfigurationResponse_componentConfiguration,+    describeComponentConfigurationResponse_monitor,+    describeComponentConfigurationResponse_tier,+    describeComponentConfigurationResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newDescribeComponentConfiguration' smart constructor.+data DescribeComponentConfiguration = DescribeComponentConfiguration'+  { -- | The name of the resource group.+    resourceGroupName :: Prelude.Text,+    -- | The name of the component.+    componentName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeComponentConfiguration' 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:+--+-- 'resourceGroupName', 'describeComponentConfiguration_resourceGroupName' - The name of the resource group.+--+-- 'componentName', 'describeComponentConfiguration_componentName' - The name of the component.+newDescribeComponentConfiguration ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  -- | 'componentName'+  Prelude.Text ->+  DescribeComponentConfiguration+newDescribeComponentConfiguration+  pResourceGroupName_+  pComponentName_ =+    DescribeComponentConfiguration'+      { resourceGroupName =+          pResourceGroupName_,+        componentName = pComponentName_+      }++-- | The name of the resource group.+describeComponentConfiguration_resourceGroupName :: Lens.Lens' DescribeComponentConfiguration Prelude.Text+describeComponentConfiguration_resourceGroupName = Lens.lens (\DescribeComponentConfiguration' {resourceGroupName} -> resourceGroupName) (\s@DescribeComponentConfiguration' {} a -> s {resourceGroupName = a} :: DescribeComponentConfiguration)++-- | The name of the component.+describeComponentConfiguration_componentName :: Lens.Lens' DescribeComponentConfiguration Prelude.Text+describeComponentConfiguration_componentName = Lens.lens (\DescribeComponentConfiguration' {componentName} -> componentName) (\s@DescribeComponentConfiguration' {} a -> s {componentName = a} :: DescribeComponentConfiguration)++instance+  Core.AWSRequest+    DescribeComponentConfiguration+  where+  type+    AWSResponse DescribeComponentConfiguration =+      DescribeComponentConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeComponentConfigurationResponse'+            Prelude.<$> (x Data..?> "ComponentConfiguration")+            Prelude.<*> (x Data..?> "Monitor")+            Prelude.<*> (x Data..?> "Tier")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeComponentConfiguration+  where+  hashWithSalt+    _salt+    DescribeComponentConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` resourceGroupName+        `Prelude.hashWithSalt` componentName++instance+  Prelude.NFData+    DescribeComponentConfiguration+  where+  rnf DescribeComponentConfiguration' {..} =+    Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf componentName++instance+  Data.ToHeaders+    DescribeComponentConfiguration+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.DescribeComponentConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeComponentConfiguration where+  toJSON DescribeComponentConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName),+            Prelude.Just+              ("ComponentName" Data..= componentName)+          ]+      )++instance Data.ToPath DescribeComponentConfiguration where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeComponentConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeComponentConfigurationResponse' smart constructor.+data DescribeComponentConfigurationResponse = DescribeComponentConfigurationResponse'+  { -- | The configuration settings of the component. The value is the escaped+    -- JSON of the configuration.+    componentConfiguration :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether the application component is monitored.+    monitor :: Prelude.Maybe Prelude.Bool,+    -- | The tier of the application component. Supported tiers include+    -- @DOT_NET_CORE@, @DOT_NET_WORKER@, @DOT_NET_WEB@, @SQL_SERVER@, and+    -- @DEFAULT@+    tier :: Prelude.Maybe Tier,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeComponentConfigurationResponse' 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:+--+-- 'componentConfiguration', 'describeComponentConfigurationResponse_componentConfiguration' - The configuration settings of the component. The value is the escaped+-- JSON of the configuration.+--+-- 'monitor', 'describeComponentConfigurationResponse_monitor' - Indicates whether the application component is monitored.+--+-- 'tier', 'describeComponentConfigurationResponse_tier' - The tier of the application component. Supported tiers include+-- @DOT_NET_CORE@, @DOT_NET_WORKER@, @DOT_NET_WEB@, @SQL_SERVER@, and+-- @DEFAULT@+--+-- 'httpStatus', 'describeComponentConfigurationResponse_httpStatus' - The response's http status code.+newDescribeComponentConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeComponentConfigurationResponse+newDescribeComponentConfigurationResponse+  pHttpStatus_ =+    DescribeComponentConfigurationResponse'+      { componentConfiguration =+          Prelude.Nothing,+        monitor = Prelude.Nothing,+        tier = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The configuration settings of the component. The value is the escaped+-- JSON of the configuration.+describeComponentConfigurationResponse_componentConfiguration :: Lens.Lens' DescribeComponentConfigurationResponse (Prelude.Maybe Prelude.Text)+describeComponentConfigurationResponse_componentConfiguration = Lens.lens (\DescribeComponentConfigurationResponse' {componentConfiguration} -> componentConfiguration) (\s@DescribeComponentConfigurationResponse' {} a -> s {componentConfiguration = a} :: DescribeComponentConfigurationResponse)++-- | Indicates whether the application component is monitored.+describeComponentConfigurationResponse_monitor :: Lens.Lens' DescribeComponentConfigurationResponse (Prelude.Maybe Prelude.Bool)+describeComponentConfigurationResponse_monitor = Lens.lens (\DescribeComponentConfigurationResponse' {monitor} -> monitor) (\s@DescribeComponentConfigurationResponse' {} a -> s {monitor = a} :: DescribeComponentConfigurationResponse)++-- | The tier of the application component. Supported tiers include+-- @DOT_NET_CORE@, @DOT_NET_WORKER@, @DOT_NET_WEB@, @SQL_SERVER@, and+-- @DEFAULT@+describeComponentConfigurationResponse_tier :: Lens.Lens' DescribeComponentConfigurationResponse (Prelude.Maybe Tier)+describeComponentConfigurationResponse_tier = Lens.lens (\DescribeComponentConfigurationResponse' {tier} -> tier) (\s@DescribeComponentConfigurationResponse' {} a -> s {tier = a} :: DescribeComponentConfigurationResponse)++-- | The response's http status code.+describeComponentConfigurationResponse_httpStatus :: Lens.Lens' DescribeComponentConfigurationResponse Prelude.Int+describeComponentConfigurationResponse_httpStatus = Lens.lens (\DescribeComponentConfigurationResponse' {httpStatus} -> httpStatus) (\s@DescribeComponentConfigurationResponse' {} a -> s {httpStatus = a} :: DescribeComponentConfigurationResponse)++instance+  Prelude.NFData+    DescribeComponentConfigurationResponse+  where+  rnf DescribeComponentConfigurationResponse' {..} =+    Prelude.rnf componentConfiguration+      `Prelude.seq` Prelude.rnf monitor+      `Prelude.seq` Prelude.rnf tier+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/DescribeComponentConfigurationRecommendation.hs view
@@ -0,0 +1,243 @@+{-# 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.ApplicationInsights.DescribeComponentConfigurationRecommendation+-- 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 recommended monitoring configuration of the component.+module Amazonka.ApplicationInsights.DescribeComponentConfigurationRecommendation+  ( -- * Creating a Request+    DescribeComponentConfigurationRecommendation (..),+    newDescribeComponentConfigurationRecommendation,++    -- * Request Lenses+    describeComponentConfigurationRecommendation_resourceGroupName,+    describeComponentConfigurationRecommendation_componentName,+    describeComponentConfigurationRecommendation_tier,++    -- * Destructuring the Response+    DescribeComponentConfigurationRecommendationResponse (..),+    newDescribeComponentConfigurationRecommendationResponse,++    -- * Response Lenses+    describeComponentConfigurationRecommendationResponse_componentConfiguration,+    describeComponentConfigurationRecommendationResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newDescribeComponentConfigurationRecommendation' smart constructor.+data DescribeComponentConfigurationRecommendation = DescribeComponentConfigurationRecommendation'+  { -- | The name of the resource group.+    resourceGroupName :: Prelude.Text,+    -- | The name of the component.+    componentName :: Prelude.Text,+    -- | The tier of the application component.+    tier :: Tier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeComponentConfigurationRecommendation' 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:+--+-- 'resourceGroupName', 'describeComponentConfigurationRecommendation_resourceGroupName' - The name of the resource group.+--+-- 'componentName', 'describeComponentConfigurationRecommendation_componentName' - The name of the component.+--+-- 'tier', 'describeComponentConfigurationRecommendation_tier' - The tier of the application component.+newDescribeComponentConfigurationRecommendation ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  -- | 'componentName'+  Prelude.Text ->+  -- | 'tier'+  Tier ->+  DescribeComponentConfigurationRecommendation+newDescribeComponentConfigurationRecommendation+  pResourceGroupName_+  pComponentName_+  pTier_ =+    DescribeComponentConfigurationRecommendation'+      { resourceGroupName =+          pResourceGroupName_,+        componentName =+          pComponentName_,+        tier = pTier_+      }++-- | The name of the resource group.+describeComponentConfigurationRecommendation_resourceGroupName :: Lens.Lens' DescribeComponentConfigurationRecommendation Prelude.Text+describeComponentConfigurationRecommendation_resourceGroupName = Lens.lens (\DescribeComponentConfigurationRecommendation' {resourceGroupName} -> resourceGroupName) (\s@DescribeComponentConfigurationRecommendation' {} a -> s {resourceGroupName = a} :: DescribeComponentConfigurationRecommendation)++-- | The name of the component.+describeComponentConfigurationRecommendation_componentName :: Lens.Lens' DescribeComponentConfigurationRecommendation Prelude.Text+describeComponentConfigurationRecommendation_componentName = Lens.lens (\DescribeComponentConfigurationRecommendation' {componentName} -> componentName) (\s@DescribeComponentConfigurationRecommendation' {} a -> s {componentName = a} :: DescribeComponentConfigurationRecommendation)++-- | The tier of the application component.+describeComponentConfigurationRecommendation_tier :: Lens.Lens' DescribeComponentConfigurationRecommendation Tier+describeComponentConfigurationRecommendation_tier = Lens.lens (\DescribeComponentConfigurationRecommendation' {tier} -> tier) (\s@DescribeComponentConfigurationRecommendation' {} a -> s {tier = a} :: DescribeComponentConfigurationRecommendation)++instance+  Core.AWSRequest+    DescribeComponentConfigurationRecommendation+  where+  type+    AWSResponse+      DescribeComponentConfigurationRecommendation =+      DescribeComponentConfigurationRecommendationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeComponentConfigurationRecommendationResponse'+            Prelude.<$> (x Data..?> "ComponentConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeComponentConfigurationRecommendation+  where+  hashWithSalt+    _salt+    DescribeComponentConfigurationRecommendation' {..} =+      _salt+        `Prelude.hashWithSalt` resourceGroupName+        `Prelude.hashWithSalt` componentName+        `Prelude.hashWithSalt` tier++instance+  Prelude.NFData+    DescribeComponentConfigurationRecommendation+  where+  rnf DescribeComponentConfigurationRecommendation' {..} =+    Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf componentName+      `Prelude.seq` Prelude.rnf tier++instance+  Data.ToHeaders+    DescribeComponentConfigurationRecommendation+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.DescribeComponentConfigurationRecommendation" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    DescribeComponentConfigurationRecommendation+  where+  toJSON+    DescribeComponentConfigurationRecommendation' {..} =+      Data.object+        ( Prelude.catMaybes+            [ Prelude.Just+                ("ResourceGroupName" Data..= resourceGroupName),+              Prelude.Just ("ComponentName" Data..= componentName),+              Prelude.Just ("Tier" Data..= tier)+            ]+        )++instance+  Data.ToPath+    DescribeComponentConfigurationRecommendation+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DescribeComponentConfigurationRecommendation+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeComponentConfigurationRecommendationResponse' smart constructor.+data DescribeComponentConfigurationRecommendationResponse = DescribeComponentConfigurationRecommendationResponse'+  { -- | The recommended configuration settings of the component. The value is+    -- the escaped JSON of the configuration.+    componentConfiguration :: 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 'DescribeComponentConfigurationRecommendationResponse' 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:+--+-- 'componentConfiguration', 'describeComponentConfigurationRecommendationResponse_componentConfiguration' - The recommended configuration settings of the component. The value is+-- the escaped JSON of the configuration.+--+-- 'httpStatus', 'describeComponentConfigurationRecommendationResponse_httpStatus' - The response's http status code.+newDescribeComponentConfigurationRecommendationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeComponentConfigurationRecommendationResponse+newDescribeComponentConfigurationRecommendationResponse+  pHttpStatus_ =+    DescribeComponentConfigurationRecommendationResponse'+      { componentConfiguration =+          Prelude.Nothing,+        httpStatus =+          pHttpStatus_+      }++-- | The recommended configuration settings of the component. The value is+-- the escaped JSON of the configuration.+describeComponentConfigurationRecommendationResponse_componentConfiguration :: Lens.Lens' DescribeComponentConfigurationRecommendationResponse (Prelude.Maybe Prelude.Text)+describeComponentConfigurationRecommendationResponse_componentConfiguration = Lens.lens (\DescribeComponentConfigurationRecommendationResponse' {componentConfiguration} -> componentConfiguration) (\s@DescribeComponentConfigurationRecommendationResponse' {} a -> s {componentConfiguration = a} :: DescribeComponentConfigurationRecommendationResponse)++-- | The response's http status code.+describeComponentConfigurationRecommendationResponse_httpStatus :: Lens.Lens' DescribeComponentConfigurationRecommendationResponse Prelude.Int+describeComponentConfigurationRecommendationResponse_httpStatus = Lens.lens (\DescribeComponentConfigurationRecommendationResponse' {httpStatus} -> httpStatus) (\s@DescribeComponentConfigurationRecommendationResponse' {} a -> s {httpStatus = a} :: DescribeComponentConfigurationRecommendationResponse)++instance+  Prelude.NFData+    DescribeComponentConfigurationRecommendationResponse+  where+  rnf+    DescribeComponentConfigurationRecommendationResponse' {..} =+      Prelude.rnf componentConfiguration+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/DescribeLogPattern.hs view
@@ -0,0 +1,221 @@+{-# 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.ApplicationInsights.DescribeLogPattern+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describe a specific log pattern from a @LogPatternSet@.+module Amazonka.ApplicationInsights.DescribeLogPattern+  ( -- * Creating a Request+    DescribeLogPattern (..),+    newDescribeLogPattern,++    -- * Request Lenses+    describeLogPattern_resourceGroupName,+    describeLogPattern_patternSetName,+    describeLogPattern_patternName,++    -- * Destructuring the Response+    DescribeLogPatternResponse (..),+    newDescribeLogPatternResponse,++    -- * Response Lenses+    describeLogPatternResponse_logPattern,+    describeLogPatternResponse_resourceGroupName,+    describeLogPatternResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newDescribeLogPattern' smart constructor.+data DescribeLogPattern = DescribeLogPattern'+  { -- | The name of the resource group.+    resourceGroupName :: Prelude.Text,+    -- | The name of the log pattern set.+    patternSetName :: Prelude.Text,+    -- | The name of the log pattern.+    patternName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLogPattern' 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:+--+-- 'resourceGroupName', 'describeLogPattern_resourceGroupName' - The name of the resource group.+--+-- 'patternSetName', 'describeLogPattern_patternSetName' - The name of the log pattern set.+--+-- 'patternName', 'describeLogPattern_patternName' - The name of the log pattern.+newDescribeLogPattern ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  -- | 'patternSetName'+  Prelude.Text ->+  -- | 'patternName'+  Prelude.Text ->+  DescribeLogPattern+newDescribeLogPattern+  pResourceGroupName_+  pPatternSetName_+  pPatternName_ =+    DescribeLogPattern'+      { resourceGroupName =+          pResourceGroupName_,+        patternSetName = pPatternSetName_,+        patternName = pPatternName_+      }++-- | The name of the resource group.+describeLogPattern_resourceGroupName :: Lens.Lens' DescribeLogPattern Prelude.Text+describeLogPattern_resourceGroupName = Lens.lens (\DescribeLogPattern' {resourceGroupName} -> resourceGroupName) (\s@DescribeLogPattern' {} a -> s {resourceGroupName = a} :: DescribeLogPattern)++-- | The name of the log pattern set.+describeLogPattern_patternSetName :: Lens.Lens' DescribeLogPattern Prelude.Text+describeLogPattern_patternSetName = Lens.lens (\DescribeLogPattern' {patternSetName} -> patternSetName) (\s@DescribeLogPattern' {} a -> s {patternSetName = a} :: DescribeLogPattern)++-- | The name of the log pattern.+describeLogPattern_patternName :: Lens.Lens' DescribeLogPattern Prelude.Text+describeLogPattern_patternName = Lens.lens (\DescribeLogPattern' {patternName} -> patternName) (\s@DescribeLogPattern' {} a -> s {patternName = a} :: DescribeLogPattern)++instance Core.AWSRequest DescribeLogPattern where+  type+    AWSResponse DescribeLogPattern =+      DescribeLogPatternResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeLogPatternResponse'+            Prelude.<$> (x Data..?> "LogPattern")+            Prelude.<*> (x Data..?> "ResourceGroupName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeLogPattern where+  hashWithSalt _salt DescribeLogPattern' {..} =+    _salt+      `Prelude.hashWithSalt` resourceGroupName+      `Prelude.hashWithSalt` patternSetName+      `Prelude.hashWithSalt` patternName++instance Prelude.NFData DescribeLogPattern where+  rnf DescribeLogPattern' {..} =+    Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf patternSetName+      `Prelude.seq` Prelude.rnf patternName++instance Data.ToHeaders DescribeLogPattern where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.DescribeLogPattern" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeLogPattern where+  toJSON DescribeLogPattern' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName),+            Prelude.Just+              ("PatternSetName" Data..= patternSetName),+            Prelude.Just ("PatternName" Data..= patternName)+          ]+      )++instance Data.ToPath DescribeLogPattern where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeLogPattern where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeLogPatternResponse' smart constructor.+data DescribeLogPatternResponse = DescribeLogPatternResponse'+  { -- | The successfully created log pattern.+    logPattern :: Prelude.Maybe LogPattern,+    -- | The name of the resource group.+    resourceGroupName :: 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 'DescribeLogPatternResponse' 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:+--+-- 'logPattern', 'describeLogPatternResponse_logPattern' - The successfully created log pattern.+--+-- 'resourceGroupName', 'describeLogPatternResponse_resourceGroupName' - The name of the resource group.+--+-- 'httpStatus', 'describeLogPatternResponse_httpStatus' - The response's http status code.+newDescribeLogPatternResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeLogPatternResponse+newDescribeLogPatternResponse pHttpStatus_ =+  DescribeLogPatternResponse'+    { logPattern =+        Prelude.Nothing,+      resourceGroupName = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The successfully created log pattern.+describeLogPatternResponse_logPattern :: Lens.Lens' DescribeLogPatternResponse (Prelude.Maybe LogPattern)+describeLogPatternResponse_logPattern = Lens.lens (\DescribeLogPatternResponse' {logPattern} -> logPattern) (\s@DescribeLogPatternResponse' {} a -> s {logPattern = a} :: DescribeLogPatternResponse)++-- | The name of the resource group.+describeLogPatternResponse_resourceGroupName :: Lens.Lens' DescribeLogPatternResponse (Prelude.Maybe Prelude.Text)+describeLogPatternResponse_resourceGroupName = Lens.lens (\DescribeLogPatternResponse' {resourceGroupName} -> resourceGroupName) (\s@DescribeLogPatternResponse' {} a -> s {resourceGroupName = a} :: DescribeLogPatternResponse)++-- | The response's http status code.+describeLogPatternResponse_httpStatus :: Lens.Lens' DescribeLogPatternResponse Prelude.Int+describeLogPatternResponse_httpStatus = Lens.lens (\DescribeLogPatternResponse' {httpStatus} -> httpStatus) (\s@DescribeLogPatternResponse' {} a -> s {httpStatus = a} :: DescribeLogPatternResponse)++instance Prelude.NFData DescribeLogPatternResponse where+  rnf DescribeLogPatternResponse' {..} =+    Prelude.rnf logPattern+      `Prelude.seq` Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/DescribeObservation.hs view
@@ -0,0 +1,174 @@+{-# 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.ApplicationInsights.DescribeObservation+-- 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 an anomaly or error with the application.+module Amazonka.ApplicationInsights.DescribeObservation+  ( -- * Creating a Request+    DescribeObservation (..),+    newDescribeObservation,++    -- * Request Lenses+    describeObservation_observationId,++    -- * Destructuring the Response+    DescribeObservationResponse (..),+    newDescribeObservationResponse,++    -- * Response Lenses+    describeObservationResponse_observation,+    describeObservationResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newDescribeObservation' smart constructor.+data DescribeObservation = DescribeObservation'+  { -- | The ID of the observation.+    observationId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeObservation' 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:+--+-- 'observationId', 'describeObservation_observationId' - The ID of the observation.+newDescribeObservation ::+  -- | 'observationId'+  Prelude.Text ->+  DescribeObservation+newDescribeObservation pObservationId_ =+  DescribeObservation'+    { observationId =+        pObservationId_+    }++-- | The ID of the observation.+describeObservation_observationId :: Lens.Lens' DescribeObservation Prelude.Text+describeObservation_observationId = Lens.lens (\DescribeObservation' {observationId} -> observationId) (\s@DescribeObservation' {} a -> s {observationId = a} :: DescribeObservation)++instance Core.AWSRequest DescribeObservation where+  type+    AWSResponse DescribeObservation =+      DescribeObservationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeObservationResponse'+            Prelude.<$> (x Data..?> "Observation")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeObservation where+  hashWithSalt _salt DescribeObservation' {..} =+    _salt `Prelude.hashWithSalt` observationId++instance Prelude.NFData DescribeObservation where+  rnf DescribeObservation' {..} =+    Prelude.rnf observationId++instance Data.ToHeaders DescribeObservation where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.DescribeObservation" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeObservation where+  toJSON DescribeObservation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ObservationId" Data..= observationId)+          ]+      )++instance Data.ToPath DescribeObservation where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeObservation where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeObservationResponse' smart constructor.+data DescribeObservationResponse = DescribeObservationResponse'+  { -- | Information about the observation.+    observation :: Prelude.Maybe Observation,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeObservationResponse' 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:+--+-- 'observation', 'describeObservationResponse_observation' - Information about the observation.+--+-- 'httpStatus', 'describeObservationResponse_httpStatus' - The response's http status code.+newDescribeObservationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeObservationResponse+newDescribeObservationResponse pHttpStatus_ =+  DescribeObservationResponse'+    { observation =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the observation.+describeObservationResponse_observation :: Lens.Lens' DescribeObservationResponse (Prelude.Maybe Observation)+describeObservationResponse_observation = Lens.lens (\DescribeObservationResponse' {observation} -> observation) (\s@DescribeObservationResponse' {} a -> s {observation = a} :: DescribeObservationResponse)++-- | The response's http status code.+describeObservationResponse_httpStatus :: Lens.Lens' DescribeObservationResponse Prelude.Int+describeObservationResponse_httpStatus = Lens.lens (\DescribeObservationResponse' {httpStatus} -> httpStatus) (\s@DescribeObservationResponse' {} a -> s {httpStatus = a} :: DescribeObservationResponse)++instance Prelude.NFData DescribeObservationResponse where+  rnf DescribeObservationResponse' {..} =+    Prelude.rnf observation+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/DescribeProblem.hs view
@@ -0,0 +1,167 @@+{-# 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.ApplicationInsights.DescribeProblem+-- 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 an application problem.+module Amazonka.ApplicationInsights.DescribeProblem+  ( -- * Creating a Request+    DescribeProblem (..),+    newDescribeProblem,++    -- * Request Lenses+    describeProblem_problemId,++    -- * Destructuring the Response+    DescribeProblemResponse (..),+    newDescribeProblemResponse,++    -- * Response Lenses+    describeProblemResponse_problem,+    describeProblemResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newDescribeProblem' smart constructor.+data DescribeProblem = DescribeProblem'+  { -- | The ID of the problem.+    problemId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeProblem' 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:+--+-- 'problemId', 'describeProblem_problemId' - The ID of the problem.+newDescribeProblem ::+  -- | 'problemId'+  Prelude.Text ->+  DescribeProblem+newDescribeProblem pProblemId_ =+  DescribeProblem' {problemId = pProblemId_}++-- | The ID of the problem.+describeProblem_problemId :: Lens.Lens' DescribeProblem Prelude.Text+describeProblem_problemId = Lens.lens (\DescribeProblem' {problemId} -> problemId) (\s@DescribeProblem' {} a -> s {problemId = a} :: DescribeProblem)++instance Core.AWSRequest DescribeProblem where+  type+    AWSResponse DescribeProblem =+      DescribeProblemResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeProblemResponse'+            Prelude.<$> (x Data..?> "Problem")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeProblem where+  hashWithSalt _salt DescribeProblem' {..} =+    _salt `Prelude.hashWithSalt` problemId++instance Prelude.NFData DescribeProblem where+  rnf DescribeProblem' {..} = Prelude.rnf problemId++instance Data.ToHeaders DescribeProblem where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.DescribeProblem" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeProblem where+  toJSON DescribeProblem' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ProblemId" Data..= problemId)]+      )++instance Data.ToPath DescribeProblem where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeProblem where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeProblemResponse' smart constructor.+data DescribeProblemResponse = DescribeProblemResponse'+  { -- | Information about the problem.+    problem :: Prelude.Maybe Problem,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeProblemResponse' 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:+--+-- 'problem', 'describeProblemResponse_problem' - Information about the problem.+--+-- 'httpStatus', 'describeProblemResponse_httpStatus' - The response's http status code.+newDescribeProblemResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeProblemResponse+newDescribeProblemResponse pHttpStatus_ =+  DescribeProblemResponse'+    { problem = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the problem.+describeProblemResponse_problem :: Lens.Lens' DescribeProblemResponse (Prelude.Maybe Problem)+describeProblemResponse_problem = Lens.lens (\DescribeProblemResponse' {problem} -> problem) (\s@DescribeProblemResponse' {} a -> s {problem = a} :: DescribeProblemResponse)++-- | The response's http status code.+describeProblemResponse_httpStatus :: Lens.Lens' DescribeProblemResponse Prelude.Int+describeProblemResponse_httpStatus = Lens.lens (\DescribeProblemResponse' {httpStatus} -> httpStatus) (\s@DescribeProblemResponse' {} a -> s {httpStatus = a} :: DescribeProblemResponse)++instance Prelude.NFData DescribeProblemResponse where+  rnf DescribeProblemResponse' {..} =+    Prelude.rnf problem+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/DescribeProblemObservations.hs view
@@ -0,0 +1,175 @@+{-# 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.ApplicationInsights.DescribeProblemObservations+-- 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 anomalies or errors associated with the problem.+module Amazonka.ApplicationInsights.DescribeProblemObservations+  ( -- * Creating a Request+    DescribeProblemObservations (..),+    newDescribeProblemObservations,++    -- * Request Lenses+    describeProblemObservations_problemId,++    -- * Destructuring the Response+    DescribeProblemObservationsResponse (..),+    newDescribeProblemObservationsResponse,++    -- * Response Lenses+    describeProblemObservationsResponse_relatedObservations,+    describeProblemObservationsResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newDescribeProblemObservations' smart constructor.+data DescribeProblemObservations = DescribeProblemObservations'+  { -- | The ID of the problem.+    problemId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeProblemObservations' 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:+--+-- 'problemId', 'describeProblemObservations_problemId' - The ID of the problem.+newDescribeProblemObservations ::+  -- | 'problemId'+  Prelude.Text ->+  DescribeProblemObservations+newDescribeProblemObservations pProblemId_ =+  DescribeProblemObservations'+    { problemId =+        pProblemId_+    }++-- | The ID of the problem.+describeProblemObservations_problemId :: Lens.Lens' DescribeProblemObservations Prelude.Text+describeProblemObservations_problemId = Lens.lens (\DescribeProblemObservations' {problemId} -> problemId) (\s@DescribeProblemObservations' {} a -> s {problemId = a} :: DescribeProblemObservations)++instance Core.AWSRequest DescribeProblemObservations where+  type+    AWSResponse DescribeProblemObservations =+      DescribeProblemObservationsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeProblemObservationsResponse'+            Prelude.<$> (x Data..?> "RelatedObservations")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeProblemObservations where+  hashWithSalt _salt DescribeProblemObservations' {..} =+    _salt `Prelude.hashWithSalt` problemId++instance Prelude.NFData DescribeProblemObservations where+  rnf DescribeProblemObservations' {..} =+    Prelude.rnf problemId++instance Data.ToHeaders DescribeProblemObservations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.DescribeProblemObservations" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeProblemObservations where+  toJSON DescribeProblemObservations' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ProblemId" Data..= problemId)]+      )++instance Data.ToPath DescribeProblemObservations where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeProblemObservations where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeProblemObservationsResponse' smart constructor.+data DescribeProblemObservationsResponse = DescribeProblemObservationsResponse'+  { -- | Observations related to the problem.+    relatedObservations :: Prelude.Maybe RelatedObservations,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeProblemObservationsResponse' 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:+--+-- 'relatedObservations', 'describeProblemObservationsResponse_relatedObservations' - Observations related to the problem.+--+-- 'httpStatus', 'describeProblemObservationsResponse_httpStatus' - The response's http status code.+newDescribeProblemObservationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeProblemObservationsResponse+newDescribeProblemObservationsResponse pHttpStatus_ =+  DescribeProblemObservationsResponse'+    { relatedObservations =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Observations related to the problem.+describeProblemObservationsResponse_relatedObservations :: Lens.Lens' DescribeProblemObservationsResponse (Prelude.Maybe RelatedObservations)+describeProblemObservationsResponse_relatedObservations = Lens.lens (\DescribeProblemObservationsResponse' {relatedObservations} -> relatedObservations) (\s@DescribeProblemObservationsResponse' {} a -> s {relatedObservations = a} :: DescribeProblemObservationsResponse)++-- | The response's http status code.+describeProblemObservationsResponse_httpStatus :: Lens.Lens' DescribeProblemObservationsResponse Prelude.Int+describeProblemObservationsResponse_httpStatus = Lens.lens (\DescribeProblemObservationsResponse' {httpStatus} -> httpStatus) (\s@DescribeProblemObservationsResponse' {} a -> s {httpStatus = a} :: DescribeProblemObservationsResponse)++instance+  Prelude.NFData+    DescribeProblemObservationsResponse+  where+  rnf DescribeProblemObservationsResponse' {..} =+    Prelude.rnf relatedObservations+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/Lens.hs view
@@ -0,0 +1,357 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Lens+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Lens+  ( -- * Operations++    -- ** CreateApplication+    createApplication_autoConfigEnabled,+    createApplication_autoCreate,+    createApplication_cWEMonitorEnabled,+    createApplication_groupingType,+    createApplication_opsCenterEnabled,+    createApplication_opsItemSNSTopicArn,+    createApplication_resourceGroupName,+    createApplication_tags,+    createApplicationResponse_applicationInfo,+    createApplicationResponse_httpStatus,++    -- ** CreateComponent+    createComponent_resourceGroupName,+    createComponent_componentName,+    createComponent_resourceList,+    createComponentResponse_httpStatus,++    -- ** CreateLogPattern+    createLogPattern_resourceGroupName,+    createLogPattern_patternSetName,+    createLogPattern_patternName,+    createLogPattern_pattern,+    createLogPattern_rank,+    createLogPatternResponse_logPattern,+    createLogPatternResponse_resourceGroupName,+    createLogPatternResponse_httpStatus,++    -- ** DeleteApplication+    deleteApplication_resourceGroupName,+    deleteApplicationResponse_httpStatus,++    -- ** DeleteComponent+    deleteComponent_resourceGroupName,+    deleteComponent_componentName,+    deleteComponentResponse_httpStatus,++    -- ** DeleteLogPattern+    deleteLogPattern_resourceGroupName,+    deleteLogPattern_patternSetName,+    deleteLogPattern_patternName,+    deleteLogPatternResponse_httpStatus,++    -- ** DescribeApplication+    describeApplication_resourceGroupName,+    describeApplicationResponse_applicationInfo,+    describeApplicationResponse_httpStatus,++    -- ** DescribeComponent+    describeComponent_resourceGroupName,+    describeComponent_componentName,+    describeComponentResponse_applicationComponent,+    describeComponentResponse_resourceList,+    describeComponentResponse_httpStatus,++    -- ** DescribeComponentConfiguration+    describeComponentConfiguration_resourceGroupName,+    describeComponentConfiguration_componentName,+    describeComponentConfigurationResponse_componentConfiguration,+    describeComponentConfigurationResponse_monitor,+    describeComponentConfigurationResponse_tier,+    describeComponentConfigurationResponse_httpStatus,++    -- ** DescribeComponentConfigurationRecommendation+    describeComponentConfigurationRecommendation_resourceGroupName,+    describeComponentConfigurationRecommendation_componentName,+    describeComponentConfigurationRecommendation_tier,+    describeComponentConfigurationRecommendationResponse_componentConfiguration,+    describeComponentConfigurationRecommendationResponse_httpStatus,++    -- ** DescribeLogPattern+    describeLogPattern_resourceGroupName,+    describeLogPattern_patternSetName,+    describeLogPattern_patternName,+    describeLogPatternResponse_logPattern,+    describeLogPatternResponse_resourceGroupName,+    describeLogPatternResponse_httpStatus,++    -- ** DescribeObservation+    describeObservation_observationId,+    describeObservationResponse_observation,+    describeObservationResponse_httpStatus,++    -- ** DescribeProblem+    describeProblem_problemId,+    describeProblemResponse_problem,+    describeProblemResponse_httpStatus,++    -- ** DescribeProblemObservations+    describeProblemObservations_problemId,+    describeProblemObservationsResponse_relatedObservations,+    describeProblemObservationsResponse_httpStatus,++    -- ** ListApplications+    listApplications_maxResults,+    listApplications_nextToken,+    listApplicationsResponse_applicationInfoList,+    listApplicationsResponse_nextToken,+    listApplicationsResponse_httpStatus,++    -- ** ListComponents+    listComponents_maxResults,+    listComponents_nextToken,+    listComponents_resourceGroupName,+    listComponentsResponse_applicationComponentList,+    listComponentsResponse_nextToken,+    listComponentsResponse_httpStatus,++    -- ** ListConfigurationHistory+    listConfigurationHistory_endTime,+    listConfigurationHistory_eventStatus,+    listConfigurationHistory_maxResults,+    listConfigurationHistory_nextToken,+    listConfigurationHistory_resourceGroupName,+    listConfigurationHistory_startTime,+    listConfigurationHistoryResponse_eventList,+    listConfigurationHistoryResponse_nextToken,+    listConfigurationHistoryResponse_httpStatus,++    -- ** ListLogPatternSets+    listLogPatternSets_maxResults,+    listLogPatternSets_nextToken,+    listLogPatternSets_resourceGroupName,+    listLogPatternSetsResponse_logPatternSets,+    listLogPatternSetsResponse_nextToken,+    listLogPatternSetsResponse_resourceGroupName,+    listLogPatternSetsResponse_httpStatus,++    -- ** ListLogPatterns+    listLogPatterns_maxResults,+    listLogPatterns_nextToken,+    listLogPatterns_patternSetName,+    listLogPatterns_resourceGroupName,+    listLogPatternsResponse_logPatterns,+    listLogPatternsResponse_nextToken,+    listLogPatternsResponse_resourceGroupName,+    listLogPatternsResponse_httpStatus,++    -- ** ListProblems+    listProblems_componentName,+    listProblems_endTime,+    listProblems_maxResults,+    listProblems_nextToken,+    listProblems_resourceGroupName,+    listProblems_startTime,+    listProblemsResponse_nextToken,+    listProblemsResponse_problemList,+    listProblemsResponse_resourceGroupName,+    listProblemsResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceARN,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceARN,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceARN,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateApplication+    updateApplication_autoConfigEnabled,+    updateApplication_cWEMonitorEnabled,+    updateApplication_opsCenterEnabled,+    updateApplication_opsItemSNSTopicArn,+    updateApplication_removeSNSTopic,+    updateApplication_resourceGroupName,+    updateApplicationResponse_applicationInfo,+    updateApplicationResponse_httpStatus,++    -- ** UpdateComponent+    updateComponent_newComponentName,+    updateComponent_resourceList,+    updateComponent_resourceGroupName,+    updateComponent_componentName,+    updateComponentResponse_httpStatus,++    -- ** UpdateComponentConfiguration+    updateComponentConfiguration_autoConfigEnabled,+    updateComponentConfiguration_componentConfiguration,+    updateComponentConfiguration_monitor,+    updateComponentConfiguration_tier,+    updateComponentConfiguration_resourceGroupName,+    updateComponentConfiguration_componentName,+    updateComponentConfigurationResponse_httpStatus,++    -- ** UpdateLogPattern+    updateLogPattern_pattern,+    updateLogPattern_rank,+    updateLogPattern_resourceGroupName,+    updateLogPattern_patternSetName,+    updateLogPattern_patternName,+    updateLogPatternResponse_logPattern,+    updateLogPatternResponse_resourceGroupName,+    updateLogPatternResponse_httpStatus,++    -- * Types++    -- ** ApplicationComponent+    applicationComponent_componentName,+    applicationComponent_componentRemarks,+    applicationComponent_detectedWorkload,+    applicationComponent_monitor,+    applicationComponent_osType,+    applicationComponent_resourceType,+    applicationComponent_tier,++    -- ** ApplicationInfo+    applicationInfo_autoConfigEnabled,+    applicationInfo_cWEMonitorEnabled,+    applicationInfo_discoveryType,+    applicationInfo_lifeCycle,+    applicationInfo_opsCenterEnabled,+    applicationInfo_opsItemSNSTopicArn,+    applicationInfo_remarks,+    applicationInfo_resourceGroupName,++    -- ** ConfigurationEvent+    configurationEvent_eventDetail,+    configurationEvent_eventResourceName,+    configurationEvent_eventResourceType,+    configurationEvent_eventStatus,+    configurationEvent_eventTime,+    configurationEvent_monitoredResourceARN,++    -- ** LogPattern+    logPattern_pattern,+    logPattern_patternName,+    logPattern_patternSetName,+    logPattern_rank,++    -- ** Observation+    observation_cloudWatchEventDetailType,+    observation_cloudWatchEventId,+    observation_cloudWatchEventSource,+    observation_codeDeployApplication,+    observation_codeDeployDeploymentGroup,+    observation_codeDeployDeploymentId,+    observation_codeDeployInstanceGroupId,+    observation_codeDeployState,+    observation_ebsCause,+    observation_ebsEvent,+    observation_ebsRequestId,+    observation_ebsResult,+    observation_ec2State,+    observation_endTime,+    observation_healthEventArn,+    observation_healthEventDescription,+    observation_healthEventTypeCategory,+    observation_healthEventTypeCode,+    observation_healthService,+    observation_id,+    observation_lineTime,+    observation_logFilter,+    observation_logGroup,+    observation_logText,+    observation_metricName,+    observation_metricNamespace,+    observation_rdsEventCategories,+    observation_rdsEventMessage,+    observation_s3EventName,+    observation_sourceARN,+    observation_sourceType,+    observation_startTime,+    observation_statesArn,+    observation_statesExecutionArn,+    observation_statesInput,+    observation_statesStatus,+    observation_unit,+    observation_value,+    observation_xRayErrorPercent,+    observation_xRayFaultPercent,+    observation_xRayNodeName,+    observation_xRayNodeType,+    observation_xRayRequestAverageLatency,+    observation_xRayRequestCount,+    observation_xRayThrottlePercent,++    -- ** Problem+    problem_affectedResource,+    problem_endTime,+    problem_feedback,+    problem_id,+    problem_insights,+    problem_lastRecurrenceTime,+    problem_recurringCount,+    problem_resourceGroupName,+    problem_severityLevel,+    problem_startTime,+    problem_status,+    problem_title,++    -- ** RelatedObservations+    relatedObservations_observationList,++    -- ** Tag+    tag_key,+    tag_value,+  )+where++import Amazonka.ApplicationInsights.CreateApplication+import Amazonka.ApplicationInsights.CreateComponent+import Amazonka.ApplicationInsights.CreateLogPattern+import Amazonka.ApplicationInsights.DeleteApplication+import Amazonka.ApplicationInsights.DeleteComponent+import Amazonka.ApplicationInsights.DeleteLogPattern+import Amazonka.ApplicationInsights.DescribeApplication+import Amazonka.ApplicationInsights.DescribeComponent+import Amazonka.ApplicationInsights.DescribeComponentConfiguration+import Amazonka.ApplicationInsights.DescribeComponentConfigurationRecommendation+import Amazonka.ApplicationInsights.DescribeLogPattern+import Amazonka.ApplicationInsights.DescribeObservation+import Amazonka.ApplicationInsights.DescribeProblem+import Amazonka.ApplicationInsights.DescribeProblemObservations+import Amazonka.ApplicationInsights.ListApplications+import Amazonka.ApplicationInsights.ListComponents+import Amazonka.ApplicationInsights.ListConfigurationHistory+import Amazonka.ApplicationInsights.ListLogPatternSets+import Amazonka.ApplicationInsights.ListLogPatterns+import Amazonka.ApplicationInsights.ListProblems+import Amazonka.ApplicationInsights.ListTagsForResource+import Amazonka.ApplicationInsights.TagResource+import Amazonka.ApplicationInsights.Types.ApplicationComponent+import Amazonka.ApplicationInsights.Types.ApplicationInfo+import Amazonka.ApplicationInsights.Types.ConfigurationEvent+import Amazonka.ApplicationInsights.Types.LogPattern+import Amazonka.ApplicationInsights.Types.Observation+import Amazonka.ApplicationInsights.Types.Problem+import Amazonka.ApplicationInsights.Types.RelatedObservations+import Amazonka.ApplicationInsights.Types.Tag+import Amazonka.ApplicationInsights.UntagResource+import Amazonka.ApplicationInsights.UpdateApplication+import Amazonka.ApplicationInsights.UpdateComponent+import Amazonka.ApplicationInsights.UpdateComponentConfiguration+import Amazonka.ApplicationInsights.UpdateLogPattern
+ gen/Amazonka/ApplicationInsights/ListApplications.hs view
@@ -0,0 +1,208 @@+{-# 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.ApplicationInsights.ListApplications+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the IDs of the applications that you are monitoring.+module Amazonka.ApplicationInsights.ListApplications+  ( -- * Creating a Request+    ListApplications (..),+    newListApplications,++    -- * Request Lenses+    listApplications_maxResults,+    listApplications_nextToken,++    -- * Destructuring the Response+    ListApplicationsResponse (..),+    newListApplicationsResponse,++    -- * Response Lenses+    listApplicationsResponse_applicationInfoList,+    listApplicationsResponse_nextToken,+    listApplicationsResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newListApplications' smart constructor.+data ListApplications = ListApplications'+  { -- | The maximum number of results to return in a single call. To retrieve+    -- the remaining results, make another call with the returned @NextToken@+    -- value.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to request the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplications' 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:+--+-- 'maxResults', 'listApplications_maxResults' - The maximum number of results to return in a single call. To retrieve+-- the remaining results, make another call with the returned @NextToken@+-- value.+--+-- 'nextToken', 'listApplications_nextToken' - The token to request the next page of results.+newListApplications ::+  ListApplications+newListApplications =+  ListApplications'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in a single call. To retrieve+-- the remaining results, make another call with the returned @NextToken@+-- value.+listApplications_maxResults :: Lens.Lens' ListApplications (Prelude.Maybe Prelude.Natural)+listApplications_maxResults = Lens.lens (\ListApplications' {maxResults} -> maxResults) (\s@ListApplications' {} a -> s {maxResults = a} :: ListApplications)++-- | The token to request the next page of results.+listApplications_nextToken :: Lens.Lens' ListApplications (Prelude.Maybe Prelude.Text)+listApplications_nextToken = Lens.lens (\ListApplications' {nextToken} -> nextToken) (\s@ListApplications' {} a -> s {nextToken = a} :: ListApplications)++instance Core.AWSRequest ListApplications where+  type+    AWSResponse ListApplications =+      ListApplicationsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListApplicationsResponse'+            Prelude.<$> ( x+                            Data..?> "ApplicationInfoList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListApplications where+  hashWithSalt _salt ListApplications' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListApplications where+  rnf ListApplications' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListApplications where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.ListApplications" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListApplications where+  toJSON ListApplications' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListApplications where+  toPath = Prelude.const "/"++instance Data.ToQuery ListApplications where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListApplicationsResponse' smart constructor.+data ListApplicationsResponse = ListApplicationsResponse'+  { -- | The list of applications.+    applicationInfoList :: Prelude.Maybe [ApplicationInfo],+    -- | The token used to retrieve the next page of results. This value is+    -- @null@ when there are no more results to return.+    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 'ListApplicationsResponse' 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:+--+-- 'applicationInfoList', 'listApplicationsResponse_applicationInfoList' - The list of applications.+--+-- 'nextToken', 'listApplicationsResponse_nextToken' - The token used to retrieve the next page of results. This value is+-- @null@ when there are no more results to return.+--+-- 'httpStatus', 'listApplicationsResponse_httpStatus' - The response's http status code.+newListApplicationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListApplicationsResponse+newListApplicationsResponse pHttpStatus_ =+  ListApplicationsResponse'+    { applicationInfoList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of applications.+listApplicationsResponse_applicationInfoList :: Lens.Lens' ListApplicationsResponse (Prelude.Maybe [ApplicationInfo])+listApplicationsResponse_applicationInfoList = Lens.lens (\ListApplicationsResponse' {applicationInfoList} -> applicationInfoList) (\s@ListApplicationsResponse' {} a -> s {applicationInfoList = a} :: ListApplicationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token used to retrieve the next page of results. This value is+-- @null@ when there are no more results to return.+listApplicationsResponse_nextToken :: Lens.Lens' ListApplicationsResponse (Prelude.Maybe Prelude.Text)+listApplicationsResponse_nextToken = Lens.lens (\ListApplicationsResponse' {nextToken} -> nextToken) (\s@ListApplicationsResponse' {} a -> s {nextToken = a} :: ListApplicationsResponse)++-- | The response's http status code.+listApplicationsResponse_httpStatus :: Lens.Lens' ListApplicationsResponse Prelude.Int+listApplicationsResponse_httpStatus = Lens.lens (\ListApplicationsResponse' {httpStatus} -> httpStatus) (\s@ListApplicationsResponse' {} a -> s {httpStatus = a} :: ListApplicationsResponse)++instance Prelude.NFData ListApplicationsResponse where+  rnf ListApplicationsResponse' {..} =+    Prelude.rnf applicationInfoList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/ListComponents.hs view
@@ -0,0 +1,222 @@+{-# 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.ApplicationInsights.ListComponents+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the auto-grouped, standalone, and custom components of the+-- application.+module Amazonka.ApplicationInsights.ListComponents+  ( -- * Creating a Request+    ListComponents (..),+    newListComponents,++    -- * Request Lenses+    listComponents_maxResults,+    listComponents_nextToken,+    listComponents_resourceGroupName,++    -- * Destructuring the Response+    ListComponentsResponse (..),+    newListComponentsResponse,++    -- * Response Lenses+    listComponentsResponse_applicationComponentList,+    listComponentsResponse_nextToken,+    listComponentsResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newListComponents' smart constructor.+data ListComponents = ListComponents'+  { -- | The maximum number of results to return in a single call. To retrieve+    -- the remaining results, make another call with the returned @NextToken@+    -- value.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to request the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource group.+    resourceGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListComponents' 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:+--+-- 'maxResults', 'listComponents_maxResults' - The maximum number of results to return in a single call. To retrieve+-- the remaining results, make another call with the returned @NextToken@+-- value.+--+-- 'nextToken', 'listComponents_nextToken' - The token to request the next page of results.+--+-- 'resourceGroupName', 'listComponents_resourceGroupName' - The name of the resource group.+newListComponents ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  ListComponents+newListComponents pResourceGroupName_ =+  ListComponents'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      resourceGroupName = pResourceGroupName_+    }++-- | The maximum number of results to return in a single call. To retrieve+-- the remaining results, make another call with the returned @NextToken@+-- value.+listComponents_maxResults :: Lens.Lens' ListComponents (Prelude.Maybe Prelude.Natural)+listComponents_maxResults = Lens.lens (\ListComponents' {maxResults} -> maxResults) (\s@ListComponents' {} a -> s {maxResults = a} :: ListComponents)++-- | The token to request the next page of results.+listComponents_nextToken :: Lens.Lens' ListComponents (Prelude.Maybe Prelude.Text)+listComponents_nextToken = Lens.lens (\ListComponents' {nextToken} -> nextToken) (\s@ListComponents' {} a -> s {nextToken = a} :: ListComponents)++-- | The name of the resource group.+listComponents_resourceGroupName :: Lens.Lens' ListComponents Prelude.Text+listComponents_resourceGroupName = Lens.lens (\ListComponents' {resourceGroupName} -> resourceGroupName) (\s@ListComponents' {} a -> s {resourceGroupName = a} :: ListComponents)++instance Core.AWSRequest ListComponents where+  type+    AWSResponse ListComponents =+      ListComponentsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListComponentsResponse'+            Prelude.<$> ( x+                            Data..?> "ApplicationComponentList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListComponents where+  hashWithSalt _salt ListComponents' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` resourceGroupName++instance Prelude.NFData ListComponents where+  rnf ListComponents' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceGroupName++instance Data.ToHeaders ListComponents where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.ListComponents" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListComponents where+  toJSON ListComponents' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName)+          ]+      )++instance Data.ToPath ListComponents where+  toPath = Prelude.const "/"++instance Data.ToQuery ListComponents where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListComponentsResponse' smart constructor.+data ListComponentsResponse = ListComponentsResponse'+  { -- | The list of application components.+    applicationComponentList :: Prelude.Maybe [ApplicationComponent],+    -- | The token to request the next page of results.+    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 'ListComponentsResponse' 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:+--+-- 'applicationComponentList', 'listComponentsResponse_applicationComponentList' - The list of application components.+--+-- 'nextToken', 'listComponentsResponse_nextToken' - The token to request the next page of results.+--+-- 'httpStatus', 'listComponentsResponse_httpStatus' - The response's http status code.+newListComponentsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListComponentsResponse+newListComponentsResponse pHttpStatus_ =+  ListComponentsResponse'+    { applicationComponentList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of application components.+listComponentsResponse_applicationComponentList :: Lens.Lens' ListComponentsResponse (Prelude.Maybe [ApplicationComponent])+listComponentsResponse_applicationComponentList = Lens.lens (\ListComponentsResponse' {applicationComponentList} -> applicationComponentList) (\s@ListComponentsResponse' {} a -> s {applicationComponentList = a} :: ListComponentsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to request the next page of results.+listComponentsResponse_nextToken :: Lens.Lens' ListComponentsResponse (Prelude.Maybe Prelude.Text)+listComponentsResponse_nextToken = Lens.lens (\ListComponentsResponse' {nextToken} -> nextToken) (\s@ListComponentsResponse' {} a -> s {nextToken = a} :: ListComponentsResponse)++-- | The response's http status code.+listComponentsResponse_httpStatus :: Lens.Lens' ListComponentsResponse Prelude.Int+listComponentsResponse_httpStatus = Lens.lens (\ListComponentsResponse' {httpStatus} -> httpStatus) (\s@ListComponentsResponse' {} a -> s {httpStatus = a} :: ListComponentsResponse)++instance Prelude.NFData ListComponentsResponse where+  rnf ListComponentsResponse' {..} =+    Prelude.rnf applicationComponentList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/ListConfigurationHistory.hs view
@@ -0,0 +1,308 @@+{-# 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.ApplicationInsights.ListConfigurationHistory+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the INFO, WARN, and ERROR events for periodic configuration+-- updates performed by Application Insights. Examples of events+-- represented are:+--+-- -   INFO: creating a new alarm or updating an alarm threshold.+--+-- -   WARN: alarm not created due to insufficient data points used to+--     predict thresholds.+--+-- -   ERROR: alarm not created due to permission errors or exceeding+--     quotas.+module Amazonka.ApplicationInsights.ListConfigurationHistory+  ( -- * Creating a Request+    ListConfigurationHistory (..),+    newListConfigurationHistory,++    -- * Request Lenses+    listConfigurationHistory_endTime,+    listConfigurationHistory_eventStatus,+    listConfigurationHistory_maxResults,+    listConfigurationHistory_nextToken,+    listConfigurationHistory_resourceGroupName,+    listConfigurationHistory_startTime,++    -- * Destructuring the Response+    ListConfigurationHistoryResponse (..),+    newListConfigurationHistoryResponse,++    -- * Response Lenses+    listConfigurationHistoryResponse_eventList,+    listConfigurationHistoryResponse_nextToken,+    listConfigurationHistoryResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newListConfigurationHistory' smart constructor.+data ListConfigurationHistory = ListConfigurationHistory'+  { -- | The end time of the event.+    endTime :: Prelude.Maybe Data.POSIX,+    -- | The status of the configuration update event. Possible values include+    -- INFO, WARN, and ERROR.+    eventStatus :: Prelude.Maybe ConfigurationEventStatus,+    -- | The maximum number of results returned by @ListConfigurationHistory@ in+    -- paginated output. When this parameter is used,+    -- @ListConfigurationHistory@ returns only @MaxResults@ in a single page+    -- along with a @NextToken@ response element. The remaining results of the+    -- initial request can be seen by sending another+    -- @ListConfigurationHistory@ request with the returned @NextToken@ value.+    -- If this parameter is not used, then @ListConfigurationHistory@ returns+    -- all results.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The @NextToken@ value returned from a previous paginated+    -- @ListConfigurationHistory@ request where @MaxResults@ was used and the+    -- results exceeded the value of that parameter. Pagination continues from+    -- the end of the previous results that returned the @NextToken@ value.+    -- This value is @null@ when there are no more results to return.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Resource group to which the application belongs.+    resourceGroupName :: Prelude.Maybe Prelude.Text,+    -- | The start time of the event.+    startTime :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConfigurationHistory' 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:+--+-- 'endTime', 'listConfigurationHistory_endTime' - The end time of the event.+--+-- 'eventStatus', 'listConfigurationHistory_eventStatus' - The status of the configuration update event. Possible values include+-- INFO, WARN, and ERROR.+--+-- 'maxResults', 'listConfigurationHistory_maxResults' - The maximum number of results returned by @ListConfigurationHistory@ in+-- paginated output. When this parameter is used,+-- @ListConfigurationHistory@ returns only @MaxResults@ in a single page+-- along with a @NextToken@ response element. The remaining results of the+-- initial request can be seen by sending another+-- @ListConfigurationHistory@ request with the returned @NextToken@ value.+-- If this parameter is not used, then @ListConfigurationHistory@ returns+-- all results.+--+-- 'nextToken', 'listConfigurationHistory_nextToken' - The @NextToken@ value returned from a previous paginated+-- @ListConfigurationHistory@ request where @MaxResults@ was used and the+-- results exceeded the value of that parameter. Pagination continues from+-- the end of the previous results that returned the @NextToken@ value.+-- This value is @null@ when there are no more results to return.+--+-- 'resourceGroupName', 'listConfigurationHistory_resourceGroupName' - Resource group to which the application belongs.+--+-- 'startTime', 'listConfigurationHistory_startTime' - The start time of the event.+newListConfigurationHistory ::+  ListConfigurationHistory+newListConfigurationHistory =+  ListConfigurationHistory'+    { endTime =+        Prelude.Nothing,+      eventStatus = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      resourceGroupName = Prelude.Nothing,+      startTime = Prelude.Nothing+    }++-- | The end time of the event.+listConfigurationHistory_endTime :: Lens.Lens' ListConfigurationHistory (Prelude.Maybe Prelude.UTCTime)+listConfigurationHistory_endTime = Lens.lens (\ListConfigurationHistory' {endTime} -> endTime) (\s@ListConfigurationHistory' {} a -> s {endTime = a} :: ListConfigurationHistory) Prelude.. Lens.mapping Data._Time++-- | The status of the configuration update event. Possible values include+-- INFO, WARN, and ERROR.+listConfigurationHistory_eventStatus :: Lens.Lens' ListConfigurationHistory (Prelude.Maybe ConfigurationEventStatus)+listConfigurationHistory_eventStatus = Lens.lens (\ListConfigurationHistory' {eventStatus} -> eventStatus) (\s@ListConfigurationHistory' {} a -> s {eventStatus = a} :: ListConfigurationHistory)++-- | The maximum number of results returned by @ListConfigurationHistory@ in+-- paginated output. When this parameter is used,+-- @ListConfigurationHistory@ returns only @MaxResults@ in a single page+-- along with a @NextToken@ response element. The remaining results of the+-- initial request can be seen by sending another+-- @ListConfigurationHistory@ request with the returned @NextToken@ value.+-- If this parameter is not used, then @ListConfigurationHistory@ returns+-- all results.+listConfigurationHistory_maxResults :: Lens.Lens' ListConfigurationHistory (Prelude.Maybe Prelude.Natural)+listConfigurationHistory_maxResults = Lens.lens (\ListConfigurationHistory' {maxResults} -> maxResults) (\s@ListConfigurationHistory' {} a -> s {maxResults = a} :: ListConfigurationHistory)++-- | The @NextToken@ value returned from a previous paginated+-- @ListConfigurationHistory@ request where @MaxResults@ was used and the+-- results exceeded the value of that parameter. Pagination continues from+-- the end of the previous results that returned the @NextToken@ value.+-- This value is @null@ when there are no more results to return.+listConfigurationHistory_nextToken :: Lens.Lens' ListConfigurationHistory (Prelude.Maybe Prelude.Text)+listConfigurationHistory_nextToken = Lens.lens (\ListConfigurationHistory' {nextToken} -> nextToken) (\s@ListConfigurationHistory' {} a -> s {nextToken = a} :: ListConfigurationHistory)++-- | Resource group to which the application belongs.+listConfigurationHistory_resourceGroupName :: Lens.Lens' ListConfigurationHistory (Prelude.Maybe Prelude.Text)+listConfigurationHistory_resourceGroupName = Lens.lens (\ListConfigurationHistory' {resourceGroupName} -> resourceGroupName) (\s@ListConfigurationHistory' {} a -> s {resourceGroupName = a} :: ListConfigurationHistory)++-- | The start time of the event.+listConfigurationHistory_startTime :: Lens.Lens' ListConfigurationHistory (Prelude.Maybe Prelude.UTCTime)+listConfigurationHistory_startTime = Lens.lens (\ListConfigurationHistory' {startTime} -> startTime) (\s@ListConfigurationHistory' {} a -> s {startTime = a} :: ListConfigurationHistory) Prelude.. Lens.mapping Data._Time++instance Core.AWSRequest ListConfigurationHistory where+  type+    AWSResponse ListConfigurationHistory =+      ListConfigurationHistoryResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListConfigurationHistoryResponse'+            Prelude.<$> (x Data..?> "EventList" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListConfigurationHistory where+  hashWithSalt _salt ListConfigurationHistory' {..} =+    _salt+      `Prelude.hashWithSalt` endTime+      `Prelude.hashWithSalt` eventStatus+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` resourceGroupName+      `Prelude.hashWithSalt` startTime++instance Prelude.NFData ListConfigurationHistory where+  rnf ListConfigurationHistory' {..} =+    Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf eventStatus+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf startTime++instance Data.ToHeaders ListConfigurationHistory where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.ListConfigurationHistory" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListConfigurationHistory where+  toJSON ListConfigurationHistory' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("EndTime" Data..=) Prelude.<$> endTime,+            ("EventStatus" Data..=) Prelude.<$> eventStatus,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("ResourceGroupName" Data..=)+              Prelude.<$> resourceGroupName,+            ("StartTime" Data..=) Prelude.<$> startTime+          ]+      )++instance Data.ToPath ListConfigurationHistory where+  toPath = Prelude.const "/"++instance Data.ToQuery ListConfigurationHistory where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListConfigurationHistoryResponse' smart constructor.+data ListConfigurationHistoryResponse = ListConfigurationHistoryResponse'+  { -- | The list of configuration events and their corresponding details.+    eventList :: Prelude.Maybe [ConfigurationEvent],+    -- | The @NextToken@ value to include in a future @ListConfigurationHistory@+    -- request. When the results of a @ListConfigurationHistory@ request exceed+    -- @MaxResults@, this value can be used to retrieve the next page of+    -- results. This value is @null@ when there are no more results to return.+    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 'ListConfigurationHistoryResponse' 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:+--+-- 'eventList', 'listConfigurationHistoryResponse_eventList' - The list of configuration events and their corresponding details.+--+-- 'nextToken', 'listConfigurationHistoryResponse_nextToken' - The @NextToken@ value to include in a future @ListConfigurationHistory@+-- request. When the results of a @ListConfigurationHistory@ request exceed+-- @MaxResults@, this value can be used to retrieve the next page of+-- results. This value is @null@ when there are no more results to return.+--+-- 'httpStatus', 'listConfigurationHistoryResponse_httpStatus' - The response's http status code.+newListConfigurationHistoryResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListConfigurationHistoryResponse+newListConfigurationHistoryResponse pHttpStatus_ =+  ListConfigurationHistoryResponse'+    { eventList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of configuration events and their corresponding details.+listConfigurationHistoryResponse_eventList :: Lens.Lens' ListConfigurationHistoryResponse (Prelude.Maybe [ConfigurationEvent])+listConfigurationHistoryResponse_eventList = Lens.lens (\ListConfigurationHistoryResponse' {eventList} -> eventList) (\s@ListConfigurationHistoryResponse' {} a -> s {eventList = a} :: ListConfigurationHistoryResponse) Prelude.. Lens.mapping Lens.coerced++-- | The @NextToken@ value to include in a future @ListConfigurationHistory@+-- request. When the results of a @ListConfigurationHistory@ request exceed+-- @MaxResults@, this value can be used to retrieve the next page of+-- results. This value is @null@ when there are no more results to return.+listConfigurationHistoryResponse_nextToken :: Lens.Lens' ListConfigurationHistoryResponse (Prelude.Maybe Prelude.Text)+listConfigurationHistoryResponse_nextToken = Lens.lens (\ListConfigurationHistoryResponse' {nextToken} -> nextToken) (\s@ListConfigurationHistoryResponse' {} a -> s {nextToken = a} :: ListConfigurationHistoryResponse)++-- | The response's http status code.+listConfigurationHistoryResponse_httpStatus :: Lens.Lens' ListConfigurationHistoryResponse Prelude.Int+listConfigurationHistoryResponse_httpStatus = Lens.lens (\ListConfigurationHistoryResponse' {httpStatus} -> httpStatus) (\s@ListConfigurationHistoryResponse' {} a -> s {httpStatus = a} :: ListConfigurationHistoryResponse)++instance+  Prelude.NFData+    ListConfigurationHistoryResponse+  where+  rnf ListConfigurationHistoryResponse' {..} =+    Prelude.rnf eventList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/ListLogPatternSets.hs view
@@ -0,0 +1,233 @@+{-# 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.ApplicationInsights.ListLogPatternSets+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the log pattern sets in the specific application.+module Amazonka.ApplicationInsights.ListLogPatternSets+  ( -- * Creating a Request+    ListLogPatternSets (..),+    newListLogPatternSets,++    -- * Request Lenses+    listLogPatternSets_maxResults,+    listLogPatternSets_nextToken,+    listLogPatternSets_resourceGroupName,++    -- * Destructuring the Response+    ListLogPatternSetsResponse (..),+    newListLogPatternSetsResponse,++    -- * Response Lenses+    listLogPatternSetsResponse_logPatternSets,+    listLogPatternSetsResponse_nextToken,+    listLogPatternSetsResponse_resourceGroupName,+    listLogPatternSetsResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newListLogPatternSets' smart constructor.+data ListLogPatternSets = ListLogPatternSets'+  { -- | The maximum number of results to return in a single call. To retrieve+    -- the remaining results, make another call with the returned @NextToken@+    -- value.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to request the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource group.+    resourceGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLogPatternSets' 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:+--+-- 'maxResults', 'listLogPatternSets_maxResults' - The maximum number of results to return in a single call. To retrieve+-- the remaining results, make another call with the returned @NextToken@+-- value.+--+-- 'nextToken', 'listLogPatternSets_nextToken' - The token to request the next page of results.+--+-- 'resourceGroupName', 'listLogPatternSets_resourceGroupName' - The name of the resource group.+newListLogPatternSets ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  ListLogPatternSets+newListLogPatternSets pResourceGroupName_ =+  ListLogPatternSets'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      resourceGroupName = pResourceGroupName_+    }++-- | The maximum number of results to return in a single call. To retrieve+-- the remaining results, make another call with the returned @NextToken@+-- value.+listLogPatternSets_maxResults :: Lens.Lens' ListLogPatternSets (Prelude.Maybe Prelude.Natural)+listLogPatternSets_maxResults = Lens.lens (\ListLogPatternSets' {maxResults} -> maxResults) (\s@ListLogPatternSets' {} a -> s {maxResults = a} :: ListLogPatternSets)++-- | The token to request the next page of results.+listLogPatternSets_nextToken :: Lens.Lens' ListLogPatternSets (Prelude.Maybe Prelude.Text)+listLogPatternSets_nextToken = Lens.lens (\ListLogPatternSets' {nextToken} -> nextToken) (\s@ListLogPatternSets' {} a -> s {nextToken = a} :: ListLogPatternSets)++-- | The name of the resource group.+listLogPatternSets_resourceGroupName :: Lens.Lens' ListLogPatternSets Prelude.Text+listLogPatternSets_resourceGroupName = Lens.lens (\ListLogPatternSets' {resourceGroupName} -> resourceGroupName) (\s@ListLogPatternSets' {} a -> s {resourceGroupName = a} :: ListLogPatternSets)++instance Core.AWSRequest ListLogPatternSets where+  type+    AWSResponse ListLogPatternSets =+      ListLogPatternSetsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListLogPatternSetsResponse'+            Prelude.<$> (x Data..?> "LogPatternSets" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "ResourceGroupName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListLogPatternSets where+  hashWithSalt _salt ListLogPatternSets' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` resourceGroupName++instance Prelude.NFData ListLogPatternSets where+  rnf ListLogPatternSets' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceGroupName++instance Data.ToHeaders ListLogPatternSets where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.ListLogPatternSets" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListLogPatternSets where+  toJSON ListLogPatternSets' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName)+          ]+      )++instance Data.ToPath ListLogPatternSets where+  toPath = Prelude.const "/"++instance Data.ToQuery ListLogPatternSets where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListLogPatternSetsResponse' smart constructor.+data ListLogPatternSetsResponse = ListLogPatternSetsResponse'+  { -- | The list of log pattern sets.+    logPatternSets :: Prelude.Maybe [Prelude.Text],+    -- | The token used to retrieve the next page of results. This value is+    -- @null@ when there are no more results to return.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource group.+    resourceGroupName :: 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 'ListLogPatternSetsResponse' 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:+--+-- 'logPatternSets', 'listLogPatternSetsResponse_logPatternSets' - The list of log pattern sets.+--+-- 'nextToken', 'listLogPatternSetsResponse_nextToken' - The token used to retrieve the next page of results. This value is+-- @null@ when there are no more results to return.+--+-- 'resourceGroupName', 'listLogPatternSetsResponse_resourceGroupName' - The name of the resource group.+--+-- 'httpStatus', 'listLogPatternSetsResponse_httpStatus' - The response's http status code.+newListLogPatternSetsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListLogPatternSetsResponse+newListLogPatternSetsResponse pHttpStatus_ =+  ListLogPatternSetsResponse'+    { logPatternSets =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      resourceGroupName = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of log pattern sets.+listLogPatternSetsResponse_logPatternSets :: Lens.Lens' ListLogPatternSetsResponse (Prelude.Maybe [Prelude.Text])+listLogPatternSetsResponse_logPatternSets = Lens.lens (\ListLogPatternSetsResponse' {logPatternSets} -> logPatternSets) (\s@ListLogPatternSetsResponse' {} a -> s {logPatternSets = a} :: ListLogPatternSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token used to retrieve the next page of results. This value is+-- @null@ when there are no more results to return.+listLogPatternSetsResponse_nextToken :: Lens.Lens' ListLogPatternSetsResponse (Prelude.Maybe Prelude.Text)+listLogPatternSetsResponse_nextToken = Lens.lens (\ListLogPatternSetsResponse' {nextToken} -> nextToken) (\s@ListLogPatternSetsResponse' {} a -> s {nextToken = a} :: ListLogPatternSetsResponse)++-- | The name of the resource group.+listLogPatternSetsResponse_resourceGroupName :: Lens.Lens' ListLogPatternSetsResponse (Prelude.Maybe Prelude.Text)+listLogPatternSetsResponse_resourceGroupName = Lens.lens (\ListLogPatternSetsResponse' {resourceGroupName} -> resourceGroupName) (\s@ListLogPatternSetsResponse' {} a -> s {resourceGroupName = a} :: ListLogPatternSetsResponse)++-- | The response's http status code.+listLogPatternSetsResponse_httpStatus :: Lens.Lens' ListLogPatternSetsResponse Prelude.Int+listLogPatternSetsResponse_httpStatus = Lens.lens (\ListLogPatternSetsResponse' {httpStatus} -> httpStatus) (\s@ListLogPatternSetsResponse' {} a -> s {httpStatus = a} :: ListLogPatternSetsResponse)++instance Prelude.NFData ListLogPatternSetsResponse where+  rnf ListLogPatternSetsResponse' {..} =+    Prelude.rnf logPatternSets+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/ListLogPatterns.hs view
@@ -0,0 +1,247 @@+{-# 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.ApplicationInsights.ListLogPatterns+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the log patterns in the specific log @LogPatternSet@.+module Amazonka.ApplicationInsights.ListLogPatterns+  ( -- * Creating a Request+    ListLogPatterns (..),+    newListLogPatterns,++    -- * Request Lenses+    listLogPatterns_maxResults,+    listLogPatterns_nextToken,+    listLogPatterns_patternSetName,+    listLogPatterns_resourceGroupName,++    -- * Destructuring the Response+    ListLogPatternsResponse (..),+    newListLogPatternsResponse,++    -- * Response Lenses+    listLogPatternsResponse_logPatterns,+    listLogPatternsResponse_nextToken,+    listLogPatternsResponse_resourceGroupName,+    listLogPatternsResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newListLogPatterns' smart constructor.+data ListLogPatterns = ListLogPatterns'+  { -- | The maximum number of results to return in a single call. To retrieve+    -- the remaining results, make another call with the returned @NextToken@+    -- value.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to request the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the log pattern set.+    patternSetName :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource group.+    resourceGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLogPatterns' 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:+--+-- 'maxResults', 'listLogPatterns_maxResults' - The maximum number of results to return in a single call. To retrieve+-- the remaining results, make another call with the returned @NextToken@+-- value.+--+-- 'nextToken', 'listLogPatterns_nextToken' - The token to request the next page of results.+--+-- 'patternSetName', 'listLogPatterns_patternSetName' - The name of the log pattern set.+--+-- 'resourceGroupName', 'listLogPatterns_resourceGroupName' - The name of the resource group.+newListLogPatterns ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  ListLogPatterns+newListLogPatterns pResourceGroupName_ =+  ListLogPatterns'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      patternSetName = Prelude.Nothing,+      resourceGroupName = pResourceGroupName_+    }++-- | The maximum number of results to return in a single call. To retrieve+-- the remaining results, make another call with the returned @NextToken@+-- value.+listLogPatterns_maxResults :: Lens.Lens' ListLogPatterns (Prelude.Maybe Prelude.Natural)+listLogPatterns_maxResults = Lens.lens (\ListLogPatterns' {maxResults} -> maxResults) (\s@ListLogPatterns' {} a -> s {maxResults = a} :: ListLogPatterns)++-- | The token to request the next page of results.+listLogPatterns_nextToken :: Lens.Lens' ListLogPatterns (Prelude.Maybe Prelude.Text)+listLogPatterns_nextToken = Lens.lens (\ListLogPatterns' {nextToken} -> nextToken) (\s@ListLogPatterns' {} a -> s {nextToken = a} :: ListLogPatterns)++-- | The name of the log pattern set.+listLogPatterns_patternSetName :: Lens.Lens' ListLogPatterns (Prelude.Maybe Prelude.Text)+listLogPatterns_patternSetName = Lens.lens (\ListLogPatterns' {patternSetName} -> patternSetName) (\s@ListLogPatterns' {} a -> s {patternSetName = a} :: ListLogPatterns)++-- | The name of the resource group.+listLogPatterns_resourceGroupName :: Lens.Lens' ListLogPatterns Prelude.Text+listLogPatterns_resourceGroupName = Lens.lens (\ListLogPatterns' {resourceGroupName} -> resourceGroupName) (\s@ListLogPatterns' {} a -> s {resourceGroupName = a} :: ListLogPatterns)++instance Core.AWSRequest ListLogPatterns where+  type+    AWSResponse ListLogPatterns =+      ListLogPatternsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListLogPatternsResponse'+            Prelude.<$> (x Data..?> "LogPatterns" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "ResourceGroupName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListLogPatterns where+  hashWithSalt _salt ListLogPatterns' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` patternSetName+      `Prelude.hashWithSalt` resourceGroupName++instance Prelude.NFData ListLogPatterns where+  rnf ListLogPatterns' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf patternSetName+      `Prelude.seq` Prelude.rnf resourceGroupName++instance Data.ToHeaders ListLogPatterns where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.ListLogPatterns" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListLogPatterns where+  toJSON ListLogPatterns' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("PatternSetName" Data..=)+              Prelude.<$> patternSetName,+            Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName)+          ]+      )++instance Data.ToPath ListLogPatterns where+  toPath = Prelude.const "/"++instance Data.ToQuery ListLogPatterns where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListLogPatternsResponse' smart constructor.+data ListLogPatternsResponse = ListLogPatternsResponse'+  { -- | The list of log patterns.+    logPatterns :: Prelude.Maybe [LogPattern],+    -- | The token used to retrieve the next page of results. This value is+    -- @null@ when there are no more results to return.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource group.+    resourceGroupName :: 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 'ListLogPatternsResponse' 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:+--+-- 'logPatterns', 'listLogPatternsResponse_logPatterns' - The list of log patterns.+--+-- 'nextToken', 'listLogPatternsResponse_nextToken' - The token used to retrieve the next page of results. This value is+-- @null@ when there are no more results to return.+--+-- 'resourceGroupName', 'listLogPatternsResponse_resourceGroupName' - The name of the resource group.+--+-- 'httpStatus', 'listLogPatternsResponse_httpStatus' - The response's http status code.+newListLogPatternsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListLogPatternsResponse+newListLogPatternsResponse pHttpStatus_ =+  ListLogPatternsResponse'+    { logPatterns =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      resourceGroupName = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of log patterns.+listLogPatternsResponse_logPatterns :: Lens.Lens' ListLogPatternsResponse (Prelude.Maybe [LogPattern])+listLogPatternsResponse_logPatterns = Lens.lens (\ListLogPatternsResponse' {logPatterns} -> logPatterns) (\s@ListLogPatternsResponse' {} a -> s {logPatterns = a} :: ListLogPatternsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token used to retrieve the next page of results. This value is+-- @null@ when there are no more results to return.+listLogPatternsResponse_nextToken :: Lens.Lens' ListLogPatternsResponse (Prelude.Maybe Prelude.Text)+listLogPatternsResponse_nextToken = Lens.lens (\ListLogPatternsResponse' {nextToken} -> nextToken) (\s@ListLogPatternsResponse' {} a -> s {nextToken = a} :: ListLogPatternsResponse)++-- | The name of the resource group.+listLogPatternsResponse_resourceGroupName :: Lens.Lens' ListLogPatternsResponse (Prelude.Maybe Prelude.Text)+listLogPatternsResponse_resourceGroupName = Lens.lens (\ListLogPatternsResponse' {resourceGroupName} -> resourceGroupName) (\s@ListLogPatternsResponse' {} a -> s {resourceGroupName = a} :: ListLogPatternsResponse)++-- | The response's http status code.+listLogPatternsResponse_httpStatus :: Lens.Lens' ListLogPatternsResponse Prelude.Int+listLogPatternsResponse_httpStatus = Lens.lens (\ListLogPatternsResponse' {httpStatus} -> httpStatus) (\s@ListLogPatternsResponse' {} a -> s {httpStatus = a} :: ListLogPatternsResponse)++instance Prelude.NFData ListLogPatternsResponse where+  rnf ListLogPatternsResponse' {..} =+    Prelude.rnf logPatterns+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/ListProblems.hs view
@@ -0,0 +1,276 @@+{-# 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.ApplicationInsights.ListProblems+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the problems with your application.+module Amazonka.ApplicationInsights.ListProblems+  ( -- * Creating a Request+    ListProblems (..),+    newListProblems,++    -- * Request Lenses+    listProblems_componentName,+    listProblems_endTime,+    listProblems_maxResults,+    listProblems_nextToken,+    listProblems_resourceGroupName,+    listProblems_startTime,++    -- * Destructuring the Response+    ListProblemsResponse (..),+    newListProblemsResponse,++    -- * Response Lenses+    listProblemsResponse_nextToken,+    listProblemsResponse_problemList,+    listProblemsResponse_resourceGroupName,+    listProblemsResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newListProblems' smart constructor.+data ListProblems = ListProblems'+  { -- | The name of the component.+    componentName :: Prelude.Maybe Prelude.Text,+    -- | The time when the problem ended, in epoch seconds. If not specified,+    -- problems within the past seven days are returned.+    endTime :: Prelude.Maybe Data.POSIX,+    -- | The maximum number of results to return in a single call. To retrieve+    -- the remaining results, make another call with the returned @NextToken@+    -- value.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to request the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource group.+    resourceGroupName :: Prelude.Maybe Prelude.Text,+    -- | The time when the problem was detected, in epoch seconds. If you don\'t+    -- specify a time frame for the request, problems within the past seven+    -- days are returned.+    startTime :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProblems' 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:+--+-- 'componentName', 'listProblems_componentName' - The name of the component.+--+-- 'endTime', 'listProblems_endTime' - The time when the problem ended, in epoch seconds. If not specified,+-- problems within the past seven days are returned.+--+-- 'maxResults', 'listProblems_maxResults' - The maximum number of results to return in a single call. To retrieve+-- the remaining results, make another call with the returned @NextToken@+-- value.+--+-- 'nextToken', 'listProblems_nextToken' - The token to request the next page of results.+--+-- 'resourceGroupName', 'listProblems_resourceGroupName' - The name of the resource group.+--+-- 'startTime', 'listProblems_startTime' - The time when the problem was detected, in epoch seconds. If you don\'t+-- specify a time frame for the request, problems within the past seven+-- days are returned.+newListProblems ::+  ListProblems+newListProblems =+  ListProblems'+    { componentName = Prelude.Nothing,+      endTime = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      resourceGroupName = Prelude.Nothing,+      startTime = Prelude.Nothing+    }++-- | The name of the component.+listProblems_componentName :: Lens.Lens' ListProblems (Prelude.Maybe Prelude.Text)+listProblems_componentName = Lens.lens (\ListProblems' {componentName} -> componentName) (\s@ListProblems' {} a -> s {componentName = a} :: ListProblems)++-- | The time when the problem ended, in epoch seconds. If not specified,+-- problems within the past seven days are returned.+listProblems_endTime :: Lens.Lens' ListProblems (Prelude.Maybe Prelude.UTCTime)+listProblems_endTime = Lens.lens (\ListProblems' {endTime} -> endTime) (\s@ListProblems' {} a -> s {endTime = a} :: ListProblems) Prelude.. Lens.mapping Data._Time++-- | The maximum number of results to return in a single call. To retrieve+-- the remaining results, make another call with the returned @NextToken@+-- value.+listProblems_maxResults :: Lens.Lens' ListProblems (Prelude.Maybe Prelude.Natural)+listProblems_maxResults = Lens.lens (\ListProblems' {maxResults} -> maxResults) (\s@ListProblems' {} a -> s {maxResults = a} :: ListProblems)++-- | The token to request the next page of results.+listProblems_nextToken :: Lens.Lens' ListProblems (Prelude.Maybe Prelude.Text)+listProblems_nextToken = Lens.lens (\ListProblems' {nextToken} -> nextToken) (\s@ListProblems' {} a -> s {nextToken = a} :: ListProblems)++-- | The name of the resource group.+listProblems_resourceGroupName :: Lens.Lens' ListProblems (Prelude.Maybe Prelude.Text)+listProblems_resourceGroupName = Lens.lens (\ListProblems' {resourceGroupName} -> resourceGroupName) (\s@ListProblems' {} a -> s {resourceGroupName = a} :: ListProblems)++-- | The time when the problem was detected, in epoch seconds. If you don\'t+-- specify a time frame for the request, problems within the past seven+-- days are returned.+listProblems_startTime :: Lens.Lens' ListProblems (Prelude.Maybe Prelude.UTCTime)+listProblems_startTime = Lens.lens (\ListProblems' {startTime} -> startTime) (\s@ListProblems' {} a -> s {startTime = a} :: ListProblems) Prelude.. Lens.mapping Data._Time++instance Core.AWSRequest ListProblems where+  type AWSResponse ListProblems = ListProblemsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListProblemsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "ProblemList" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "ResourceGroupName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListProblems where+  hashWithSalt _salt ListProblems' {..} =+    _salt+      `Prelude.hashWithSalt` componentName+      `Prelude.hashWithSalt` endTime+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` resourceGroupName+      `Prelude.hashWithSalt` startTime++instance Prelude.NFData ListProblems where+  rnf ListProblems' {..} =+    Prelude.rnf componentName+      `Prelude.seq` Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf startTime++instance Data.ToHeaders ListProblems where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.ListProblems" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListProblems where+  toJSON ListProblems' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ComponentName" Data..=) Prelude.<$> componentName,+            ("EndTime" Data..=) Prelude.<$> endTime,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("ResourceGroupName" Data..=)+              Prelude.<$> resourceGroupName,+            ("StartTime" Data..=) Prelude.<$> startTime+          ]+      )++instance Data.ToPath ListProblems where+  toPath = Prelude.const "/"++instance Data.ToQuery ListProblems where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListProblemsResponse' smart constructor.+data ListProblemsResponse = ListProblemsResponse'+  { -- | The token used to retrieve the next page of results. This value is+    -- @null@ when there are no more results to return.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The list of problems.+    problemList :: Prelude.Maybe [Problem],+    -- | The name of the resource group.+    resourceGroupName :: 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 'ListProblemsResponse' 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', 'listProblemsResponse_nextToken' - The token used to retrieve the next page of results. This value is+-- @null@ when there are no more results to return.+--+-- 'problemList', 'listProblemsResponse_problemList' - The list of problems.+--+-- 'resourceGroupName', 'listProblemsResponse_resourceGroupName' - The name of the resource group.+--+-- 'httpStatus', 'listProblemsResponse_httpStatus' - The response's http status code.+newListProblemsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListProblemsResponse+newListProblemsResponse pHttpStatus_ =+  ListProblemsResponse'+    { nextToken = Prelude.Nothing,+      problemList = Prelude.Nothing,+      resourceGroupName = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token used to retrieve the next page of results. This value is+-- @null@ when there are no more results to return.+listProblemsResponse_nextToken :: Lens.Lens' ListProblemsResponse (Prelude.Maybe Prelude.Text)+listProblemsResponse_nextToken = Lens.lens (\ListProblemsResponse' {nextToken} -> nextToken) (\s@ListProblemsResponse' {} a -> s {nextToken = a} :: ListProblemsResponse)++-- | The list of problems.+listProblemsResponse_problemList :: Lens.Lens' ListProblemsResponse (Prelude.Maybe [Problem])+listProblemsResponse_problemList = Lens.lens (\ListProblemsResponse' {problemList} -> problemList) (\s@ListProblemsResponse' {} a -> s {problemList = a} :: ListProblemsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The name of the resource group.+listProblemsResponse_resourceGroupName :: Lens.Lens' ListProblemsResponse (Prelude.Maybe Prelude.Text)+listProblemsResponse_resourceGroupName = Lens.lens (\ListProblemsResponse' {resourceGroupName} -> resourceGroupName) (\s@ListProblemsResponse' {} a -> s {resourceGroupName = a} :: ListProblemsResponse)++-- | The response's http status code.+listProblemsResponse_httpStatus :: Lens.Lens' ListProblemsResponse Prelude.Int+listProblemsResponse_httpStatus = Lens.lens (\ListProblemsResponse' {httpStatus} -> httpStatus) (\s@ListProblemsResponse' {} a -> s {httpStatus = a} :: ListProblemsResponse)++instance Prelude.NFData ListProblemsResponse where+  rnf ListProblemsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf problemList+      `Prelude.seq` Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/ListTagsForResource.hs view
@@ -0,0 +1,183 @@+{-# 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.ApplicationInsights.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve a list of the tags (keys and values) that are associated with a+-- specified application. A /tag/ is a label that you optionally define and+-- associate with an application. Each tag consists of a required /tag key/+-- and an optional associated /tag value/. A tag key is a general label+-- that acts as a category for more specific tag values. A tag value acts+-- as a descriptor within a tag key.+module Amazonka.ApplicationInsights.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceARN,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) of the application that you want to+    -- retrieve tag information for.+    resourceARN :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' 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:+--+-- 'resourceARN', 'listTagsForResource_resourceARN' - The Amazon Resource Name (ARN) of the application that you want to+-- retrieve tag information for.+newListTagsForResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceARN_ =+  ListTagsForResource' {resourceARN = pResourceARN_}++-- | The Amazon Resource Name (ARN) of the application that you want to+-- retrieve tag information for.+listTagsForResource_resourceARN :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceARN = Lens.lens (\ListTagsForResource' {resourceARN} -> resourceARN) (\s@ListTagsForResource' {} a -> s {resourceARN = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceARN++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceARN++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.ListTagsForResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListTagsForResource where+  toJSON ListTagsForResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ResourceARN" Data..= resourceARN)]+      )++instance Data.ToPath ListTagsForResource where+  toPath = Prelude.const "/"++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | An array that lists all the tags that are associated with the+    -- application. Each tag consists of a required tag key (@Key@) and an+    -- associated tag value (@Value@).+    tags :: Prelude.Maybe [Tag],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' 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:+--+-- 'tags', 'listTagsForResourceResponse_tags' - An array that lists all the tags that are associated with the+-- application. Each tag consists of a required tag key (@Key@) and an+-- associated tag value (@Value@).+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array that lists all the tags that are associated with the+-- application. Each tag consists of a required tag key (@Key@) and an+-- associated tag value (@Value@).+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/TagResource.hs view
@@ -0,0 +1,189 @@+{-# 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.ApplicationInsights.TagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Add one or more tags (keys and values) to a specified application. A+-- /tag/ is a label that you optionally define and associate with an+-- application. Tags can help you categorize and manage application in+-- different ways, such as by purpose, owner, environment, or other+-- criteria.+--+-- Each tag consists of a required /tag key/ and an associated /tag value/,+-- both of which you define. A tag key is a general label that acts as a+-- category for more specific tag values. A tag value acts as a descriptor+-- within a tag key.+module Amazonka.ApplicationInsights.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceARN,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) of the application that you want to add+    -- one or more tags to.+    resourceARN :: Prelude.Text,+    -- | A list of tags that to add to the application. A tag consists of a+    -- required tag key (@Key@) and an associated tag value (@Value@). The+    -- maximum length of a tag key is 128 characters. The maximum length of a+    -- tag value is 256 characters.+    tags :: [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' 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:+--+-- 'resourceARN', 'tagResource_resourceARN' - The Amazon Resource Name (ARN) of the application that you want to add+-- one or more tags to.+--+-- 'tags', 'tagResource_tags' - A list of tags that to add to the application. A tag consists of a+-- required tag key (@Key@) and an associated tag value (@Value@). The+-- maximum length of a tag key is 128 characters. The maximum length of a+-- tag value is 256 characters.+newTagResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  TagResource+newTagResource pResourceARN_ =+  TagResource'+    { resourceARN = pResourceARN_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the application that you want to add+-- one or more tags to.+tagResource_resourceARN :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceARN = Lens.lens (\TagResource' {resourceARN} -> resourceARN) (\s@TagResource' {} a -> s {resourceARN = a} :: TagResource)++-- | A list of tags that to add to the application. A tag consists of a+-- required tag key (@Key@) and an associated tag value (@Value@). The+-- maximum length of a tag key is 128 characters. The maximum length of a+-- tag value is 256 characters.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceARN+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceARN+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.TagResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceARN" Data..= resourceARN),+            Prelude.Just ("Tags" Data..= tags)+          ]+      )++instance Data.ToPath TagResource where+  toPath = Prelude.const "/"++instance Data.ToQuery TagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' 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:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pHttpStatus_ =+  TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/Types.hs view
@@ -0,0 +1,338 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _BadRequestException,+    _InternalServerException,+    _ResourceInUseException,+    _ResourceNotFoundException,+    _TagsAlreadyExistException,+    _TooManyTagsException,+    _ValidationException,++    -- * CloudWatchEventSource+    CloudWatchEventSource (..),++    -- * ConfigurationEventResourceType+    ConfigurationEventResourceType (..),++    -- * ConfigurationEventStatus+    ConfigurationEventStatus (..),++    -- * DiscoveryType+    DiscoveryType (..),++    -- * FeedbackKey+    FeedbackKey (..),++    -- * FeedbackValue+    FeedbackValue (..),++    -- * GroupingType+    GroupingType (..),++    -- * LogFilter+    LogFilter (..),++    -- * OsType+    OsType (..),++    -- * SeverityLevel+    SeverityLevel (..),++    -- * Status+    Status (..),++    -- * Tier+    Tier (..),++    -- * ApplicationComponent+    ApplicationComponent (..),+    newApplicationComponent,+    applicationComponent_componentName,+    applicationComponent_componentRemarks,+    applicationComponent_detectedWorkload,+    applicationComponent_monitor,+    applicationComponent_osType,+    applicationComponent_resourceType,+    applicationComponent_tier,++    -- * ApplicationInfo+    ApplicationInfo (..),+    newApplicationInfo,+    applicationInfo_autoConfigEnabled,+    applicationInfo_cWEMonitorEnabled,+    applicationInfo_discoveryType,+    applicationInfo_lifeCycle,+    applicationInfo_opsCenterEnabled,+    applicationInfo_opsItemSNSTopicArn,+    applicationInfo_remarks,+    applicationInfo_resourceGroupName,++    -- * ConfigurationEvent+    ConfigurationEvent (..),+    newConfigurationEvent,+    configurationEvent_eventDetail,+    configurationEvent_eventResourceName,+    configurationEvent_eventResourceType,+    configurationEvent_eventStatus,+    configurationEvent_eventTime,+    configurationEvent_monitoredResourceARN,++    -- * LogPattern+    LogPattern (..),+    newLogPattern,+    logPattern_pattern,+    logPattern_patternName,+    logPattern_patternSetName,+    logPattern_rank,++    -- * Observation+    Observation (..),+    newObservation,+    observation_cloudWatchEventDetailType,+    observation_cloudWatchEventId,+    observation_cloudWatchEventSource,+    observation_codeDeployApplication,+    observation_codeDeployDeploymentGroup,+    observation_codeDeployDeploymentId,+    observation_codeDeployInstanceGroupId,+    observation_codeDeployState,+    observation_ebsCause,+    observation_ebsEvent,+    observation_ebsRequestId,+    observation_ebsResult,+    observation_ec2State,+    observation_endTime,+    observation_healthEventArn,+    observation_healthEventDescription,+    observation_healthEventTypeCategory,+    observation_healthEventTypeCode,+    observation_healthService,+    observation_id,+    observation_lineTime,+    observation_logFilter,+    observation_logGroup,+    observation_logText,+    observation_metricName,+    observation_metricNamespace,+    observation_rdsEventCategories,+    observation_rdsEventMessage,+    observation_s3EventName,+    observation_sourceARN,+    observation_sourceType,+    observation_startTime,+    observation_statesArn,+    observation_statesExecutionArn,+    observation_statesInput,+    observation_statesStatus,+    observation_unit,+    observation_value,+    observation_xRayErrorPercent,+    observation_xRayFaultPercent,+    observation_xRayNodeName,+    observation_xRayNodeType,+    observation_xRayRequestAverageLatency,+    observation_xRayRequestCount,+    observation_xRayThrottlePercent,++    -- * Problem+    Problem (..),+    newProblem,+    problem_affectedResource,+    problem_endTime,+    problem_feedback,+    problem_id,+    problem_insights,+    problem_lastRecurrenceTime,+    problem_recurringCount,+    problem_resourceGroupName,+    problem_severityLevel,+    problem_startTime,+    problem_status,+    problem_title,++    -- * RelatedObservations+    RelatedObservations (..),+    newRelatedObservations,+    relatedObservations_observationList,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,+  )+where++import Amazonka.ApplicationInsights.Types.ApplicationComponent+import Amazonka.ApplicationInsights.Types.ApplicationInfo+import Amazonka.ApplicationInsights.Types.CloudWatchEventSource+import Amazonka.ApplicationInsights.Types.ConfigurationEvent+import Amazonka.ApplicationInsights.Types.ConfigurationEventResourceType+import Amazonka.ApplicationInsights.Types.ConfigurationEventStatus+import Amazonka.ApplicationInsights.Types.DiscoveryType+import Amazonka.ApplicationInsights.Types.FeedbackKey+import Amazonka.ApplicationInsights.Types.FeedbackValue+import Amazonka.ApplicationInsights.Types.GroupingType+import Amazonka.ApplicationInsights.Types.LogFilter+import Amazonka.ApplicationInsights.Types.LogPattern+import Amazonka.ApplicationInsights.Types.Observation+import Amazonka.ApplicationInsights.Types.OsType+import Amazonka.ApplicationInsights.Types.Problem+import Amazonka.ApplicationInsights.Types.RelatedObservations+import Amazonka.ApplicationInsights.Types.SeverityLevel+import Amazonka.ApplicationInsights.Types.Status+import Amazonka.ApplicationInsights.Types.Tag+import Amazonka.ApplicationInsights.Types.Tier+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-11-25@ of the Amazon CloudWatch Application Insights SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "ApplicationInsights",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "applicationinsights",+      Core.signingName = "applicationinsights",+      Core.version = "2018-11-25",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error =+        Core.parseJSONError "ApplicationInsights",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | User does not have permissions to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"++-- | The request is not understood by the server.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+  Core._MatchServiceError+    defaultService+    "BadRequestException"++-- | The server encountered an internal error and is unable to complete the+-- request.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"++-- | The resource is already created or in use.+_ResourceInUseException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceInUseException =+  Core._MatchServiceError+    defaultService+    "ResourceInUseException"++-- | The resource does not exist in the customer account.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"++-- | Tags are already registered for the specified application ARN.+_TagsAlreadyExistException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TagsAlreadyExistException =+  Core._MatchServiceError+    defaultService+    "TagsAlreadyExistException"++-- | The number of the provided tags is beyond the limit, or the number of+-- total tags you are trying to attach to the specified resource exceeds+-- the limit.+_TooManyTagsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyTagsException =+  Core._MatchServiceError+    defaultService+    "TooManyTagsException"++-- | The parameter is not valid.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"
+ gen/Amazonka/ApplicationInsights/Types/ApplicationComponent.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.ApplicationComponent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.ApplicationComponent where++import Amazonka.ApplicationInsights.Types.OsType+import Amazonka.ApplicationInsights.Types.Tier+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++-- | Describes a standalone resource or similarly grouped resources that the+-- application is made up of.+--+-- /See:/ 'newApplicationComponent' smart constructor.+data ApplicationComponent = ApplicationComponent'+  { -- | The name of the component.+    componentName :: Prelude.Maybe Prelude.Text,+    -- | If logging is supported for the resource type, indicates whether the+    -- component has configured logs to be monitored.+    componentRemarks :: Prelude.Maybe Prelude.Text,+    -- | Workloads detected in the application component.+    detectedWorkload :: Prelude.Maybe (Prelude.HashMap Tier (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | Indicates whether the application component is monitored.+    monitor :: Prelude.Maybe Prelude.Bool,+    -- | The operating system of the component.+    osType :: Prelude.Maybe OsType,+    -- | The resource type. Supported resource types include EC2 instances, Auto+    -- Scaling group, Classic ELB, Application ELB, and SQS Queue.+    resourceType :: Prelude.Maybe Prelude.Text,+    -- | The stack tier of the application component.+    tier :: Prelude.Maybe Tier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApplicationComponent' 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:+--+-- 'componentName', 'applicationComponent_componentName' - The name of the component.+--+-- 'componentRemarks', 'applicationComponent_componentRemarks' - If logging is supported for the resource type, indicates whether the+-- component has configured logs to be monitored.+--+-- 'detectedWorkload', 'applicationComponent_detectedWorkload' - Workloads detected in the application component.+--+-- 'monitor', 'applicationComponent_monitor' - Indicates whether the application component is monitored.+--+-- 'osType', 'applicationComponent_osType' - The operating system of the component.+--+-- 'resourceType', 'applicationComponent_resourceType' - The resource type. Supported resource types include EC2 instances, Auto+-- Scaling group, Classic ELB, Application ELB, and SQS Queue.+--+-- 'tier', 'applicationComponent_tier' - The stack tier of the application component.+newApplicationComponent ::+  ApplicationComponent+newApplicationComponent =+  ApplicationComponent'+    { componentName =+        Prelude.Nothing,+      componentRemarks = Prelude.Nothing,+      detectedWorkload = Prelude.Nothing,+      monitor = Prelude.Nothing,+      osType = Prelude.Nothing,+      resourceType = Prelude.Nothing,+      tier = Prelude.Nothing+    }++-- | The name of the component.+applicationComponent_componentName :: Lens.Lens' ApplicationComponent (Prelude.Maybe Prelude.Text)+applicationComponent_componentName = Lens.lens (\ApplicationComponent' {componentName} -> componentName) (\s@ApplicationComponent' {} a -> s {componentName = a} :: ApplicationComponent)++-- | If logging is supported for the resource type, indicates whether the+-- component has configured logs to be monitored.+applicationComponent_componentRemarks :: Lens.Lens' ApplicationComponent (Prelude.Maybe Prelude.Text)+applicationComponent_componentRemarks = Lens.lens (\ApplicationComponent' {componentRemarks} -> componentRemarks) (\s@ApplicationComponent' {} a -> s {componentRemarks = a} :: ApplicationComponent)++-- | Workloads detected in the application component.+applicationComponent_detectedWorkload :: Lens.Lens' ApplicationComponent (Prelude.Maybe (Prelude.HashMap Tier (Prelude.HashMap Prelude.Text Prelude.Text)))+applicationComponent_detectedWorkload = Lens.lens (\ApplicationComponent' {detectedWorkload} -> detectedWorkload) (\s@ApplicationComponent' {} a -> s {detectedWorkload = a} :: ApplicationComponent) Prelude.. Lens.mapping Lens.coerced++-- | Indicates whether the application component is monitored.+applicationComponent_monitor :: Lens.Lens' ApplicationComponent (Prelude.Maybe Prelude.Bool)+applicationComponent_monitor = Lens.lens (\ApplicationComponent' {monitor} -> monitor) (\s@ApplicationComponent' {} a -> s {monitor = a} :: ApplicationComponent)++-- | The operating system of the component.+applicationComponent_osType :: Lens.Lens' ApplicationComponent (Prelude.Maybe OsType)+applicationComponent_osType = Lens.lens (\ApplicationComponent' {osType} -> osType) (\s@ApplicationComponent' {} a -> s {osType = a} :: ApplicationComponent)++-- | The resource type. Supported resource types include EC2 instances, Auto+-- Scaling group, Classic ELB, Application ELB, and SQS Queue.+applicationComponent_resourceType :: Lens.Lens' ApplicationComponent (Prelude.Maybe Prelude.Text)+applicationComponent_resourceType = Lens.lens (\ApplicationComponent' {resourceType} -> resourceType) (\s@ApplicationComponent' {} a -> s {resourceType = a} :: ApplicationComponent)++-- | The stack tier of the application component.+applicationComponent_tier :: Lens.Lens' ApplicationComponent (Prelude.Maybe Tier)+applicationComponent_tier = Lens.lens (\ApplicationComponent' {tier} -> tier) (\s@ApplicationComponent' {} a -> s {tier = a} :: ApplicationComponent)++instance Data.FromJSON ApplicationComponent where+  parseJSON =+    Data.withObject+      "ApplicationComponent"+      ( \x ->+          ApplicationComponent'+            Prelude.<$> (x Data..:? "ComponentName")+            Prelude.<*> (x Data..:? "ComponentRemarks")+            Prelude.<*> ( x+                            Data..:? "DetectedWorkload"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Monitor")+            Prelude.<*> (x Data..:? "OsType")+            Prelude.<*> (x Data..:? "ResourceType")+            Prelude.<*> (x Data..:? "Tier")+      )++instance Prelude.Hashable ApplicationComponent where+  hashWithSalt _salt ApplicationComponent' {..} =+    _salt+      `Prelude.hashWithSalt` componentName+      `Prelude.hashWithSalt` componentRemarks+      `Prelude.hashWithSalt` detectedWorkload+      `Prelude.hashWithSalt` monitor+      `Prelude.hashWithSalt` osType+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` tier++instance Prelude.NFData ApplicationComponent where+  rnf ApplicationComponent' {..} =+    Prelude.rnf componentName+      `Prelude.seq` Prelude.rnf componentRemarks+      `Prelude.seq` Prelude.rnf detectedWorkload+      `Prelude.seq` Prelude.rnf monitor+      `Prelude.seq` Prelude.rnf osType+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf tier
+ gen/Amazonka/ApplicationInsights/Types/ApplicationInfo.hs view
@@ -0,0 +1,185 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.ApplicationInfo+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.ApplicationInfo where++import Amazonka.ApplicationInsights.Types.DiscoveryType+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++-- | Describes the status of the application.+--+-- /See:/ 'newApplicationInfo' smart constructor.+data ApplicationInfo = ApplicationInfo'+  { -- | Indicates whether auto-configuration is turned on for this application.+    autoConfigEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether Application Insights can listen to CloudWatch events+    -- for the application resources, such as @instance terminated@,+    -- @failed deployment@, and others.+    cWEMonitorEnabled :: Prelude.Maybe Prelude.Bool,+    -- | The method used by Application Insights to onboard your resources.+    discoveryType :: Prelude.Maybe DiscoveryType,+    -- | The lifecycle of the application.+    lifeCycle :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether Application Insights will create opsItems for any+    -- problem detected by Application Insights for an application.+    opsCenterEnabled :: Prelude.Maybe Prelude.Bool,+    -- | The SNS topic provided to Application Insights that is associated to the+    -- created opsItems to receive SNS notifications for opsItem updates.+    opsItemSNSTopicArn :: Prelude.Maybe Prelude.Text,+    -- | The issues on the user side that block Application Insights from+    -- successfully monitoring an application. Example remarks include:+    --+    -- -   “Configuring application, detected 1 Errors, 3 Warnings”+    --+    -- -   “Configuring application, detected 1 Unconfigured Components”+    remarks :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource group used for the application.+    resourceGroupName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApplicationInfo' 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:+--+-- 'autoConfigEnabled', 'applicationInfo_autoConfigEnabled' - Indicates whether auto-configuration is turned on for this application.+--+-- 'cWEMonitorEnabled', 'applicationInfo_cWEMonitorEnabled' - Indicates whether Application Insights can listen to CloudWatch events+-- for the application resources, such as @instance terminated@,+-- @failed deployment@, and others.+--+-- 'discoveryType', 'applicationInfo_discoveryType' - The method used by Application Insights to onboard your resources.+--+-- 'lifeCycle', 'applicationInfo_lifeCycle' - The lifecycle of the application.+--+-- 'opsCenterEnabled', 'applicationInfo_opsCenterEnabled' - Indicates whether Application Insights will create opsItems for any+-- problem detected by Application Insights for an application.+--+-- 'opsItemSNSTopicArn', 'applicationInfo_opsItemSNSTopicArn' - The SNS topic provided to Application Insights that is associated to the+-- created opsItems to receive SNS notifications for opsItem updates.+--+-- 'remarks', 'applicationInfo_remarks' - The issues on the user side that block Application Insights from+-- successfully monitoring an application. Example remarks include:+--+-- -   “Configuring application, detected 1 Errors, 3 Warnings”+--+-- -   “Configuring application, detected 1 Unconfigured Components”+--+-- 'resourceGroupName', 'applicationInfo_resourceGroupName' - The name of the resource group used for the application.+newApplicationInfo ::+  ApplicationInfo+newApplicationInfo =+  ApplicationInfo'+    { autoConfigEnabled =+        Prelude.Nothing,+      cWEMonitorEnabled = Prelude.Nothing,+      discoveryType = Prelude.Nothing,+      lifeCycle = Prelude.Nothing,+      opsCenterEnabled = Prelude.Nothing,+      opsItemSNSTopicArn = Prelude.Nothing,+      remarks = Prelude.Nothing,+      resourceGroupName = Prelude.Nothing+    }++-- | Indicates whether auto-configuration is turned on for this application.+applicationInfo_autoConfigEnabled :: Lens.Lens' ApplicationInfo (Prelude.Maybe Prelude.Bool)+applicationInfo_autoConfigEnabled = Lens.lens (\ApplicationInfo' {autoConfigEnabled} -> autoConfigEnabled) (\s@ApplicationInfo' {} a -> s {autoConfigEnabled = a} :: ApplicationInfo)++-- | Indicates whether Application Insights can listen to CloudWatch events+-- for the application resources, such as @instance terminated@,+-- @failed deployment@, and others.+applicationInfo_cWEMonitorEnabled :: Lens.Lens' ApplicationInfo (Prelude.Maybe Prelude.Bool)+applicationInfo_cWEMonitorEnabled = Lens.lens (\ApplicationInfo' {cWEMonitorEnabled} -> cWEMonitorEnabled) (\s@ApplicationInfo' {} a -> s {cWEMonitorEnabled = a} :: ApplicationInfo)++-- | The method used by Application Insights to onboard your resources.+applicationInfo_discoveryType :: Lens.Lens' ApplicationInfo (Prelude.Maybe DiscoveryType)+applicationInfo_discoveryType = Lens.lens (\ApplicationInfo' {discoveryType} -> discoveryType) (\s@ApplicationInfo' {} a -> s {discoveryType = a} :: ApplicationInfo)++-- | The lifecycle of the application.+applicationInfo_lifeCycle :: Lens.Lens' ApplicationInfo (Prelude.Maybe Prelude.Text)+applicationInfo_lifeCycle = Lens.lens (\ApplicationInfo' {lifeCycle} -> lifeCycle) (\s@ApplicationInfo' {} a -> s {lifeCycle = a} :: ApplicationInfo)++-- | Indicates whether Application Insights will create opsItems for any+-- problem detected by Application Insights for an application.+applicationInfo_opsCenterEnabled :: Lens.Lens' ApplicationInfo (Prelude.Maybe Prelude.Bool)+applicationInfo_opsCenterEnabled = Lens.lens (\ApplicationInfo' {opsCenterEnabled} -> opsCenterEnabled) (\s@ApplicationInfo' {} a -> s {opsCenterEnabled = a} :: ApplicationInfo)++-- | The SNS topic provided to Application Insights that is associated to the+-- created opsItems to receive SNS notifications for opsItem updates.+applicationInfo_opsItemSNSTopicArn :: Lens.Lens' ApplicationInfo (Prelude.Maybe Prelude.Text)+applicationInfo_opsItemSNSTopicArn = Lens.lens (\ApplicationInfo' {opsItemSNSTopicArn} -> opsItemSNSTopicArn) (\s@ApplicationInfo' {} a -> s {opsItemSNSTopicArn = a} :: ApplicationInfo)++-- | The issues on the user side that block Application Insights from+-- successfully monitoring an application. Example remarks include:+--+-- -   “Configuring application, detected 1 Errors, 3 Warnings”+--+-- -   “Configuring application, detected 1 Unconfigured Components”+applicationInfo_remarks :: Lens.Lens' ApplicationInfo (Prelude.Maybe Prelude.Text)+applicationInfo_remarks = Lens.lens (\ApplicationInfo' {remarks} -> remarks) (\s@ApplicationInfo' {} a -> s {remarks = a} :: ApplicationInfo)++-- | The name of the resource group used for the application.+applicationInfo_resourceGroupName :: Lens.Lens' ApplicationInfo (Prelude.Maybe Prelude.Text)+applicationInfo_resourceGroupName = Lens.lens (\ApplicationInfo' {resourceGroupName} -> resourceGroupName) (\s@ApplicationInfo' {} a -> s {resourceGroupName = a} :: ApplicationInfo)++instance Data.FromJSON ApplicationInfo where+  parseJSON =+    Data.withObject+      "ApplicationInfo"+      ( \x ->+          ApplicationInfo'+            Prelude.<$> (x Data..:? "AutoConfigEnabled")+            Prelude.<*> (x Data..:? "CWEMonitorEnabled")+            Prelude.<*> (x Data..:? "DiscoveryType")+            Prelude.<*> (x Data..:? "LifeCycle")+            Prelude.<*> (x Data..:? "OpsCenterEnabled")+            Prelude.<*> (x Data..:? "OpsItemSNSTopicArn")+            Prelude.<*> (x Data..:? "Remarks")+            Prelude.<*> (x Data..:? "ResourceGroupName")+      )++instance Prelude.Hashable ApplicationInfo where+  hashWithSalt _salt ApplicationInfo' {..} =+    _salt+      `Prelude.hashWithSalt` autoConfigEnabled+      `Prelude.hashWithSalt` cWEMonitorEnabled+      `Prelude.hashWithSalt` discoveryType+      `Prelude.hashWithSalt` lifeCycle+      `Prelude.hashWithSalt` opsCenterEnabled+      `Prelude.hashWithSalt` opsItemSNSTopicArn+      `Prelude.hashWithSalt` remarks+      `Prelude.hashWithSalt` resourceGroupName++instance Prelude.NFData ApplicationInfo where+  rnf ApplicationInfo' {..} =+    Prelude.rnf autoConfigEnabled+      `Prelude.seq` Prelude.rnf cWEMonitorEnabled+      `Prelude.seq` Prelude.rnf discoveryType+      `Prelude.seq` Prelude.rnf lifeCycle+      `Prelude.seq` Prelude.rnf opsCenterEnabled+      `Prelude.seq` Prelude.rnf opsItemSNSTopicArn+      `Prelude.seq` Prelude.rnf remarks+      `Prelude.seq` Prelude.rnf resourceGroupName
+ gen/Amazonka/ApplicationInsights/Types/CloudWatchEventSource.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.CloudWatchEventSource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.CloudWatchEventSource+  ( CloudWatchEventSource+      ( ..,+        CloudWatchEventSource_CODE_DEPLOY,+        CloudWatchEventSource_EC2,+        CloudWatchEventSource_HEALTH,+        CloudWatchEventSource_RDS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CloudWatchEventSource = CloudWatchEventSource'+  { fromCloudWatchEventSource ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern CloudWatchEventSource_CODE_DEPLOY :: CloudWatchEventSource+pattern CloudWatchEventSource_CODE_DEPLOY = CloudWatchEventSource' "CODE_DEPLOY"++pattern CloudWatchEventSource_EC2 :: CloudWatchEventSource+pattern CloudWatchEventSource_EC2 = CloudWatchEventSource' "EC2"++pattern CloudWatchEventSource_HEALTH :: CloudWatchEventSource+pattern CloudWatchEventSource_HEALTH = CloudWatchEventSource' "HEALTH"++pattern CloudWatchEventSource_RDS :: CloudWatchEventSource+pattern CloudWatchEventSource_RDS = CloudWatchEventSource' "RDS"++{-# COMPLETE+  CloudWatchEventSource_CODE_DEPLOY,+  CloudWatchEventSource_EC2,+  CloudWatchEventSource_HEALTH,+  CloudWatchEventSource_RDS,+  CloudWatchEventSource'+  #-}
+ gen/Amazonka/ApplicationInsights/Types/ConfigurationEvent.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.ConfigurationEvent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.ConfigurationEvent where++import Amazonka.ApplicationInsights.Types.ConfigurationEventResourceType+import Amazonka.ApplicationInsights.Types.ConfigurationEventStatus+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++-- | The event information.+--+-- /See:/ 'newConfigurationEvent' smart constructor.+data ConfigurationEvent = ConfigurationEvent'+  { -- | The details of the event in plain text.+    eventDetail :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource Application Insights attempted to configure.+    eventResourceName :: Prelude.Maybe Prelude.Text,+    -- | The resource type that Application Insights attempted to configure, for+    -- example, CLOUDWATCH_ALARM.+    eventResourceType :: Prelude.Maybe ConfigurationEventResourceType,+    -- | The status of the configuration update event. Possible values include+    -- INFO, WARN, and ERROR.+    eventStatus :: Prelude.Maybe ConfigurationEventStatus,+    -- | The timestamp of the event.+    eventTime :: Prelude.Maybe Data.POSIX,+    -- | The resource monitored by Application Insights.+    monitoredResourceARN :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConfigurationEvent' 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:+--+-- 'eventDetail', 'configurationEvent_eventDetail' - The details of the event in plain text.+--+-- 'eventResourceName', 'configurationEvent_eventResourceName' - The name of the resource Application Insights attempted to configure.+--+-- 'eventResourceType', 'configurationEvent_eventResourceType' - The resource type that Application Insights attempted to configure, for+-- example, CLOUDWATCH_ALARM.+--+-- 'eventStatus', 'configurationEvent_eventStatus' - The status of the configuration update event. Possible values include+-- INFO, WARN, and ERROR.+--+-- 'eventTime', 'configurationEvent_eventTime' - The timestamp of the event.+--+-- 'monitoredResourceARN', 'configurationEvent_monitoredResourceARN' - The resource monitored by Application Insights.+newConfigurationEvent ::+  ConfigurationEvent+newConfigurationEvent =+  ConfigurationEvent'+    { eventDetail = Prelude.Nothing,+      eventResourceName = Prelude.Nothing,+      eventResourceType = Prelude.Nothing,+      eventStatus = Prelude.Nothing,+      eventTime = Prelude.Nothing,+      monitoredResourceARN = Prelude.Nothing+    }++-- | The details of the event in plain text.+configurationEvent_eventDetail :: Lens.Lens' ConfigurationEvent (Prelude.Maybe Prelude.Text)+configurationEvent_eventDetail = Lens.lens (\ConfigurationEvent' {eventDetail} -> eventDetail) (\s@ConfigurationEvent' {} a -> s {eventDetail = a} :: ConfigurationEvent)++-- | The name of the resource Application Insights attempted to configure.+configurationEvent_eventResourceName :: Lens.Lens' ConfigurationEvent (Prelude.Maybe Prelude.Text)+configurationEvent_eventResourceName = Lens.lens (\ConfigurationEvent' {eventResourceName} -> eventResourceName) (\s@ConfigurationEvent' {} a -> s {eventResourceName = a} :: ConfigurationEvent)++-- | The resource type that Application Insights attempted to configure, for+-- example, CLOUDWATCH_ALARM.+configurationEvent_eventResourceType :: Lens.Lens' ConfigurationEvent (Prelude.Maybe ConfigurationEventResourceType)+configurationEvent_eventResourceType = Lens.lens (\ConfigurationEvent' {eventResourceType} -> eventResourceType) (\s@ConfigurationEvent' {} a -> s {eventResourceType = a} :: ConfigurationEvent)++-- | The status of the configuration update event. Possible values include+-- INFO, WARN, and ERROR.+configurationEvent_eventStatus :: Lens.Lens' ConfigurationEvent (Prelude.Maybe ConfigurationEventStatus)+configurationEvent_eventStatus = Lens.lens (\ConfigurationEvent' {eventStatus} -> eventStatus) (\s@ConfigurationEvent' {} a -> s {eventStatus = a} :: ConfigurationEvent)++-- | The timestamp of the event.+configurationEvent_eventTime :: Lens.Lens' ConfigurationEvent (Prelude.Maybe Prelude.UTCTime)+configurationEvent_eventTime = Lens.lens (\ConfigurationEvent' {eventTime} -> eventTime) (\s@ConfigurationEvent' {} a -> s {eventTime = a} :: ConfigurationEvent) Prelude.. Lens.mapping Data._Time++-- | The resource monitored by Application Insights.+configurationEvent_monitoredResourceARN :: Lens.Lens' ConfigurationEvent (Prelude.Maybe Prelude.Text)+configurationEvent_monitoredResourceARN = Lens.lens (\ConfigurationEvent' {monitoredResourceARN} -> monitoredResourceARN) (\s@ConfigurationEvent' {} a -> s {monitoredResourceARN = a} :: ConfigurationEvent)++instance Data.FromJSON ConfigurationEvent where+  parseJSON =+    Data.withObject+      "ConfigurationEvent"+      ( \x ->+          ConfigurationEvent'+            Prelude.<$> (x Data..:? "EventDetail")+            Prelude.<*> (x Data..:? "EventResourceName")+            Prelude.<*> (x Data..:? "EventResourceType")+            Prelude.<*> (x Data..:? "EventStatus")+            Prelude.<*> (x Data..:? "EventTime")+            Prelude.<*> (x Data..:? "MonitoredResourceARN")+      )++instance Prelude.Hashable ConfigurationEvent where+  hashWithSalt _salt ConfigurationEvent' {..} =+    _salt+      `Prelude.hashWithSalt` eventDetail+      `Prelude.hashWithSalt` eventResourceName+      `Prelude.hashWithSalt` eventResourceType+      `Prelude.hashWithSalt` eventStatus+      `Prelude.hashWithSalt` eventTime+      `Prelude.hashWithSalt` monitoredResourceARN++instance Prelude.NFData ConfigurationEvent where+  rnf ConfigurationEvent' {..} =+    Prelude.rnf eventDetail+      `Prelude.seq` Prelude.rnf eventResourceName+      `Prelude.seq` Prelude.rnf eventResourceType+      `Prelude.seq` Prelude.rnf eventStatus+      `Prelude.seq` Prelude.rnf eventTime+      `Prelude.seq` Prelude.rnf monitoredResourceARN
+ gen/Amazonka/ApplicationInsights/Types/ConfigurationEventResourceType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.ConfigurationEventResourceType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.ConfigurationEventResourceType+  ( ConfigurationEventResourceType+      ( ..,+        ConfigurationEventResourceType_CLOUDFORMATION,+        ConfigurationEventResourceType_CLOUDWATCH_ALARM,+        ConfigurationEventResourceType_CLOUDWATCH_LOG,+        ConfigurationEventResourceType_SSM_ASSOCIATION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConfigurationEventResourceType = ConfigurationEventResourceType'+  { fromConfigurationEventResourceType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ConfigurationEventResourceType_CLOUDFORMATION :: ConfigurationEventResourceType+pattern ConfigurationEventResourceType_CLOUDFORMATION = ConfigurationEventResourceType' "CLOUDFORMATION"++pattern ConfigurationEventResourceType_CLOUDWATCH_ALARM :: ConfigurationEventResourceType+pattern ConfigurationEventResourceType_CLOUDWATCH_ALARM = ConfigurationEventResourceType' "CLOUDWATCH_ALARM"++pattern ConfigurationEventResourceType_CLOUDWATCH_LOG :: ConfigurationEventResourceType+pattern ConfigurationEventResourceType_CLOUDWATCH_LOG = ConfigurationEventResourceType' "CLOUDWATCH_LOG"++pattern ConfigurationEventResourceType_SSM_ASSOCIATION :: ConfigurationEventResourceType+pattern ConfigurationEventResourceType_SSM_ASSOCIATION = ConfigurationEventResourceType' "SSM_ASSOCIATION"++{-# COMPLETE+  ConfigurationEventResourceType_CLOUDFORMATION,+  ConfigurationEventResourceType_CLOUDWATCH_ALARM,+  ConfigurationEventResourceType_CLOUDWATCH_LOG,+  ConfigurationEventResourceType_SSM_ASSOCIATION,+  ConfigurationEventResourceType'+  #-}
+ gen/Amazonka/ApplicationInsights/Types/ConfigurationEventStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.ConfigurationEventStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.ConfigurationEventStatus+  ( ConfigurationEventStatus+      ( ..,+        ConfigurationEventStatus_ERROR,+        ConfigurationEventStatus_INFO,+        ConfigurationEventStatus_WARN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConfigurationEventStatus = ConfigurationEventStatus'+  { fromConfigurationEventStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ConfigurationEventStatus_ERROR :: ConfigurationEventStatus+pattern ConfigurationEventStatus_ERROR = ConfigurationEventStatus' "ERROR"++pattern ConfigurationEventStatus_INFO :: ConfigurationEventStatus+pattern ConfigurationEventStatus_INFO = ConfigurationEventStatus' "INFO"++pattern ConfigurationEventStatus_WARN :: ConfigurationEventStatus+pattern ConfigurationEventStatus_WARN = ConfigurationEventStatus' "WARN"++{-# COMPLETE+  ConfigurationEventStatus_ERROR,+  ConfigurationEventStatus_INFO,+  ConfigurationEventStatus_WARN,+  ConfigurationEventStatus'+  #-}
+ gen/Amazonka/ApplicationInsights/Types/DiscoveryType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.DiscoveryType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.DiscoveryType+  ( DiscoveryType+      ( ..,+        DiscoveryType_ACCOUNT_BASED,+        DiscoveryType_RESOURCE_GROUP_BASED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DiscoveryType = DiscoveryType'+  { fromDiscoveryType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern DiscoveryType_ACCOUNT_BASED :: DiscoveryType+pattern DiscoveryType_ACCOUNT_BASED = DiscoveryType' "ACCOUNT_BASED"++pattern DiscoveryType_RESOURCE_GROUP_BASED :: DiscoveryType+pattern DiscoveryType_RESOURCE_GROUP_BASED = DiscoveryType' "RESOURCE_GROUP_BASED"++{-# COMPLETE+  DiscoveryType_ACCOUNT_BASED,+  DiscoveryType_RESOURCE_GROUP_BASED,+  DiscoveryType'+  #-}
+ gen/Amazonka/ApplicationInsights/Types/FeedbackKey.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.FeedbackKey+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.FeedbackKey+  ( FeedbackKey+      ( ..,+        FeedbackKey_INSIGHTS_FEEDBACK+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FeedbackKey = FeedbackKey'+  { fromFeedbackKey ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern FeedbackKey_INSIGHTS_FEEDBACK :: FeedbackKey+pattern FeedbackKey_INSIGHTS_FEEDBACK = FeedbackKey' "INSIGHTS_FEEDBACK"++{-# COMPLETE+  FeedbackKey_INSIGHTS_FEEDBACK,+  FeedbackKey'+  #-}
+ gen/Amazonka/ApplicationInsights/Types/FeedbackValue.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.FeedbackValue+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.FeedbackValue+  ( FeedbackValue+      ( ..,+        FeedbackValue_NOT_SPECIFIED,+        FeedbackValue_NOT_USEFUL,+        FeedbackValue_USEFUL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FeedbackValue = FeedbackValue'+  { fromFeedbackValue ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern FeedbackValue_NOT_SPECIFIED :: FeedbackValue+pattern FeedbackValue_NOT_SPECIFIED = FeedbackValue' "NOT_SPECIFIED"++pattern FeedbackValue_NOT_USEFUL :: FeedbackValue+pattern FeedbackValue_NOT_USEFUL = FeedbackValue' "NOT_USEFUL"++pattern FeedbackValue_USEFUL :: FeedbackValue+pattern FeedbackValue_USEFUL = FeedbackValue' "USEFUL"++{-# COMPLETE+  FeedbackValue_NOT_SPECIFIED,+  FeedbackValue_NOT_USEFUL,+  FeedbackValue_USEFUL,+  FeedbackValue'+  #-}
+ gen/Amazonka/ApplicationInsights/Types/GroupingType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.GroupingType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.GroupingType+  ( GroupingType+      ( ..,+        GroupingType_ACCOUNT_BASED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GroupingType = GroupingType'+  { fromGroupingType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern GroupingType_ACCOUNT_BASED :: GroupingType+pattern GroupingType_ACCOUNT_BASED = GroupingType' "ACCOUNT_BASED"++{-# COMPLETE+  GroupingType_ACCOUNT_BASED,+  GroupingType'+  #-}
+ gen/Amazonka/ApplicationInsights/Types/LogFilter.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.LogFilter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.LogFilter+  ( LogFilter+      ( ..,+        LogFilter_ERROR,+        LogFilter_INFO,+        LogFilter_WARN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LogFilter = LogFilter'+  { fromLogFilter ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern LogFilter_ERROR :: LogFilter+pattern LogFilter_ERROR = LogFilter' "ERROR"++pattern LogFilter_INFO :: LogFilter+pattern LogFilter_INFO = LogFilter' "INFO"++pattern LogFilter_WARN :: LogFilter+pattern LogFilter_WARN = LogFilter' "WARN"++{-# COMPLETE+  LogFilter_ERROR,+  LogFilter_INFO,+  LogFilter_WARN,+  LogFilter'+  #-}
+ gen/Amazonka/ApplicationInsights/Types/LogPattern.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.LogPattern+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.LogPattern 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++-- | An object that defines the log patterns that belongs to a+-- @LogPatternSet@.+--+-- /See:/ 'newLogPattern' smart constructor.+data LogPattern = LogPattern'+  { -- | A regular expression that defines the log pattern. A log pattern can+    -- contain as many as 50 characters, and it cannot be empty. The pattern+    -- must be DFA compatible. Patterns that utilize forward lookahead or+    -- backreference constructions are not supported.+    pattern' :: Prelude.Maybe Prelude.Text,+    -- | The name of the log pattern. A log pattern name can contain as many as+    -- 50 characters, and it cannot be empty. The characters can be Unicode+    -- letters, digits, or one of the following symbols: period, dash,+    -- underscore.+    patternName :: Prelude.Maybe Prelude.Text,+    -- | The name of the log pattern. A log pattern name can contain as many as+    -- 30 characters, and it cannot be empty. The characters can be Unicode+    -- letters, digits, or one of the following symbols: period, dash,+    -- underscore.+    patternSetName :: Prelude.Maybe Prelude.Text,+    -- | Rank of the log pattern. Must be a value between @1@ and @1,000,000@.+    -- The patterns are sorted by rank, so we recommend that you set your+    -- highest priority patterns with the lowest rank. A pattern of rank @1@+    -- will be the first to get matched to a log line. A pattern of rank+    -- @1,000,000@ will be last to get matched. When you configure custom log+    -- patterns from the console, a @Low@ severity pattern translates to a+    -- @750,000@ rank. A @Medium@ severity pattern translates to a @500,000@+    -- rank. And a @High@ severity pattern translates to a @250,000@ rank. Rank+    -- values less than @1@ or greater than @1,000,000@ are reserved for+    -- AWS-provided patterns.+    rank :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LogPattern' 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:+--+-- 'pattern'', 'logPattern_pattern' - A regular expression that defines the log pattern. A log pattern can+-- contain as many as 50 characters, and it cannot be empty. The pattern+-- must be DFA compatible. Patterns that utilize forward lookahead or+-- backreference constructions are not supported.+--+-- 'patternName', 'logPattern_patternName' - The name of the log pattern. A log pattern name can contain as many as+-- 50 characters, and it cannot be empty. The characters can be Unicode+-- letters, digits, or one of the following symbols: period, dash,+-- underscore.+--+-- 'patternSetName', 'logPattern_patternSetName' - The name of the log pattern. A log pattern name can contain as many as+-- 30 characters, and it cannot be empty. The characters can be Unicode+-- letters, digits, or one of the following symbols: period, dash,+-- underscore.+--+-- 'rank', 'logPattern_rank' - Rank of the log pattern. Must be a value between @1@ and @1,000,000@.+-- The patterns are sorted by rank, so we recommend that you set your+-- highest priority patterns with the lowest rank. A pattern of rank @1@+-- will be the first to get matched to a log line. A pattern of rank+-- @1,000,000@ will be last to get matched. When you configure custom log+-- patterns from the console, a @Low@ severity pattern translates to a+-- @750,000@ rank. A @Medium@ severity pattern translates to a @500,000@+-- rank. And a @High@ severity pattern translates to a @250,000@ rank. Rank+-- values less than @1@ or greater than @1,000,000@ are reserved for+-- AWS-provided patterns.+newLogPattern ::+  LogPattern+newLogPattern =+  LogPattern'+    { pattern' = Prelude.Nothing,+      patternName = Prelude.Nothing,+      patternSetName = Prelude.Nothing,+      rank = Prelude.Nothing+    }++-- | A regular expression that defines the log pattern. A log pattern can+-- contain as many as 50 characters, and it cannot be empty. The pattern+-- must be DFA compatible. Patterns that utilize forward lookahead or+-- backreference constructions are not supported.+logPattern_pattern :: Lens.Lens' LogPattern (Prelude.Maybe Prelude.Text)+logPattern_pattern = Lens.lens (\LogPattern' {pattern'} -> pattern') (\s@LogPattern' {} a -> s {pattern' = a} :: LogPattern)++-- | The name of the log pattern. A log pattern name can contain as many as+-- 50 characters, and it cannot be empty. The characters can be Unicode+-- letters, digits, or one of the following symbols: period, dash,+-- underscore.+logPattern_patternName :: Lens.Lens' LogPattern (Prelude.Maybe Prelude.Text)+logPattern_patternName = Lens.lens (\LogPattern' {patternName} -> patternName) (\s@LogPattern' {} a -> s {patternName = a} :: LogPattern)++-- | The name of the log pattern. A log pattern name can contain as many as+-- 30 characters, and it cannot be empty. The characters can be Unicode+-- letters, digits, or one of the following symbols: period, dash,+-- underscore.+logPattern_patternSetName :: Lens.Lens' LogPattern (Prelude.Maybe Prelude.Text)+logPattern_patternSetName = Lens.lens (\LogPattern' {patternSetName} -> patternSetName) (\s@LogPattern' {} a -> s {patternSetName = a} :: LogPattern)++-- | Rank of the log pattern. Must be a value between @1@ and @1,000,000@.+-- The patterns are sorted by rank, so we recommend that you set your+-- highest priority patterns with the lowest rank. A pattern of rank @1@+-- will be the first to get matched to a log line. A pattern of rank+-- @1,000,000@ will be last to get matched. When you configure custom log+-- patterns from the console, a @Low@ severity pattern translates to a+-- @750,000@ rank. A @Medium@ severity pattern translates to a @500,000@+-- rank. And a @High@ severity pattern translates to a @250,000@ rank. Rank+-- values less than @1@ or greater than @1,000,000@ are reserved for+-- AWS-provided patterns.+logPattern_rank :: Lens.Lens' LogPattern (Prelude.Maybe Prelude.Int)+logPattern_rank = Lens.lens (\LogPattern' {rank} -> rank) (\s@LogPattern' {} a -> s {rank = a} :: LogPattern)++instance Data.FromJSON LogPattern where+  parseJSON =+    Data.withObject+      "LogPattern"+      ( \x ->+          LogPattern'+            Prelude.<$> (x Data..:? "Pattern")+            Prelude.<*> (x Data..:? "PatternName")+            Prelude.<*> (x Data..:? "PatternSetName")+            Prelude.<*> (x Data..:? "Rank")+      )++instance Prelude.Hashable LogPattern where+  hashWithSalt _salt LogPattern' {..} =+    _salt+      `Prelude.hashWithSalt` pattern'+      `Prelude.hashWithSalt` patternName+      `Prelude.hashWithSalt` patternSetName+      `Prelude.hashWithSalt` rank++instance Prelude.NFData LogPattern where+  rnf LogPattern' {..} =+    Prelude.rnf pattern'+      `Prelude.seq` Prelude.rnf patternName+      `Prelude.seq` Prelude.rnf patternSetName+      `Prelude.seq` Prelude.rnf rank
+ gen/Amazonka/ApplicationInsights/Types/Observation.hs view
@@ -0,0 +1,654 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.Observation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.Observation where++import Amazonka.ApplicationInsights.Types.CloudWatchEventSource+import Amazonka.ApplicationInsights.Types.LogFilter+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++-- | Describes an anomaly or error with the application.+--+-- /See:/ 'newObservation' smart constructor.+data Observation = Observation'+  { -- | The detail type of the CloudWatch Event-based observation, for example,+    -- @EC2 Instance State-change Notification@.+    cloudWatchEventDetailType :: Prelude.Maybe Prelude.Text,+    -- | The ID of the CloudWatch Event-based observation related to the detected+    -- problem.+    cloudWatchEventId :: Prelude.Maybe Prelude.Text,+    -- | The source of the CloudWatch Event.+    cloudWatchEventSource :: Prelude.Maybe CloudWatchEventSource,+    -- | The CodeDeploy application to which the deployment belongs.+    codeDeployApplication :: Prelude.Maybe Prelude.Text,+    -- | The deployment group to which the CodeDeploy deployment belongs.+    codeDeployDeploymentGroup :: Prelude.Maybe Prelude.Text,+    -- | The deployment ID of the CodeDeploy-based observation related to the+    -- detected problem.+    codeDeployDeploymentId :: Prelude.Maybe Prelude.Text,+    -- | The instance group to which the CodeDeploy instance belongs.+    codeDeployInstanceGroupId :: Prelude.Maybe Prelude.Text,+    -- | The status of the CodeDeploy deployment, for example @SUCCESS@ or+    -- @ FAILURE@.+    codeDeployState :: Prelude.Maybe Prelude.Text,+    -- | The cause of an EBS CloudWatch event.+    ebsCause :: Prelude.Maybe Prelude.Text,+    -- | The type of EBS CloudWatch event, such as @createVolume@, @deleteVolume@+    -- or @attachVolume@.+    ebsEvent :: Prelude.Maybe Prelude.Text,+    -- | The request ID of an EBS CloudWatch event.+    ebsRequestId :: Prelude.Maybe Prelude.Text,+    -- | The result of an EBS CloudWatch event, such as @failed@ or @succeeded@.+    ebsResult :: Prelude.Maybe Prelude.Text,+    -- | The state of the instance, such as @STOPPING@ or @TERMINATING@.+    ec2State :: Prelude.Maybe Prelude.Text,+    -- | The time when the observation ended, in epoch seconds.+    endTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the AWS Health Event-based+    -- observation.+    healthEventArn :: Prelude.Maybe Prelude.Text,+    -- | The description of the AWS Health event provided by the service, such as+    -- Amazon EC2.+    healthEventDescription :: Prelude.Maybe Prelude.Text,+    -- | The category of the AWS Health event, such as @issue@.+    healthEventTypeCategory :: Prelude.Maybe Prelude.Text,+    -- | The type of the AWS Health event, for example,+    -- @AWS_EC2_POWER_CONNECTIVITY_ISSUE@.+    healthEventTypeCode :: Prelude.Maybe Prelude.Text,+    -- | The service to which the AWS Health Event belongs, such as EC2.+    healthService :: Prelude.Maybe Prelude.Text,+    -- | The ID of the observation type.+    id :: Prelude.Maybe Prelude.Text,+    -- | The timestamp in the CloudWatch Logs that specifies when the matched+    -- line occurred.+    lineTime :: Prelude.Maybe Data.POSIX,+    -- | The log filter of the observation.+    logFilter :: Prelude.Maybe LogFilter,+    -- | The log group name.+    logGroup :: Prelude.Maybe Prelude.Text,+    -- | The log text of the observation.+    logText :: Prelude.Maybe Prelude.Text,+    -- | The name of the observation metric.+    metricName :: Prelude.Maybe Prelude.Text,+    -- | The namespace of the observation metric.+    metricNamespace :: Prelude.Maybe Prelude.Text,+    -- | The category of an RDS event.+    rdsEventCategories :: Prelude.Maybe Prelude.Text,+    -- | The message of an RDS event.+    rdsEventMessage :: Prelude.Maybe Prelude.Text,+    -- | The name of the S3 CloudWatch Event-based observation.+    s3EventName :: Prelude.Maybe Prelude.Text,+    -- | The source resource ARN of the observation.+    sourceARN :: Prelude.Maybe Prelude.Text,+    -- | The source type of the observation.+    sourceType :: Prelude.Maybe Prelude.Text,+    -- | The time when the observation was first detected, in epoch seconds.+    startTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the step function-based observation.+    statesArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the step function execution-based+    -- observation.+    statesExecutionArn :: Prelude.Maybe Prelude.Text,+    -- | The input to the step function-based observation.+    statesInput :: Prelude.Maybe Prelude.Text,+    -- | The status of the step function-related observation.+    statesStatus :: Prelude.Maybe Prelude.Text,+    -- | The unit of the source observation metric.+    unit :: Prelude.Maybe Prelude.Text,+    -- | The value of the source observation metric.+    value :: Prelude.Maybe Prelude.Double,+    -- | The X-Ray request error percentage for this node.+    xRayErrorPercent :: Prelude.Maybe Prelude.Int,+    -- | The X-Ray request fault percentage for this node.+    xRayFaultPercent :: Prelude.Maybe Prelude.Int,+    -- | The name of the X-Ray node.+    xRayNodeName :: Prelude.Maybe Prelude.Text,+    -- | The type of the X-Ray node.+    xRayNodeType :: Prelude.Maybe Prelude.Text,+    -- | The X-Ray node request average latency for this node.+    xRayRequestAverageLatency :: Prelude.Maybe Prelude.Integer,+    -- | The X-Ray request count for this node.+    xRayRequestCount :: Prelude.Maybe Prelude.Int,+    -- | The X-Ray request throttle percentage for this node.+    xRayThrottlePercent :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Observation' 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:+--+-- 'cloudWatchEventDetailType', 'observation_cloudWatchEventDetailType' - The detail type of the CloudWatch Event-based observation, for example,+-- @EC2 Instance State-change Notification@.+--+-- 'cloudWatchEventId', 'observation_cloudWatchEventId' - The ID of the CloudWatch Event-based observation related to the detected+-- problem.+--+-- 'cloudWatchEventSource', 'observation_cloudWatchEventSource' - The source of the CloudWatch Event.+--+-- 'codeDeployApplication', 'observation_codeDeployApplication' - The CodeDeploy application to which the deployment belongs.+--+-- 'codeDeployDeploymentGroup', 'observation_codeDeployDeploymentGroup' - The deployment group to which the CodeDeploy deployment belongs.+--+-- 'codeDeployDeploymentId', 'observation_codeDeployDeploymentId' - The deployment ID of the CodeDeploy-based observation related to the+-- detected problem.+--+-- 'codeDeployInstanceGroupId', 'observation_codeDeployInstanceGroupId' - The instance group to which the CodeDeploy instance belongs.+--+-- 'codeDeployState', 'observation_codeDeployState' - The status of the CodeDeploy deployment, for example @SUCCESS@ or+-- @ FAILURE@.+--+-- 'ebsCause', 'observation_ebsCause' - The cause of an EBS CloudWatch event.+--+-- 'ebsEvent', 'observation_ebsEvent' - The type of EBS CloudWatch event, such as @createVolume@, @deleteVolume@+-- or @attachVolume@.+--+-- 'ebsRequestId', 'observation_ebsRequestId' - The request ID of an EBS CloudWatch event.+--+-- 'ebsResult', 'observation_ebsResult' - The result of an EBS CloudWatch event, such as @failed@ or @succeeded@.+--+-- 'ec2State', 'observation_ec2State' - The state of the instance, such as @STOPPING@ or @TERMINATING@.+--+-- 'endTime', 'observation_endTime' - The time when the observation ended, in epoch seconds.+--+-- 'healthEventArn', 'observation_healthEventArn' - The Amazon Resource Name (ARN) of the AWS Health Event-based+-- observation.+--+-- 'healthEventDescription', 'observation_healthEventDescription' - The description of the AWS Health event provided by the service, such as+-- Amazon EC2.+--+-- 'healthEventTypeCategory', 'observation_healthEventTypeCategory' - The category of the AWS Health event, such as @issue@.+--+-- 'healthEventTypeCode', 'observation_healthEventTypeCode' - The type of the AWS Health event, for example,+-- @AWS_EC2_POWER_CONNECTIVITY_ISSUE@.+--+-- 'healthService', 'observation_healthService' - The service to which the AWS Health Event belongs, such as EC2.+--+-- 'id', 'observation_id' - The ID of the observation type.+--+-- 'lineTime', 'observation_lineTime' - The timestamp in the CloudWatch Logs that specifies when the matched+-- line occurred.+--+-- 'logFilter', 'observation_logFilter' - The log filter of the observation.+--+-- 'logGroup', 'observation_logGroup' - The log group name.+--+-- 'logText', 'observation_logText' - The log text of the observation.+--+-- 'metricName', 'observation_metricName' - The name of the observation metric.+--+-- 'metricNamespace', 'observation_metricNamespace' - The namespace of the observation metric.+--+-- 'rdsEventCategories', 'observation_rdsEventCategories' - The category of an RDS event.+--+-- 'rdsEventMessage', 'observation_rdsEventMessage' - The message of an RDS event.+--+-- 's3EventName', 'observation_s3EventName' - The name of the S3 CloudWatch Event-based observation.+--+-- 'sourceARN', 'observation_sourceARN' - The source resource ARN of the observation.+--+-- 'sourceType', 'observation_sourceType' - The source type of the observation.+--+-- 'startTime', 'observation_startTime' - The time when the observation was first detected, in epoch seconds.+--+-- 'statesArn', 'observation_statesArn' - The Amazon Resource Name (ARN) of the step function-based observation.+--+-- 'statesExecutionArn', 'observation_statesExecutionArn' - The Amazon Resource Name (ARN) of the step function execution-based+-- observation.+--+-- 'statesInput', 'observation_statesInput' - The input to the step function-based observation.+--+-- 'statesStatus', 'observation_statesStatus' - The status of the step function-related observation.+--+-- 'unit', 'observation_unit' - The unit of the source observation metric.+--+-- 'value', 'observation_value' - The value of the source observation metric.+--+-- 'xRayErrorPercent', 'observation_xRayErrorPercent' - The X-Ray request error percentage for this node.+--+-- 'xRayFaultPercent', 'observation_xRayFaultPercent' - The X-Ray request fault percentage for this node.+--+-- 'xRayNodeName', 'observation_xRayNodeName' - The name of the X-Ray node.+--+-- 'xRayNodeType', 'observation_xRayNodeType' - The type of the X-Ray node.+--+-- 'xRayRequestAverageLatency', 'observation_xRayRequestAverageLatency' - The X-Ray node request average latency for this node.+--+-- 'xRayRequestCount', 'observation_xRayRequestCount' - The X-Ray request count for this node.+--+-- 'xRayThrottlePercent', 'observation_xRayThrottlePercent' - The X-Ray request throttle percentage for this node.+newObservation ::+  Observation+newObservation =+  Observation'+    { cloudWatchEventDetailType =+        Prelude.Nothing,+      cloudWatchEventId = Prelude.Nothing,+      cloudWatchEventSource = Prelude.Nothing,+      codeDeployApplication = Prelude.Nothing,+      codeDeployDeploymentGroup = Prelude.Nothing,+      codeDeployDeploymentId = Prelude.Nothing,+      codeDeployInstanceGroupId = Prelude.Nothing,+      codeDeployState = Prelude.Nothing,+      ebsCause = Prelude.Nothing,+      ebsEvent = Prelude.Nothing,+      ebsRequestId = Prelude.Nothing,+      ebsResult = Prelude.Nothing,+      ec2State = Prelude.Nothing,+      endTime = Prelude.Nothing,+      healthEventArn = Prelude.Nothing,+      healthEventDescription = Prelude.Nothing,+      healthEventTypeCategory = Prelude.Nothing,+      healthEventTypeCode = Prelude.Nothing,+      healthService = Prelude.Nothing,+      id = Prelude.Nothing,+      lineTime = Prelude.Nothing,+      logFilter = Prelude.Nothing,+      logGroup = Prelude.Nothing,+      logText = Prelude.Nothing,+      metricName = Prelude.Nothing,+      metricNamespace = Prelude.Nothing,+      rdsEventCategories = Prelude.Nothing,+      rdsEventMessage = Prelude.Nothing,+      s3EventName = Prelude.Nothing,+      sourceARN = Prelude.Nothing,+      sourceType = Prelude.Nothing,+      startTime = Prelude.Nothing,+      statesArn = Prelude.Nothing,+      statesExecutionArn = Prelude.Nothing,+      statesInput = Prelude.Nothing,+      statesStatus = Prelude.Nothing,+      unit = Prelude.Nothing,+      value = Prelude.Nothing,+      xRayErrorPercent = Prelude.Nothing,+      xRayFaultPercent = Prelude.Nothing,+      xRayNodeName = Prelude.Nothing,+      xRayNodeType = Prelude.Nothing,+      xRayRequestAverageLatency = Prelude.Nothing,+      xRayRequestCount = Prelude.Nothing,+      xRayThrottlePercent = Prelude.Nothing+    }++-- | The detail type of the CloudWatch Event-based observation, for example,+-- @EC2 Instance State-change Notification@.+observation_cloudWatchEventDetailType :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_cloudWatchEventDetailType = Lens.lens (\Observation' {cloudWatchEventDetailType} -> cloudWatchEventDetailType) (\s@Observation' {} a -> s {cloudWatchEventDetailType = a} :: Observation)++-- | The ID of the CloudWatch Event-based observation related to the detected+-- problem.+observation_cloudWatchEventId :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_cloudWatchEventId = Lens.lens (\Observation' {cloudWatchEventId} -> cloudWatchEventId) (\s@Observation' {} a -> s {cloudWatchEventId = a} :: Observation)++-- | The source of the CloudWatch Event.+observation_cloudWatchEventSource :: Lens.Lens' Observation (Prelude.Maybe CloudWatchEventSource)+observation_cloudWatchEventSource = Lens.lens (\Observation' {cloudWatchEventSource} -> cloudWatchEventSource) (\s@Observation' {} a -> s {cloudWatchEventSource = a} :: Observation)++-- | The CodeDeploy application to which the deployment belongs.+observation_codeDeployApplication :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_codeDeployApplication = Lens.lens (\Observation' {codeDeployApplication} -> codeDeployApplication) (\s@Observation' {} a -> s {codeDeployApplication = a} :: Observation)++-- | The deployment group to which the CodeDeploy deployment belongs.+observation_codeDeployDeploymentGroup :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_codeDeployDeploymentGroup = Lens.lens (\Observation' {codeDeployDeploymentGroup} -> codeDeployDeploymentGroup) (\s@Observation' {} a -> s {codeDeployDeploymentGroup = a} :: Observation)++-- | The deployment ID of the CodeDeploy-based observation related to the+-- detected problem.+observation_codeDeployDeploymentId :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_codeDeployDeploymentId = Lens.lens (\Observation' {codeDeployDeploymentId} -> codeDeployDeploymentId) (\s@Observation' {} a -> s {codeDeployDeploymentId = a} :: Observation)++-- | The instance group to which the CodeDeploy instance belongs.+observation_codeDeployInstanceGroupId :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_codeDeployInstanceGroupId = Lens.lens (\Observation' {codeDeployInstanceGroupId} -> codeDeployInstanceGroupId) (\s@Observation' {} a -> s {codeDeployInstanceGroupId = a} :: Observation)++-- | The status of the CodeDeploy deployment, for example @SUCCESS@ or+-- @ FAILURE@.+observation_codeDeployState :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_codeDeployState = Lens.lens (\Observation' {codeDeployState} -> codeDeployState) (\s@Observation' {} a -> s {codeDeployState = a} :: Observation)++-- | The cause of an EBS CloudWatch event.+observation_ebsCause :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_ebsCause = Lens.lens (\Observation' {ebsCause} -> ebsCause) (\s@Observation' {} a -> s {ebsCause = a} :: Observation)++-- | The type of EBS CloudWatch event, such as @createVolume@, @deleteVolume@+-- or @attachVolume@.+observation_ebsEvent :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_ebsEvent = Lens.lens (\Observation' {ebsEvent} -> ebsEvent) (\s@Observation' {} a -> s {ebsEvent = a} :: Observation)++-- | The request ID of an EBS CloudWatch event.+observation_ebsRequestId :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_ebsRequestId = Lens.lens (\Observation' {ebsRequestId} -> ebsRequestId) (\s@Observation' {} a -> s {ebsRequestId = a} :: Observation)++-- | The result of an EBS CloudWatch event, such as @failed@ or @succeeded@.+observation_ebsResult :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_ebsResult = Lens.lens (\Observation' {ebsResult} -> ebsResult) (\s@Observation' {} a -> s {ebsResult = a} :: Observation)++-- | The state of the instance, such as @STOPPING@ or @TERMINATING@.+observation_ec2State :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_ec2State = Lens.lens (\Observation' {ec2State} -> ec2State) (\s@Observation' {} a -> s {ec2State = a} :: Observation)++-- | The time when the observation ended, in epoch seconds.+observation_endTime :: Lens.Lens' Observation (Prelude.Maybe Prelude.UTCTime)+observation_endTime = Lens.lens (\Observation' {endTime} -> endTime) (\s@Observation' {} a -> s {endTime = a} :: Observation) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the AWS Health Event-based+-- observation.+observation_healthEventArn :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_healthEventArn = Lens.lens (\Observation' {healthEventArn} -> healthEventArn) (\s@Observation' {} a -> s {healthEventArn = a} :: Observation)++-- | The description of the AWS Health event provided by the service, such as+-- Amazon EC2.+observation_healthEventDescription :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_healthEventDescription = Lens.lens (\Observation' {healthEventDescription} -> healthEventDescription) (\s@Observation' {} a -> s {healthEventDescription = a} :: Observation)++-- | The category of the AWS Health event, such as @issue@.+observation_healthEventTypeCategory :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_healthEventTypeCategory = Lens.lens (\Observation' {healthEventTypeCategory} -> healthEventTypeCategory) (\s@Observation' {} a -> s {healthEventTypeCategory = a} :: Observation)++-- | The type of the AWS Health event, for example,+-- @AWS_EC2_POWER_CONNECTIVITY_ISSUE@.+observation_healthEventTypeCode :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_healthEventTypeCode = Lens.lens (\Observation' {healthEventTypeCode} -> healthEventTypeCode) (\s@Observation' {} a -> s {healthEventTypeCode = a} :: Observation)++-- | The service to which the AWS Health Event belongs, such as EC2.+observation_healthService :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_healthService = Lens.lens (\Observation' {healthService} -> healthService) (\s@Observation' {} a -> s {healthService = a} :: Observation)++-- | The ID of the observation type.+observation_id :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_id = Lens.lens (\Observation' {id} -> id) (\s@Observation' {} a -> s {id = a} :: Observation)++-- | The timestamp in the CloudWatch Logs that specifies when the matched+-- line occurred.+observation_lineTime :: Lens.Lens' Observation (Prelude.Maybe Prelude.UTCTime)+observation_lineTime = Lens.lens (\Observation' {lineTime} -> lineTime) (\s@Observation' {} a -> s {lineTime = a} :: Observation) Prelude.. Lens.mapping Data._Time++-- | The log filter of the observation.+observation_logFilter :: Lens.Lens' Observation (Prelude.Maybe LogFilter)+observation_logFilter = Lens.lens (\Observation' {logFilter} -> logFilter) (\s@Observation' {} a -> s {logFilter = a} :: Observation)++-- | The log group name.+observation_logGroup :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_logGroup = Lens.lens (\Observation' {logGroup} -> logGroup) (\s@Observation' {} a -> s {logGroup = a} :: Observation)++-- | The log text of the observation.+observation_logText :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_logText = Lens.lens (\Observation' {logText} -> logText) (\s@Observation' {} a -> s {logText = a} :: Observation)++-- | The name of the observation metric.+observation_metricName :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_metricName = Lens.lens (\Observation' {metricName} -> metricName) (\s@Observation' {} a -> s {metricName = a} :: Observation)++-- | The namespace of the observation metric.+observation_metricNamespace :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_metricNamespace = Lens.lens (\Observation' {metricNamespace} -> metricNamespace) (\s@Observation' {} a -> s {metricNamespace = a} :: Observation)++-- | The category of an RDS event.+observation_rdsEventCategories :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_rdsEventCategories = Lens.lens (\Observation' {rdsEventCategories} -> rdsEventCategories) (\s@Observation' {} a -> s {rdsEventCategories = a} :: Observation)++-- | The message of an RDS event.+observation_rdsEventMessage :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_rdsEventMessage = Lens.lens (\Observation' {rdsEventMessage} -> rdsEventMessage) (\s@Observation' {} a -> s {rdsEventMessage = a} :: Observation)++-- | The name of the S3 CloudWatch Event-based observation.+observation_s3EventName :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_s3EventName = Lens.lens (\Observation' {s3EventName} -> s3EventName) (\s@Observation' {} a -> s {s3EventName = a} :: Observation)++-- | The source resource ARN of the observation.+observation_sourceARN :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_sourceARN = Lens.lens (\Observation' {sourceARN} -> sourceARN) (\s@Observation' {} a -> s {sourceARN = a} :: Observation)++-- | The source type of the observation.+observation_sourceType :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_sourceType = Lens.lens (\Observation' {sourceType} -> sourceType) (\s@Observation' {} a -> s {sourceType = a} :: Observation)++-- | The time when the observation was first detected, in epoch seconds.+observation_startTime :: Lens.Lens' Observation (Prelude.Maybe Prelude.UTCTime)+observation_startTime = Lens.lens (\Observation' {startTime} -> startTime) (\s@Observation' {} a -> s {startTime = a} :: Observation) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the step function-based observation.+observation_statesArn :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_statesArn = Lens.lens (\Observation' {statesArn} -> statesArn) (\s@Observation' {} a -> s {statesArn = a} :: Observation)++-- | The Amazon Resource Name (ARN) of the step function execution-based+-- observation.+observation_statesExecutionArn :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_statesExecutionArn = Lens.lens (\Observation' {statesExecutionArn} -> statesExecutionArn) (\s@Observation' {} a -> s {statesExecutionArn = a} :: Observation)++-- | The input to the step function-based observation.+observation_statesInput :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_statesInput = Lens.lens (\Observation' {statesInput} -> statesInput) (\s@Observation' {} a -> s {statesInput = a} :: Observation)++-- | The status of the step function-related observation.+observation_statesStatus :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_statesStatus = Lens.lens (\Observation' {statesStatus} -> statesStatus) (\s@Observation' {} a -> s {statesStatus = a} :: Observation)++-- | The unit of the source observation metric.+observation_unit :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_unit = Lens.lens (\Observation' {unit} -> unit) (\s@Observation' {} a -> s {unit = a} :: Observation)++-- | The value of the source observation metric.+observation_value :: Lens.Lens' Observation (Prelude.Maybe Prelude.Double)+observation_value = Lens.lens (\Observation' {value} -> value) (\s@Observation' {} a -> s {value = a} :: Observation)++-- | The X-Ray request error percentage for this node.+observation_xRayErrorPercent :: Lens.Lens' Observation (Prelude.Maybe Prelude.Int)+observation_xRayErrorPercent = Lens.lens (\Observation' {xRayErrorPercent} -> xRayErrorPercent) (\s@Observation' {} a -> s {xRayErrorPercent = a} :: Observation)++-- | The X-Ray request fault percentage for this node.+observation_xRayFaultPercent :: Lens.Lens' Observation (Prelude.Maybe Prelude.Int)+observation_xRayFaultPercent = Lens.lens (\Observation' {xRayFaultPercent} -> xRayFaultPercent) (\s@Observation' {} a -> s {xRayFaultPercent = a} :: Observation)++-- | The name of the X-Ray node.+observation_xRayNodeName :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_xRayNodeName = Lens.lens (\Observation' {xRayNodeName} -> xRayNodeName) (\s@Observation' {} a -> s {xRayNodeName = a} :: Observation)++-- | The type of the X-Ray node.+observation_xRayNodeType :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)+observation_xRayNodeType = Lens.lens (\Observation' {xRayNodeType} -> xRayNodeType) (\s@Observation' {} a -> s {xRayNodeType = a} :: Observation)++-- | The X-Ray node request average latency for this node.+observation_xRayRequestAverageLatency :: Lens.Lens' Observation (Prelude.Maybe Prelude.Integer)+observation_xRayRequestAverageLatency = Lens.lens (\Observation' {xRayRequestAverageLatency} -> xRayRequestAverageLatency) (\s@Observation' {} a -> s {xRayRequestAverageLatency = a} :: Observation)++-- | The X-Ray request count for this node.+observation_xRayRequestCount :: Lens.Lens' Observation (Prelude.Maybe Prelude.Int)+observation_xRayRequestCount = Lens.lens (\Observation' {xRayRequestCount} -> xRayRequestCount) (\s@Observation' {} a -> s {xRayRequestCount = a} :: Observation)++-- | The X-Ray request throttle percentage for this node.+observation_xRayThrottlePercent :: Lens.Lens' Observation (Prelude.Maybe Prelude.Int)+observation_xRayThrottlePercent = Lens.lens (\Observation' {xRayThrottlePercent} -> xRayThrottlePercent) (\s@Observation' {} a -> s {xRayThrottlePercent = a} :: Observation)++instance Data.FromJSON Observation where+  parseJSON =+    Data.withObject+      "Observation"+      ( \x ->+          Observation'+            Prelude.<$> (x Data..:? "CloudWatchEventDetailType")+            Prelude.<*> (x Data..:? "CloudWatchEventId")+            Prelude.<*> (x Data..:? "CloudWatchEventSource")+            Prelude.<*> (x Data..:? "CodeDeployApplication")+            Prelude.<*> (x Data..:? "CodeDeployDeploymentGroup")+            Prelude.<*> (x Data..:? "CodeDeployDeploymentId")+            Prelude.<*> (x Data..:? "CodeDeployInstanceGroupId")+            Prelude.<*> (x Data..:? "CodeDeployState")+            Prelude.<*> (x Data..:? "EbsCause")+            Prelude.<*> (x Data..:? "EbsEvent")+            Prelude.<*> (x Data..:? "EbsRequestId")+            Prelude.<*> (x Data..:? "EbsResult")+            Prelude.<*> (x Data..:? "Ec2State")+            Prelude.<*> (x Data..:? "EndTime")+            Prelude.<*> (x Data..:? "HealthEventArn")+            Prelude.<*> (x Data..:? "HealthEventDescription")+            Prelude.<*> (x Data..:? "HealthEventTypeCategory")+            Prelude.<*> (x Data..:? "HealthEventTypeCode")+            Prelude.<*> (x Data..:? "HealthService")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "LineTime")+            Prelude.<*> (x Data..:? "LogFilter")+            Prelude.<*> (x Data..:? "LogGroup")+            Prelude.<*> (x Data..:? "LogText")+            Prelude.<*> (x Data..:? "MetricName")+            Prelude.<*> (x Data..:? "MetricNamespace")+            Prelude.<*> (x Data..:? "RdsEventCategories")+            Prelude.<*> (x Data..:? "RdsEventMessage")+            Prelude.<*> (x Data..:? "S3EventName")+            Prelude.<*> (x Data..:? "SourceARN")+            Prelude.<*> (x Data..:? "SourceType")+            Prelude.<*> (x Data..:? "StartTime")+            Prelude.<*> (x Data..:? "StatesArn")+            Prelude.<*> (x Data..:? "StatesExecutionArn")+            Prelude.<*> (x Data..:? "StatesInput")+            Prelude.<*> (x Data..:? "StatesStatus")+            Prelude.<*> (x Data..:? "Unit")+            Prelude.<*> (x Data..:? "Value")+            Prelude.<*> (x Data..:? "XRayErrorPercent")+            Prelude.<*> (x Data..:? "XRayFaultPercent")+            Prelude.<*> (x Data..:? "XRayNodeName")+            Prelude.<*> (x Data..:? "XRayNodeType")+            Prelude.<*> (x Data..:? "XRayRequestAverageLatency")+            Prelude.<*> (x Data..:? "XRayRequestCount")+            Prelude.<*> (x Data..:? "XRayThrottlePercent")+      )++instance Prelude.Hashable Observation where+  hashWithSalt _salt Observation' {..} =+    _salt+      `Prelude.hashWithSalt` cloudWatchEventDetailType+      `Prelude.hashWithSalt` cloudWatchEventId+      `Prelude.hashWithSalt` cloudWatchEventSource+      `Prelude.hashWithSalt` codeDeployApplication+      `Prelude.hashWithSalt` codeDeployDeploymentGroup+      `Prelude.hashWithSalt` codeDeployDeploymentId+      `Prelude.hashWithSalt` codeDeployInstanceGroupId+      `Prelude.hashWithSalt` codeDeployState+      `Prelude.hashWithSalt` ebsCause+      `Prelude.hashWithSalt` ebsEvent+      `Prelude.hashWithSalt` ebsRequestId+      `Prelude.hashWithSalt` ebsResult+      `Prelude.hashWithSalt` ec2State+      `Prelude.hashWithSalt` endTime+      `Prelude.hashWithSalt` healthEventArn+      `Prelude.hashWithSalt` healthEventDescription+      `Prelude.hashWithSalt` healthEventTypeCategory+      `Prelude.hashWithSalt` healthEventTypeCode+      `Prelude.hashWithSalt` healthService+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lineTime+      `Prelude.hashWithSalt` logFilter+      `Prelude.hashWithSalt` logGroup+      `Prelude.hashWithSalt` logText+      `Prelude.hashWithSalt` metricName+      `Prelude.hashWithSalt` metricNamespace+      `Prelude.hashWithSalt` rdsEventCategories+      `Prelude.hashWithSalt` rdsEventMessage+      `Prelude.hashWithSalt` s3EventName+      `Prelude.hashWithSalt` sourceARN+      `Prelude.hashWithSalt` sourceType+      `Prelude.hashWithSalt` startTime+      `Prelude.hashWithSalt` statesArn+      `Prelude.hashWithSalt` statesExecutionArn+      `Prelude.hashWithSalt` statesInput+      `Prelude.hashWithSalt` statesStatus+      `Prelude.hashWithSalt` unit+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` xRayErrorPercent+      `Prelude.hashWithSalt` xRayFaultPercent+      `Prelude.hashWithSalt` xRayNodeName+      `Prelude.hashWithSalt` xRayNodeType+      `Prelude.hashWithSalt` xRayRequestAverageLatency+      `Prelude.hashWithSalt` xRayRequestCount+      `Prelude.hashWithSalt` xRayThrottlePercent++instance Prelude.NFData Observation where+  rnf Observation' {..} =+    Prelude.rnf cloudWatchEventDetailType+      `Prelude.seq` Prelude.rnf cloudWatchEventId+      `Prelude.seq` Prelude.rnf cloudWatchEventSource+      `Prelude.seq` Prelude.rnf codeDeployApplication+      `Prelude.seq` Prelude.rnf codeDeployDeploymentGroup+      `Prelude.seq` Prelude.rnf codeDeployDeploymentId+      `Prelude.seq` Prelude.rnf codeDeployInstanceGroupId+      `Prelude.seq` Prelude.rnf codeDeployState+      `Prelude.seq` Prelude.rnf ebsCause+      `Prelude.seq` Prelude.rnf ebsEvent+      `Prelude.seq` Prelude.rnf ebsRequestId+      `Prelude.seq` Prelude.rnf ebsResult+      `Prelude.seq` Prelude.rnf ec2State+      `Prelude.seq` Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf healthEventArn+      `Prelude.seq` Prelude.rnf healthEventDescription+      `Prelude.seq` Prelude.rnf healthEventTypeCategory+      `Prelude.seq` Prelude.rnf healthEventTypeCode+      `Prelude.seq` Prelude.rnf healthService+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lineTime+      `Prelude.seq` Prelude.rnf logFilter+      `Prelude.seq` Prelude.rnf logGroup+      `Prelude.seq` Prelude.rnf logText+      `Prelude.seq` Prelude.rnf+        metricName+      `Prelude.seq` Prelude.rnf+        metricNamespace+      `Prelude.seq` Prelude.rnf+        rdsEventCategories+      `Prelude.seq` Prelude.rnf+        rdsEventMessage+      `Prelude.seq` Prelude.rnf+        s3EventName+      `Prelude.seq` Prelude.rnf+        sourceARN+      `Prelude.seq` Prelude.rnf+        sourceType+      `Prelude.seq` Prelude.rnf+        startTime+      `Prelude.seq` Prelude.rnf+        statesArn+      `Prelude.seq` Prelude.rnf+        statesExecutionArn+      `Prelude.seq` Prelude.rnf+        statesInput+      `Prelude.seq` Prelude.rnf+        statesStatus+      `Prelude.seq` Prelude.rnf+        unit+      `Prelude.seq` Prelude.rnf+        value+      `Prelude.seq` Prelude.rnf+        xRayErrorPercent+      `Prelude.seq` Prelude.rnf+        xRayFaultPercent+      `Prelude.seq` Prelude.rnf+        xRayNodeName+      `Prelude.seq` Prelude.rnf+        xRayNodeType+      `Prelude.seq` Prelude.rnf+        xRayRequestAverageLatency+      `Prelude.seq` Prelude.rnf+        xRayRequestCount+      `Prelude.seq` Prelude.rnf+        xRayThrottlePercent
+ gen/Amazonka/ApplicationInsights/Types/OsType.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.OsType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.OsType+  ( OsType+      ( ..,+        OsType_LINUX,+        OsType_WINDOWS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OsType = OsType' {fromOsType :: Data.Text}+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern OsType_LINUX :: OsType+pattern OsType_LINUX = OsType' "LINUX"++pattern OsType_WINDOWS :: OsType+pattern OsType_WINDOWS = OsType' "WINDOWS"++{-# COMPLETE+  OsType_LINUX,+  OsType_WINDOWS,+  OsType'+  #-}
+ gen/Amazonka/ApplicationInsights/Types/Problem.hs view
@@ -0,0 +1,211 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.Problem+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.Problem where++import Amazonka.ApplicationInsights.Types.FeedbackKey+import Amazonka.ApplicationInsights.Types.FeedbackValue+import Amazonka.ApplicationInsights.Types.SeverityLevel+import Amazonka.ApplicationInsights.Types.Status+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++-- | Describes a problem that is detected by correlating observations.+--+-- /See:/ 'newProblem' smart constructor.+data Problem = Problem'+  { -- | The resource affected by the problem.+    affectedResource :: Prelude.Maybe Prelude.Text,+    -- | The time when the problem ended, in epoch seconds.+    endTime :: Prelude.Maybe Data.POSIX,+    -- | Feedback provided by the user about the problem.+    feedback :: Prelude.Maybe (Prelude.HashMap FeedbackKey FeedbackValue),+    -- | The ID of the problem.+    id :: Prelude.Maybe Prelude.Text,+    -- | A detailed analysis of the problem using machine learning.+    insights :: Prelude.Maybe Prelude.Text,+    -- | The last time that the problem reoccurred after its last resolution.+    lastRecurrenceTime :: Prelude.Maybe Data.POSIX,+    -- | The number of times that the same problem reoccurred after the first+    -- time it was resolved.+    recurringCount :: Prelude.Maybe Prelude.Integer,+    -- | The name of the resource group affected by the problem.+    resourceGroupName :: Prelude.Maybe Prelude.Text,+    -- | A measure of the level of impact of the problem.+    severityLevel :: Prelude.Maybe SeverityLevel,+    -- | The time when the problem started, in epoch seconds.+    startTime :: Prelude.Maybe Data.POSIX,+    -- | The status of the problem.+    status :: Prelude.Maybe Status,+    -- | The name of the problem.+    title :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Problem' 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:+--+-- 'affectedResource', 'problem_affectedResource' - The resource affected by the problem.+--+-- 'endTime', 'problem_endTime' - The time when the problem ended, in epoch seconds.+--+-- 'feedback', 'problem_feedback' - Feedback provided by the user about the problem.+--+-- 'id', 'problem_id' - The ID of the problem.+--+-- 'insights', 'problem_insights' - A detailed analysis of the problem using machine learning.+--+-- 'lastRecurrenceTime', 'problem_lastRecurrenceTime' - The last time that the problem reoccurred after its last resolution.+--+-- 'recurringCount', 'problem_recurringCount' - The number of times that the same problem reoccurred after the first+-- time it was resolved.+--+-- 'resourceGroupName', 'problem_resourceGroupName' - The name of the resource group affected by the problem.+--+-- 'severityLevel', 'problem_severityLevel' - A measure of the level of impact of the problem.+--+-- 'startTime', 'problem_startTime' - The time when the problem started, in epoch seconds.+--+-- 'status', 'problem_status' - The status of the problem.+--+-- 'title', 'problem_title' - The name of the problem.+newProblem ::+  Problem+newProblem =+  Problem'+    { affectedResource = Prelude.Nothing,+      endTime = Prelude.Nothing,+      feedback = Prelude.Nothing,+      id = Prelude.Nothing,+      insights = Prelude.Nothing,+      lastRecurrenceTime = Prelude.Nothing,+      recurringCount = Prelude.Nothing,+      resourceGroupName = Prelude.Nothing,+      severityLevel = Prelude.Nothing,+      startTime = Prelude.Nothing,+      status = Prelude.Nothing,+      title = Prelude.Nothing+    }++-- | The resource affected by the problem.+problem_affectedResource :: Lens.Lens' Problem (Prelude.Maybe Prelude.Text)+problem_affectedResource = Lens.lens (\Problem' {affectedResource} -> affectedResource) (\s@Problem' {} a -> s {affectedResource = a} :: Problem)++-- | The time when the problem ended, in epoch seconds.+problem_endTime :: Lens.Lens' Problem (Prelude.Maybe Prelude.UTCTime)+problem_endTime = Lens.lens (\Problem' {endTime} -> endTime) (\s@Problem' {} a -> s {endTime = a} :: Problem) Prelude.. Lens.mapping Data._Time++-- | Feedback provided by the user about the problem.+problem_feedback :: Lens.Lens' Problem (Prelude.Maybe (Prelude.HashMap FeedbackKey FeedbackValue))+problem_feedback = Lens.lens (\Problem' {feedback} -> feedback) (\s@Problem' {} a -> s {feedback = a} :: Problem) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the problem.+problem_id :: Lens.Lens' Problem (Prelude.Maybe Prelude.Text)+problem_id = Lens.lens (\Problem' {id} -> id) (\s@Problem' {} a -> s {id = a} :: Problem)++-- | A detailed analysis of the problem using machine learning.+problem_insights :: Lens.Lens' Problem (Prelude.Maybe Prelude.Text)+problem_insights = Lens.lens (\Problem' {insights} -> insights) (\s@Problem' {} a -> s {insights = a} :: Problem)++-- | The last time that the problem reoccurred after its last resolution.+problem_lastRecurrenceTime :: Lens.Lens' Problem (Prelude.Maybe Prelude.UTCTime)+problem_lastRecurrenceTime = Lens.lens (\Problem' {lastRecurrenceTime} -> lastRecurrenceTime) (\s@Problem' {} a -> s {lastRecurrenceTime = a} :: Problem) Prelude.. Lens.mapping Data._Time++-- | The number of times that the same problem reoccurred after the first+-- time it was resolved.+problem_recurringCount :: Lens.Lens' Problem (Prelude.Maybe Prelude.Integer)+problem_recurringCount = Lens.lens (\Problem' {recurringCount} -> recurringCount) (\s@Problem' {} a -> s {recurringCount = a} :: Problem)++-- | The name of the resource group affected by the problem.+problem_resourceGroupName :: Lens.Lens' Problem (Prelude.Maybe Prelude.Text)+problem_resourceGroupName = Lens.lens (\Problem' {resourceGroupName} -> resourceGroupName) (\s@Problem' {} a -> s {resourceGroupName = a} :: Problem)++-- | A measure of the level of impact of the problem.+problem_severityLevel :: Lens.Lens' Problem (Prelude.Maybe SeverityLevel)+problem_severityLevel = Lens.lens (\Problem' {severityLevel} -> severityLevel) (\s@Problem' {} a -> s {severityLevel = a} :: Problem)++-- | The time when the problem started, in epoch seconds.+problem_startTime :: Lens.Lens' Problem (Prelude.Maybe Prelude.UTCTime)+problem_startTime = Lens.lens (\Problem' {startTime} -> startTime) (\s@Problem' {} a -> s {startTime = a} :: Problem) Prelude.. Lens.mapping Data._Time++-- | The status of the problem.+problem_status :: Lens.Lens' Problem (Prelude.Maybe Status)+problem_status = Lens.lens (\Problem' {status} -> status) (\s@Problem' {} a -> s {status = a} :: Problem)++-- | The name of the problem.+problem_title :: Lens.Lens' Problem (Prelude.Maybe Prelude.Text)+problem_title = Lens.lens (\Problem' {title} -> title) (\s@Problem' {} a -> s {title = a} :: Problem)++instance Data.FromJSON Problem where+  parseJSON =+    Data.withObject+      "Problem"+      ( \x ->+          Problem'+            Prelude.<$> (x Data..:? "AffectedResource")+            Prelude.<*> (x Data..:? "EndTime")+            Prelude.<*> (x Data..:? "Feedback" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "Insights")+            Prelude.<*> (x Data..:? "LastRecurrenceTime")+            Prelude.<*> (x Data..:? "RecurringCount")+            Prelude.<*> (x Data..:? "ResourceGroupName")+            Prelude.<*> (x Data..:? "SeverityLevel")+            Prelude.<*> (x Data..:? "StartTime")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "Title")+      )++instance Prelude.Hashable Problem where+  hashWithSalt _salt Problem' {..} =+    _salt+      `Prelude.hashWithSalt` affectedResource+      `Prelude.hashWithSalt` endTime+      `Prelude.hashWithSalt` feedback+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` insights+      `Prelude.hashWithSalt` lastRecurrenceTime+      `Prelude.hashWithSalt` recurringCount+      `Prelude.hashWithSalt` resourceGroupName+      `Prelude.hashWithSalt` severityLevel+      `Prelude.hashWithSalt` startTime+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` title++instance Prelude.NFData Problem where+  rnf Problem' {..} =+    Prelude.rnf affectedResource+      `Prelude.seq` Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf feedback+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf insights+      `Prelude.seq` Prelude.rnf lastRecurrenceTime+      `Prelude.seq` Prelude.rnf recurringCount+      `Prelude.seq` Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf severityLevel+      `Prelude.seq` Prelude.rnf startTime+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf title
+ gen/Amazonka/ApplicationInsights/Types/RelatedObservations.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.RelatedObservations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.RelatedObservations where++import Amazonka.ApplicationInsights.Types.Observation+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++-- | Describes observations related to the problem.+--+-- /See:/ 'newRelatedObservations' smart constructor.+data RelatedObservations = RelatedObservations'+  { -- | The list of observations related to the problem.+    observationList :: Prelude.Maybe [Observation]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RelatedObservations' 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:+--+-- 'observationList', 'relatedObservations_observationList' - The list of observations related to the problem.+newRelatedObservations ::+  RelatedObservations+newRelatedObservations =+  RelatedObservations'+    { observationList =+        Prelude.Nothing+    }++-- | The list of observations related to the problem.+relatedObservations_observationList :: Lens.Lens' RelatedObservations (Prelude.Maybe [Observation])+relatedObservations_observationList = Lens.lens (\RelatedObservations' {observationList} -> observationList) (\s@RelatedObservations' {} a -> s {observationList = a} :: RelatedObservations) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON RelatedObservations where+  parseJSON =+    Data.withObject+      "RelatedObservations"+      ( \x ->+          RelatedObservations'+            Prelude.<$> ( x+                            Data..:? "ObservationList"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable RelatedObservations where+  hashWithSalt _salt RelatedObservations' {..} =+    _salt `Prelude.hashWithSalt` observationList++instance Prelude.NFData RelatedObservations where+  rnf RelatedObservations' {..} =+    Prelude.rnf observationList
+ gen/Amazonka/ApplicationInsights/Types/SeverityLevel.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.SeverityLevel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.SeverityLevel+  ( SeverityLevel+      ( ..,+        SeverityLevel_High,+        SeverityLevel_Informative,+        SeverityLevel_Low,+        SeverityLevel_Medium+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SeverityLevel = SeverityLevel'+  { fromSeverityLevel ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SeverityLevel_High :: SeverityLevel+pattern SeverityLevel_High = SeverityLevel' "High"++pattern SeverityLevel_Informative :: SeverityLevel+pattern SeverityLevel_Informative = SeverityLevel' "Informative"++pattern SeverityLevel_Low :: SeverityLevel+pattern SeverityLevel_Low = SeverityLevel' "Low"++pattern SeverityLevel_Medium :: SeverityLevel+pattern SeverityLevel_Medium = SeverityLevel' "Medium"++{-# COMPLETE+  SeverityLevel_High,+  SeverityLevel_Informative,+  SeverityLevel_Low,+  SeverityLevel_Medium,+  SeverityLevel'+  #-}
+ gen/Amazonka/ApplicationInsights/Types/Status.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.Status+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.Status+  ( Status+      ( ..,+        Status_IGNORE,+        Status_PENDING,+        Status_RECURRING,+        Status_RESOLVED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Status = Status' {fromStatus :: Data.Text}+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern Status_IGNORE :: Status+pattern Status_IGNORE = Status' "IGNORE"++pattern Status_PENDING :: Status+pattern Status_PENDING = Status' "PENDING"++pattern Status_RECURRING :: Status+pattern Status_RECURRING = Status' "RECURRING"++pattern Status_RESOLVED :: Status+pattern Status_RESOLVED = Status' "RESOLVED"++{-# COMPLETE+  Status_IGNORE,+  Status_PENDING,+  Status_RECURRING,+  Status_RESOLVED,+  Status'+  #-}
+ gen/Amazonka/ApplicationInsights/Types/Tag.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.Tag+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.Tag 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++-- | An object that defines the tags associated with an application. A /tag/+-- is a label that you optionally define and associate with an application.+-- Tags can help you categorize and manage resources in different ways,+-- such as by purpose, owner, environment, or other criteria.+--+-- Each tag consists of a required /tag key/ and an associated /tag value/,+-- both of which you define. A tag key is a general label that acts as a+-- category for a more specific tag value. A tag value acts as a descriptor+-- within a tag key. A tag key can contain as many as 128 characters. A tag+-- value can contain as many as 256 characters. The characters can be+-- Unicode letters, digits, white space, or one of the following symbols: _+-- . : \/ = + -. The following additional restrictions apply to tags:+--+-- -   Tag keys and values are case sensitive.+--+-- -   For each associated resource, each tag key must be unique and it can+--     have only one value.+--+-- -   The @aws:@ prefix is reserved for use by AWS; you can’t use it in+--     any tag keys or values that you define. In addition, you can\'t edit+--     or remove tag keys or values that use this prefix.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | One part of a key-value pair that defines a tag. The maximum length of a+    -- tag key is 128 characters. The minimum length is 1 character.+    key :: Prelude.Text,+    -- | The optional part of a key-value pair that defines a tag. The maximum+    -- length of a tag value is 256 characters. The minimum length is 0+    -- characters. If you don\'t want an application to have a specific tag+    -- value, don\'t specify a value for this parameter.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' 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:+--+-- 'key', 'tag_key' - One part of a key-value pair that defines a tag. The maximum length of a+-- tag key is 128 characters. The minimum length is 1 character.+--+-- 'value', 'tag_value' - The optional part of a key-value pair that defines a tag. The maximum+-- length of a tag value is 256 characters. The minimum length is 0+-- characters. If you don\'t want an application to have a specific tag+-- value, don\'t specify a value for this parameter.+newTag ::+  -- | 'key'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  Tag+newTag pKey_ pValue_ =+  Tag' {key = pKey_, value = pValue_}++-- | One part of a key-value pair that defines a tag. The maximum length of a+-- tag key is 128 characters. The minimum length is 1 character.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The optional part of a key-value pair that defines a tag. The maximum+-- length of a tag value is 256 characters. The minimum length is 0+-- characters. If you don\'t want an application to have a specific tag+-- value, don\'t specify a value for this parameter.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+  parseJSON =+    Data.withObject+      "Tag"+      ( \x ->+          Tag'+            Prelude.<$> (x Data..: "Key")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+  toJSON Tag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Key" Data..= key),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/ApplicationInsights/Types/Tier.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Types.Tier+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Types.Tier+  ( Tier+      ( ..,+        Tier_ACTIVE_DIRECTORY,+        Tier_CUSTOM,+        Tier_DEFAULT,+        Tier_DOT_NET_CORE,+        Tier_DOT_NET_WEB,+        Tier_DOT_NET_WEB_TIER,+        Tier_DOT_NET_WORKER,+        Tier_JAVA_JMX,+        Tier_MYSQL,+        Tier_ORACLE,+        Tier_POSTGRESQL,+        Tier_SAP_HANA_HIGH_AVAILABILITY,+        Tier_SAP_HANA_MULTI_NODE,+        Tier_SAP_HANA_SINGLE_NODE,+        Tier_SHAREPOINT,+        Tier_SQL_SERVER,+        Tier_SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP,+        Tier_SQL_SERVER_FAILOVER_CLUSTER_INSTANCE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Tier = Tier' {fromTier :: Data.Text}+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern Tier_ACTIVE_DIRECTORY :: Tier+pattern Tier_ACTIVE_DIRECTORY = Tier' "ACTIVE_DIRECTORY"++pattern Tier_CUSTOM :: Tier+pattern Tier_CUSTOM = Tier' "CUSTOM"++pattern Tier_DEFAULT :: Tier+pattern Tier_DEFAULT = Tier' "DEFAULT"++pattern Tier_DOT_NET_CORE :: Tier+pattern Tier_DOT_NET_CORE = Tier' "DOT_NET_CORE"++pattern Tier_DOT_NET_WEB :: Tier+pattern Tier_DOT_NET_WEB = Tier' "DOT_NET_WEB"++pattern Tier_DOT_NET_WEB_TIER :: Tier+pattern Tier_DOT_NET_WEB_TIER = Tier' "DOT_NET_WEB_TIER"++pattern Tier_DOT_NET_WORKER :: Tier+pattern Tier_DOT_NET_WORKER = Tier' "DOT_NET_WORKER"++pattern Tier_JAVA_JMX :: Tier+pattern Tier_JAVA_JMX = Tier' "JAVA_JMX"++pattern Tier_MYSQL :: Tier+pattern Tier_MYSQL = Tier' "MYSQL"++pattern Tier_ORACLE :: Tier+pattern Tier_ORACLE = Tier' "ORACLE"++pattern Tier_POSTGRESQL :: Tier+pattern Tier_POSTGRESQL = Tier' "POSTGRESQL"++pattern Tier_SAP_HANA_HIGH_AVAILABILITY :: Tier+pattern Tier_SAP_HANA_HIGH_AVAILABILITY = Tier' "SAP_HANA_HIGH_AVAILABILITY"++pattern Tier_SAP_HANA_MULTI_NODE :: Tier+pattern Tier_SAP_HANA_MULTI_NODE = Tier' "SAP_HANA_MULTI_NODE"++pattern Tier_SAP_HANA_SINGLE_NODE :: Tier+pattern Tier_SAP_HANA_SINGLE_NODE = Tier' "SAP_HANA_SINGLE_NODE"++pattern Tier_SHAREPOINT :: Tier+pattern Tier_SHAREPOINT = Tier' "SHAREPOINT"++pattern Tier_SQL_SERVER :: Tier+pattern Tier_SQL_SERVER = Tier' "SQL_SERVER"++pattern Tier_SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP :: Tier+pattern Tier_SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP = Tier' "SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP"++pattern Tier_SQL_SERVER_FAILOVER_CLUSTER_INSTANCE :: Tier+pattern Tier_SQL_SERVER_FAILOVER_CLUSTER_INSTANCE = Tier' "SQL_SERVER_FAILOVER_CLUSTER_INSTANCE"++{-# COMPLETE+  Tier_ACTIVE_DIRECTORY,+  Tier_CUSTOM,+  Tier_DEFAULT,+  Tier_DOT_NET_CORE,+  Tier_DOT_NET_WEB,+  Tier_DOT_NET_WEB_TIER,+  Tier_DOT_NET_WORKER,+  Tier_JAVA_JMX,+  Tier_MYSQL,+  Tier_ORACLE,+  Tier_POSTGRESQL,+  Tier_SAP_HANA_HIGH_AVAILABILITY,+  Tier_SAP_HANA_MULTI_NODE,+  Tier_SAP_HANA_SINGLE_NODE,+  Tier_SHAREPOINT,+  Tier_SQL_SERVER,+  Tier_SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP,+  Tier_SQL_SERVER_FAILOVER_CLUSTER_INSTANCE,+  Tier'+  #-}
+ gen/Amazonka/ApplicationInsights/UntagResource.hs view
@@ -0,0 +1,192 @@+{-# 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.ApplicationInsights.UntagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Remove one or more tags (keys and values) from a specified application.+module Amazonka.ApplicationInsights.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceARN,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) of the application that you want to+    -- remove one or more tags from.+    resourceARN :: Prelude.Text,+    -- | The tags (tag keys) that you want to remove from the resource. When you+    -- specify a tag key, the action removes both that key and its associated+    -- tag value.+    --+    -- To remove more than one tag from the application, append the @TagKeys@+    -- parameter and argument for each additional tag to remove, separated by+    -- an ampersand.+    tagKeys :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' 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:+--+-- 'resourceARN', 'untagResource_resourceARN' - The Amazon Resource Name (ARN) of the application that you want to+-- remove one or more tags from.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tags (tag keys) that you want to remove from the resource. When you+-- specify a tag key, the action removes both that key and its associated+-- tag value.+--+-- To remove more than one tag from the application, append the @TagKeys@+-- parameter and argument for each additional tag to remove, separated by+-- an ampersand.+newUntagResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceARN_ =+  UntagResource'+    { resourceARN = pResourceARN_,+      tagKeys = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the application that you want to+-- remove one or more tags from.+untagResource_resourceARN :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceARN = Lens.lens (\UntagResource' {resourceARN} -> resourceARN) (\s@UntagResource' {} a -> s {resourceARN = a} :: UntagResource)++-- | The tags (tag keys) that you want to remove from the resource. When you+-- specify a tag key, the action removes both that key and its associated+-- tag value.+--+-- To remove more than one tag from the application, append the @TagKeys@+-- parameter and argument for each additional tag to remove, separated by+-- an ampersand.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceARN+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceARN+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.UntagResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UntagResource where+  toJSON UntagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceARN" Data..= resourceARN),+            Prelude.Just ("TagKeys" Data..= tagKeys)+          ]+      )++instance Data.ToPath UntagResource where+  toPath = Prelude.const "/"++instance Data.ToQuery UntagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' 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:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/UpdateApplication.hs view
@@ -0,0 +1,263 @@+{-# 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.ApplicationInsights.UpdateApplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the application.+module Amazonka.ApplicationInsights.UpdateApplication+  ( -- * Creating a Request+    UpdateApplication (..),+    newUpdateApplication,++    -- * Request Lenses+    updateApplication_autoConfigEnabled,+    updateApplication_cWEMonitorEnabled,+    updateApplication_opsCenterEnabled,+    updateApplication_opsItemSNSTopicArn,+    updateApplication_removeSNSTopic,+    updateApplication_resourceGroupName,++    -- * Destructuring the Response+    UpdateApplicationResponse (..),+    newUpdateApplicationResponse,++    -- * Response Lenses+    updateApplicationResponse_applicationInfo,+    updateApplicationResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newUpdateApplication' smart constructor.+data UpdateApplication = UpdateApplication'+  { -- | Turns auto-configuration on or off.+    autoConfigEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether Application Insights can listen to CloudWatch events+    -- for the application resources, such as @instance terminated@,+    -- @failed deployment@, and others.+    cWEMonitorEnabled :: Prelude.Maybe Prelude.Bool,+    -- | When set to @true@, creates opsItems for any problems detected on an+    -- application.+    opsCenterEnabled :: Prelude.Maybe Prelude.Bool,+    -- | The SNS topic provided to Application Insights that is associated to the+    -- created opsItem. Allows you to receive notifications for updates to the+    -- opsItem.+    opsItemSNSTopicArn :: Prelude.Maybe Prelude.Text,+    -- | Disassociates the SNS topic from the opsItem created for detected+    -- problems.+    removeSNSTopic :: Prelude.Maybe Prelude.Bool,+    -- | The name of the resource group.+    resourceGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateApplication' 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:+--+-- 'autoConfigEnabled', 'updateApplication_autoConfigEnabled' - Turns auto-configuration on or off.+--+-- 'cWEMonitorEnabled', 'updateApplication_cWEMonitorEnabled' - Indicates whether Application Insights can listen to CloudWatch events+-- for the application resources, such as @instance terminated@,+-- @failed deployment@, and others.+--+-- 'opsCenterEnabled', 'updateApplication_opsCenterEnabled' - When set to @true@, creates opsItems for any problems detected on an+-- application.+--+-- 'opsItemSNSTopicArn', 'updateApplication_opsItemSNSTopicArn' - The SNS topic provided to Application Insights that is associated to the+-- created opsItem. Allows you to receive notifications for updates to the+-- opsItem.+--+-- 'removeSNSTopic', 'updateApplication_removeSNSTopic' - Disassociates the SNS topic from the opsItem created for detected+-- problems.+--+-- 'resourceGroupName', 'updateApplication_resourceGroupName' - The name of the resource group.+newUpdateApplication ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  UpdateApplication+newUpdateApplication pResourceGroupName_ =+  UpdateApplication'+    { autoConfigEnabled =+        Prelude.Nothing,+      cWEMonitorEnabled = Prelude.Nothing,+      opsCenterEnabled = Prelude.Nothing,+      opsItemSNSTopicArn = Prelude.Nothing,+      removeSNSTopic = Prelude.Nothing,+      resourceGroupName = pResourceGroupName_+    }++-- | Turns auto-configuration on or off.+updateApplication_autoConfigEnabled :: Lens.Lens' UpdateApplication (Prelude.Maybe Prelude.Bool)+updateApplication_autoConfigEnabled = Lens.lens (\UpdateApplication' {autoConfigEnabled} -> autoConfigEnabled) (\s@UpdateApplication' {} a -> s {autoConfigEnabled = a} :: UpdateApplication)++-- | Indicates whether Application Insights can listen to CloudWatch events+-- for the application resources, such as @instance terminated@,+-- @failed deployment@, and others.+updateApplication_cWEMonitorEnabled :: Lens.Lens' UpdateApplication (Prelude.Maybe Prelude.Bool)+updateApplication_cWEMonitorEnabled = Lens.lens (\UpdateApplication' {cWEMonitorEnabled} -> cWEMonitorEnabled) (\s@UpdateApplication' {} a -> s {cWEMonitorEnabled = a} :: UpdateApplication)++-- | When set to @true@, creates opsItems for any problems detected on an+-- application.+updateApplication_opsCenterEnabled :: Lens.Lens' UpdateApplication (Prelude.Maybe Prelude.Bool)+updateApplication_opsCenterEnabled = Lens.lens (\UpdateApplication' {opsCenterEnabled} -> opsCenterEnabled) (\s@UpdateApplication' {} a -> s {opsCenterEnabled = a} :: UpdateApplication)++-- | The SNS topic provided to Application Insights that is associated to the+-- created opsItem. Allows you to receive notifications for updates to the+-- opsItem.+updateApplication_opsItemSNSTopicArn :: Lens.Lens' UpdateApplication (Prelude.Maybe Prelude.Text)+updateApplication_opsItemSNSTopicArn = Lens.lens (\UpdateApplication' {opsItemSNSTopicArn} -> opsItemSNSTopicArn) (\s@UpdateApplication' {} a -> s {opsItemSNSTopicArn = a} :: UpdateApplication)++-- | Disassociates the SNS topic from the opsItem created for detected+-- problems.+updateApplication_removeSNSTopic :: Lens.Lens' UpdateApplication (Prelude.Maybe Prelude.Bool)+updateApplication_removeSNSTopic = Lens.lens (\UpdateApplication' {removeSNSTopic} -> removeSNSTopic) (\s@UpdateApplication' {} a -> s {removeSNSTopic = a} :: UpdateApplication)++-- | The name of the resource group.+updateApplication_resourceGroupName :: Lens.Lens' UpdateApplication Prelude.Text+updateApplication_resourceGroupName = Lens.lens (\UpdateApplication' {resourceGroupName} -> resourceGroupName) (\s@UpdateApplication' {} a -> s {resourceGroupName = a} :: UpdateApplication)++instance Core.AWSRequest UpdateApplication where+  type+    AWSResponse UpdateApplication =+      UpdateApplicationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateApplicationResponse'+            Prelude.<$> (x Data..?> "ApplicationInfo")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateApplication where+  hashWithSalt _salt UpdateApplication' {..} =+    _salt+      `Prelude.hashWithSalt` autoConfigEnabled+      `Prelude.hashWithSalt` cWEMonitorEnabled+      `Prelude.hashWithSalt` opsCenterEnabled+      `Prelude.hashWithSalt` opsItemSNSTopicArn+      `Prelude.hashWithSalt` removeSNSTopic+      `Prelude.hashWithSalt` resourceGroupName++instance Prelude.NFData UpdateApplication where+  rnf UpdateApplication' {..} =+    Prelude.rnf autoConfigEnabled+      `Prelude.seq` Prelude.rnf cWEMonitorEnabled+      `Prelude.seq` Prelude.rnf opsCenterEnabled+      `Prelude.seq` Prelude.rnf opsItemSNSTopicArn+      `Prelude.seq` Prelude.rnf removeSNSTopic+      `Prelude.seq` Prelude.rnf resourceGroupName++instance Data.ToHeaders UpdateApplication where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.UpdateApplication" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateApplication where+  toJSON UpdateApplication' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AutoConfigEnabled" Data..=)+              Prelude.<$> autoConfigEnabled,+            ("CWEMonitorEnabled" Data..=)+              Prelude.<$> cWEMonitorEnabled,+            ("OpsCenterEnabled" Data..=)+              Prelude.<$> opsCenterEnabled,+            ("OpsItemSNSTopicArn" Data..=)+              Prelude.<$> opsItemSNSTopicArn,+            ("RemoveSNSTopic" Data..=)+              Prelude.<$> removeSNSTopic,+            Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName)+          ]+      )++instance Data.ToPath UpdateApplication where+  toPath = Prelude.const "/"++instance Data.ToQuery UpdateApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateApplicationResponse' smart constructor.+data UpdateApplicationResponse = UpdateApplicationResponse'+  { -- | Information about the application.+    applicationInfo :: Prelude.Maybe ApplicationInfo,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateApplicationResponse' 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:+--+-- 'applicationInfo', 'updateApplicationResponse_applicationInfo' - Information about the application.+--+-- 'httpStatus', 'updateApplicationResponse_httpStatus' - The response's http status code.+newUpdateApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateApplicationResponse+newUpdateApplicationResponse pHttpStatus_ =+  UpdateApplicationResponse'+    { applicationInfo =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the application.+updateApplicationResponse_applicationInfo :: Lens.Lens' UpdateApplicationResponse (Prelude.Maybe ApplicationInfo)+updateApplicationResponse_applicationInfo = Lens.lens (\UpdateApplicationResponse' {applicationInfo} -> applicationInfo) (\s@UpdateApplicationResponse' {} a -> s {applicationInfo = a} :: UpdateApplicationResponse)++-- | The response's http status code.+updateApplicationResponse_httpStatus :: Lens.Lens' UpdateApplicationResponse Prelude.Int+updateApplicationResponse_httpStatus = Lens.lens (\UpdateApplicationResponse' {httpStatus} -> httpStatus) (\s@UpdateApplicationResponse' {} a -> s {httpStatus = a} :: UpdateApplicationResponse)++instance Prelude.NFData UpdateApplicationResponse where+  rnf UpdateApplicationResponse' {..} =+    Prelude.rnf applicationInfo+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/UpdateComponent.hs view
@@ -0,0 +1,206 @@+{-# 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.ApplicationInsights.UpdateComponent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the custom component name and\/or the list of resources that+-- make up the component.+module Amazonka.ApplicationInsights.UpdateComponent+  ( -- * Creating a Request+    UpdateComponent (..),+    newUpdateComponent,++    -- * Request Lenses+    updateComponent_newComponentName,+    updateComponent_resourceList,+    updateComponent_resourceGroupName,+    updateComponent_componentName,++    -- * Destructuring the Response+    UpdateComponentResponse (..),+    newUpdateComponentResponse,++    -- * Response Lenses+    updateComponentResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newUpdateComponent' smart constructor.+data UpdateComponent = UpdateComponent'+  { -- | The new name of the component.+    newComponentName' :: Prelude.Maybe Prelude.Text,+    -- | The list of resource ARNs that belong to the component.+    resourceList :: Prelude.Maybe [Prelude.Text],+    -- | The name of the resource group.+    resourceGroupName :: Prelude.Text,+    -- | The name of the component.+    componentName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateComponent' 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:+--+-- 'newComponentName'', 'updateComponent_newComponentName' - The new name of the component.+--+-- 'resourceList', 'updateComponent_resourceList' - The list of resource ARNs that belong to the component.+--+-- 'resourceGroupName', 'updateComponent_resourceGroupName' - The name of the resource group.+--+-- 'componentName', 'updateComponent_componentName' - The name of the component.+newUpdateComponent ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  -- | 'componentName'+  Prelude.Text ->+  UpdateComponent+newUpdateComponent+  pResourceGroupName_+  pComponentName_ =+    UpdateComponent'+      { newComponentName' =+          Prelude.Nothing,+        resourceList = Prelude.Nothing,+        resourceGroupName = pResourceGroupName_,+        componentName = pComponentName_+      }++-- | The new name of the component.+updateComponent_newComponentName :: Lens.Lens' UpdateComponent (Prelude.Maybe Prelude.Text)+updateComponent_newComponentName = Lens.lens (\UpdateComponent' {newComponentName'} -> newComponentName') (\s@UpdateComponent' {} a -> s {newComponentName' = a} :: UpdateComponent)++-- | The list of resource ARNs that belong to the component.+updateComponent_resourceList :: Lens.Lens' UpdateComponent (Prelude.Maybe [Prelude.Text])+updateComponent_resourceList = Lens.lens (\UpdateComponent' {resourceList} -> resourceList) (\s@UpdateComponent' {} a -> s {resourceList = a} :: UpdateComponent) Prelude.. Lens.mapping Lens.coerced++-- | The name of the resource group.+updateComponent_resourceGroupName :: Lens.Lens' UpdateComponent Prelude.Text+updateComponent_resourceGroupName = Lens.lens (\UpdateComponent' {resourceGroupName} -> resourceGroupName) (\s@UpdateComponent' {} a -> s {resourceGroupName = a} :: UpdateComponent)++-- | The name of the component.+updateComponent_componentName :: Lens.Lens' UpdateComponent Prelude.Text+updateComponent_componentName = Lens.lens (\UpdateComponent' {componentName} -> componentName) (\s@UpdateComponent' {} a -> s {componentName = a} :: UpdateComponent)++instance Core.AWSRequest UpdateComponent where+  type+    AWSResponse UpdateComponent =+      UpdateComponentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateComponentResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateComponent where+  hashWithSalt _salt UpdateComponent' {..} =+    _salt+      `Prelude.hashWithSalt` newComponentName'+      `Prelude.hashWithSalt` resourceList+      `Prelude.hashWithSalt` resourceGroupName+      `Prelude.hashWithSalt` componentName++instance Prelude.NFData UpdateComponent where+  rnf UpdateComponent' {..} =+    Prelude.rnf newComponentName'+      `Prelude.seq` Prelude.rnf resourceList+      `Prelude.seq` Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf componentName++instance Data.ToHeaders UpdateComponent where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.UpdateComponent" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateComponent where+  toJSON UpdateComponent' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("NewComponentName" Data..=)+              Prelude.<$> newComponentName',+            ("ResourceList" Data..=) Prelude.<$> resourceList,+            Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName),+            Prelude.Just+              ("ComponentName" Data..= componentName)+          ]+      )++instance Data.ToPath UpdateComponent where+  toPath = Prelude.const "/"++instance Data.ToQuery UpdateComponent where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateComponentResponse' smart constructor.+data UpdateComponentResponse = UpdateComponentResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateComponentResponse' 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:+--+-- 'httpStatus', 'updateComponentResponse_httpStatus' - The response's http status code.+newUpdateComponentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateComponentResponse+newUpdateComponentResponse pHttpStatus_ =+  UpdateComponentResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+updateComponentResponse_httpStatus :: Lens.Lens' UpdateComponentResponse Prelude.Int+updateComponentResponse_httpStatus = Lens.lens (\UpdateComponentResponse' {httpStatus} -> httpStatus) (\s@UpdateComponentResponse' {} a -> s {httpStatus = a} :: UpdateComponentResponse)++instance Prelude.NFData UpdateComponentResponse where+  rnf UpdateComponentResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/UpdateComponentConfiguration.hs view
@@ -0,0 +1,268 @@+{-# 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.ApplicationInsights.UpdateComponentConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the monitoring configurations for the component. The+-- configuration input parameter is an escaped JSON of the configuration+-- and should match the schema of what is returned by+-- @DescribeComponentConfigurationRecommendation@.+module Amazonka.ApplicationInsights.UpdateComponentConfiguration+  ( -- * Creating a Request+    UpdateComponentConfiguration (..),+    newUpdateComponentConfiguration,++    -- * Request Lenses+    updateComponentConfiguration_autoConfigEnabled,+    updateComponentConfiguration_componentConfiguration,+    updateComponentConfiguration_monitor,+    updateComponentConfiguration_tier,+    updateComponentConfiguration_resourceGroupName,+    updateComponentConfiguration_componentName,++    -- * Destructuring the Response+    UpdateComponentConfigurationResponse (..),+    newUpdateComponentConfigurationResponse,++    -- * Response Lenses+    updateComponentConfigurationResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newUpdateComponentConfiguration' smart constructor.+data UpdateComponentConfiguration = UpdateComponentConfiguration'+  { -- | Automatically configures the component by applying the recommended+    -- configurations.+    autoConfigEnabled :: Prelude.Maybe Prelude.Bool,+    -- | The configuration settings of the component. The value is the escaped+    -- JSON of the configuration. For more information about the JSON format,+    -- see+    -- <https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/working-with-json.html Working with JSON>.+    -- You can send a request to @DescribeComponentConfigurationRecommendation@+    -- to see the recommended configuration for a component. For the complete+    -- format of the component configuration file, see+    -- <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/component-config.html Component Configuration>.+    componentConfiguration :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether the application component is monitored.+    monitor :: Prelude.Maybe Prelude.Bool,+    -- | The tier of the application component.+    tier :: Prelude.Maybe Tier,+    -- | The name of the resource group.+    resourceGroupName :: Prelude.Text,+    -- | The name of the component.+    componentName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateComponentConfiguration' 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:+--+-- 'autoConfigEnabled', 'updateComponentConfiguration_autoConfigEnabled' - Automatically configures the component by applying the recommended+-- configurations.+--+-- 'componentConfiguration', 'updateComponentConfiguration_componentConfiguration' - The configuration settings of the component. The value is the escaped+-- JSON of the configuration. For more information about the JSON format,+-- see+-- <https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/working-with-json.html Working with JSON>.+-- You can send a request to @DescribeComponentConfigurationRecommendation@+-- to see the recommended configuration for a component. For the complete+-- format of the component configuration file, see+-- <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/component-config.html Component Configuration>.+--+-- 'monitor', 'updateComponentConfiguration_monitor' - Indicates whether the application component is monitored.+--+-- 'tier', 'updateComponentConfiguration_tier' - The tier of the application component.+--+-- 'resourceGroupName', 'updateComponentConfiguration_resourceGroupName' - The name of the resource group.+--+-- 'componentName', 'updateComponentConfiguration_componentName' - The name of the component.+newUpdateComponentConfiguration ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  -- | 'componentName'+  Prelude.Text ->+  UpdateComponentConfiguration+newUpdateComponentConfiguration+  pResourceGroupName_+  pComponentName_ =+    UpdateComponentConfiguration'+      { autoConfigEnabled =+          Prelude.Nothing,+        componentConfiguration = Prelude.Nothing,+        monitor = Prelude.Nothing,+        tier = Prelude.Nothing,+        resourceGroupName = pResourceGroupName_,+        componentName = pComponentName_+      }++-- | Automatically configures the component by applying the recommended+-- configurations.+updateComponentConfiguration_autoConfigEnabled :: Lens.Lens' UpdateComponentConfiguration (Prelude.Maybe Prelude.Bool)+updateComponentConfiguration_autoConfigEnabled = Lens.lens (\UpdateComponentConfiguration' {autoConfigEnabled} -> autoConfigEnabled) (\s@UpdateComponentConfiguration' {} a -> s {autoConfigEnabled = a} :: UpdateComponentConfiguration)++-- | The configuration settings of the component. The value is the escaped+-- JSON of the configuration. For more information about the JSON format,+-- see+-- <https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/working-with-json.html Working with JSON>.+-- You can send a request to @DescribeComponentConfigurationRecommendation@+-- to see the recommended configuration for a component. For the complete+-- format of the component configuration file, see+-- <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/component-config.html Component Configuration>.+updateComponentConfiguration_componentConfiguration :: Lens.Lens' UpdateComponentConfiguration (Prelude.Maybe Prelude.Text)+updateComponentConfiguration_componentConfiguration = Lens.lens (\UpdateComponentConfiguration' {componentConfiguration} -> componentConfiguration) (\s@UpdateComponentConfiguration' {} a -> s {componentConfiguration = a} :: UpdateComponentConfiguration)++-- | Indicates whether the application component is monitored.+updateComponentConfiguration_monitor :: Lens.Lens' UpdateComponentConfiguration (Prelude.Maybe Prelude.Bool)+updateComponentConfiguration_monitor = Lens.lens (\UpdateComponentConfiguration' {monitor} -> monitor) (\s@UpdateComponentConfiguration' {} a -> s {monitor = a} :: UpdateComponentConfiguration)++-- | The tier of the application component.+updateComponentConfiguration_tier :: Lens.Lens' UpdateComponentConfiguration (Prelude.Maybe Tier)+updateComponentConfiguration_tier = Lens.lens (\UpdateComponentConfiguration' {tier} -> tier) (\s@UpdateComponentConfiguration' {} a -> s {tier = a} :: UpdateComponentConfiguration)++-- | The name of the resource group.+updateComponentConfiguration_resourceGroupName :: Lens.Lens' UpdateComponentConfiguration Prelude.Text+updateComponentConfiguration_resourceGroupName = Lens.lens (\UpdateComponentConfiguration' {resourceGroupName} -> resourceGroupName) (\s@UpdateComponentConfiguration' {} a -> s {resourceGroupName = a} :: UpdateComponentConfiguration)++-- | The name of the component.+updateComponentConfiguration_componentName :: Lens.Lens' UpdateComponentConfiguration Prelude.Text+updateComponentConfiguration_componentName = Lens.lens (\UpdateComponentConfiguration' {componentName} -> componentName) (\s@UpdateComponentConfiguration' {} a -> s {componentName = a} :: UpdateComponentConfiguration)++instance Core.AWSRequest UpdateComponentConfiguration where+  type+    AWSResponse UpdateComponentConfiguration =+      UpdateComponentConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateComponentConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    UpdateComponentConfiguration+  where+  hashWithSalt _salt UpdateComponentConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` autoConfigEnabled+      `Prelude.hashWithSalt` componentConfiguration+      `Prelude.hashWithSalt` monitor+      `Prelude.hashWithSalt` tier+      `Prelude.hashWithSalt` resourceGroupName+      `Prelude.hashWithSalt` componentName++instance Prelude.NFData UpdateComponentConfiguration where+  rnf UpdateComponentConfiguration' {..} =+    Prelude.rnf autoConfigEnabled+      `Prelude.seq` Prelude.rnf componentConfiguration+      `Prelude.seq` Prelude.rnf monitor+      `Prelude.seq` Prelude.rnf tier+      `Prelude.seq` Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf componentName++instance Data.ToHeaders UpdateComponentConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.UpdateComponentConfiguration" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateComponentConfiguration where+  toJSON UpdateComponentConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AutoConfigEnabled" Data..=)+              Prelude.<$> autoConfigEnabled,+            ("ComponentConfiguration" Data..=)+              Prelude.<$> componentConfiguration,+            ("Monitor" Data..=) Prelude.<$> monitor,+            ("Tier" Data..=) Prelude.<$> tier,+            Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName),+            Prelude.Just+              ("ComponentName" Data..= componentName)+          ]+      )++instance Data.ToPath UpdateComponentConfiguration where+  toPath = Prelude.const "/"++instance Data.ToQuery UpdateComponentConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateComponentConfigurationResponse' smart constructor.+data UpdateComponentConfigurationResponse = UpdateComponentConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateComponentConfigurationResponse' 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:+--+-- 'httpStatus', 'updateComponentConfigurationResponse_httpStatus' - The response's http status code.+newUpdateComponentConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateComponentConfigurationResponse+newUpdateComponentConfigurationResponse pHttpStatus_ =+  UpdateComponentConfigurationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateComponentConfigurationResponse_httpStatus :: Lens.Lens' UpdateComponentConfigurationResponse Prelude.Int+updateComponentConfigurationResponse_httpStatus = Lens.lens (\UpdateComponentConfigurationResponse' {httpStatus} -> httpStatus) (\s@UpdateComponentConfigurationResponse' {} a -> s {httpStatus = a} :: UpdateComponentConfigurationResponse)++instance+  Prelude.NFData+    UpdateComponentConfigurationResponse+  where+  rnf UpdateComponentConfigurationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/UpdateLogPattern.hs view
@@ -0,0 +1,279 @@+{-# 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.ApplicationInsights.UpdateLogPattern+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a log pattern to a @LogPatternSet@.+module Amazonka.ApplicationInsights.UpdateLogPattern+  ( -- * Creating a Request+    UpdateLogPattern (..),+    newUpdateLogPattern,++    -- * Request Lenses+    updateLogPattern_pattern,+    updateLogPattern_rank,+    updateLogPattern_resourceGroupName,+    updateLogPattern_patternSetName,+    updateLogPattern_patternName,++    -- * Destructuring the Response+    UpdateLogPatternResponse (..),+    newUpdateLogPatternResponse,++    -- * Response Lenses+    updateLogPatternResponse_logPattern,+    updateLogPatternResponse_resourceGroupName,+    updateLogPatternResponse_httpStatus,+  )+where++import Amazonka.ApplicationInsights.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:/ 'newUpdateLogPattern' smart constructor.+data UpdateLogPattern = UpdateLogPattern'+  { -- | The log pattern. The pattern must be DFA compatible. Patterns that+    -- utilize forward lookahead or backreference constructions are not+    -- supported.+    pattern' :: Prelude.Maybe Prelude.Text,+    -- | Rank of the log pattern. Must be a value between @1@ and @1,000,000@.+    -- The patterns are sorted by rank, so we recommend that you set your+    -- highest priority patterns with the lowest rank. A pattern of rank @1@+    -- will be the first to get matched to a log line. A pattern of rank+    -- @1,000,000@ will be last to get matched. When you configure custom log+    -- patterns from the console, a @Low@ severity pattern translates to a+    -- @750,000@ rank. A @Medium@ severity pattern translates to a @500,000@+    -- rank. And a @High@ severity pattern translates to a @250,000@ rank. Rank+    -- values less than @1@ or greater than @1,000,000@ are reserved for+    -- AWS-provided patterns.+    rank :: Prelude.Maybe Prelude.Int,+    -- | The name of the resource group.+    resourceGroupName :: Prelude.Text,+    -- | The name of the log pattern set.+    patternSetName :: Prelude.Text,+    -- | The name of the log pattern.+    patternName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLogPattern' 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:+--+-- 'pattern'', 'updateLogPattern_pattern' - The log pattern. The pattern must be DFA compatible. Patterns that+-- utilize forward lookahead or backreference constructions are not+-- supported.+--+-- 'rank', 'updateLogPattern_rank' - Rank of the log pattern. Must be a value between @1@ and @1,000,000@.+-- The patterns are sorted by rank, so we recommend that you set your+-- highest priority patterns with the lowest rank. A pattern of rank @1@+-- will be the first to get matched to a log line. A pattern of rank+-- @1,000,000@ will be last to get matched. When you configure custom log+-- patterns from the console, a @Low@ severity pattern translates to a+-- @750,000@ rank. A @Medium@ severity pattern translates to a @500,000@+-- rank. And a @High@ severity pattern translates to a @250,000@ rank. Rank+-- values less than @1@ or greater than @1,000,000@ are reserved for+-- AWS-provided patterns.+--+-- 'resourceGroupName', 'updateLogPattern_resourceGroupName' - The name of the resource group.+--+-- 'patternSetName', 'updateLogPattern_patternSetName' - The name of the log pattern set.+--+-- 'patternName', 'updateLogPattern_patternName' - The name of the log pattern.+newUpdateLogPattern ::+  -- | 'resourceGroupName'+  Prelude.Text ->+  -- | 'patternSetName'+  Prelude.Text ->+  -- | 'patternName'+  Prelude.Text ->+  UpdateLogPattern+newUpdateLogPattern+  pResourceGroupName_+  pPatternSetName_+  pPatternName_ =+    UpdateLogPattern'+      { pattern' = Prelude.Nothing,+        rank = Prelude.Nothing,+        resourceGroupName = pResourceGroupName_,+        patternSetName = pPatternSetName_,+        patternName = pPatternName_+      }++-- | The log pattern. The pattern must be DFA compatible. Patterns that+-- utilize forward lookahead or backreference constructions are not+-- supported.+updateLogPattern_pattern :: Lens.Lens' UpdateLogPattern (Prelude.Maybe Prelude.Text)+updateLogPattern_pattern = Lens.lens (\UpdateLogPattern' {pattern'} -> pattern') (\s@UpdateLogPattern' {} a -> s {pattern' = a} :: UpdateLogPattern)++-- | Rank of the log pattern. Must be a value between @1@ and @1,000,000@.+-- The patterns are sorted by rank, so we recommend that you set your+-- highest priority patterns with the lowest rank. A pattern of rank @1@+-- will be the first to get matched to a log line. A pattern of rank+-- @1,000,000@ will be last to get matched. When you configure custom log+-- patterns from the console, a @Low@ severity pattern translates to a+-- @750,000@ rank. A @Medium@ severity pattern translates to a @500,000@+-- rank. And a @High@ severity pattern translates to a @250,000@ rank. Rank+-- values less than @1@ or greater than @1,000,000@ are reserved for+-- AWS-provided patterns.+updateLogPattern_rank :: Lens.Lens' UpdateLogPattern (Prelude.Maybe Prelude.Int)+updateLogPattern_rank = Lens.lens (\UpdateLogPattern' {rank} -> rank) (\s@UpdateLogPattern' {} a -> s {rank = a} :: UpdateLogPattern)++-- | The name of the resource group.+updateLogPattern_resourceGroupName :: Lens.Lens' UpdateLogPattern Prelude.Text+updateLogPattern_resourceGroupName = Lens.lens (\UpdateLogPattern' {resourceGroupName} -> resourceGroupName) (\s@UpdateLogPattern' {} a -> s {resourceGroupName = a} :: UpdateLogPattern)++-- | The name of the log pattern set.+updateLogPattern_patternSetName :: Lens.Lens' UpdateLogPattern Prelude.Text+updateLogPattern_patternSetName = Lens.lens (\UpdateLogPattern' {patternSetName} -> patternSetName) (\s@UpdateLogPattern' {} a -> s {patternSetName = a} :: UpdateLogPattern)++-- | The name of the log pattern.+updateLogPattern_patternName :: Lens.Lens' UpdateLogPattern Prelude.Text+updateLogPattern_patternName = Lens.lens (\UpdateLogPattern' {patternName} -> patternName) (\s@UpdateLogPattern' {} a -> s {patternName = a} :: UpdateLogPattern)++instance Core.AWSRequest UpdateLogPattern where+  type+    AWSResponse UpdateLogPattern =+      UpdateLogPatternResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateLogPatternResponse'+            Prelude.<$> (x Data..?> "LogPattern")+            Prelude.<*> (x Data..?> "ResourceGroupName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateLogPattern where+  hashWithSalt _salt UpdateLogPattern' {..} =+    _salt+      `Prelude.hashWithSalt` pattern'+      `Prelude.hashWithSalt` rank+      `Prelude.hashWithSalt` resourceGroupName+      `Prelude.hashWithSalt` patternSetName+      `Prelude.hashWithSalt` patternName++instance Prelude.NFData UpdateLogPattern where+  rnf UpdateLogPattern' {..} =+    Prelude.rnf pattern'+      `Prelude.seq` Prelude.rnf rank+      `Prelude.seq` Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf patternSetName+      `Prelude.seq` Prelude.rnf patternName++instance Data.ToHeaders UpdateLogPattern where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "EC2WindowsBarleyService.UpdateLogPattern" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateLogPattern where+  toJSON UpdateLogPattern' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Pattern" Data..=) Prelude.<$> pattern',+            ("Rank" Data..=) Prelude.<$> rank,+            Prelude.Just+              ("ResourceGroupName" Data..= resourceGroupName),+            Prelude.Just+              ("PatternSetName" Data..= patternSetName),+            Prelude.Just ("PatternName" Data..= patternName)+          ]+      )++instance Data.ToPath UpdateLogPattern where+  toPath = Prelude.const "/"++instance Data.ToQuery UpdateLogPattern where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateLogPatternResponse' smart constructor.+data UpdateLogPatternResponse = UpdateLogPatternResponse'+  { -- | The successfully created log pattern.+    logPattern :: Prelude.Maybe LogPattern,+    -- | The name of the resource group.+    resourceGroupName :: 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 'UpdateLogPatternResponse' 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:+--+-- 'logPattern', 'updateLogPatternResponse_logPattern' - The successfully created log pattern.+--+-- 'resourceGroupName', 'updateLogPatternResponse_resourceGroupName' - The name of the resource group.+--+-- 'httpStatus', 'updateLogPatternResponse_httpStatus' - The response's http status code.+newUpdateLogPatternResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateLogPatternResponse+newUpdateLogPatternResponse pHttpStatus_ =+  UpdateLogPatternResponse'+    { logPattern =+        Prelude.Nothing,+      resourceGroupName = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The successfully created log pattern.+updateLogPatternResponse_logPattern :: Lens.Lens' UpdateLogPatternResponse (Prelude.Maybe LogPattern)+updateLogPatternResponse_logPattern = Lens.lens (\UpdateLogPatternResponse' {logPattern} -> logPattern) (\s@UpdateLogPatternResponse' {} a -> s {logPattern = a} :: UpdateLogPatternResponse)++-- | The name of the resource group.+updateLogPatternResponse_resourceGroupName :: Lens.Lens' UpdateLogPatternResponse (Prelude.Maybe Prelude.Text)+updateLogPatternResponse_resourceGroupName = Lens.lens (\UpdateLogPatternResponse' {resourceGroupName} -> resourceGroupName) (\s@UpdateLogPatternResponse' {} a -> s {resourceGroupName = a} :: UpdateLogPatternResponse)++-- | The response's http status code.+updateLogPatternResponse_httpStatus :: Lens.Lens' UpdateLogPatternResponse Prelude.Int+updateLogPatternResponse_httpStatus = Lens.lens (\UpdateLogPatternResponse' {httpStatus} -> httpStatus) (\s@UpdateLogPatternResponse' {} a -> s {httpStatus = a} :: UpdateLogPatternResponse)++instance Prelude.NFData UpdateLogPatternResponse where+  rnf UpdateLogPatternResponse' {..} =+    Prelude.rnf logPattern+      `Prelude.seq` Prelude.rnf resourceGroupName+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ApplicationInsights/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ApplicationInsights.Waiters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ApplicationInsights.Waiters where++import Amazonka.ApplicationInsights.Lens+import Amazonka.ApplicationInsights.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
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.ApplicationInsights+import Test.Amazonka.ApplicationInsights.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "ApplicationInsights"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/ApplicationInsights.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.ApplicationInsights+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.ApplicationInsights+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/ApplicationInsights/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.ApplicationInsights.Internal+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.ApplicationInsights.Internal where
+ test/Test/Amazonka/Gen/ApplicationInsights.hs view
@@ -0,0 +1,578 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.Amazonka.Gen.ApplicationInsights+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.ApplicationInsights where++import Amazonka.ApplicationInsights+import qualified Data.Proxy as Proxy+import Test.Amazonka.ApplicationInsights.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestCreateApplication $+--             newCreateApplication+--+--         , requestCreateComponent $+--             newCreateComponent+--+--         , requestCreateLogPattern $+--             newCreateLogPattern+--+--         , requestDeleteApplication $+--             newDeleteApplication+--+--         , requestDeleteComponent $+--             newDeleteComponent+--+--         , requestDeleteLogPattern $+--             newDeleteLogPattern+--+--         , requestDescribeApplication $+--             newDescribeApplication+--+--         , requestDescribeComponent $+--             newDescribeComponent+--+--         , requestDescribeComponentConfiguration $+--             newDescribeComponentConfiguration+--+--         , requestDescribeComponentConfigurationRecommendation $+--             newDescribeComponentConfigurationRecommendation+--+--         , requestDescribeLogPattern $+--             newDescribeLogPattern+--+--         , requestDescribeObservation $+--             newDescribeObservation+--+--         , requestDescribeProblem $+--             newDescribeProblem+--+--         , requestDescribeProblemObservations $+--             newDescribeProblemObservations+--+--         , requestListApplications $+--             newListApplications+--+--         , requestListComponents $+--             newListComponents+--+--         , requestListConfigurationHistory $+--             newListConfigurationHistory+--+--         , requestListLogPatternSets $+--             newListLogPatternSets+--+--         , requestListLogPatterns $+--             newListLogPatterns+--+--         , requestListProblems $+--             newListProblems+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateApplication $+--             newUpdateApplication+--+--         , requestUpdateComponent $+--             newUpdateComponent+--+--         , requestUpdateComponentConfiguration $+--             newUpdateComponentConfiguration+--+--         , requestUpdateLogPattern $+--             newUpdateLogPattern+--+--           ]++--     , testGroup "response"+--         [ responseCreateApplication $+--             newCreateApplicationResponse+--+--         , responseCreateComponent $+--             newCreateComponentResponse+--+--         , responseCreateLogPattern $+--             newCreateLogPatternResponse+--+--         , responseDeleteApplication $+--             newDeleteApplicationResponse+--+--         , responseDeleteComponent $+--             newDeleteComponentResponse+--+--         , responseDeleteLogPattern $+--             newDeleteLogPatternResponse+--+--         , responseDescribeApplication $+--             newDescribeApplicationResponse+--+--         , responseDescribeComponent $+--             newDescribeComponentResponse+--+--         , responseDescribeComponentConfiguration $+--             newDescribeComponentConfigurationResponse+--+--         , responseDescribeComponentConfigurationRecommendation $+--             newDescribeComponentConfigurationRecommendationResponse+--+--         , responseDescribeLogPattern $+--             newDescribeLogPatternResponse+--+--         , responseDescribeObservation $+--             newDescribeObservationResponse+--+--         , responseDescribeProblem $+--             newDescribeProblemResponse+--+--         , responseDescribeProblemObservations $+--             newDescribeProblemObservationsResponse+--+--         , responseListApplications $+--             newListApplicationsResponse+--+--         , responseListComponents $+--             newListComponentsResponse+--+--         , responseListConfigurationHistory $+--             newListConfigurationHistoryResponse+--+--         , responseListLogPatternSets $+--             newListLogPatternSetsResponse+--+--         , responseListLogPatterns $+--             newListLogPatternsResponse+--+--         , responseListProblems $+--             newListProblemsResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateApplication $+--             newUpdateApplicationResponse+--+--         , responseUpdateComponent $+--             newUpdateComponentResponse+--+--         , responseUpdateComponentConfiguration $+--             newUpdateComponentConfigurationResponse+--+--         , responseUpdateLogPattern $+--             newUpdateLogPatternResponse+--+--           ]+--     ]++-- Requests++requestCreateApplication :: CreateApplication -> TestTree+requestCreateApplication =+  req+    "CreateApplication"+    "fixture/CreateApplication.yaml"++requestCreateComponent :: CreateComponent -> TestTree+requestCreateComponent =+  req+    "CreateComponent"+    "fixture/CreateComponent.yaml"++requestCreateLogPattern :: CreateLogPattern -> TestTree+requestCreateLogPattern =+  req+    "CreateLogPattern"+    "fixture/CreateLogPattern.yaml"++requestDeleteApplication :: DeleteApplication -> TestTree+requestDeleteApplication =+  req+    "DeleteApplication"+    "fixture/DeleteApplication.yaml"++requestDeleteComponent :: DeleteComponent -> TestTree+requestDeleteComponent =+  req+    "DeleteComponent"+    "fixture/DeleteComponent.yaml"++requestDeleteLogPattern :: DeleteLogPattern -> TestTree+requestDeleteLogPattern =+  req+    "DeleteLogPattern"+    "fixture/DeleteLogPattern.yaml"++requestDescribeApplication :: DescribeApplication -> TestTree+requestDescribeApplication =+  req+    "DescribeApplication"+    "fixture/DescribeApplication.yaml"++requestDescribeComponent :: DescribeComponent -> TestTree+requestDescribeComponent =+  req+    "DescribeComponent"+    "fixture/DescribeComponent.yaml"++requestDescribeComponentConfiguration :: DescribeComponentConfiguration -> TestTree+requestDescribeComponentConfiguration =+  req+    "DescribeComponentConfiguration"+    "fixture/DescribeComponentConfiguration.yaml"++requestDescribeComponentConfigurationRecommendation :: DescribeComponentConfigurationRecommendation -> TestTree+requestDescribeComponentConfigurationRecommendation =+  req+    "DescribeComponentConfigurationRecommendation"+    "fixture/DescribeComponentConfigurationRecommendation.yaml"++requestDescribeLogPattern :: DescribeLogPattern -> TestTree+requestDescribeLogPattern =+  req+    "DescribeLogPattern"+    "fixture/DescribeLogPattern.yaml"++requestDescribeObservation :: DescribeObservation -> TestTree+requestDescribeObservation =+  req+    "DescribeObservation"+    "fixture/DescribeObservation.yaml"++requestDescribeProblem :: DescribeProblem -> TestTree+requestDescribeProblem =+  req+    "DescribeProblem"+    "fixture/DescribeProblem.yaml"++requestDescribeProblemObservations :: DescribeProblemObservations -> TestTree+requestDescribeProblemObservations =+  req+    "DescribeProblemObservations"+    "fixture/DescribeProblemObservations.yaml"++requestListApplications :: ListApplications -> TestTree+requestListApplications =+  req+    "ListApplications"+    "fixture/ListApplications.yaml"++requestListComponents :: ListComponents -> TestTree+requestListComponents =+  req+    "ListComponents"+    "fixture/ListComponents.yaml"++requestListConfigurationHistory :: ListConfigurationHistory -> TestTree+requestListConfigurationHistory =+  req+    "ListConfigurationHistory"+    "fixture/ListConfigurationHistory.yaml"++requestListLogPatternSets :: ListLogPatternSets -> TestTree+requestListLogPatternSets =+  req+    "ListLogPatternSets"+    "fixture/ListLogPatternSets.yaml"++requestListLogPatterns :: ListLogPatterns -> TestTree+requestListLogPatterns =+  req+    "ListLogPatterns"+    "fixture/ListLogPatterns.yaml"++requestListProblems :: ListProblems -> TestTree+requestListProblems =+  req+    "ListProblems"+    "fixture/ListProblems.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateApplication :: UpdateApplication -> TestTree+requestUpdateApplication =+  req+    "UpdateApplication"+    "fixture/UpdateApplication.yaml"++requestUpdateComponent :: UpdateComponent -> TestTree+requestUpdateComponent =+  req+    "UpdateComponent"+    "fixture/UpdateComponent.yaml"++requestUpdateComponentConfiguration :: UpdateComponentConfiguration -> TestTree+requestUpdateComponentConfiguration =+  req+    "UpdateComponentConfiguration"+    "fixture/UpdateComponentConfiguration.yaml"++requestUpdateLogPattern :: UpdateLogPattern -> TestTree+requestUpdateLogPattern =+  req+    "UpdateLogPattern"+    "fixture/UpdateLogPattern.yaml"++-- Responses++responseCreateApplication :: CreateApplicationResponse -> TestTree+responseCreateApplication =+  res+    "CreateApplicationResponse"+    "fixture/CreateApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateApplication)++responseCreateComponent :: CreateComponentResponse -> TestTree+responseCreateComponent =+  res+    "CreateComponentResponse"+    "fixture/CreateComponentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateComponent)++responseCreateLogPattern :: CreateLogPatternResponse -> TestTree+responseCreateLogPattern =+  res+    "CreateLogPatternResponse"+    "fixture/CreateLogPatternResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateLogPattern)++responseDeleteApplication :: DeleteApplicationResponse -> TestTree+responseDeleteApplication =+  res+    "DeleteApplicationResponse"+    "fixture/DeleteApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteApplication)++responseDeleteComponent :: DeleteComponentResponse -> TestTree+responseDeleteComponent =+  res+    "DeleteComponentResponse"+    "fixture/DeleteComponentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteComponent)++responseDeleteLogPattern :: DeleteLogPatternResponse -> TestTree+responseDeleteLogPattern =+  res+    "DeleteLogPatternResponse"+    "fixture/DeleteLogPatternResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteLogPattern)++responseDescribeApplication :: DescribeApplicationResponse -> TestTree+responseDescribeApplication =+  res+    "DescribeApplicationResponse"+    "fixture/DescribeApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeApplication)++responseDescribeComponent :: DescribeComponentResponse -> TestTree+responseDescribeComponent =+  res+    "DescribeComponentResponse"+    "fixture/DescribeComponentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeComponent)++responseDescribeComponentConfiguration :: DescribeComponentConfigurationResponse -> TestTree+responseDescribeComponentConfiguration =+  res+    "DescribeComponentConfigurationResponse"+    "fixture/DescribeComponentConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeComponentConfiguration)++responseDescribeComponentConfigurationRecommendation :: DescribeComponentConfigurationRecommendationResponse -> TestTree+responseDescribeComponentConfigurationRecommendation =+  res+    "DescribeComponentConfigurationRecommendationResponse"+    "fixture/DescribeComponentConfigurationRecommendationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeComponentConfigurationRecommendation)++responseDescribeLogPattern :: DescribeLogPatternResponse -> TestTree+responseDescribeLogPattern =+  res+    "DescribeLogPatternResponse"+    "fixture/DescribeLogPatternResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeLogPattern)++responseDescribeObservation :: DescribeObservationResponse -> TestTree+responseDescribeObservation =+  res+    "DescribeObservationResponse"+    "fixture/DescribeObservationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeObservation)++responseDescribeProblem :: DescribeProblemResponse -> TestTree+responseDescribeProblem =+  res+    "DescribeProblemResponse"+    "fixture/DescribeProblemResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeProblem)++responseDescribeProblemObservations :: DescribeProblemObservationsResponse -> TestTree+responseDescribeProblemObservations =+  res+    "DescribeProblemObservationsResponse"+    "fixture/DescribeProblemObservationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeProblemObservations)++responseListApplications :: ListApplicationsResponse -> TestTree+responseListApplications =+  res+    "ListApplicationsResponse"+    "fixture/ListApplicationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListApplications)++responseListComponents :: ListComponentsResponse -> TestTree+responseListComponents =+  res+    "ListComponentsResponse"+    "fixture/ListComponentsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListComponents)++responseListConfigurationHistory :: ListConfigurationHistoryResponse -> TestTree+responseListConfigurationHistory =+  res+    "ListConfigurationHistoryResponse"+    "fixture/ListConfigurationHistoryResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListConfigurationHistory)++responseListLogPatternSets :: ListLogPatternSetsResponse -> TestTree+responseListLogPatternSets =+  res+    "ListLogPatternSetsResponse"+    "fixture/ListLogPatternSetsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListLogPatternSets)++responseListLogPatterns :: ListLogPatternsResponse -> TestTree+responseListLogPatterns =+  res+    "ListLogPatternsResponse"+    "fixture/ListLogPatternsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListLogPatterns)++responseListProblems :: ListProblemsResponse -> TestTree+responseListProblems =+  res+    "ListProblemsResponse"+    "fixture/ListProblemsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListProblems)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateApplication :: UpdateApplicationResponse -> TestTree+responseUpdateApplication =+  res+    "UpdateApplicationResponse"+    "fixture/UpdateApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateApplication)++responseUpdateComponent :: UpdateComponentResponse -> TestTree+responseUpdateComponent =+  res+    "UpdateComponentResponse"+    "fixture/UpdateComponentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateComponent)++responseUpdateComponentConfiguration :: UpdateComponentConfigurationResponse -> TestTree+responseUpdateComponentConfiguration =+  res+    "UpdateComponentConfigurationResponse"+    "fixture/UpdateComponentConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateComponentConfiguration)++responseUpdateLogPattern :: UpdateLogPatternResponse -> TestTree+responseUpdateLogPattern =+  res+    "UpdateLogPatternResponse"+    "fixture/UpdateLogPatternResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateLogPattern)