packages feed

amazonka-amp (empty) → 2.0

raw patch · 89 files changed

+7962/−0 lines, 89 filesdep +amazonka-ampdep +amazonka-coredep +amazonka-test

Dependencies added: amazonka-amp, 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 Prometheus Service SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-08-01@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-amp)+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.AMP](http://hackage.haskell.org/package/amazonka-amp/docs/Amazonka-AMP.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-amp` 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-amp.cabal view
@@ -0,0 +1,118 @@+cabal-version:      2.2+name:               amazonka-amp+version:            2.0+synopsis:           Amazon Prometheus Service 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 @2020-08-01@ 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.AMP.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.AMP" 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-amp++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.AMP+    Amazonka.AMP.CreateAlertManagerDefinition+    Amazonka.AMP.CreateLoggingConfiguration+    Amazonka.AMP.CreateRuleGroupsNamespace+    Amazonka.AMP.CreateWorkspace+    Amazonka.AMP.DeleteAlertManagerDefinition+    Amazonka.AMP.DeleteLoggingConfiguration+    Amazonka.AMP.DeleteRuleGroupsNamespace+    Amazonka.AMP.DeleteWorkspace+    Amazonka.AMP.DescribeAlertManagerDefinition+    Amazonka.AMP.DescribeLoggingConfiguration+    Amazonka.AMP.DescribeRuleGroupsNamespace+    Amazonka.AMP.DescribeWorkspace+    Amazonka.AMP.Lens+    Amazonka.AMP.ListRuleGroupsNamespaces+    Amazonka.AMP.ListTagsForResource+    Amazonka.AMP.ListWorkspaces+    Amazonka.AMP.PutAlertManagerDefinition+    Amazonka.AMP.PutRuleGroupsNamespace+    Amazonka.AMP.TagResource+    Amazonka.AMP.Types+    Amazonka.AMP.Types.AlertManagerDefinitionDescription+    Amazonka.AMP.Types.AlertManagerDefinitionStatus+    Amazonka.AMP.Types.AlertManagerDefinitionStatusCode+    Amazonka.AMP.Types.LoggingConfigurationMetadata+    Amazonka.AMP.Types.LoggingConfigurationStatus+    Amazonka.AMP.Types.LoggingConfigurationStatusCode+    Amazonka.AMP.Types.RuleGroupsNamespaceDescription+    Amazonka.AMP.Types.RuleGroupsNamespaceStatus+    Amazonka.AMP.Types.RuleGroupsNamespaceStatusCode+    Amazonka.AMP.Types.RuleGroupsNamespaceSummary+    Amazonka.AMP.Types.WorkspaceDescription+    Amazonka.AMP.Types.WorkspaceStatus+    Amazonka.AMP.Types.WorkspaceStatusCode+    Amazonka.AMP.Types.WorkspaceSummary+    Amazonka.AMP.UntagResource+    Amazonka.AMP.UpdateLoggingConfiguration+    Amazonka.AMP.UpdateWorkspaceAlias+    Amazonka.AMP.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-amp-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.AMP+    Test.Amazonka.AMP.Internal+    Test.Amazonka.Gen.AMP++  build-depends:+    , amazonka-amp+    , amazonka-core         >=2.0 && <2.1+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateAlertManagerDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/CreateAlertManagerDefinitionResponse.proto view
+ fixture/CreateLoggingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/CreateLoggingConfigurationResponse.proto view
+ fixture/CreateRuleGroupsNamespace.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/CreateRuleGroupsNamespaceResponse.proto view
+ fixture/CreateWorkspace.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/CreateWorkspaceResponse.proto view
+ fixture/DeleteAlertManagerDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/DeleteAlertManagerDefinitionResponse.proto view
+ fixture/DeleteLoggingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/DeleteLoggingConfigurationResponse.proto view
+ fixture/DeleteRuleGroupsNamespace.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/DeleteRuleGroupsNamespaceResponse.proto view
+ fixture/DeleteWorkspace.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/DeleteWorkspaceResponse.proto view
+ fixture/DescribeAlertManagerDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/DescribeAlertManagerDefinitionResponse.proto view
+ fixture/DescribeLoggingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/DescribeLoggingConfigurationResponse.proto view
+ fixture/DescribeRuleGroupsNamespace.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/DescribeRuleGroupsNamespaceResponse.proto view
+ fixture/DescribeWorkspace.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/DescribeWorkspaceResponse.proto view
+ fixture/ListRuleGroupsNamespaces.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/ListRuleGroupsNamespacesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/ListWorkspaces.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/ListWorkspacesResponse.proto view
+ fixture/PutAlertManagerDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/PutAlertManagerDefinitionResponse.proto view
+ fixture/PutRuleGroupsNamespace.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/PutRuleGroupsNamespaceResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/UpdateLoggingConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/UpdateLoggingConfigurationResponse.proto view
+ fixture/UpdateWorkspaceAlias.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aps/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  aps.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/UpdateWorkspaceAliasResponse.proto view
+ gen/Amazonka/AMP.hs view
@@ -0,0 +1,287 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.AMP+-- 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 @2020-08-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Managed Service for Prometheus+module Amazonka.AMP+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- ** WorkspaceActive+    newWorkspaceActive,++    -- ** WorkspaceDeleted+    newWorkspaceDeleted,++    -- * Operations+    -- $operations++    -- ** CreateAlertManagerDefinition+    CreateAlertManagerDefinition (CreateAlertManagerDefinition'),+    newCreateAlertManagerDefinition,+    CreateAlertManagerDefinitionResponse (CreateAlertManagerDefinitionResponse'),+    newCreateAlertManagerDefinitionResponse,++    -- ** CreateLoggingConfiguration+    CreateLoggingConfiguration (CreateLoggingConfiguration'),+    newCreateLoggingConfiguration,+    CreateLoggingConfigurationResponse (CreateLoggingConfigurationResponse'),+    newCreateLoggingConfigurationResponse,++    -- ** CreateRuleGroupsNamespace+    CreateRuleGroupsNamespace (CreateRuleGroupsNamespace'),+    newCreateRuleGroupsNamespace,+    CreateRuleGroupsNamespaceResponse (CreateRuleGroupsNamespaceResponse'),+    newCreateRuleGroupsNamespaceResponse,++    -- ** CreateWorkspace+    CreateWorkspace (CreateWorkspace'),+    newCreateWorkspace,+    CreateWorkspaceResponse (CreateWorkspaceResponse'),+    newCreateWorkspaceResponse,++    -- ** DeleteAlertManagerDefinition+    DeleteAlertManagerDefinition (DeleteAlertManagerDefinition'),+    newDeleteAlertManagerDefinition,+    DeleteAlertManagerDefinitionResponse (DeleteAlertManagerDefinitionResponse'),+    newDeleteAlertManagerDefinitionResponse,++    -- ** DeleteLoggingConfiguration+    DeleteLoggingConfiguration (DeleteLoggingConfiguration'),+    newDeleteLoggingConfiguration,+    DeleteLoggingConfigurationResponse (DeleteLoggingConfigurationResponse'),+    newDeleteLoggingConfigurationResponse,++    -- ** DeleteRuleGroupsNamespace+    DeleteRuleGroupsNamespace (DeleteRuleGroupsNamespace'),+    newDeleteRuleGroupsNamespace,+    DeleteRuleGroupsNamespaceResponse (DeleteRuleGroupsNamespaceResponse'),+    newDeleteRuleGroupsNamespaceResponse,++    -- ** DeleteWorkspace+    DeleteWorkspace (DeleteWorkspace'),+    newDeleteWorkspace,+    DeleteWorkspaceResponse (DeleteWorkspaceResponse'),+    newDeleteWorkspaceResponse,++    -- ** DescribeAlertManagerDefinition+    DescribeAlertManagerDefinition (DescribeAlertManagerDefinition'),+    newDescribeAlertManagerDefinition,+    DescribeAlertManagerDefinitionResponse (DescribeAlertManagerDefinitionResponse'),+    newDescribeAlertManagerDefinitionResponse,++    -- ** DescribeLoggingConfiguration+    DescribeLoggingConfiguration (DescribeLoggingConfiguration'),+    newDescribeLoggingConfiguration,+    DescribeLoggingConfigurationResponse (DescribeLoggingConfigurationResponse'),+    newDescribeLoggingConfigurationResponse,++    -- ** DescribeRuleGroupsNamespace+    DescribeRuleGroupsNamespace (DescribeRuleGroupsNamespace'),+    newDescribeRuleGroupsNamespace,+    DescribeRuleGroupsNamespaceResponse (DescribeRuleGroupsNamespaceResponse'),+    newDescribeRuleGroupsNamespaceResponse,++    -- ** DescribeWorkspace+    DescribeWorkspace (DescribeWorkspace'),+    newDescribeWorkspace,+    DescribeWorkspaceResponse (DescribeWorkspaceResponse'),+    newDescribeWorkspaceResponse,++    -- ** ListRuleGroupsNamespaces (Paginated)+    ListRuleGroupsNamespaces (ListRuleGroupsNamespaces'),+    newListRuleGroupsNamespaces,+    ListRuleGroupsNamespacesResponse (ListRuleGroupsNamespacesResponse'),+    newListRuleGroupsNamespacesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ListWorkspaces (Paginated)+    ListWorkspaces (ListWorkspaces'),+    newListWorkspaces,+    ListWorkspacesResponse (ListWorkspacesResponse'),+    newListWorkspacesResponse,++    -- ** PutAlertManagerDefinition+    PutAlertManagerDefinition (PutAlertManagerDefinition'),+    newPutAlertManagerDefinition,+    PutAlertManagerDefinitionResponse (PutAlertManagerDefinitionResponse'),+    newPutAlertManagerDefinitionResponse,++    -- ** PutRuleGroupsNamespace+    PutRuleGroupsNamespace (PutRuleGroupsNamespace'),+    newPutRuleGroupsNamespace,+    PutRuleGroupsNamespaceResponse (PutRuleGroupsNamespaceResponse'),+    newPutRuleGroupsNamespaceResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateLoggingConfiguration+    UpdateLoggingConfiguration (UpdateLoggingConfiguration'),+    newUpdateLoggingConfiguration,+    UpdateLoggingConfigurationResponse (UpdateLoggingConfigurationResponse'),+    newUpdateLoggingConfigurationResponse,++    -- ** UpdateWorkspaceAlias+    UpdateWorkspaceAlias (UpdateWorkspaceAlias'),+    newUpdateWorkspaceAlias,+    UpdateWorkspaceAliasResponse (UpdateWorkspaceAliasResponse'),+    newUpdateWorkspaceAliasResponse,++    -- * Types++    -- ** AlertManagerDefinitionStatusCode+    AlertManagerDefinitionStatusCode (..),++    -- ** LoggingConfigurationStatusCode+    LoggingConfigurationStatusCode (..),++    -- ** RuleGroupsNamespaceStatusCode+    RuleGroupsNamespaceStatusCode (..),++    -- ** WorkspaceStatusCode+    WorkspaceStatusCode (..),++    -- ** AlertManagerDefinitionDescription+    AlertManagerDefinitionDescription (AlertManagerDefinitionDescription'),+    newAlertManagerDefinitionDescription,++    -- ** AlertManagerDefinitionStatus+    AlertManagerDefinitionStatus (AlertManagerDefinitionStatus'),+    newAlertManagerDefinitionStatus,++    -- ** LoggingConfigurationMetadata+    LoggingConfigurationMetadata (LoggingConfigurationMetadata'),+    newLoggingConfigurationMetadata,++    -- ** LoggingConfigurationStatus+    LoggingConfigurationStatus (LoggingConfigurationStatus'),+    newLoggingConfigurationStatus,++    -- ** RuleGroupsNamespaceDescription+    RuleGroupsNamespaceDescription (RuleGroupsNamespaceDescription'),+    newRuleGroupsNamespaceDescription,++    -- ** RuleGroupsNamespaceStatus+    RuleGroupsNamespaceStatus (RuleGroupsNamespaceStatus'),+    newRuleGroupsNamespaceStatus,++    -- ** RuleGroupsNamespaceSummary+    RuleGroupsNamespaceSummary (RuleGroupsNamespaceSummary'),+    newRuleGroupsNamespaceSummary,++    -- ** WorkspaceDescription+    WorkspaceDescription (WorkspaceDescription'),+    newWorkspaceDescription,++    -- ** WorkspaceStatus+    WorkspaceStatus (WorkspaceStatus'),+    newWorkspaceStatus,++    -- ** WorkspaceSummary+    WorkspaceSummary (WorkspaceSummary'),+    newWorkspaceSummary,+  )+where++import Amazonka.AMP.CreateAlertManagerDefinition+import Amazonka.AMP.CreateLoggingConfiguration+import Amazonka.AMP.CreateRuleGroupsNamespace+import Amazonka.AMP.CreateWorkspace+import Amazonka.AMP.DeleteAlertManagerDefinition+import Amazonka.AMP.DeleteLoggingConfiguration+import Amazonka.AMP.DeleteRuleGroupsNamespace+import Amazonka.AMP.DeleteWorkspace+import Amazonka.AMP.DescribeAlertManagerDefinition+import Amazonka.AMP.DescribeLoggingConfiguration+import Amazonka.AMP.DescribeRuleGroupsNamespace+import Amazonka.AMP.DescribeWorkspace+import Amazonka.AMP.Lens+import Amazonka.AMP.ListRuleGroupsNamespaces+import Amazonka.AMP.ListTagsForResource+import Amazonka.AMP.ListWorkspaces+import Amazonka.AMP.PutAlertManagerDefinition+import Amazonka.AMP.PutRuleGroupsNamespace+import Amazonka.AMP.TagResource+import Amazonka.AMP.Types+import Amazonka.AMP.UntagResource+import Amazonka.AMP.UpdateLoggingConfiguration+import Amazonka.AMP.UpdateWorkspaceAlias+import Amazonka.AMP.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 'AMP'.++-- $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/AMP/CreateAlertManagerDefinition.hs view
@@ -0,0 +1,227 @@+{-# 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.AMP.CreateAlertManagerDefinition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create an alert manager definition.+module Amazonka.AMP.CreateAlertManagerDefinition+  ( -- * Creating a Request+    CreateAlertManagerDefinition (..),+    newCreateAlertManagerDefinition,++    -- * Request Lenses+    createAlertManagerDefinition_clientToken,+    createAlertManagerDefinition_data,+    createAlertManagerDefinition_workspaceId,++    -- * Destructuring the Response+    CreateAlertManagerDefinitionResponse (..),+    newCreateAlertManagerDefinitionResponse,++    -- * Response Lenses+    createAlertManagerDefinitionResponse_httpStatus,+    createAlertManagerDefinitionResponse_status,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a CreateAlertManagerDefinition operation.+--+-- /See:/ 'newCreateAlertManagerDefinition' smart constructor.+data CreateAlertManagerDefinition = CreateAlertManagerDefinition'+  { -- | Optional, unique, case-sensitive, user-provided identifier to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The alert manager definition data.+    data' :: Data.Base64,+    -- | The ID of the workspace in which to create the alert manager definition.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAlertManagerDefinition' 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:+--+-- 'clientToken', 'createAlertManagerDefinition_clientToken' - Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+--+-- 'data'', 'createAlertManagerDefinition_data' - The alert manager definition data.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'workspaceId', 'createAlertManagerDefinition_workspaceId' - The ID of the workspace in which to create the alert manager definition.+newCreateAlertManagerDefinition ::+  -- | 'data''+  Prelude.ByteString ->+  -- | 'workspaceId'+  Prelude.Text ->+  CreateAlertManagerDefinition+newCreateAlertManagerDefinition pData_ pWorkspaceId_ =+  CreateAlertManagerDefinition'+    { clientToken =+        Prelude.Nothing,+      data' = Data._Base64 Lens.# pData_,+      workspaceId = pWorkspaceId_+    }++-- | Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+createAlertManagerDefinition_clientToken :: Lens.Lens' CreateAlertManagerDefinition (Prelude.Maybe Prelude.Text)+createAlertManagerDefinition_clientToken = Lens.lens (\CreateAlertManagerDefinition' {clientToken} -> clientToken) (\s@CreateAlertManagerDefinition' {} a -> s {clientToken = a} :: CreateAlertManagerDefinition)++-- | The alert manager definition data.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+createAlertManagerDefinition_data :: Lens.Lens' CreateAlertManagerDefinition Prelude.ByteString+createAlertManagerDefinition_data = Lens.lens (\CreateAlertManagerDefinition' {data'} -> data') (\s@CreateAlertManagerDefinition' {} a -> s {data' = a} :: CreateAlertManagerDefinition) Prelude.. Data._Base64++-- | The ID of the workspace in which to create the alert manager definition.+createAlertManagerDefinition_workspaceId :: Lens.Lens' CreateAlertManagerDefinition Prelude.Text+createAlertManagerDefinition_workspaceId = Lens.lens (\CreateAlertManagerDefinition' {workspaceId} -> workspaceId) (\s@CreateAlertManagerDefinition' {} a -> s {workspaceId = a} :: CreateAlertManagerDefinition)++instance Core.AWSRequest CreateAlertManagerDefinition where+  type+    AWSResponse CreateAlertManagerDefinition =+      CreateAlertManagerDefinitionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAlertManagerDefinitionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "status")+      )++instance+  Prelude.Hashable+    CreateAlertManagerDefinition+  where+  hashWithSalt _salt CreateAlertManagerDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` data'+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData CreateAlertManagerDefinition where+  rnf CreateAlertManagerDefinition' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf data'+      `Prelude.seq` Prelude.rnf workspaceId++instance Data.ToHeaders CreateAlertManagerDefinition where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateAlertManagerDefinition where+  toJSON CreateAlertManagerDefinition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            Prelude.Just ("data" Data..= data')+          ]+      )++instance Data.ToPath CreateAlertManagerDefinition where+  toPath CreateAlertManagerDefinition' {..} =+    Prelude.mconcat+      [ "/workspaces/",+        Data.toBS workspaceId,+        "/alertmanager/definition"+      ]++instance Data.ToQuery CreateAlertManagerDefinition where+  toQuery = Prelude.const Prelude.mempty++-- | Represents the output of a CreateAlertManagerDefinition operation.+--+-- /See:/ 'newCreateAlertManagerDefinitionResponse' smart constructor.+data CreateAlertManagerDefinitionResponse = CreateAlertManagerDefinitionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The status of alert manager definition.+    status :: AlertManagerDefinitionStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAlertManagerDefinitionResponse' 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', 'createAlertManagerDefinitionResponse_httpStatus' - The response's http status code.+--+-- 'status', 'createAlertManagerDefinitionResponse_status' - The status of alert manager definition.+newCreateAlertManagerDefinitionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'status'+  AlertManagerDefinitionStatus ->+  CreateAlertManagerDefinitionResponse+newCreateAlertManagerDefinitionResponse+  pHttpStatus_+  pStatus_ =+    CreateAlertManagerDefinitionResponse'+      { httpStatus =+          pHttpStatus_,+        status = pStatus_+      }++-- | The response's http status code.+createAlertManagerDefinitionResponse_httpStatus :: Lens.Lens' CreateAlertManagerDefinitionResponse Prelude.Int+createAlertManagerDefinitionResponse_httpStatus = Lens.lens (\CreateAlertManagerDefinitionResponse' {httpStatus} -> httpStatus) (\s@CreateAlertManagerDefinitionResponse' {} a -> s {httpStatus = a} :: CreateAlertManagerDefinitionResponse)++-- | The status of alert manager definition.+createAlertManagerDefinitionResponse_status :: Lens.Lens' CreateAlertManagerDefinitionResponse AlertManagerDefinitionStatus+createAlertManagerDefinitionResponse_status = Lens.lens (\CreateAlertManagerDefinitionResponse' {status} -> status) (\s@CreateAlertManagerDefinitionResponse' {} a -> s {status = a} :: CreateAlertManagerDefinitionResponse)++instance+  Prelude.NFData+    CreateAlertManagerDefinitionResponse+  where+  rnf CreateAlertManagerDefinitionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AMP/CreateLoggingConfiguration.hs view
@@ -0,0 +1,218 @@+{-# 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.AMP.CreateLoggingConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create logging configuration.+module Amazonka.AMP.CreateLoggingConfiguration+  ( -- * Creating a Request+    CreateLoggingConfiguration (..),+    newCreateLoggingConfiguration,++    -- * Request Lenses+    createLoggingConfiguration_clientToken,+    createLoggingConfiguration_logGroupArn,+    createLoggingConfiguration_workspaceId,++    -- * Destructuring the Response+    CreateLoggingConfigurationResponse (..),+    newCreateLoggingConfigurationResponse,++    -- * Response Lenses+    createLoggingConfigurationResponse_httpStatus,+    createLoggingConfigurationResponse_status,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a CreateLoggingConfiguration operation.+--+-- /See:/ 'newCreateLoggingConfiguration' smart constructor.+data CreateLoggingConfiguration = CreateLoggingConfiguration'+  { -- | Optional, unique, case-sensitive, user-provided identifier to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the CW log group to which the vended log data will be+    -- published.+    logGroupArn :: Prelude.Text,+    -- | The ID of the workspace to vend logs to.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLoggingConfiguration' 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:+--+-- 'clientToken', 'createLoggingConfiguration_clientToken' - Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+--+-- 'logGroupArn', 'createLoggingConfiguration_logGroupArn' - The ARN of the CW log group to which the vended log data will be+-- published.+--+-- 'workspaceId', 'createLoggingConfiguration_workspaceId' - The ID of the workspace to vend logs to.+newCreateLoggingConfiguration ::+  -- | 'logGroupArn'+  Prelude.Text ->+  -- | 'workspaceId'+  Prelude.Text ->+  CreateLoggingConfiguration+newCreateLoggingConfiguration+  pLogGroupArn_+  pWorkspaceId_ =+    CreateLoggingConfiguration'+      { clientToken =+          Prelude.Nothing,+        logGroupArn = pLogGroupArn_,+        workspaceId = pWorkspaceId_+      }++-- | Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+createLoggingConfiguration_clientToken :: Lens.Lens' CreateLoggingConfiguration (Prelude.Maybe Prelude.Text)+createLoggingConfiguration_clientToken = Lens.lens (\CreateLoggingConfiguration' {clientToken} -> clientToken) (\s@CreateLoggingConfiguration' {} a -> s {clientToken = a} :: CreateLoggingConfiguration)++-- | The ARN of the CW log group to which the vended log data will be+-- published.+createLoggingConfiguration_logGroupArn :: Lens.Lens' CreateLoggingConfiguration Prelude.Text+createLoggingConfiguration_logGroupArn = Lens.lens (\CreateLoggingConfiguration' {logGroupArn} -> logGroupArn) (\s@CreateLoggingConfiguration' {} a -> s {logGroupArn = a} :: CreateLoggingConfiguration)++-- | The ID of the workspace to vend logs to.+createLoggingConfiguration_workspaceId :: Lens.Lens' CreateLoggingConfiguration Prelude.Text+createLoggingConfiguration_workspaceId = Lens.lens (\CreateLoggingConfiguration' {workspaceId} -> workspaceId) (\s@CreateLoggingConfiguration' {} a -> s {workspaceId = a} :: CreateLoggingConfiguration)++instance Core.AWSRequest CreateLoggingConfiguration where+  type+    AWSResponse CreateLoggingConfiguration =+      CreateLoggingConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateLoggingConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "status")+      )++instance Prelude.Hashable CreateLoggingConfiguration where+  hashWithSalt _salt CreateLoggingConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` logGroupArn+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData CreateLoggingConfiguration where+  rnf CreateLoggingConfiguration' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf logGroupArn+      `Prelude.seq` Prelude.rnf workspaceId++instance Data.ToHeaders CreateLoggingConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateLoggingConfiguration where+  toJSON CreateLoggingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            Prelude.Just ("logGroupArn" Data..= logGroupArn)+          ]+      )++instance Data.ToPath CreateLoggingConfiguration where+  toPath CreateLoggingConfiguration' {..} =+    Prelude.mconcat+      ["/workspaces/", Data.toBS workspaceId, "/logging"]++instance Data.ToQuery CreateLoggingConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | Represents the output of a CreateLoggingConfiguration operation.+--+-- /See:/ 'newCreateLoggingConfigurationResponse' smart constructor.+data CreateLoggingConfigurationResponse = CreateLoggingConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The status of the logging configuration.+    status :: LoggingConfigurationStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLoggingConfigurationResponse' 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', 'createLoggingConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'status', 'createLoggingConfigurationResponse_status' - The status of the logging configuration.+newCreateLoggingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'status'+  LoggingConfigurationStatus ->+  CreateLoggingConfigurationResponse+newCreateLoggingConfigurationResponse+  pHttpStatus_+  pStatus_ =+    CreateLoggingConfigurationResponse'+      { httpStatus =+          pHttpStatus_,+        status = pStatus_+      }++-- | The response's http status code.+createLoggingConfigurationResponse_httpStatus :: Lens.Lens' CreateLoggingConfigurationResponse Prelude.Int+createLoggingConfigurationResponse_httpStatus = Lens.lens (\CreateLoggingConfigurationResponse' {httpStatus} -> httpStatus) (\s@CreateLoggingConfigurationResponse' {} a -> s {httpStatus = a} :: CreateLoggingConfigurationResponse)++-- | The status of the logging configuration.+createLoggingConfigurationResponse_status :: Lens.Lens' CreateLoggingConfigurationResponse LoggingConfigurationStatus+createLoggingConfigurationResponse_status = Lens.lens (\CreateLoggingConfigurationResponse' {status} -> status) (\s@CreateLoggingConfigurationResponse' {} a -> s {status = a} :: CreateLoggingConfigurationResponse)++instance+  Prelude.NFData+    CreateLoggingConfigurationResponse+  where+  rnf CreateLoggingConfigurationResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AMP/CreateRuleGroupsNamespace.hs view
@@ -0,0 +1,297 @@+{-# 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.AMP.CreateRuleGroupsNamespace+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a rule group namespace.+module Amazonka.AMP.CreateRuleGroupsNamespace+  ( -- * Creating a Request+    CreateRuleGroupsNamespace (..),+    newCreateRuleGroupsNamespace,++    -- * Request Lenses+    createRuleGroupsNamespace_clientToken,+    createRuleGroupsNamespace_tags,+    createRuleGroupsNamespace_data,+    createRuleGroupsNamespace_name,+    createRuleGroupsNamespace_workspaceId,++    -- * Destructuring the Response+    CreateRuleGroupsNamespaceResponse (..),+    newCreateRuleGroupsNamespaceResponse,++    -- * Response Lenses+    createRuleGroupsNamespaceResponse_tags,+    createRuleGroupsNamespaceResponse_httpStatus,+    createRuleGroupsNamespaceResponse_arn,+    createRuleGroupsNamespaceResponse_name,+    createRuleGroupsNamespaceResponse_status,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a CreateRuleGroupsNamespace operation.+--+-- /See:/ 'newCreateRuleGroupsNamespace' smart constructor.+data CreateRuleGroupsNamespace = CreateRuleGroupsNamespace'+  { -- | Optional, unique, case-sensitive, user-provided identifier to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | Optional, user-provided tags for this rule groups namespace.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The namespace data that define the rule groups.+    data' :: Data.Base64,+    -- | The rule groups namespace name.+    name :: Prelude.Text,+    -- | The ID of the workspace in which to create the rule group namespace.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRuleGroupsNamespace' 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:+--+-- 'clientToken', 'createRuleGroupsNamespace_clientToken' - Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+--+-- 'tags', 'createRuleGroupsNamespace_tags' - Optional, user-provided tags for this rule groups namespace.+--+-- 'data'', 'createRuleGroupsNamespace_data' - The namespace data that define the rule groups.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'name', 'createRuleGroupsNamespace_name' - The rule groups namespace name.+--+-- 'workspaceId', 'createRuleGroupsNamespace_workspaceId' - The ID of the workspace in which to create the rule group namespace.+newCreateRuleGroupsNamespace ::+  -- | 'data''+  Prelude.ByteString ->+  -- | 'name'+  Prelude.Text ->+  -- | 'workspaceId'+  Prelude.Text ->+  CreateRuleGroupsNamespace+newCreateRuleGroupsNamespace+  pData_+  pName_+  pWorkspaceId_ =+    CreateRuleGroupsNamespace'+      { clientToken =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        data' = Data._Base64 Lens.# pData_,+        name = pName_,+        workspaceId = pWorkspaceId_+      }++-- | Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+createRuleGroupsNamespace_clientToken :: Lens.Lens' CreateRuleGroupsNamespace (Prelude.Maybe Prelude.Text)+createRuleGroupsNamespace_clientToken = Lens.lens (\CreateRuleGroupsNamespace' {clientToken} -> clientToken) (\s@CreateRuleGroupsNamespace' {} a -> s {clientToken = a} :: CreateRuleGroupsNamespace)++-- | Optional, user-provided tags for this rule groups namespace.+createRuleGroupsNamespace_tags :: Lens.Lens' CreateRuleGroupsNamespace (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createRuleGroupsNamespace_tags = Lens.lens (\CreateRuleGroupsNamespace' {tags} -> tags) (\s@CreateRuleGroupsNamespace' {} a -> s {tags = a} :: CreateRuleGroupsNamespace) Prelude.. Lens.mapping Lens.coerced++-- | The namespace data that define the rule groups.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+createRuleGroupsNamespace_data :: Lens.Lens' CreateRuleGroupsNamespace Prelude.ByteString+createRuleGroupsNamespace_data = Lens.lens (\CreateRuleGroupsNamespace' {data'} -> data') (\s@CreateRuleGroupsNamespace' {} a -> s {data' = a} :: CreateRuleGroupsNamespace) Prelude.. Data._Base64++-- | The rule groups namespace name.+createRuleGroupsNamespace_name :: Lens.Lens' CreateRuleGroupsNamespace Prelude.Text+createRuleGroupsNamespace_name = Lens.lens (\CreateRuleGroupsNamespace' {name} -> name) (\s@CreateRuleGroupsNamespace' {} a -> s {name = a} :: CreateRuleGroupsNamespace)++-- | The ID of the workspace in which to create the rule group namespace.+createRuleGroupsNamespace_workspaceId :: Lens.Lens' CreateRuleGroupsNamespace Prelude.Text+createRuleGroupsNamespace_workspaceId = Lens.lens (\CreateRuleGroupsNamespace' {workspaceId} -> workspaceId) (\s@CreateRuleGroupsNamespace' {} a -> s {workspaceId = a} :: CreateRuleGroupsNamespace)++instance Core.AWSRequest CreateRuleGroupsNamespace where+  type+    AWSResponse CreateRuleGroupsNamespace =+      CreateRuleGroupsNamespaceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateRuleGroupsNamespaceResponse'+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "arn")+            Prelude.<*> (x Data..:> "name")+            Prelude.<*> (x Data..:> "status")+      )++instance Prelude.Hashable CreateRuleGroupsNamespace where+  hashWithSalt _salt CreateRuleGroupsNamespace' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` data'+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData CreateRuleGroupsNamespace where+  rnf CreateRuleGroupsNamespace' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf data'+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf workspaceId++instance Data.ToHeaders CreateRuleGroupsNamespace where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateRuleGroupsNamespace where+  toJSON CreateRuleGroupsNamespace' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("data" Data..= data'),+            Prelude.Just ("name" Data..= name)+          ]+      )++instance Data.ToPath CreateRuleGroupsNamespace where+  toPath CreateRuleGroupsNamespace' {..} =+    Prelude.mconcat+      [ "/workspaces/",+        Data.toBS workspaceId,+        "/rulegroupsnamespaces"+      ]++instance Data.ToQuery CreateRuleGroupsNamespace where+  toQuery = Prelude.const Prelude.mempty++-- | Represents the output of a CreateRuleGroupsNamespace operation.+--+-- /See:/ 'newCreateRuleGroupsNamespaceResponse' smart constructor.+data CreateRuleGroupsNamespaceResponse = CreateRuleGroupsNamespaceResponse'+  { -- | The tags of this rule groups namespace.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The Amazon Resource Name (ARN) of this rule groups namespace.+    arn :: Prelude.Text,+    -- | The rule groups namespace name.+    name :: Prelude.Text,+    -- | The status of rule groups namespace.+    status :: RuleGroupsNamespaceStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRuleGroupsNamespaceResponse' 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', 'createRuleGroupsNamespaceResponse_tags' - The tags of this rule groups namespace.+--+-- 'httpStatus', 'createRuleGroupsNamespaceResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'createRuleGroupsNamespaceResponse_arn' - The Amazon Resource Name (ARN) of this rule groups namespace.+--+-- 'name', 'createRuleGroupsNamespaceResponse_name' - The rule groups namespace name.+--+-- 'status', 'createRuleGroupsNamespaceResponse_status' - The status of rule groups namespace.+newCreateRuleGroupsNamespaceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'status'+  RuleGroupsNamespaceStatus ->+  CreateRuleGroupsNamespaceResponse+newCreateRuleGroupsNamespaceResponse+  pHttpStatus_+  pArn_+  pName_+  pStatus_ =+    CreateRuleGroupsNamespaceResponse'+      { tags =+          Prelude.Nothing,+        httpStatus = pHttpStatus_,+        arn = pArn_,+        name = pName_,+        status = pStatus_+      }++-- | The tags of this rule groups namespace.+createRuleGroupsNamespaceResponse_tags :: Lens.Lens' CreateRuleGroupsNamespaceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createRuleGroupsNamespaceResponse_tags = Lens.lens (\CreateRuleGroupsNamespaceResponse' {tags} -> tags) (\s@CreateRuleGroupsNamespaceResponse' {} a -> s {tags = a} :: CreateRuleGroupsNamespaceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+createRuleGroupsNamespaceResponse_httpStatus :: Lens.Lens' CreateRuleGroupsNamespaceResponse Prelude.Int+createRuleGroupsNamespaceResponse_httpStatus = Lens.lens (\CreateRuleGroupsNamespaceResponse' {httpStatus} -> httpStatus) (\s@CreateRuleGroupsNamespaceResponse' {} a -> s {httpStatus = a} :: CreateRuleGroupsNamespaceResponse)++-- | The Amazon Resource Name (ARN) of this rule groups namespace.+createRuleGroupsNamespaceResponse_arn :: Lens.Lens' CreateRuleGroupsNamespaceResponse Prelude.Text+createRuleGroupsNamespaceResponse_arn = Lens.lens (\CreateRuleGroupsNamespaceResponse' {arn} -> arn) (\s@CreateRuleGroupsNamespaceResponse' {} a -> s {arn = a} :: CreateRuleGroupsNamespaceResponse)++-- | The rule groups namespace name.+createRuleGroupsNamespaceResponse_name :: Lens.Lens' CreateRuleGroupsNamespaceResponse Prelude.Text+createRuleGroupsNamespaceResponse_name = Lens.lens (\CreateRuleGroupsNamespaceResponse' {name} -> name) (\s@CreateRuleGroupsNamespaceResponse' {} a -> s {name = a} :: CreateRuleGroupsNamespaceResponse)++-- | The status of rule groups namespace.+createRuleGroupsNamespaceResponse_status :: Lens.Lens' CreateRuleGroupsNamespaceResponse RuleGroupsNamespaceStatus+createRuleGroupsNamespaceResponse_status = Lens.lens (\CreateRuleGroupsNamespaceResponse' {status} -> status) (\s@CreateRuleGroupsNamespaceResponse' {} a -> s {status = a} :: CreateRuleGroupsNamespaceResponse)++instance+  Prelude.NFData+    CreateRuleGroupsNamespaceResponse+  where+  rnf CreateRuleGroupsNamespaceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AMP/CreateWorkspace.hs view
@@ -0,0 +1,248 @@+{-# 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.AMP.CreateWorkspace+-- 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 new AMP workspace.+module Amazonka.AMP.CreateWorkspace+  ( -- * Creating a Request+    CreateWorkspace (..),+    newCreateWorkspace,++    -- * Request Lenses+    createWorkspace_alias,+    createWorkspace_clientToken,+    createWorkspace_tags,++    -- * Destructuring the Response+    CreateWorkspaceResponse (..),+    newCreateWorkspaceResponse,++    -- * Response Lenses+    createWorkspaceResponse_tags,+    createWorkspaceResponse_httpStatus,+    createWorkspaceResponse_arn,+    createWorkspaceResponse_status,+    createWorkspaceResponse_workspaceId,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a CreateWorkspace operation.+--+-- /See:/ 'newCreateWorkspace' smart constructor.+data CreateWorkspace = CreateWorkspace'+  { -- | An optional user-assigned alias for this workspace. This alias is for+    -- user reference and does not need to be unique.+    alias :: Prelude.Maybe Prelude.Text,+    -- | Optional, unique, case-sensitive, user-provided identifier to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | Optional, user-provided tags for this workspace.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWorkspace' 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:+--+-- 'alias', 'createWorkspace_alias' - An optional user-assigned alias for this workspace. This alias is for+-- user reference and does not need to be unique.+--+-- 'clientToken', 'createWorkspace_clientToken' - Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+--+-- 'tags', 'createWorkspace_tags' - Optional, user-provided tags for this workspace.+newCreateWorkspace ::+  CreateWorkspace+newCreateWorkspace =+  CreateWorkspace'+    { alias = Prelude.Nothing,+      clientToken = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | An optional user-assigned alias for this workspace. This alias is for+-- user reference and does not need to be unique.+createWorkspace_alias :: Lens.Lens' CreateWorkspace (Prelude.Maybe Prelude.Text)+createWorkspace_alias = Lens.lens (\CreateWorkspace' {alias} -> alias) (\s@CreateWorkspace' {} a -> s {alias = a} :: CreateWorkspace)++-- | Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+createWorkspace_clientToken :: Lens.Lens' CreateWorkspace (Prelude.Maybe Prelude.Text)+createWorkspace_clientToken = Lens.lens (\CreateWorkspace' {clientToken} -> clientToken) (\s@CreateWorkspace' {} a -> s {clientToken = a} :: CreateWorkspace)++-- | Optional, user-provided tags for this workspace.+createWorkspace_tags :: Lens.Lens' CreateWorkspace (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createWorkspace_tags = Lens.lens (\CreateWorkspace' {tags} -> tags) (\s@CreateWorkspace' {} a -> s {tags = a} :: CreateWorkspace) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest CreateWorkspace where+  type+    AWSResponse CreateWorkspace =+      CreateWorkspaceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWorkspaceResponse'+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "arn")+            Prelude.<*> (x Data..:> "status")+            Prelude.<*> (x Data..:> "workspaceId")+      )++instance Prelude.Hashable CreateWorkspace where+  hashWithSalt _salt CreateWorkspace' {..} =+    _salt+      `Prelude.hashWithSalt` alias+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` tags++instance Prelude.NFData CreateWorkspace where+  rnf CreateWorkspace' {..} =+    Prelude.rnf alias+      `Prelude.seq` Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders CreateWorkspace where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateWorkspace where+  toJSON CreateWorkspace' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("alias" Data..=) Prelude.<$> alias,+            ("clientToken" Data..=) Prelude.<$> clientToken,+            ("tags" Data..=) Prelude.<$> tags+          ]+      )++instance Data.ToPath CreateWorkspace where+  toPath = Prelude.const "/workspaces"++instance Data.ToQuery CreateWorkspace where+  toQuery = Prelude.const Prelude.mempty++-- | Represents the output of a CreateWorkspace operation.+--+-- /See:/ 'newCreateWorkspaceResponse' smart constructor.+data CreateWorkspaceResponse = CreateWorkspaceResponse'+  { -- | The tags of this workspace.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The ARN of the workspace that was just created.+    arn :: Prelude.Text,+    -- | The status of the workspace that was just created (usually CREATING).+    status :: WorkspaceStatus,+    -- | The generated ID of the workspace that was just created.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWorkspaceResponse' 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', 'createWorkspaceResponse_tags' - The tags of this workspace.+--+-- 'httpStatus', 'createWorkspaceResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'createWorkspaceResponse_arn' - The ARN of the workspace that was just created.+--+-- 'status', 'createWorkspaceResponse_status' - The status of the workspace that was just created (usually CREATING).+--+-- 'workspaceId', 'createWorkspaceResponse_workspaceId' - The generated ID of the workspace that was just created.+newCreateWorkspaceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  -- | 'status'+  WorkspaceStatus ->+  -- | 'workspaceId'+  Prelude.Text ->+  CreateWorkspaceResponse+newCreateWorkspaceResponse+  pHttpStatus_+  pArn_+  pStatus_+  pWorkspaceId_ =+    CreateWorkspaceResponse'+      { tags = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        arn = pArn_,+        status = pStatus_,+        workspaceId = pWorkspaceId_+      }++-- | The tags of this workspace.+createWorkspaceResponse_tags :: Lens.Lens' CreateWorkspaceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createWorkspaceResponse_tags = Lens.lens (\CreateWorkspaceResponse' {tags} -> tags) (\s@CreateWorkspaceResponse' {} a -> s {tags = a} :: CreateWorkspaceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+createWorkspaceResponse_httpStatus :: Lens.Lens' CreateWorkspaceResponse Prelude.Int+createWorkspaceResponse_httpStatus = Lens.lens (\CreateWorkspaceResponse' {httpStatus} -> httpStatus) (\s@CreateWorkspaceResponse' {} a -> s {httpStatus = a} :: CreateWorkspaceResponse)++-- | The ARN of the workspace that was just created.+createWorkspaceResponse_arn :: Lens.Lens' CreateWorkspaceResponse Prelude.Text+createWorkspaceResponse_arn = Lens.lens (\CreateWorkspaceResponse' {arn} -> arn) (\s@CreateWorkspaceResponse' {} a -> s {arn = a} :: CreateWorkspaceResponse)++-- | The status of the workspace that was just created (usually CREATING).+createWorkspaceResponse_status :: Lens.Lens' CreateWorkspaceResponse WorkspaceStatus+createWorkspaceResponse_status = Lens.lens (\CreateWorkspaceResponse' {status} -> status) (\s@CreateWorkspaceResponse' {} a -> s {status = a} :: CreateWorkspaceResponse)++-- | The generated ID of the workspace that was just created.+createWorkspaceResponse_workspaceId :: Lens.Lens' CreateWorkspaceResponse Prelude.Text+createWorkspaceResponse_workspaceId = Lens.lens (\CreateWorkspaceResponse' {workspaceId} -> workspaceId) (\s@CreateWorkspaceResponse' {} a -> s {workspaceId = a} :: CreateWorkspaceResponse)++instance Prelude.NFData CreateWorkspaceResponse where+  rnf CreateWorkspaceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf workspaceId
+ gen/Amazonka/AMP/DeleteAlertManagerDefinition.hs view
@@ -0,0 +1,157 @@+{-# 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.AMP.DeleteAlertManagerDefinition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an alert manager definition.+module Amazonka.AMP.DeleteAlertManagerDefinition+  ( -- * Creating a Request+    DeleteAlertManagerDefinition (..),+    newDeleteAlertManagerDefinition,++    -- * Request Lenses+    deleteAlertManagerDefinition_clientToken,+    deleteAlertManagerDefinition_workspaceId,++    -- * Destructuring the Response+    DeleteAlertManagerDefinitionResponse (..),+    newDeleteAlertManagerDefinitionResponse,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a DeleteAlertManagerDefinition operation.+--+-- /See:/ 'newDeleteAlertManagerDefinition' smart constructor.+data DeleteAlertManagerDefinition = DeleteAlertManagerDefinition'+  { -- | Optional, unique, case-sensitive, user-provided identifier to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the workspace in which to delete the alert manager definition.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAlertManagerDefinition' 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:+--+-- 'clientToken', 'deleteAlertManagerDefinition_clientToken' - Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+--+-- 'workspaceId', 'deleteAlertManagerDefinition_workspaceId' - The ID of the workspace in which to delete the alert manager definition.+newDeleteAlertManagerDefinition ::+  -- | 'workspaceId'+  Prelude.Text ->+  DeleteAlertManagerDefinition+newDeleteAlertManagerDefinition pWorkspaceId_ =+  DeleteAlertManagerDefinition'+    { clientToken =+        Prelude.Nothing,+      workspaceId = pWorkspaceId_+    }++-- | Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+deleteAlertManagerDefinition_clientToken :: Lens.Lens' DeleteAlertManagerDefinition (Prelude.Maybe Prelude.Text)+deleteAlertManagerDefinition_clientToken = Lens.lens (\DeleteAlertManagerDefinition' {clientToken} -> clientToken) (\s@DeleteAlertManagerDefinition' {} a -> s {clientToken = a} :: DeleteAlertManagerDefinition)++-- | The ID of the workspace in which to delete the alert manager definition.+deleteAlertManagerDefinition_workspaceId :: Lens.Lens' DeleteAlertManagerDefinition Prelude.Text+deleteAlertManagerDefinition_workspaceId = Lens.lens (\DeleteAlertManagerDefinition' {workspaceId} -> workspaceId) (\s@DeleteAlertManagerDefinition' {} a -> s {workspaceId = a} :: DeleteAlertManagerDefinition)++instance Core.AWSRequest DeleteAlertManagerDefinition where+  type+    AWSResponse DeleteAlertManagerDefinition =+      DeleteAlertManagerDefinitionResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteAlertManagerDefinitionResponse'++instance+  Prelude.Hashable+    DeleteAlertManagerDefinition+  where+  hashWithSalt _salt DeleteAlertManagerDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData DeleteAlertManagerDefinition where+  rnf DeleteAlertManagerDefinition' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf workspaceId++instance Data.ToHeaders DeleteAlertManagerDefinition where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteAlertManagerDefinition where+  toPath DeleteAlertManagerDefinition' {..} =+    Prelude.mconcat+      [ "/workspaces/",+        Data.toBS workspaceId,+        "/alertmanager/definition"+      ]++instance Data.ToQuery DeleteAlertManagerDefinition where+  toQuery DeleteAlertManagerDefinition' {..} =+    Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDeleteAlertManagerDefinitionResponse' smart constructor.+data DeleteAlertManagerDefinitionResponse = DeleteAlertManagerDefinitionResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAlertManagerDefinitionResponse' 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.+newDeleteAlertManagerDefinitionResponse ::+  DeleteAlertManagerDefinitionResponse+newDeleteAlertManagerDefinitionResponse =+  DeleteAlertManagerDefinitionResponse'++instance+  Prelude.NFData+    DeleteAlertManagerDefinitionResponse+  where+  rnf _ = ()
+ gen/Amazonka/AMP/DeleteLoggingConfiguration.hs view
@@ -0,0 +1,151 @@+{-# 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.AMP.DeleteLoggingConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete logging configuration.+module Amazonka.AMP.DeleteLoggingConfiguration+  ( -- * Creating a Request+    DeleteLoggingConfiguration (..),+    newDeleteLoggingConfiguration,++    -- * Request Lenses+    deleteLoggingConfiguration_clientToken,+    deleteLoggingConfiguration_workspaceId,++    -- * Destructuring the Response+    DeleteLoggingConfigurationResponse (..),+    newDeleteLoggingConfigurationResponse,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a DeleteLoggingConfiguration operation.+--+-- /See:/ 'newDeleteLoggingConfiguration' smart constructor.+data DeleteLoggingConfiguration = DeleteLoggingConfiguration'+  { -- | Optional, unique, case-sensitive, user-provided identifier to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the workspace to vend logs to.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLoggingConfiguration' 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:+--+-- 'clientToken', 'deleteLoggingConfiguration_clientToken' - Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+--+-- 'workspaceId', 'deleteLoggingConfiguration_workspaceId' - The ID of the workspace to vend logs to.+newDeleteLoggingConfiguration ::+  -- | 'workspaceId'+  Prelude.Text ->+  DeleteLoggingConfiguration+newDeleteLoggingConfiguration pWorkspaceId_ =+  DeleteLoggingConfiguration'+    { clientToken =+        Prelude.Nothing,+      workspaceId = pWorkspaceId_+    }++-- | Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+deleteLoggingConfiguration_clientToken :: Lens.Lens' DeleteLoggingConfiguration (Prelude.Maybe Prelude.Text)+deleteLoggingConfiguration_clientToken = Lens.lens (\DeleteLoggingConfiguration' {clientToken} -> clientToken) (\s@DeleteLoggingConfiguration' {} a -> s {clientToken = a} :: DeleteLoggingConfiguration)++-- | The ID of the workspace to vend logs to.+deleteLoggingConfiguration_workspaceId :: Lens.Lens' DeleteLoggingConfiguration Prelude.Text+deleteLoggingConfiguration_workspaceId = Lens.lens (\DeleteLoggingConfiguration' {workspaceId} -> workspaceId) (\s@DeleteLoggingConfiguration' {} a -> s {workspaceId = a} :: DeleteLoggingConfiguration)++instance Core.AWSRequest DeleteLoggingConfiguration where+  type+    AWSResponse DeleteLoggingConfiguration =+      DeleteLoggingConfigurationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteLoggingConfigurationResponse'++instance Prelude.Hashable DeleteLoggingConfiguration where+  hashWithSalt _salt DeleteLoggingConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData DeleteLoggingConfiguration where+  rnf DeleteLoggingConfiguration' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf workspaceId++instance Data.ToHeaders DeleteLoggingConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteLoggingConfiguration where+  toPath DeleteLoggingConfiguration' {..} =+    Prelude.mconcat+      ["/workspaces/", Data.toBS workspaceId, "/logging"]++instance Data.ToQuery DeleteLoggingConfiguration where+  toQuery DeleteLoggingConfiguration' {..} =+    Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDeleteLoggingConfigurationResponse' smart constructor.+data DeleteLoggingConfigurationResponse = DeleteLoggingConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLoggingConfigurationResponse' 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.+newDeleteLoggingConfigurationResponse ::+  DeleteLoggingConfigurationResponse+newDeleteLoggingConfigurationResponse =+  DeleteLoggingConfigurationResponse'++instance+  Prelude.NFData+    DeleteLoggingConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/AMP/DeleteRuleGroupsNamespace.hs view
@@ -0,0 +1,169 @@+{-# 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.AMP.DeleteRuleGroupsNamespace+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete a rule groups namespace.+module Amazonka.AMP.DeleteRuleGroupsNamespace+  ( -- * Creating a Request+    DeleteRuleGroupsNamespace (..),+    newDeleteRuleGroupsNamespace,++    -- * Request Lenses+    deleteRuleGroupsNamespace_clientToken,+    deleteRuleGroupsNamespace_name,+    deleteRuleGroupsNamespace_workspaceId,++    -- * Destructuring the Response+    DeleteRuleGroupsNamespaceResponse (..),+    newDeleteRuleGroupsNamespaceResponse,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a DeleteRuleGroupsNamespace operation.+--+-- /See:/ 'newDeleteRuleGroupsNamespace' smart constructor.+data DeleteRuleGroupsNamespace = DeleteRuleGroupsNamespace'+  { -- | Optional, unique, case-sensitive, user-provided identifier to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The rule groups namespace name.+    name :: Prelude.Text,+    -- | The ID of the workspace to delete rule group definition.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRuleGroupsNamespace' 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:+--+-- 'clientToken', 'deleteRuleGroupsNamespace_clientToken' - Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+--+-- 'name', 'deleteRuleGroupsNamespace_name' - The rule groups namespace name.+--+-- 'workspaceId', 'deleteRuleGroupsNamespace_workspaceId' - The ID of the workspace to delete rule group definition.+newDeleteRuleGroupsNamespace ::+  -- | 'name'+  Prelude.Text ->+  -- | 'workspaceId'+  Prelude.Text ->+  DeleteRuleGroupsNamespace+newDeleteRuleGroupsNamespace pName_ pWorkspaceId_ =+  DeleteRuleGroupsNamespace'+    { clientToken =+        Prelude.Nothing,+      name = pName_,+      workspaceId = pWorkspaceId_+    }++-- | Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+deleteRuleGroupsNamespace_clientToken :: Lens.Lens' DeleteRuleGroupsNamespace (Prelude.Maybe Prelude.Text)+deleteRuleGroupsNamespace_clientToken = Lens.lens (\DeleteRuleGroupsNamespace' {clientToken} -> clientToken) (\s@DeleteRuleGroupsNamespace' {} a -> s {clientToken = a} :: DeleteRuleGroupsNamespace)++-- | The rule groups namespace name.+deleteRuleGroupsNamespace_name :: Lens.Lens' DeleteRuleGroupsNamespace Prelude.Text+deleteRuleGroupsNamespace_name = Lens.lens (\DeleteRuleGroupsNamespace' {name} -> name) (\s@DeleteRuleGroupsNamespace' {} a -> s {name = a} :: DeleteRuleGroupsNamespace)++-- | The ID of the workspace to delete rule group definition.+deleteRuleGroupsNamespace_workspaceId :: Lens.Lens' DeleteRuleGroupsNamespace Prelude.Text+deleteRuleGroupsNamespace_workspaceId = Lens.lens (\DeleteRuleGroupsNamespace' {workspaceId} -> workspaceId) (\s@DeleteRuleGroupsNamespace' {} a -> s {workspaceId = a} :: DeleteRuleGroupsNamespace)++instance Core.AWSRequest DeleteRuleGroupsNamespace where+  type+    AWSResponse DeleteRuleGroupsNamespace =+      DeleteRuleGroupsNamespaceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteRuleGroupsNamespaceResponse'++instance Prelude.Hashable DeleteRuleGroupsNamespace where+  hashWithSalt _salt DeleteRuleGroupsNamespace' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData DeleteRuleGroupsNamespace where+  rnf DeleteRuleGroupsNamespace' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf workspaceId++instance Data.ToHeaders DeleteRuleGroupsNamespace where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteRuleGroupsNamespace where+  toPath DeleteRuleGroupsNamespace' {..} =+    Prelude.mconcat+      [ "/workspaces/",+        Data.toBS workspaceId,+        "/rulegroupsnamespaces/",+        Data.toBS name+      ]++instance Data.ToQuery DeleteRuleGroupsNamespace where+  toQuery DeleteRuleGroupsNamespace' {..} =+    Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDeleteRuleGroupsNamespaceResponse' smart constructor.+data DeleteRuleGroupsNamespaceResponse = DeleteRuleGroupsNamespaceResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRuleGroupsNamespaceResponse' 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.+newDeleteRuleGroupsNamespaceResponse ::+  DeleteRuleGroupsNamespaceResponse+newDeleteRuleGroupsNamespaceResponse =+  DeleteRuleGroupsNamespaceResponse'++instance+  Prelude.NFData+    DeleteRuleGroupsNamespaceResponse+  where+  rnf _ = ()
+ gen/Amazonka/AMP/DeleteWorkspace.hs view
@@ -0,0 +1,145 @@+{-# 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.AMP.DeleteWorkspace+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an AMP workspace.+module Amazonka.AMP.DeleteWorkspace+  ( -- * Creating a Request+    DeleteWorkspace (..),+    newDeleteWorkspace,++    -- * Request Lenses+    deleteWorkspace_clientToken,+    deleteWorkspace_workspaceId,++    -- * Destructuring the Response+    DeleteWorkspaceResponse (..),+    newDeleteWorkspaceResponse,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a DeleteWorkspace operation.+--+-- /See:/ 'newDeleteWorkspace' smart constructor.+data DeleteWorkspace = DeleteWorkspace'+  { -- | Optional, unique, case-sensitive, user-provided identifier to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the workspace to delete.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWorkspace' 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:+--+-- 'clientToken', 'deleteWorkspace_clientToken' - Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+--+-- 'workspaceId', 'deleteWorkspace_workspaceId' - The ID of the workspace to delete.+newDeleteWorkspace ::+  -- | 'workspaceId'+  Prelude.Text ->+  DeleteWorkspace+newDeleteWorkspace pWorkspaceId_ =+  DeleteWorkspace'+    { clientToken = Prelude.Nothing,+      workspaceId = pWorkspaceId_+    }++-- | Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+deleteWorkspace_clientToken :: Lens.Lens' DeleteWorkspace (Prelude.Maybe Prelude.Text)+deleteWorkspace_clientToken = Lens.lens (\DeleteWorkspace' {clientToken} -> clientToken) (\s@DeleteWorkspace' {} a -> s {clientToken = a} :: DeleteWorkspace)++-- | The ID of the workspace to delete.+deleteWorkspace_workspaceId :: Lens.Lens' DeleteWorkspace Prelude.Text+deleteWorkspace_workspaceId = Lens.lens (\DeleteWorkspace' {workspaceId} -> workspaceId) (\s@DeleteWorkspace' {} a -> s {workspaceId = a} :: DeleteWorkspace)++instance Core.AWSRequest DeleteWorkspace where+  type+    AWSResponse DeleteWorkspace =+      DeleteWorkspaceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteWorkspaceResponse'++instance Prelude.Hashable DeleteWorkspace where+  hashWithSalt _salt DeleteWorkspace' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData DeleteWorkspace where+  rnf DeleteWorkspace' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf workspaceId++instance Data.ToHeaders DeleteWorkspace where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteWorkspace where+  toPath DeleteWorkspace' {..} =+    Prelude.mconcat+      ["/workspaces/", Data.toBS workspaceId]++instance Data.ToQuery DeleteWorkspace where+  toQuery DeleteWorkspace' {..} =+    Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDeleteWorkspaceResponse' smart constructor.+data DeleteWorkspaceResponse = DeleteWorkspaceResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWorkspaceResponse' 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.+newDeleteWorkspaceResponse ::+  DeleteWorkspaceResponse+newDeleteWorkspaceResponse = DeleteWorkspaceResponse'++instance Prelude.NFData DeleteWorkspaceResponse where+  rnf _ = ()
+ gen/Amazonka/AMP/DescribeAlertManagerDefinition.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.AMP.DescribeAlertManagerDefinition+-- 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 alert manager definition.+module Amazonka.AMP.DescribeAlertManagerDefinition+  ( -- * Creating a Request+    DescribeAlertManagerDefinition (..),+    newDescribeAlertManagerDefinition,++    -- * Request Lenses+    describeAlertManagerDefinition_workspaceId,++    -- * Destructuring the Response+    DescribeAlertManagerDefinitionResponse (..),+    newDescribeAlertManagerDefinitionResponse,++    -- * Response Lenses+    describeAlertManagerDefinitionResponse_httpStatus,+    describeAlertManagerDefinitionResponse_alertManagerDefinition,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a DescribeAlertManagerDefinition operation.+--+-- /See:/ 'newDescribeAlertManagerDefinition' smart constructor.+data DescribeAlertManagerDefinition = DescribeAlertManagerDefinition'+  { -- | The ID of the workspace to describe.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAlertManagerDefinition' 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:+--+-- 'workspaceId', 'describeAlertManagerDefinition_workspaceId' - The ID of the workspace to describe.+newDescribeAlertManagerDefinition ::+  -- | 'workspaceId'+  Prelude.Text ->+  DescribeAlertManagerDefinition+newDescribeAlertManagerDefinition pWorkspaceId_ =+  DescribeAlertManagerDefinition'+    { workspaceId =+        pWorkspaceId_+    }++-- | The ID of the workspace to describe.+describeAlertManagerDefinition_workspaceId :: Lens.Lens' DescribeAlertManagerDefinition Prelude.Text+describeAlertManagerDefinition_workspaceId = Lens.lens (\DescribeAlertManagerDefinition' {workspaceId} -> workspaceId) (\s@DescribeAlertManagerDefinition' {} a -> s {workspaceId = a} :: DescribeAlertManagerDefinition)++instance+  Core.AWSRequest+    DescribeAlertManagerDefinition+  where+  type+    AWSResponse DescribeAlertManagerDefinition =+      DescribeAlertManagerDefinitionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAlertManagerDefinitionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "alertManagerDefinition")+      )++instance+  Prelude.Hashable+    DescribeAlertManagerDefinition+  where+  hashWithSalt+    _salt+    DescribeAlertManagerDefinition' {..} =+      _salt `Prelude.hashWithSalt` workspaceId++instance+  Prelude.NFData+    DescribeAlertManagerDefinition+  where+  rnf DescribeAlertManagerDefinition' {..} =+    Prelude.rnf workspaceId++instance+  Data.ToHeaders+    DescribeAlertManagerDefinition+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeAlertManagerDefinition where+  toPath DescribeAlertManagerDefinition' {..} =+    Prelude.mconcat+      [ "/workspaces/",+        Data.toBS workspaceId,+        "/alertmanager/definition"+      ]++instance Data.ToQuery DescribeAlertManagerDefinition where+  toQuery = Prelude.const Prelude.mempty++-- | Represents the output of a DescribeAlertManagerDefinition operation.+--+-- /See:/ 'newDescribeAlertManagerDefinitionResponse' smart constructor.+data DescribeAlertManagerDefinitionResponse = DescribeAlertManagerDefinitionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The properties of the selected workspace\'s alert manager definition.+    alertManagerDefinition :: AlertManagerDefinitionDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAlertManagerDefinitionResponse' 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', 'describeAlertManagerDefinitionResponse_httpStatus' - The response's http status code.+--+-- 'alertManagerDefinition', 'describeAlertManagerDefinitionResponse_alertManagerDefinition' - The properties of the selected workspace\'s alert manager definition.+newDescribeAlertManagerDefinitionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'alertManagerDefinition'+  AlertManagerDefinitionDescription ->+  DescribeAlertManagerDefinitionResponse+newDescribeAlertManagerDefinitionResponse+  pHttpStatus_+  pAlertManagerDefinition_ =+    DescribeAlertManagerDefinitionResponse'+      { httpStatus =+          pHttpStatus_,+        alertManagerDefinition =+          pAlertManagerDefinition_+      }++-- | The response's http status code.+describeAlertManagerDefinitionResponse_httpStatus :: Lens.Lens' DescribeAlertManagerDefinitionResponse Prelude.Int+describeAlertManagerDefinitionResponse_httpStatus = Lens.lens (\DescribeAlertManagerDefinitionResponse' {httpStatus} -> httpStatus) (\s@DescribeAlertManagerDefinitionResponse' {} a -> s {httpStatus = a} :: DescribeAlertManagerDefinitionResponse)++-- | The properties of the selected workspace\'s alert manager definition.+describeAlertManagerDefinitionResponse_alertManagerDefinition :: Lens.Lens' DescribeAlertManagerDefinitionResponse AlertManagerDefinitionDescription+describeAlertManagerDefinitionResponse_alertManagerDefinition = Lens.lens (\DescribeAlertManagerDefinitionResponse' {alertManagerDefinition} -> alertManagerDefinition) (\s@DescribeAlertManagerDefinitionResponse' {} a -> s {alertManagerDefinition = a} :: DescribeAlertManagerDefinitionResponse)++instance+  Prelude.NFData+    DescribeAlertManagerDefinitionResponse+  where+  rnf DescribeAlertManagerDefinitionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf alertManagerDefinition
+ gen/Amazonka/AMP/DescribeLoggingConfiguration.hs view
@@ -0,0 +1,181 @@+{-# 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.AMP.DescribeLoggingConfiguration+-- 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 logging configuration.+module Amazonka.AMP.DescribeLoggingConfiguration+  ( -- * Creating a Request+    DescribeLoggingConfiguration (..),+    newDescribeLoggingConfiguration,++    -- * Request Lenses+    describeLoggingConfiguration_workspaceId,++    -- * Destructuring the Response+    DescribeLoggingConfigurationResponse (..),+    newDescribeLoggingConfigurationResponse,++    -- * Response Lenses+    describeLoggingConfigurationResponse_httpStatus,+    describeLoggingConfigurationResponse_loggingConfiguration,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a DescribeLoggingConfiguration operation.+--+-- /See:/ 'newDescribeLoggingConfiguration' smart constructor.+data DescribeLoggingConfiguration = DescribeLoggingConfiguration'+  { -- | The ID of the workspace to vend logs to.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLoggingConfiguration' 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:+--+-- 'workspaceId', 'describeLoggingConfiguration_workspaceId' - The ID of the workspace to vend logs to.+newDescribeLoggingConfiguration ::+  -- | 'workspaceId'+  Prelude.Text ->+  DescribeLoggingConfiguration+newDescribeLoggingConfiguration pWorkspaceId_ =+  DescribeLoggingConfiguration'+    { workspaceId =+        pWorkspaceId_+    }++-- | The ID of the workspace to vend logs to.+describeLoggingConfiguration_workspaceId :: Lens.Lens' DescribeLoggingConfiguration Prelude.Text+describeLoggingConfiguration_workspaceId = Lens.lens (\DescribeLoggingConfiguration' {workspaceId} -> workspaceId) (\s@DescribeLoggingConfiguration' {} a -> s {workspaceId = a} :: DescribeLoggingConfiguration)++instance Core.AWSRequest DescribeLoggingConfiguration where+  type+    AWSResponse DescribeLoggingConfiguration =+      DescribeLoggingConfigurationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeLoggingConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "loggingConfiguration")+      )++instance+  Prelude.Hashable+    DescribeLoggingConfiguration+  where+  hashWithSalt _salt DescribeLoggingConfiguration' {..} =+    _salt `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData DescribeLoggingConfiguration where+  rnf DescribeLoggingConfiguration' {..} =+    Prelude.rnf workspaceId++instance Data.ToHeaders DescribeLoggingConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeLoggingConfiguration where+  toPath DescribeLoggingConfiguration' {..} =+    Prelude.mconcat+      ["/workspaces/", Data.toBS workspaceId, "/logging"]++instance Data.ToQuery DescribeLoggingConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | Represents the output of a DescribeLoggingConfiguration operation.+--+-- /See:/ 'newDescribeLoggingConfigurationResponse' smart constructor.+data DescribeLoggingConfigurationResponse = DescribeLoggingConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Metadata object containing information about the logging configuration+    -- of a workspace.+    loggingConfiguration :: LoggingConfigurationMetadata+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLoggingConfigurationResponse' 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', 'describeLoggingConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'loggingConfiguration', 'describeLoggingConfigurationResponse_loggingConfiguration' - Metadata object containing information about the logging configuration+-- of a workspace.+newDescribeLoggingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'loggingConfiguration'+  LoggingConfigurationMetadata ->+  DescribeLoggingConfigurationResponse+newDescribeLoggingConfigurationResponse+  pHttpStatus_+  pLoggingConfiguration_ =+    DescribeLoggingConfigurationResponse'+      { httpStatus =+          pHttpStatus_,+        loggingConfiguration =+          pLoggingConfiguration_+      }++-- | The response's http status code.+describeLoggingConfigurationResponse_httpStatus :: Lens.Lens' DescribeLoggingConfigurationResponse Prelude.Int+describeLoggingConfigurationResponse_httpStatus = Lens.lens (\DescribeLoggingConfigurationResponse' {httpStatus} -> httpStatus) (\s@DescribeLoggingConfigurationResponse' {} a -> s {httpStatus = a} :: DescribeLoggingConfigurationResponse)++-- | Metadata object containing information about the logging configuration+-- of a workspace.+describeLoggingConfigurationResponse_loggingConfiguration :: Lens.Lens' DescribeLoggingConfigurationResponse LoggingConfigurationMetadata+describeLoggingConfigurationResponse_loggingConfiguration = Lens.lens (\DescribeLoggingConfigurationResponse' {loggingConfiguration} -> loggingConfiguration) (\s@DescribeLoggingConfigurationResponse' {} a -> s {loggingConfiguration = a} :: DescribeLoggingConfigurationResponse)++instance+  Prelude.NFData+    DescribeLoggingConfigurationResponse+  where+  rnf DescribeLoggingConfigurationResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf loggingConfiguration
+ gen/Amazonka/AMP/DescribeRuleGroupsNamespace.hs view
@@ -0,0 +1,193 @@+{-# 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.AMP.DescribeRuleGroupsNamespace+-- 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 rule groups namespace.+module Amazonka.AMP.DescribeRuleGroupsNamespace+  ( -- * Creating a Request+    DescribeRuleGroupsNamespace (..),+    newDescribeRuleGroupsNamespace,++    -- * Request Lenses+    describeRuleGroupsNamespace_name,+    describeRuleGroupsNamespace_workspaceId,++    -- * Destructuring the Response+    DescribeRuleGroupsNamespaceResponse (..),+    newDescribeRuleGroupsNamespaceResponse,++    -- * Response Lenses+    describeRuleGroupsNamespaceResponse_httpStatus,+    describeRuleGroupsNamespaceResponse_ruleGroupsNamespace,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a DescribeRuleGroupsNamespace operation.+--+-- /See:/ 'newDescribeRuleGroupsNamespace' smart constructor.+data DescribeRuleGroupsNamespace = DescribeRuleGroupsNamespace'+  { -- | The rule groups namespace.+    name :: Prelude.Text,+    -- | The ID of the workspace to describe.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRuleGroupsNamespace' 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:+--+-- 'name', 'describeRuleGroupsNamespace_name' - The rule groups namespace.+--+-- 'workspaceId', 'describeRuleGroupsNamespace_workspaceId' - The ID of the workspace to describe.+newDescribeRuleGroupsNamespace ::+  -- | 'name'+  Prelude.Text ->+  -- | 'workspaceId'+  Prelude.Text ->+  DescribeRuleGroupsNamespace+newDescribeRuleGroupsNamespace pName_ pWorkspaceId_ =+  DescribeRuleGroupsNamespace'+    { name = pName_,+      workspaceId = pWorkspaceId_+    }++-- | The rule groups namespace.+describeRuleGroupsNamespace_name :: Lens.Lens' DescribeRuleGroupsNamespace Prelude.Text+describeRuleGroupsNamespace_name = Lens.lens (\DescribeRuleGroupsNamespace' {name} -> name) (\s@DescribeRuleGroupsNamespace' {} a -> s {name = a} :: DescribeRuleGroupsNamespace)++-- | The ID of the workspace to describe.+describeRuleGroupsNamespace_workspaceId :: Lens.Lens' DescribeRuleGroupsNamespace Prelude.Text+describeRuleGroupsNamespace_workspaceId = Lens.lens (\DescribeRuleGroupsNamespace' {workspaceId} -> workspaceId) (\s@DescribeRuleGroupsNamespace' {} a -> s {workspaceId = a} :: DescribeRuleGroupsNamespace)++instance Core.AWSRequest DescribeRuleGroupsNamespace where+  type+    AWSResponse DescribeRuleGroupsNamespace =+      DescribeRuleGroupsNamespaceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeRuleGroupsNamespaceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "ruleGroupsNamespace")+      )++instance Prelude.Hashable DescribeRuleGroupsNamespace where+  hashWithSalt _salt DescribeRuleGroupsNamespace' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData DescribeRuleGroupsNamespace where+  rnf DescribeRuleGroupsNamespace' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf workspaceId++instance Data.ToHeaders DescribeRuleGroupsNamespace where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeRuleGroupsNamespace where+  toPath DescribeRuleGroupsNamespace' {..} =+    Prelude.mconcat+      [ "/workspaces/",+        Data.toBS workspaceId,+        "/rulegroupsnamespaces/",+        Data.toBS name+      ]++instance Data.ToQuery DescribeRuleGroupsNamespace where+  toQuery = Prelude.const Prelude.mempty++-- | Represents the output of a DescribeRuleGroupsNamespace operation.+--+-- /See:/ 'newDescribeRuleGroupsNamespaceResponse' smart constructor.+data DescribeRuleGroupsNamespaceResponse = DescribeRuleGroupsNamespaceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The selected rule groups namespace.+    ruleGroupsNamespace :: RuleGroupsNamespaceDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRuleGroupsNamespaceResponse' 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', 'describeRuleGroupsNamespaceResponse_httpStatus' - The response's http status code.+--+-- 'ruleGroupsNamespace', 'describeRuleGroupsNamespaceResponse_ruleGroupsNamespace' - The selected rule groups namespace.+newDescribeRuleGroupsNamespaceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'ruleGroupsNamespace'+  RuleGroupsNamespaceDescription ->+  DescribeRuleGroupsNamespaceResponse+newDescribeRuleGroupsNamespaceResponse+  pHttpStatus_+  pRuleGroupsNamespace_ =+    DescribeRuleGroupsNamespaceResponse'+      { httpStatus =+          pHttpStatus_,+        ruleGroupsNamespace =+          pRuleGroupsNamespace_+      }++-- | The response's http status code.+describeRuleGroupsNamespaceResponse_httpStatus :: Lens.Lens' DescribeRuleGroupsNamespaceResponse Prelude.Int+describeRuleGroupsNamespaceResponse_httpStatus = Lens.lens (\DescribeRuleGroupsNamespaceResponse' {httpStatus} -> httpStatus) (\s@DescribeRuleGroupsNamespaceResponse' {} a -> s {httpStatus = a} :: DescribeRuleGroupsNamespaceResponse)++-- | The selected rule groups namespace.+describeRuleGroupsNamespaceResponse_ruleGroupsNamespace :: Lens.Lens' DescribeRuleGroupsNamespaceResponse RuleGroupsNamespaceDescription+describeRuleGroupsNamespaceResponse_ruleGroupsNamespace = Lens.lens (\DescribeRuleGroupsNamespaceResponse' {ruleGroupsNamespace} -> ruleGroupsNamespace) (\s@DescribeRuleGroupsNamespaceResponse' {} a -> s {ruleGroupsNamespace = a} :: DescribeRuleGroupsNamespaceResponse)++instance+  Prelude.NFData+    DescribeRuleGroupsNamespaceResponse+  where+  rnf DescribeRuleGroupsNamespaceResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf ruleGroupsNamespace
+ gen/Amazonka/AMP/DescribeWorkspace.hs view
@@ -0,0 +1,165 @@+{-# 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.AMP.DescribeWorkspace+-- 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 existing AMP workspace.+module Amazonka.AMP.DescribeWorkspace+  ( -- * Creating a Request+    DescribeWorkspace (..),+    newDescribeWorkspace,++    -- * Request Lenses+    describeWorkspace_workspaceId,++    -- * Destructuring the Response+    DescribeWorkspaceResponse (..),+    newDescribeWorkspaceResponse,++    -- * Response Lenses+    describeWorkspaceResponse_httpStatus,+    describeWorkspaceResponse_workspace,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a DescribeWorkspace operation.+--+-- /See:/ 'newDescribeWorkspace' smart constructor.+data DescribeWorkspace = DescribeWorkspace'+  { -- | The ID of the workspace to describe.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeWorkspace' 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:+--+-- 'workspaceId', 'describeWorkspace_workspaceId' - The ID of the workspace to describe.+newDescribeWorkspace ::+  -- | 'workspaceId'+  Prelude.Text ->+  DescribeWorkspace+newDescribeWorkspace pWorkspaceId_ =+  DescribeWorkspace' {workspaceId = pWorkspaceId_}++-- | The ID of the workspace to describe.+describeWorkspace_workspaceId :: Lens.Lens' DescribeWorkspace Prelude.Text+describeWorkspace_workspaceId = Lens.lens (\DescribeWorkspace' {workspaceId} -> workspaceId) (\s@DescribeWorkspace' {} a -> s {workspaceId = a} :: DescribeWorkspace)++instance Core.AWSRequest DescribeWorkspace where+  type+    AWSResponse DescribeWorkspace =+      DescribeWorkspaceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeWorkspaceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "workspace")+      )++instance Prelude.Hashable DescribeWorkspace where+  hashWithSalt _salt DescribeWorkspace' {..} =+    _salt `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData DescribeWorkspace where+  rnf DescribeWorkspace' {..} = Prelude.rnf workspaceId++instance Data.ToHeaders DescribeWorkspace where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeWorkspace where+  toPath DescribeWorkspace' {..} =+    Prelude.mconcat+      ["/workspaces/", Data.toBS workspaceId]++instance Data.ToQuery DescribeWorkspace where+  toQuery = Prelude.const Prelude.mempty++-- | Represents the output of a DescribeWorkspace operation.+--+-- /See:/ 'newDescribeWorkspaceResponse' smart constructor.+data DescribeWorkspaceResponse = DescribeWorkspaceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The properties of the selected workspace.+    workspace :: WorkspaceDescription+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeWorkspaceResponse' 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', 'describeWorkspaceResponse_httpStatus' - The response's http status code.+--+-- 'workspace', 'describeWorkspaceResponse_workspace' - The properties of the selected workspace.+newDescribeWorkspaceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'workspace'+  WorkspaceDescription ->+  DescribeWorkspaceResponse+newDescribeWorkspaceResponse pHttpStatus_ pWorkspace_ =+  DescribeWorkspaceResponse'+    { httpStatus =+        pHttpStatus_,+      workspace = pWorkspace_+    }++-- | The response's http status code.+describeWorkspaceResponse_httpStatus :: Lens.Lens' DescribeWorkspaceResponse Prelude.Int+describeWorkspaceResponse_httpStatus = Lens.lens (\DescribeWorkspaceResponse' {httpStatus} -> httpStatus) (\s@DescribeWorkspaceResponse' {} a -> s {httpStatus = a} :: DescribeWorkspaceResponse)++-- | The properties of the selected workspace.+describeWorkspaceResponse_workspace :: Lens.Lens' DescribeWorkspaceResponse WorkspaceDescription+describeWorkspaceResponse_workspace = Lens.lens (\DescribeWorkspaceResponse' {workspace} -> workspace) (\s@DescribeWorkspaceResponse' {} a -> s {workspace = a} :: DescribeWorkspaceResponse)++instance Prelude.NFData DescribeWorkspaceResponse where+  rnf DescribeWorkspaceResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf workspace
+ gen/Amazonka/AMP/Lens.hs view
@@ -0,0 +1,249 @@+{-# 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.AMP.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.AMP.Lens+  ( -- * Operations++    -- ** CreateAlertManagerDefinition+    createAlertManagerDefinition_clientToken,+    createAlertManagerDefinition_data,+    createAlertManagerDefinition_workspaceId,+    createAlertManagerDefinitionResponse_httpStatus,+    createAlertManagerDefinitionResponse_status,++    -- ** CreateLoggingConfiguration+    createLoggingConfiguration_clientToken,+    createLoggingConfiguration_logGroupArn,+    createLoggingConfiguration_workspaceId,+    createLoggingConfigurationResponse_httpStatus,+    createLoggingConfigurationResponse_status,++    -- ** CreateRuleGroupsNamespace+    createRuleGroupsNamespace_clientToken,+    createRuleGroupsNamespace_tags,+    createRuleGroupsNamespace_data,+    createRuleGroupsNamespace_name,+    createRuleGroupsNamespace_workspaceId,+    createRuleGroupsNamespaceResponse_tags,+    createRuleGroupsNamespaceResponse_httpStatus,+    createRuleGroupsNamespaceResponse_arn,+    createRuleGroupsNamespaceResponse_name,+    createRuleGroupsNamespaceResponse_status,++    -- ** CreateWorkspace+    createWorkspace_alias,+    createWorkspace_clientToken,+    createWorkspace_tags,+    createWorkspaceResponse_tags,+    createWorkspaceResponse_httpStatus,+    createWorkspaceResponse_arn,+    createWorkspaceResponse_status,+    createWorkspaceResponse_workspaceId,++    -- ** DeleteAlertManagerDefinition+    deleteAlertManagerDefinition_clientToken,+    deleteAlertManagerDefinition_workspaceId,++    -- ** DeleteLoggingConfiguration+    deleteLoggingConfiguration_clientToken,+    deleteLoggingConfiguration_workspaceId,++    -- ** DeleteRuleGroupsNamespace+    deleteRuleGroupsNamespace_clientToken,+    deleteRuleGroupsNamespace_name,+    deleteRuleGroupsNamespace_workspaceId,++    -- ** DeleteWorkspace+    deleteWorkspace_clientToken,+    deleteWorkspace_workspaceId,++    -- ** DescribeAlertManagerDefinition+    describeAlertManagerDefinition_workspaceId,+    describeAlertManagerDefinitionResponse_httpStatus,+    describeAlertManagerDefinitionResponse_alertManagerDefinition,++    -- ** DescribeLoggingConfiguration+    describeLoggingConfiguration_workspaceId,+    describeLoggingConfigurationResponse_httpStatus,+    describeLoggingConfigurationResponse_loggingConfiguration,++    -- ** DescribeRuleGroupsNamespace+    describeRuleGroupsNamespace_name,+    describeRuleGroupsNamespace_workspaceId,+    describeRuleGroupsNamespaceResponse_httpStatus,+    describeRuleGroupsNamespaceResponse_ruleGroupsNamespace,++    -- ** DescribeWorkspace+    describeWorkspace_workspaceId,+    describeWorkspaceResponse_httpStatus,+    describeWorkspaceResponse_workspace,++    -- ** ListRuleGroupsNamespaces+    listRuleGroupsNamespaces_maxResults,+    listRuleGroupsNamespaces_name,+    listRuleGroupsNamespaces_nextToken,+    listRuleGroupsNamespaces_workspaceId,+    listRuleGroupsNamespacesResponse_nextToken,+    listRuleGroupsNamespacesResponse_httpStatus,+    listRuleGroupsNamespacesResponse_ruleGroupsNamespaces,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** ListWorkspaces+    listWorkspaces_alias,+    listWorkspaces_maxResults,+    listWorkspaces_nextToken,+    listWorkspacesResponse_nextToken,+    listWorkspacesResponse_httpStatus,+    listWorkspacesResponse_workspaces,++    -- ** PutAlertManagerDefinition+    putAlertManagerDefinition_clientToken,+    putAlertManagerDefinition_data,+    putAlertManagerDefinition_workspaceId,+    putAlertManagerDefinitionResponse_httpStatus,+    putAlertManagerDefinitionResponse_status,++    -- ** PutRuleGroupsNamespace+    putRuleGroupsNamespace_clientToken,+    putRuleGroupsNamespace_data,+    putRuleGroupsNamespace_name,+    putRuleGroupsNamespace_workspaceId,+    putRuleGroupsNamespaceResponse_tags,+    putRuleGroupsNamespaceResponse_httpStatus,+    putRuleGroupsNamespaceResponse_arn,+    putRuleGroupsNamespaceResponse_name,+    putRuleGroupsNamespaceResponse_status,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateLoggingConfiguration+    updateLoggingConfiguration_clientToken,+    updateLoggingConfiguration_logGroupArn,+    updateLoggingConfiguration_workspaceId,+    updateLoggingConfigurationResponse_httpStatus,+    updateLoggingConfigurationResponse_status,++    -- ** UpdateWorkspaceAlias+    updateWorkspaceAlias_alias,+    updateWorkspaceAlias_clientToken,+    updateWorkspaceAlias_workspaceId,++    -- * Types++    -- ** AlertManagerDefinitionDescription+    alertManagerDefinitionDescription_createdAt,+    alertManagerDefinitionDescription_data,+    alertManagerDefinitionDescription_modifiedAt,+    alertManagerDefinitionDescription_status,++    -- ** AlertManagerDefinitionStatus+    alertManagerDefinitionStatus_statusReason,+    alertManagerDefinitionStatus_statusCode,++    -- ** LoggingConfigurationMetadata+    loggingConfigurationMetadata_createdAt,+    loggingConfigurationMetadata_logGroupArn,+    loggingConfigurationMetadata_modifiedAt,+    loggingConfigurationMetadata_status,+    loggingConfigurationMetadata_workspace,++    -- ** LoggingConfigurationStatus+    loggingConfigurationStatus_statusReason,+    loggingConfigurationStatus_statusCode,++    -- ** RuleGroupsNamespaceDescription+    ruleGroupsNamespaceDescription_tags,+    ruleGroupsNamespaceDescription_arn,+    ruleGroupsNamespaceDescription_createdAt,+    ruleGroupsNamespaceDescription_data,+    ruleGroupsNamespaceDescription_modifiedAt,+    ruleGroupsNamespaceDescription_name,+    ruleGroupsNamespaceDescription_status,++    -- ** RuleGroupsNamespaceStatus+    ruleGroupsNamespaceStatus_statusReason,+    ruleGroupsNamespaceStatus_statusCode,++    -- ** RuleGroupsNamespaceSummary+    ruleGroupsNamespaceSummary_tags,+    ruleGroupsNamespaceSummary_arn,+    ruleGroupsNamespaceSummary_createdAt,+    ruleGroupsNamespaceSummary_modifiedAt,+    ruleGroupsNamespaceSummary_name,+    ruleGroupsNamespaceSummary_status,++    -- ** WorkspaceDescription+    workspaceDescription_alias,+    workspaceDescription_prometheusEndpoint,+    workspaceDescription_tags,+    workspaceDescription_arn,+    workspaceDescription_createdAt,+    workspaceDescription_status,+    workspaceDescription_workspaceId,++    -- ** WorkspaceStatus+    workspaceStatus_statusCode,++    -- ** WorkspaceSummary+    workspaceSummary_alias,+    workspaceSummary_tags,+    workspaceSummary_arn,+    workspaceSummary_createdAt,+    workspaceSummary_status,+    workspaceSummary_workspaceId,+  )+where++import Amazonka.AMP.CreateAlertManagerDefinition+import Amazonka.AMP.CreateLoggingConfiguration+import Amazonka.AMP.CreateRuleGroupsNamespace+import Amazonka.AMP.CreateWorkspace+import Amazonka.AMP.DeleteAlertManagerDefinition+import Amazonka.AMP.DeleteLoggingConfiguration+import Amazonka.AMP.DeleteRuleGroupsNamespace+import Amazonka.AMP.DeleteWorkspace+import Amazonka.AMP.DescribeAlertManagerDefinition+import Amazonka.AMP.DescribeLoggingConfiguration+import Amazonka.AMP.DescribeRuleGroupsNamespace+import Amazonka.AMP.DescribeWorkspace+import Amazonka.AMP.ListRuleGroupsNamespaces+import Amazonka.AMP.ListTagsForResource+import Amazonka.AMP.ListWorkspaces+import Amazonka.AMP.PutAlertManagerDefinition+import Amazonka.AMP.PutRuleGroupsNamespace+import Amazonka.AMP.TagResource+import Amazonka.AMP.Types.AlertManagerDefinitionDescription+import Amazonka.AMP.Types.AlertManagerDefinitionStatus+import Amazonka.AMP.Types.LoggingConfigurationMetadata+import Amazonka.AMP.Types.LoggingConfigurationStatus+import Amazonka.AMP.Types.RuleGroupsNamespaceDescription+import Amazonka.AMP.Types.RuleGroupsNamespaceStatus+import Amazonka.AMP.Types.RuleGroupsNamespaceSummary+import Amazonka.AMP.Types.WorkspaceDescription+import Amazonka.AMP.Types.WorkspaceStatus+import Amazonka.AMP.Types.WorkspaceSummary+import Amazonka.AMP.UntagResource+import Amazonka.AMP.UpdateLoggingConfiguration+import Amazonka.AMP.UpdateWorkspaceAlias
+ gen/Amazonka/AMP/ListRuleGroupsNamespaces.hs view
@@ -0,0 +1,262 @@+{-# 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.AMP.ListRuleGroupsNamespaces+-- 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 rule groups namespaces.+--+-- This operation returns paginated results.+module Amazonka.AMP.ListRuleGroupsNamespaces+  ( -- * Creating a Request+    ListRuleGroupsNamespaces (..),+    newListRuleGroupsNamespaces,++    -- * Request Lenses+    listRuleGroupsNamespaces_maxResults,+    listRuleGroupsNamespaces_name,+    listRuleGroupsNamespaces_nextToken,+    listRuleGroupsNamespaces_workspaceId,++    -- * Destructuring the Response+    ListRuleGroupsNamespacesResponse (..),+    newListRuleGroupsNamespacesResponse,++    -- * Response Lenses+    listRuleGroupsNamespacesResponse_nextToken,+    listRuleGroupsNamespacesResponse_httpStatus,+    listRuleGroupsNamespacesResponse_ruleGroupsNamespaces,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a ListRuleGroupsNamespaces operation.+--+-- /See:/ 'newListRuleGroupsNamespaces' smart constructor.+data ListRuleGroupsNamespaces = ListRuleGroupsNamespaces'+  { -- | Maximum results to return in response (default=100, maximum=1000).+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Optional filter for rule groups namespace name. Only the rule groups+    -- namespace that begin with this value will be returned.+    name :: Prelude.Maybe Prelude.Text,+    -- | Pagination token to request the next page in a paginated list. This+    -- token is obtained from the output of the previous+    -- ListRuleGroupsNamespaces request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the workspace.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRuleGroupsNamespaces' 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', 'listRuleGroupsNamespaces_maxResults' - Maximum results to return in response (default=100, maximum=1000).+--+-- 'name', 'listRuleGroupsNamespaces_name' - Optional filter for rule groups namespace name. Only the rule groups+-- namespace that begin with this value will be returned.+--+-- 'nextToken', 'listRuleGroupsNamespaces_nextToken' - Pagination token to request the next page in a paginated list. This+-- token is obtained from the output of the previous+-- ListRuleGroupsNamespaces request.+--+-- 'workspaceId', 'listRuleGroupsNamespaces_workspaceId' - The ID of the workspace.+newListRuleGroupsNamespaces ::+  -- | 'workspaceId'+  Prelude.Text ->+  ListRuleGroupsNamespaces+newListRuleGroupsNamespaces pWorkspaceId_ =+  ListRuleGroupsNamespaces'+    { maxResults =+        Prelude.Nothing,+      name = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      workspaceId = pWorkspaceId_+    }++-- | Maximum results to return in response (default=100, maximum=1000).+listRuleGroupsNamespaces_maxResults :: Lens.Lens' ListRuleGroupsNamespaces (Prelude.Maybe Prelude.Natural)+listRuleGroupsNamespaces_maxResults = Lens.lens (\ListRuleGroupsNamespaces' {maxResults} -> maxResults) (\s@ListRuleGroupsNamespaces' {} a -> s {maxResults = a} :: ListRuleGroupsNamespaces)++-- | Optional filter for rule groups namespace name. Only the rule groups+-- namespace that begin with this value will be returned.+listRuleGroupsNamespaces_name :: Lens.Lens' ListRuleGroupsNamespaces (Prelude.Maybe Prelude.Text)+listRuleGroupsNamespaces_name = Lens.lens (\ListRuleGroupsNamespaces' {name} -> name) (\s@ListRuleGroupsNamespaces' {} a -> s {name = a} :: ListRuleGroupsNamespaces)++-- | Pagination token to request the next page in a paginated list. This+-- token is obtained from the output of the previous+-- ListRuleGroupsNamespaces request.+listRuleGroupsNamespaces_nextToken :: Lens.Lens' ListRuleGroupsNamespaces (Prelude.Maybe Prelude.Text)+listRuleGroupsNamespaces_nextToken = Lens.lens (\ListRuleGroupsNamespaces' {nextToken} -> nextToken) (\s@ListRuleGroupsNamespaces' {} a -> s {nextToken = a} :: ListRuleGroupsNamespaces)++-- | The ID of the workspace.+listRuleGroupsNamespaces_workspaceId :: Lens.Lens' ListRuleGroupsNamespaces Prelude.Text+listRuleGroupsNamespaces_workspaceId = Lens.lens (\ListRuleGroupsNamespaces' {workspaceId} -> workspaceId) (\s@ListRuleGroupsNamespaces' {} a -> s {workspaceId = a} :: ListRuleGroupsNamespaces)++instance Core.AWSPager ListRuleGroupsNamespaces where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listRuleGroupsNamespacesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listRuleGroupsNamespacesResponse_ruleGroupsNamespaces+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listRuleGroupsNamespaces_nextToken+          Lens..~ rs+          Lens.^? listRuleGroupsNamespacesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListRuleGroupsNamespaces where+  type+    AWSResponse ListRuleGroupsNamespaces =+      ListRuleGroupsNamespacesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListRuleGroupsNamespacesResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "ruleGroupsNamespaces"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListRuleGroupsNamespaces where+  hashWithSalt _salt ListRuleGroupsNamespaces' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData ListRuleGroupsNamespaces where+  rnf ListRuleGroupsNamespaces' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workspaceId++instance Data.ToHeaders ListRuleGroupsNamespaces where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListRuleGroupsNamespaces where+  toPath ListRuleGroupsNamespaces' {..} =+    Prelude.mconcat+      [ "/workspaces/",+        Data.toBS workspaceId,+        "/rulegroupsnamespaces"+      ]++instance Data.ToQuery ListRuleGroupsNamespaces where+  toQuery ListRuleGroupsNamespaces' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "name" Data.=: name,+        "nextToken" Data.=: nextToken+      ]++-- | Represents the output of a ListRuleGroupsNamespaces operation.+--+-- /See:/ 'newListRuleGroupsNamespacesResponse' smart constructor.+data ListRuleGroupsNamespacesResponse = ListRuleGroupsNamespacesResponse'+  { -- | Pagination token to use when requesting the next page in this list.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The list of the selected rule groups namespaces.+    ruleGroupsNamespaces :: [RuleGroupsNamespaceSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRuleGroupsNamespacesResponse' 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', 'listRuleGroupsNamespacesResponse_nextToken' - Pagination token to use when requesting the next page in this list.+--+-- 'httpStatus', 'listRuleGroupsNamespacesResponse_httpStatus' - The response's http status code.+--+-- 'ruleGroupsNamespaces', 'listRuleGroupsNamespacesResponse_ruleGroupsNamespaces' - The list of the selected rule groups namespaces.+newListRuleGroupsNamespacesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListRuleGroupsNamespacesResponse+newListRuleGroupsNamespacesResponse pHttpStatus_ =+  ListRuleGroupsNamespacesResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      ruleGroupsNamespaces = Prelude.mempty+    }++-- | Pagination token to use when requesting the next page in this list.+listRuleGroupsNamespacesResponse_nextToken :: Lens.Lens' ListRuleGroupsNamespacesResponse (Prelude.Maybe Prelude.Text)+listRuleGroupsNamespacesResponse_nextToken = Lens.lens (\ListRuleGroupsNamespacesResponse' {nextToken} -> nextToken) (\s@ListRuleGroupsNamespacesResponse' {} a -> s {nextToken = a} :: ListRuleGroupsNamespacesResponse)++-- | The response's http status code.+listRuleGroupsNamespacesResponse_httpStatus :: Lens.Lens' ListRuleGroupsNamespacesResponse Prelude.Int+listRuleGroupsNamespacesResponse_httpStatus = Lens.lens (\ListRuleGroupsNamespacesResponse' {httpStatus} -> httpStatus) (\s@ListRuleGroupsNamespacesResponse' {} a -> s {httpStatus = a} :: ListRuleGroupsNamespacesResponse)++-- | The list of the selected rule groups namespaces.+listRuleGroupsNamespacesResponse_ruleGroupsNamespaces :: Lens.Lens' ListRuleGroupsNamespacesResponse [RuleGroupsNamespaceSummary]+listRuleGroupsNamespacesResponse_ruleGroupsNamespaces = Lens.lens (\ListRuleGroupsNamespacesResponse' {ruleGroupsNamespaces} -> ruleGroupsNamespaces) (\s@ListRuleGroupsNamespacesResponse' {} a -> s {ruleGroupsNamespaces = a} :: ListRuleGroupsNamespacesResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    ListRuleGroupsNamespacesResponse+  where+  rnf ListRuleGroupsNamespacesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf ruleGroupsNamespaces
+ gen/Amazonka/AMP/ListTagsForResource.hs view
@@ -0,0 +1,158 @@+{-# 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.AMP.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)+--+-- Lists the tags you have assigned to the resource.+module Amazonka.AMP.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import Amazonka.AMP.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 ARN of the resource.+    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 ARN of the resource.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The ARN of the resource.+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.get (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+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTagsForResource where+  toPath ListTagsForResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | 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' - Undocumented member.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+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/AMP/ListWorkspaces.hs view
@@ -0,0 +1,237 @@+{-# 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.AMP.ListWorkspaces+-- 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 all AMP workspaces, including workspaces being created or deleted.+--+-- This operation returns paginated results.+module Amazonka.AMP.ListWorkspaces+  ( -- * Creating a Request+    ListWorkspaces (..),+    newListWorkspaces,++    -- * Request Lenses+    listWorkspaces_alias,+    listWorkspaces_maxResults,+    listWorkspaces_nextToken,++    -- * Destructuring the Response+    ListWorkspacesResponse (..),+    newListWorkspacesResponse,++    -- * Response Lenses+    listWorkspacesResponse_nextToken,+    listWorkspacesResponse_httpStatus,+    listWorkspacesResponse_workspaces,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a ListWorkspaces operation.+--+-- /See:/ 'newListWorkspaces' smart constructor.+data ListWorkspaces = ListWorkspaces'+  { -- | Optional filter for workspace alias. Only the workspaces with aliases+    -- that begin with this value will be returned.+    alias :: Prelude.Maybe Prelude.Text,+    -- | Maximum results to return in response (default=100, maximum=1000).+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Pagination token to request the next page in a paginated list. This+    -- token is obtained from the output of the previous ListWorkspaces+    -- request.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkspaces' 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:+--+-- 'alias', 'listWorkspaces_alias' - Optional filter for workspace alias. Only the workspaces with aliases+-- that begin with this value will be returned.+--+-- 'maxResults', 'listWorkspaces_maxResults' - Maximum results to return in response (default=100, maximum=1000).+--+-- 'nextToken', 'listWorkspaces_nextToken' - Pagination token to request the next page in a paginated list. This+-- token is obtained from the output of the previous ListWorkspaces+-- request.+newListWorkspaces ::+  ListWorkspaces+newListWorkspaces =+  ListWorkspaces'+    { alias = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Optional filter for workspace alias. Only the workspaces with aliases+-- that begin with this value will be returned.+listWorkspaces_alias :: Lens.Lens' ListWorkspaces (Prelude.Maybe Prelude.Text)+listWorkspaces_alias = Lens.lens (\ListWorkspaces' {alias} -> alias) (\s@ListWorkspaces' {} a -> s {alias = a} :: ListWorkspaces)++-- | Maximum results to return in response (default=100, maximum=1000).+listWorkspaces_maxResults :: Lens.Lens' ListWorkspaces (Prelude.Maybe Prelude.Natural)+listWorkspaces_maxResults = Lens.lens (\ListWorkspaces' {maxResults} -> maxResults) (\s@ListWorkspaces' {} a -> s {maxResults = a} :: ListWorkspaces)++-- | Pagination token to request the next page in a paginated list. This+-- token is obtained from the output of the previous ListWorkspaces+-- request.+listWorkspaces_nextToken :: Lens.Lens' ListWorkspaces (Prelude.Maybe Prelude.Text)+listWorkspaces_nextToken = Lens.lens (\ListWorkspaces' {nextToken} -> nextToken) (\s@ListWorkspaces' {} a -> s {nextToken = a} :: ListWorkspaces)++instance Core.AWSPager ListWorkspaces where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listWorkspacesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        (rs Lens.^. listWorkspacesResponse_workspaces) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listWorkspaces_nextToken+          Lens..~ rs+          Lens.^? listWorkspacesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListWorkspaces where+  type+    AWSResponse ListWorkspaces =+      ListWorkspacesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListWorkspacesResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "workspaces" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable ListWorkspaces where+  hashWithSalt _salt ListWorkspaces' {..} =+    _salt+      `Prelude.hashWithSalt` alias+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListWorkspaces where+  rnf ListWorkspaces' {..} =+    Prelude.rnf alias+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListWorkspaces where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListWorkspaces where+  toPath = Prelude.const "/workspaces"++instance Data.ToQuery ListWorkspaces where+  toQuery ListWorkspaces' {..} =+    Prelude.mconcat+      [ "alias" Data.=: alias,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | Represents the output of a ListWorkspaces operation.+--+-- /See:/ 'newListWorkspacesResponse' smart constructor.+data ListWorkspacesResponse = ListWorkspacesResponse'+  { -- | Pagination token to use when requesting the next page in this list.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The list of existing workspaces, including those undergoing creation or+    -- deletion.+    workspaces :: [WorkspaceSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkspacesResponse' 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', 'listWorkspacesResponse_nextToken' - Pagination token to use when requesting the next page in this list.+--+-- 'httpStatus', 'listWorkspacesResponse_httpStatus' - The response's http status code.+--+-- 'workspaces', 'listWorkspacesResponse_workspaces' - The list of existing workspaces, including those undergoing creation or+-- deletion.+newListWorkspacesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListWorkspacesResponse+newListWorkspacesResponse pHttpStatus_ =+  ListWorkspacesResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      workspaces = Prelude.mempty+    }++-- | Pagination token to use when requesting the next page in this list.+listWorkspacesResponse_nextToken :: Lens.Lens' ListWorkspacesResponse (Prelude.Maybe Prelude.Text)+listWorkspacesResponse_nextToken = Lens.lens (\ListWorkspacesResponse' {nextToken} -> nextToken) (\s@ListWorkspacesResponse' {} a -> s {nextToken = a} :: ListWorkspacesResponse)++-- | The response's http status code.+listWorkspacesResponse_httpStatus :: Lens.Lens' ListWorkspacesResponse Prelude.Int+listWorkspacesResponse_httpStatus = Lens.lens (\ListWorkspacesResponse' {httpStatus} -> httpStatus) (\s@ListWorkspacesResponse' {} a -> s {httpStatus = a} :: ListWorkspacesResponse)++-- | The list of existing workspaces, including those undergoing creation or+-- deletion.+listWorkspacesResponse_workspaces :: Lens.Lens' ListWorkspacesResponse [WorkspaceSummary]+listWorkspacesResponse_workspaces = Lens.lens (\ListWorkspacesResponse' {workspaces} -> workspaces) (\s@ListWorkspacesResponse' {} a -> s {workspaces = a} :: ListWorkspacesResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListWorkspacesResponse where+  rnf ListWorkspacesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf workspaces
+ gen/Amazonka/AMP/PutAlertManagerDefinition.hs view
@@ -0,0 +1,224 @@+{-# 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.AMP.PutAlertManagerDefinition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update an alert manager definition.+module Amazonka.AMP.PutAlertManagerDefinition+  ( -- * Creating a Request+    PutAlertManagerDefinition (..),+    newPutAlertManagerDefinition,++    -- * Request Lenses+    putAlertManagerDefinition_clientToken,+    putAlertManagerDefinition_data,+    putAlertManagerDefinition_workspaceId,++    -- * Destructuring the Response+    PutAlertManagerDefinitionResponse (..),+    newPutAlertManagerDefinitionResponse,++    -- * Response Lenses+    putAlertManagerDefinitionResponse_httpStatus,+    putAlertManagerDefinitionResponse_status,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a PutAlertManagerDefinition operation.+--+-- /See:/ 'newPutAlertManagerDefinition' smart constructor.+data PutAlertManagerDefinition = PutAlertManagerDefinition'+  { -- | Optional, unique, case-sensitive, user-provided identifier to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The alert manager definition data.+    data' :: Data.Base64,+    -- | The ID of the workspace in which to update the alert manager definition.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAlertManagerDefinition' 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:+--+-- 'clientToken', 'putAlertManagerDefinition_clientToken' - Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+--+-- 'data'', 'putAlertManagerDefinition_data' - The alert manager definition data.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'workspaceId', 'putAlertManagerDefinition_workspaceId' - The ID of the workspace in which to update the alert manager definition.+newPutAlertManagerDefinition ::+  -- | 'data''+  Prelude.ByteString ->+  -- | 'workspaceId'+  Prelude.Text ->+  PutAlertManagerDefinition+newPutAlertManagerDefinition pData_ pWorkspaceId_ =+  PutAlertManagerDefinition'+    { clientToken =+        Prelude.Nothing,+      data' = Data._Base64 Lens.# pData_,+      workspaceId = pWorkspaceId_+    }++-- | Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+putAlertManagerDefinition_clientToken :: Lens.Lens' PutAlertManagerDefinition (Prelude.Maybe Prelude.Text)+putAlertManagerDefinition_clientToken = Lens.lens (\PutAlertManagerDefinition' {clientToken} -> clientToken) (\s@PutAlertManagerDefinition' {} a -> s {clientToken = a} :: PutAlertManagerDefinition)++-- | The alert manager definition data.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+putAlertManagerDefinition_data :: Lens.Lens' PutAlertManagerDefinition Prelude.ByteString+putAlertManagerDefinition_data = Lens.lens (\PutAlertManagerDefinition' {data'} -> data') (\s@PutAlertManagerDefinition' {} a -> s {data' = a} :: PutAlertManagerDefinition) Prelude.. Data._Base64++-- | The ID of the workspace in which to update the alert manager definition.+putAlertManagerDefinition_workspaceId :: Lens.Lens' PutAlertManagerDefinition Prelude.Text+putAlertManagerDefinition_workspaceId = Lens.lens (\PutAlertManagerDefinition' {workspaceId} -> workspaceId) (\s@PutAlertManagerDefinition' {} a -> s {workspaceId = a} :: PutAlertManagerDefinition)++instance Core.AWSRequest PutAlertManagerDefinition where+  type+    AWSResponse PutAlertManagerDefinition =+      PutAlertManagerDefinitionResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutAlertManagerDefinitionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "status")+      )++instance Prelude.Hashable PutAlertManagerDefinition where+  hashWithSalt _salt PutAlertManagerDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` data'+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData PutAlertManagerDefinition where+  rnf PutAlertManagerDefinition' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf data'+      `Prelude.seq` Prelude.rnf workspaceId++instance Data.ToHeaders PutAlertManagerDefinition where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutAlertManagerDefinition where+  toJSON PutAlertManagerDefinition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            Prelude.Just ("data" Data..= data')+          ]+      )++instance Data.ToPath PutAlertManagerDefinition where+  toPath PutAlertManagerDefinition' {..} =+    Prelude.mconcat+      [ "/workspaces/",+        Data.toBS workspaceId,+        "/alertmanager/definition"+      ]++instance Data.ToQuery PutAlertManagerDefinition where+  toQuery = Prelude.const Prelude.mempty++-- | Represents the output of a PutAlertManagerDefinition operation.+--+-- /See:/ 'newPutAlertManagerDefinitionResponse' smart constructor.+data PutAlertManagerDefinitionResponse = PutAlertManagerDefinitionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The status of alert manager definition.+    status :: AlertManagerDefinitionStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAlertManagerDefinitionResponse' 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', 'putAlertManagerDefinitionResponse_httpStatus' - The response's http status code.+--+-- 'status', 'putAlertManagerDefinitionResponse_status' - The status of alert manager definition.+newPutAlertManagerDefinitionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'status'+  AlertManagerDefinitionStatus ->+  PutAlertManagerDefinitionResponse+newPutAlertManagerDefinitionResponse+  pHttpStatus_+  pStatus_ =+    PutAlertManagerDefinitionResponse'+      { httpStatus =+          pHttpStatus_,+        status = pStatus_+      }++-- | The response's http status code.+putAlertManagerDefinitionResponse_httpStatus :: Lens.Lens' PutAlertManagerDefinitionResponse Prelude.Int+putAlertManagerDefinitionResponse_httpStatus = Lens.lens (\PutAlertManagerDefinitionResponse' {httpStatus} -> httpStatus) (\s@PutAlertManagerDefinitionResponse' {} a -> s {httpStatus = a} :: PutAlertManagerDefinitionResponse)++-- | The status of alert manager definition.+putAlertManagerDefinitionResponse_status :: Lens.Lens' PutAlertManagerDefinitionResponse AlertManagerDefinitionStatus+putAlertManagerDefinitionResponse_status = Lens.lens (\PutAlertManagerDefinitionResponse' {status} -> status) (\s@PutAlertManagerDefinitionResponse' {} a -> s {status = a} :: PutAlertManagerDefinitionResponse)++instance+  Prelude.NFData+    PutAlertManagerDefinitionResponse+  where+  rnf PutAlertManagerDefinitionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AMP/PutRuleGroupsNamespace.hs view
@@ -0,0 +1,281 @@+{-# 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.AMP.PutRuleGroupsNamespace+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update a rule groups namespace.+module Amazonka.AMP.PutRuleGroupsNamespace+  ( -- * Creating a Request+    PutRuleGroupsNamespace (..),+    newPutRuleGroupsNamespace,++    -- * Request Lenses+    putRuleGroupsNamespace_clientToken,+    putRuleGroupsNamespace_data,+    putRuleGroupsNamespace_name,+    putRuleGroupsNamespace_workspaceId,++    -- * Destructuring the Response+    PutRuleGroupsNamespaceResponse (..),+    newPutRuleGroupsNamespaceResponse,++    -- * Response Lenses+    putRuleGroupsNamespaceResponse_tags,+    putRuleGroupsNamespaceResponse_httpStatus,+    putRuleGroupsNamespaceResponse_arn,+    putRuleGroupsNamespaceResponse_name,+    putRuleGroupsNamespaceResponse_status,+  )+where++import Amazonka.AMP.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++-- | Represents the input of a PutRuleGroupsNamespace operation.+--+-- /See:/ 'newPutRuleGroupsNamespace' smart constructor.+data PutRuleGroupsNamespace = PutRuleGroupsNamespace'+  { -- | Optional, unique, case-sensitive, user-provided identifier to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The namespace data that define the rule groups.+    data' :: Data.Base64,+    -- | The rule groups namespace name.+    name :: Prelude.Text,+    -- | The ID of the workspace in which to update the rule group namespace.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutRuleGroupsNamespace' 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:+--+-- 'clientToken', 'putRuleGroupsNamespace_clientToken' - Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+--+-- 'data'', 'putRuleGroupsNamespace_data' - The namespace data that define the rule groups.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'name', 'putRuleGroupsNamespace_name' - The rule groups namespace name.+--+-- 'workspaceId', 'putRuleGroupsNamespace_workspaceId' - The ID of the workspace in which to update the rule group namespace.+newPutRuleGroupsNamespace ::+  -- | 'data''+  Prelude.ByteString ->+  -- | 'name'+  Prelude.Text ->+  -- | 'workspaceId'+  Prelude.Text ->+  PutRuleGroupsNamespace+newPutRuleGroupsNamespace pData_ pName_ pWorkspaceId_ =+  PutRuleGroupsNamespace'+    { clientToken =+        Prelude.Nothing,+      data' = Data._Base64 Lens.# pData_,+      name = pName_,+      workspaceId = pWorkspaceId_+    }++-- | Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+putRuleGroupsNamespace_clientToken :: Lens.Lens' PutRuleGroupsNamespace (Prelude.Maybe Prelude.Text)+putRuleGroupsNamespace_clientToken = Lens.lens (\PutRuleGroupsNamespace' {clientToken} -> clientToken) (\s@PutRuleGroupsNamespace' {} a -> s {clientToken = a} :: PutRuleGroupsNamespace)++-- | The namespace data that define the rule groups.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+putRuleGroupsNamespace_data :: Lens.Lens' PutRuleGroupsNamespace Prelude.ByteString+putRuleGroupsNamespace_data = Lens.lens (\PutRuleGroupsNamespace' {data'} -> data') (\s@PutRuleGroupsNamespace' {} a -> s {data' = a} :: PutRuleGroupsNamespace) Prelude.. Data._Base64++-- | The rule groups namespace name.+putRuleGroupsNamespace_name :: Lens.Lens' PutRuleGroupsNamespace Prelude.Text+putRuleGroupsNamespace_name = Lens.lens (\PutRuleGroupsNamespace' {name} -> name) (\s@PutRuleGroupsNamespace' {} a -> s {name = a} :: PutRuleGroupsNamespace)++-- | The ID of the workspace in which to update the rule group namespace.+putRuleGroupsNamespace_workspaceId :: Lens.Lens' PutRuleGroupsNamespace Prelude.Text+putRuleGroupsNamespace_workspaceId = Lens.lens (\PutRuleGroupsNamespace' {workspaceId} -> workspaceId) (\s@PutRuleGroupsNamespace' {} a -> s {workspaceId = a} :: PutRuleGroupsNamespace)++instance Core.AWSRequest PutRuleGroupsNamespace where+  type+    AWSResponse PutRuleGroupsNamespace =+      PutRuleGroupsNamespaceResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutRuleGroupsNamespaceResponse'+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "arn")+            Prelude.<*> (x Data..:> "name")+            Prelude.<*> (x Data..:> "status")+      )++instance Prelude.Hashable PutRuleGroupsNamespace where+  hashWithSalt _salt PutRuleGroupsNamespace' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` data'+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData PutRuleGroupsNamespace where+  rnf PutRuleGroupsNamespace' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf data'+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf workspaceId++instance Data.ToHeaders PutRuleGroupsNamespace where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutRuleGroupsNamespace where+  toJSON PutRuleGroupsNamespace' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            Prelude.Just ("data" Data..= data')+          ]+      )++instance Data.ToPath PutRuleGroupsNamespace where+  toPath PutRuleGroupsNamespace' {..} =+    Prelude.mconcat+      [ "/workspaces/",+        Data.toBS workspaceId,+        "/rulegroupsnamespaces/",+        Data.toBS name+      ]++instance Data.ToQuery PutRuleGroupsNamespace where+  toQuery = Prelude.const Prelude.mempty++-- | Represents the output of a PutRuleGroupsNamespace operation.+--+-- /See:/ 'newPutRuleGroupsNamespaceResponse' smart constructor.+data PutRuleGroupsNamespaceResponse = PutRuleGroupsNamespaceResponse'+  { -- | The tags of this rule groups namespace.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The Amazon Resource Name (ARN) of this rule groups namespace.+    arn :: Prelude.Text,+    -- | The rule groups namespace name.+    name :: Prelude.Text,+    -- | The status of rule groups namespace.+    status :: RuleGroupsNamespaceStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutRuleGroupsNamespaceResponse' 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', 'putRuleGroupsNamespaceResponse_tags' - The tags of this rule groups namespace.+--+-- 'httpStatus', 'putRuleGroupsNamespaceResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'putRuleGroupsNamespaceResponse_arn' - The Amazon Resource Name (ARN) of this rule groups namespace.+--+-- 'name', 'putRuleGroupsNamespaceResponse_name' - The rule groups namespace name.+--+-- 'status', 'putRuleGroupsNamespaceResponse_status' - The status of rule groups namespace.+newPutRuleGroupsNamespaceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'status'+  RuleGroupsNamespaceStatus ->+  PutRuleGroupsNamespaceResponse+newPutRuleGroupsNamespaceResponse+  pHttpStatus_+  pArn_+  pName_+  pStatus_ =+    PutRuleGroupsNamespaceResponse'+      { tags =+          Prelude.Nothing,+        httpStatus = pHttpStatus_,+        arn = pArn_,+        name = pName_,+        status = pStatus_+      }++-- | The tags of this rule groups namespace.+putRuleGroupsNamespaceResponse_tags :: Lens.Lens' PutRuleGroupsNamespaceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+putRuleGroupsNamespaceResponse_tags = Lens.lens (\PutRuleGroupsNamespaceResponse' {tags} -> tags) (\s@PutRuleGroupsNamespaceResponse' {} a -> s {tags = a} :: PutRuleGroupsNamespaceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+putRuleGroupsNamespaceResponse_httpStatus :: Lens.Lens' PutRuleGroupsNamespaceResponse Prelude.Int+putRuleGroupsNamespaceResponse_httpStatus = Lens.lens (\PutRuleGroupsNamespaceResponse' {httpStatus} -> httpStatus) (\s@PutRuleGroupsNamespaceResponse' {} a -> s {httpStatus = a} :: PutRuleGroupsNamespaceResponse)++-- | The Amazon Resource Name (ARN) of this rule groups namespace.+putRuleGroupsNamespaceResponse_arn :: Lens.Lens' PutRuleGroupsNamespaceResponse Prelude.Text+putRuleGroupsNamespaceResponse_arn = Lens.lens (\PutRuleGroupsNamespaceResponse' {arn} -> arn) (\s@PutRuleGroupsNamespaceResponse' {} a -> s {arn = a} :: PutRuleGroupsNamespaceResponse)++-- | The rule groups namespace name.+putRuleGroupsNamespaceResponse_name :: Lens.Lens' PutRuleGroupsNamespaceResponse Prelude.Text+putRuleGroupsNamespaceResponse_name = Lens.lens (\PutRuleGroupsNamespaceResponse' {name} -> name) (\s@PutRuleGroupsNamespaceResponse' {} a -> s {name = a} :: PutRuleGroupsNamespaceResponse)++-- | The status of rule groups namespace.+putRuleGroupsNamespaceResponse_status :: Lens.Lens' PutRuleGroupsNamespaceResponse RuleGroupsNamespaceStatus+putRuleGroupsNamespaceResponse_status = Lens.lens (\PutRuleGroupsNamespaceResponse' {status} -> status) (\s@PutRuleGroupsNamespaceResponse' {} a -> s {status = a} :: PutRuleGroupsNamespaceResponse)++instance+  Prelude.NFData+    PutRuleGroupsNamespaceResponse+  where+  rnf PutRuleGroupsNamespaceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AMP/TagResource.hs view
@@ -0,0 +1,162 @@+{-# 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.AMP.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)+--+-- Creates tags for the specified resource.+module Amazonka.AMP.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import Amazonka.AMP.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 ARN of the resource.+    resourceArn :: Prelude.Text,+    tags :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  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 ARN of the resource.+--+-- 'tags', 'tagResource_tags' - Undocumented member.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The ARN of the resource.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | Undocumented member.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+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+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("tags" Data..= tags)]+      )++instance Data.ToPath TagResource where+  toPath TagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++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/AMP/Types.hs view
@@ -0,0 +1,268 @@+{-# 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.AMP.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.AMP.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,+    _ThrottlingException,+    _ValidationException,++    -- * AlertManagerDefinitionStatusCode+    AlertManagerDefinitionStatusCode (..),++    -- * LoggingConfigurationStatusCode+    LoggingConfigurationStatusCode (..),++    -- * RuleGroupsNamespaceStatusCode+    RuleGroupsNamespaceStatusCode (..),++    -- * WorkspaceStatusCode+    WorkspaceStatusCode (..),++    -- * AlertManagerDefinitionDescription+    AlertManagerDefinitionDescription (..),+    newAlertManagerDefinitionDescription,+    alertManagerDefinitionDescription_createdAt,+    alertManagerDefinitionDescription_data,+    alertManagerDefinitionDescription_modifiedAt,+    alertManagerDefinitionDescription_status,++    -- * AlertManagerDefinitionStatus+    AlertManagerDefinitionStatus (..),+    newAlertManagerDefinitionStatus,+    alertManagerDefinitionStatus_statusReason,+    alertManagerDefinitionStatus_statusCode,++    -- * LoggingConfigurationMetadata+    LoggingConfigurationMetadata (..),+    newLoggingConfigurationMetadata,+    loggingConfigurationMetadata_createdAt,+    loggingConfigurationMetadata_logGroupArn,+    loggingConfigurationMetadata_modifiedAt,+    loggingConfigurationMetadata_status,+    loggingConfigurationMetadata_workspace,++    -- * LoggingConfigurationStatus+    LoggingConfigurationStatus (..),+    newLoggingConfigurationStatus,+    loggingConfigurationStatus_statusReason,+    loggingConfigurationStatus_statusCode,++    -- * RuleGroupsNamespaceDescription+    RuleGroupsNamespaceDescription (..),+    newRuleGroupsNamespaceDescription,+    ruleGroupsNamespaceDescription_tags,+    ruleGroupsNamespaceDescription_arn,+    ruleGroupsNamespaceDescription_createdAt,+    ruleGroupsNamespaceDescription_data,+    ruleGroupsNamespaceDescription_modifiedAt,+    ruleGroupsNamespaceDescription_name,+    ruleGroupsNamespaceDescription_status,++    -- * RuleGroupsNamespaceStatus+    RuleGroupsNamespaceStatus (..),+    newRuleGroupsNamespaceStatus,+    ruleGroupsNamespaceStatus_statusReason,+    ruleGroupsNamespaceStatus_statusCode,++    -- * RuleGroupsNamespaceSummary+    RuleGroupsNamespaceSummary (..),+    newRuleGroupsNamespaceSummary,+    ruleGroupsNamespaceSummary_tags,+    ruleGroupsNamespaceSummary_arn,+    ruleGroupsNamespaceSummary_createdAt,+    ruleGroupsNamespaceSummary_modifiedAt,+    ruleGroupsNamespaceSummary_name,+    ruleGroupsNamespaceSummary_status,++    -- * WorkspaceDescription+    WorkspaceDescription (..),+    newWorkspaceDescription,+    workspaceDescription_alias,+    workspaceDescription_prometheusEndpoint,+    workspaceDescription_tags,+    workspaceDescription_arn,+    workspaceDescription_createdAt,+    workspaceDescription_status,+    workspaceDescription_workspaceId,++    -- * WorkspaceStatus+    WorkspaceStatus (..),+    newWorkspaceStatus,+    workspaceStatus_statusCode,++    -- * WorkspaceSummary+    WorkspaceSummary (..),+    newWorkspaceSummary,+    workspaceSummary_alias,+    workspaceSummary_tags,+    workspaceSummary_arn,+    workspaceSummary_createdAt,+    workspaceSummary_status,+    workspaceSummary_workspaceId,+  )+where++import Amazonka.AMP.Types.AlertManagerDefinitionDescription+import Amazonka.AMP.Types.AlertManagerDefinitionStatus+import Amazonka.AMP.Types.AlertManagerDefinitionStatusCode+import Amazonka.AMP.Types.LoggingConfigurationMetadata+import Amazonka.AMP.Types.LoggingConfigurationStatus+import Amazonka.AMP.Types.LoggingConfigurationStatusCode+import Amazonka.AMP.Types.RuleGroupsNamespaceDescription+import Amazonka.AMP.Types.RuleGroupsNamespaceStatus+import Amazonka.AMP.Types.RuleGroupsNamespaceStatusCode+import Amazonka.AMP.Types.RuleGroupsNamespaceSummary+import Amazonka.AMP.Types.WorkspaceDescription+import Amazonka.AMP.Types.WorkspaceStatus+import Amazonka.AMP.Types.WorkspaceStatusCode+import Amazonka.AMP.Types.WorkspaceSummary+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 @2020-08-01@ of the Amazon Prometheus Service SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "AMP",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "aps",+      Core.signingName = "aps",+      Core.version = "2020-08-01",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "AMP",+      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 sufficient access to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | Updating or deleting a resource can cause an inconsistent state.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | Unexpected error during processing of request.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | Request references a resource which does not exist.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | Request would cause a service quota to be exceeded.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | Request was denied due to request throttling.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | The input fails to satisfy the constraints specified by an AWS service.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/AMP/Types/AlertManagerDefinitionDescription.hs view
@@ -0,0 +1,142 @@+{-# 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.AMP.Types.AlertManagerDefinitionDescription+-- 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.AMP.Types.AlertManagerDefinitionDescription where++import Amazonka.AMP.Types.AlertManagerDefinitionStatus+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++-- | Represents the properties of an alert manager definition.+--+-- /See:/ 'newAlertManagerDefinitionDescription' smart constructor.+data AlertManagerDefinitionDescription = AlertManagerDefinitionDescription'+  { -- | The time when the alert manager definition was created.+    createdAt :: Data.POSIX,+    -- | The alert manager definition.+    data' :: Data.Base64,+    -- | The time when the alert manager definition was modified.+    modifiedAt :: Data.POSIX,+    -- | The status of alert manager definition.+    status :: AlertManagerDefinitionStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlertManagerDefinitionDescription' 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:+--+-- 'createdAt', 'alertManagerDefinitionDescription_createdAt' - The time when the alert manager definition was created.+--+-- 'data'', 'alertManagerDefinitionDescription_data' - The alert manager definition.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'modifiedAt', 'alertManagerDefinitionDescription_modifiedAt' - The time when the alert manager definition was modified.+--+-- 'status', 'alertManagerDefinitionDescription_status' - The status of alert manager definition.+newAlertManagerDefinitionDescription ::+  -- | 'createdAt'+  Prelude.UTCTime ->+  -- | 'data''+  Prelude.ByteString ->+  -- | 'modifiedAt'+  Prelude.UTCTime ->+  -- | 'status'+  AlertManagerDefinitionStatus ->+  AlertManagerDefinitionDescription+newAlertManagerDefinitionDescription+  pCreatedAt_+  pData_+  pModifiedAt_+  pStatus_ =+    AlertManagerDefinitionDescription'+      { createdAt =+          Data._Time Lens.# pCreatedAt_,+        data' = Data._Base64 Lens.# pData_,+        modifiedAt =+          Data._Time Lens.# pModifiedAt_,+        status = pStatus_+      }++-- | The time when the alert manager definition was created.+alertManagerDefinitionDescription_createdAt :: Lens.Lens' AlertManagerDefinitionDescription Prelude.UTCTime+alertManagerDefinitionDescription_createdAt = Lens.lens (\AlertManagerDefinitionDescription' {createdAt} -> createdAt) (\s@AlertManagerDefinitionDescription' {} a -> s {createdAt = a} :: AlertManagerDefinitionDescription) Prelude.. Data._Time++-- | The alert manager definition.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+alertManagerDefinitionDescription_data :: Lens.Lens' AlertManagerDefinitionDescription Prelude.ByteString+alertManagerDefinitionDescription_data = Lens.lens (\AlertManagerDefinitionDescription' {data'} -> data') (\s@AlertManagerDefinitionDescription' {} a -> s {data' = a} :: AlertManagerDefinitionDescription) Prelude.. Data._Base64++-- | The time when the alert manager definition was modified.+alertManagerDefinitionDescription_modifiedAt :: Lens.Lens' AlertManagerDefinitionDescription Prelude.UTCTime+alertManagerDefinitionDescription_modifiedAt = Lens.lens (\AlertManagerDefinitionDescription' {modifiedAt} -> modifiedAt) (\s@AlertManagerDefinitionDescription' {} a -> s {modifiedAt = a} :: AlertManagerDefinitionDescription) Prelude.. Data._Time++-- | The status of alert manager definition.+alertManagerDefinitionDescription_status :: Lens.Lens' AlertManagerDefinitionDescription AlertManagerDefinitionStatus+alertManagerDefinitionDescription_status = Lens.lens (\AlertManagerDefinitionDescription' {status} -> status) (\s@AlertManagerDefinitionDescription' {} a -> s {status = a} :: AlertManagerDefinitionDescription)++instance+  Data.FromJSON+    AlertManagerDefinitionDescription+  where+  parseJSON =+    Data.withObject+      "AlertManagerDefinitionDescription"+      ( \x ->+          AlertManagerDefinitionDescription'+            Prelude.<$> (x Data..: "createdAt")+            Prelude.<*> (x Data..: "data")+            Prelude.<*> (x Data..: "modifiedAt")+            Prelude.<*> (x Data..: "status")+      )++instance+  Prelude.Hashable+    AlertManagerDefinitionDescription+  where+  hashWithSalt+    _salt+    AlertManagerDefinitionDescription' {..} =+      _salt+        `Prelude.hashWithSalt` createdAt+        `Prelude.hashWithSalt` data'+        `Prelude.hashWithSalt` modifiedAt+        `Prelude.hashWithSalt` status++instance+  Prelude.NFData+    AlertManagerDefinitionDescription+  where+  rnf AlertManagerDefinitionDescription' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf data'+      `Prelude.seq` Prelude.rnf modifiedAt+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AMP/Types/AlertManagerDefinitionStatus.hs view
@@ -0,0 +1,91 @@+{-# 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.AMP.Types.AlertManagerDefinitionStatus+-- 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.AMP.Types.AlertManagerDefinitionStatus where++import Amazonka.AMP.Types.AlertManagerDefinitionStatusCode+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++-- | Represents the status of a definition.+--+-- /See:/ 'newAlertManagerDefinitionStatus' smart constructor.+data AlertManagerDefinitionStatus = AlertManagerDefinitionStatus'+  { -- | The reason for failure if any.+    statusReason :: Prelude.Maybe Prelude.Text,+    -- | Status code of this definition.+    statusCode :: AlertManagerDefinitionStatusCode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlertManagerDefinitionStatus' 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:+--+-- 'statusReason', 'alertManagerDefinitionStatus_statusReason' - The reason for failure if any.+--+-- 'statusCode', 'alertManagerDefinitionStatus_statusCode' - Status code of this definition.+newAlertManagerDefinitionStatus ::+  -- | 'statusCode'+  AlertManagerDefinitionStatusCode ->+  AlertManagerDefinitionStatus+newAlertManagerDefinitionStatus pStatusCode_ =+  AlertManagerDefinitionStatus'+    { statusReason =+        Prelude.Nothing,+      statusCode = pStatusCode_+    }++-- | The reason for failure if any.+alertManagerDefinitionStatus_statusReason :: Lens.Lens' AlertManagerDefinitionStatus (Prelude.Maybe Prelude.Text)+alertManagerDefinitionStatus_statusReason = Lens.lens (\AlertManagerDefinitionStatus' {statusReason} -> statusReason) (\s@AlertManagerDefinitionStatus' {} a -> s {statusReason = a} :: AlertManagerDefinitionStatus)++-- | Status code of this definition.+alertManagerDefinitionStatus_statusCode :: Lens.Lens' AlertManagerDefinitionStatus AlertManagerDefinitionStatusCode+alertManagerDefinitionStatus_statusCode = Lens.lens (\AlertManagerDefinitionStatus' {statusCode} -> statusCode) (\s@AlertManagerDefinitionStatus' {} a -> s {statusCode = a} :: AlertManagerDefinitionStatus)++instance Data.FromJSON AlertManagerDefinitionStatus where+  parseJSON =+    Data.withObject+      "AlertManagerDefinitionStatus"+      ( \x ->+          AlertManagerDefinitionStatus'+            Prelude.<$> (x Data..:? "statusReason")+            Prelude.<*> (x Data..: "statusCode")+      )++instance+  Prelude.Hashable+    AlertManagerDefinitionStatus+  where+  hashWithSalt _salt AlertManagerDefinitionStatus' {..} =+    _salt+      `Prelude.hashWithSalt` statusReason+      `Prelude.hashWithSalt` statusCode++instance Prelude.NFData AlertManagerDefinitionStatus where+  rnf AlertManagerDefinitionStatus' {..} =+    Prelude.rnf statusReason+      `Prelude.seq` Prelude.rnf statusCode
+ gen/Amazonka/AMP/Types/AlertManagerDefinitionStatusCode.hs view
@@ -0,0 +1,92 @@+{-# 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.AMP.Types.AlertManagerDefinitionStatusCode+-- 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.AMP.Types.AlertManagerDefinitionStatusCode+  ( AlertManagerDefinitionStatusCode+      ( ..,+        AlertManagerDefinitionStatusCode_ACTIVE,+        AlertManagerDefinitionStatusCode_CREATING,+        AlertManagerDefinitionStatusCode_CREATION_FAILED,+        AlertManagerDefinitionStatusCode_DELETING,+        AlertManagerDefinitionStatusCode_UPDATE_FAILED,+        AlertManagerDefinitionStatusCode_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | State of an alert manager definition.+newtype AlertManagerDefinitionStatusCode = AlertManagerDefinitionStatusCode'+  { fromAlertManagerDefinitionStatusCode ::+      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 AlertManagerDefinitionStatusCode_ACTIVE :: AlertManagerDefinitionStatusCode+pattern AlertManagerDefinitionStatusCode_ACTIVE = AlertManagerDefinitionStatusCode' "ACTIVE"++pattern AlertManagerDefinitionStatusCode_CREATING :: AlertManagerDefinitionStatusCode+pattern AlertManagerDefinitionStatusCode_CREATING = AlertManagerDefinitionStatusCode' "CREATING"++pattern AlertManagerDefinitionStatusCode_CREATION_FAILED :: AlertManagerDefinitionStatusCode+pattern AlertManagerDefinitionStatusCode_CREATION_FAILED = AlertManagerDefinitionStatusCode' "CREATION_FAILED"++pattern AlertManagerDefinitionStatusCode_DELETING :: AlertManagerDefinitionStatusCode+pattern AlertManagerDefinitionStatusCode_DELETING = AlertManagerDefinitionStatusCode' "DELETING"++pattern AlertManagerDefinitionStatusCode_UPDATE_FAILED :: AlertManagerDefinitionStatusCode+pattern AlertManagerDefinitionStatusCode_UPDATE_FAILED = AlertManagerDefinitionStatusCode' "UPDATE_FAILED"++pattern AlertManagerDefinitionStatusCode_UPDATING :: AlertManagerDefinitionStatusCode+pattern AlertManagerDefinitionStatusCode_UPDATING = AlertManagerDefinitionStatusCode' "UPDATING"++{-# COMPLETE+  AlertManagerDefinitionStatusCode_ACTIVE,+  AlertManagerDefinitionStatusCode_CREATING,+  AlertManagerDefinitionStatusCode_CREATION_FAILED,+  AlertManagerDefinitionStatusCode_DELETING,+  AlertManagerDefinitionStatusCode_UPDATE_FAILED,+  AlertManagerDefinitionStatusCode_UPDATING,+  AlertManagerDefinitionStatusCode'+  #-}
+ gen/Amazonka/AMP/Types/LoggingConfigurationMetadata.hs view
@@ -0,0 +1,143 @@+{-# 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.AMP.Types.LoggingConfigurationMetadata+-- 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.AMP.Types.LoggingConfigurationMetadata where++import Amazonka.AMP.Types.LoggingConfigurationStatus+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++-- | Represents the properties of a logging configuration metadata.+--+-- /See:/ 'newLoggingConfigurationMetadata' smart constructor.+data LoggingConfigurationMetadata = LoggingConfigurationMetadata'+  { -- | The time when the logging configuration was created.+    createdAt :: Data.POSIX,+    -- | The ARN of the CW log group to which the vended log data will be+    -- published.+    logGroupArn :: Prelude.Text,+    -- | The time when the logging configuration was modified.+    modifiedAt :: Data.POSIX,+    -- | The status of the logging configuration.+    status :: LoggingConfigurationStatus,+    -- | The workspace where the logging configuration exists.+    workspace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoggingConfigurationMetadata' 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:+--+-- 'createdAt', 'loggingConfigurationMetadata_createdAt' - The time when the logging configuration was created.+--+-- 'logGroupArn', 'loggingConfigurationMetadata_logGroupArn' - The ARN of the CW log group to which the vended log data will be+-- published.+--+-- 'modifiedAt', 'loggingConfigurationMetadata_modifiedAt' - The time when the logging configuration was modified.+--+-- 'status', 'loggingConfigurationMetadata_status' - The status of the logging configuration.+--+-- 'workspace', 'loggingConfigurationMetadata_workspace' - The workspace where the logging configuration exists.+newLoggingConfigurationMetadata ::+  -- | 'createdAt'+  Prelude.UTCTime ->+  -- | 'logGroupArn'+  Prelude.Text ->+  -- | 'modifiedAt'+  Prelude.UTCTime ->+  -- | 'status'+  LoggingConfigurationStatus ->+  -- | 'workspace'+  Prelude.Text ->+  LoggingConfigurationMetadata+newLoggingConfigurationMetadata+  pCreatedAt_+  pLogGroupArn_+  pModifiedAt_+  pStatus_+  pWorkspace_ =+    LoggingConfigurationMetadata'+      { createdAt =+          Data._Time Lens.# pCreatedAt_,+        logGroupArn = pLogGroupArn_,+        modifiedAt = Data._Time Lens.# pModifiedAt_,+        status = pStatus_,+        workspace = pWorkspace_+      }++-- | The time when the logging configuration was created.+loggingConfigurationMetadata_createdAt :: Lens.Lens' LoggingConfigurationMetadata Prelude.UTCTime+loggingConfigurationMetadata_createdAt = Lens.lens (\LoggingConfigurationMetadata' {createdAt} -> createdAt) (\s@LoggingConfigurationMetadata' {} a -> s {createdAt = a} :: LoggingConfigurationMetadata) Prelude.. Data._Time++-- | The ARN of the CW log group to which the vended log data will be+-- published.+loggingConfigurationMetadata_logGroupArn :: Lens.Lens' LoggingConfigurationMetadata Prelude.Text+loggingConfigurationMetadata_logGroupArn = Lens.lens (\LoggingConfigurationMetadata' {logGroupArn} -> logGroupArn) (\s@LoggingConfigurationMetadata' {} a -> s {logGroupArn = a} :: LoggingConfigurationMetadata)++-- | The time when the logging configuration was modified.+loggingConfigurationMetadata_modifiedAt :: Lens.Lens' LoggingConfigurationMetadata Prelude.UTCTime+loggingConfigurationMetadata_modifiedAt = Lens.lens (\LoggingConfigurationMetadata' {modifiedAt} -> modifiedAt) (\s@LoggingConfigurationMetadata' {} a -> s {modifiedAt = a} :: LoggingConfigurationMetadata) Prelude.. Data._Time++-- | The status of the logging configuration.+loggingConfigurationMetadata_status :: Lens.Lens' LoggingConfigurationMetadata LoggingConfigurationStatus+loggingConfigurationMetadata_status = Lens.lens (\LoggingConfigurationMetadata' {status} -> status) (\s@LoggingConfigurationMetadata' {} a -> s {status = a} :: LoggingConfigurationMetadata)++-- | The workspace where the logging configuration exists.+loggingConfigurationMetadata_workspace :: Lens.Lens' LoggingConfigurationMetadata Prelude.Text+loggingConfigurationMetadata_workspace = Lens.lens (\LoggingConfigurationMetadata' {workspace} -> workspace) (\s@LoggingConfigurationMetadata' {} a -> s {workspace = a} :: LoggingConfigurationMetadata)++instance Data.FromJSON LoggingConfigurationMetadata where+  parseJSON =+    Data.withObject+      "LoggingConfigurationMetadata"+      ( \x ->+          LoggingConfigurationMetadata'+            Prelude.<$> (x Data..: "createdAt")+            Prelude.<*> (x Data..: "logGroupArn")+            Prelude.<*> (x Data..: "modifiedAt")+            Prelude.<*> (x Data..: "status")+            Prelude.<*> (x Data..: "workspace")+      )++instance+  Prelude.Hashable+    LoggingConfigurationMetadata+  where+  hashWithSalt _salt LoggingConfigurationMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` logGroupArn+      `Prelude.hashWithSalt` modifiedAt+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` workspace++instance Prelude.NFData LoggingConfigurationMetadata where+  rnf LoggingConfigurationMetadata' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf logGroupArn+      `Prelude.seq` Prelude.rnf modifiedAt+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf workspace
+ gen/Amazonka/AMP/Types/LoggingConfigurationStatus.hs view
@@ -0,0 +1,88 @@+{-# 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.AMP.Types.LoggingConfigurationStatus+-- 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.AMP.Types.LoggingConfigurationStatus where++import Amazonka.AMP.Types.LoggingConfigurationStatusCode+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++-- | Represents the status of a logging configuration.+--+-- /See:/ 'newLoggingConfigurationStatus' smart constructor.+data LoggingConfigurationStatus = LoggingConfigurationStatus'+  { -- | The reason for failure if any.+    statusReason :: Prelude.Maybe Prelude.Text,+    -- | Status code of the logging configuration.+    statusCode :: LoggingConfigurationStatusCode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoggingConfigurationStatus' 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:+--+-- 'statusReason', 'loggingConfigurationStatus_statusReason' - The reason for failure if any.+--+-- 'statusCode', 'loggingConfigurationStatus_statusCode' - Status code of the logging configuration.+newLoggingConfigurationStatus ::+  -- | 'statusCode'+  LoggingConfigurationStatusCode ->+  LoggingConfigurationStatus+newLoggingConfigurationStatus pStatusCode_ =+  LoggingConfigurationStatus'+    { statusReason =+        Prelude.Nothing,+      statusCode = pStatusCode_+    }++-- | The reason for failure if any.+loggingConfigurationStatus_statusReason :: Lens.Lens' LoggingConfigurationStatus (Prelude.Maybe Prelude.Text)+loggingConfigurationStatus_statusReason = Lens.lens (\LoggingConfigurationStatus' {statusReason} -> statusReason) (\s@LoggingConfigurationStatus' {} a -> s {statusReason = a} :: LoggingConfigurationStatus)++-- | Status code of the logging configuration.+loggingConfigurationStatus_statusCode :: Lens.Lens' LoggingConfigurationStatus LoggingConfigurationStatusCode+loggingConfigurationStatus_statusCode = Lens.lens (\LoggingConfigurationStatus' {statusCode} -> statusCode) (\s@LoggingConfigurationStatus' {} a -> s {statusCode = a} :: LoggingConfigurationStatus)++instance Data.FromJSON LoggingConfigurationStatus where+  parseJSON =+    Data.withObject+      "LoggingConfigurationStatus"+      ( \x ->+          LoggingConfigurationStatus'+            Prelude.<$> (x Data..:? "statusReason")+            Prelude.<*> (x Data..: "statusCode")+      )++instance Prelude.Hashable LoggingConfigurationStatus where+  hashWithSalt _salt LoggingConfigurationStatus' {..} =+    _salt+      `Prelude.hashWithSalt` statusReason+      `Prelude.hashWithSalt` statusCode++instance Prelude.NFData LoggingConfigurationStatus where+  rnf LoggingConfigurationStatus' {..} =+    Prelude.rnf statusReason+      `Prelude.seq` Prelude.rnf statusCode
+ gen/Amazonka/AMP/Types/LoggingConfigurationStatusCode.hs view
@@ -0,0 +1,92 @@+{-# 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.AMP.Types.LoggingConfigurationStatusCode+-- 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.AMP.Types.LoggingConfigurationStatusCode+  ( LoggingConfigurationStatusCode+      ( ..,+        LoggingConfigurationStatusCode_ACTIVE,+        LoggingConfigurationStatusCode_CREATING,+        LoggingConfigurationStatusCode_CREATION_FAILED,+        LoggingConfigurationStatusCode_DELETING,+        LoggingConfigurationStatusCode_UPDATE_FAILED,+        LoggingConfigurationStatusCode_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | State of a logging configuration.+newtype LoggingConfigurationStatusCode = LoggingConfigurationStatusCode'+  { fromLoggingConfigurationStatusCode ::+      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 LoggingConfigurationStatusCode_ACTIVE :: LoggingConfigurationStatusCode+pattern LoggingConfigurationStatusCode_ACTIVE = LoggingConfigurationStatusCode' "ACTIVE"++pattern LoggingConfigurationStatusCode_CREATING :: LoggingConfigurationStatusCode+pattern LoggingConfigurationStatusCode_CREATING = LoggingConfigurationStatusCode' "CREATING"++pattern LoggingConfigurationStatusCode_CREATION_FAILED :: LoggingConfigurationStatusCode+pattern LoggingConfigurationStatusCode_CREATION_FAILED = LoggingConfigurationStatusCode' "CREATION_FAILED"++pattern LoggingConfigurationStatusCode_DELETING :: LoggingConfigurationStatusCode+pattern LoggingConfigurationStatusCode_DELETING = LoggingConfigurationStatusCode' "DELETING"++pattern LoggingConfigurationStatusCode_UPDATE_FAILED :: LoggingConfigurationStatusCode+pattern LoggingConfigurationStatusCode_UPDATE_FAILED = LoggingConfigurationStatusCode' "UPDATE_FAILED"++pattern LoggingConfigurationStatusCode_UPDATING :: LoggingConfigurationStatusCode+pattern LoggingConfigurationStatusCode_UPDATING = LoggingConfigurationStatusCode' "UPDATING"++{-# COMPLETE+  LoggingConfigurationStatusCode_ACTIVE,+  LoggingConfigurationStatusCode_CREATING,+  LoggingConfigurationStatusCode_CREATION_FAILED,+  LoggingConfigurationStatusCode_DELETING,+  LoggingConfigurationStatusCode_UPDATE_FAILED,+  LoggingConfigurationStatusCode_UPDATING,+  LoggingConfigurationStatusCode'+  #-}
+ gen/Amazonka/AMP/Types/RuleGroupsNamespaceDescription.hs view
@@ -0,0 +1,180 @@+{-# 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.AMP.Types.RuleGroupsNamespaceDescription+-- 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.AMP.Types.RuleGroupsNamespaceDescription where++import Amazonka.AMP.Types.RuleGroupsNamespaceStatus+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++-- | Represents a description of the rule groups namespace.+--+-- /See:/ 'newRuleGroupsNamespaceDescription' smart constructor.+data RuleGroupsNamespaceDescription = RuleGroupsNamespaceDescription'+  { -- | The tags of this rule groups namespace.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of this rule groups namespace.+    arn :: Prelude.Text,+    -- | The time when the rule groups namespace was created.+    createdAt :: Data.POSIX,+    -- | The rule groups namespace data.+    data' :: Data.Base64,+    -- | The time when the rule groups namespace was modified.+    modifiedAt :: Data.POSIX,+    -- | The rule groups namespace name.+    name :: Prelude.Text,+    -- | The status of rule groups namespace.+    status :: RuleGroupsNamespaceStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RuleGroupsNamespaceDescription' 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', 'ruleGroupsNamespaceDescription_tags' - The tags of this rule groups namespace.+--+-- 'arn', 'ruleGroupsNamespaceDescription_arn' - The Amazon Resource Name (ARN) of this rule groups namespace.+--+-- 'createdAt', 'ruleGroupsNamespaceDescription_createdAt' - The time when the rule groups namespace was created.+--+-- 'data'', 'ruleGroupsNamespaceDescription_data' - The rule groups namespace data.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'modifiedAt', 'ruleGroupsNamespaceDescription_modifiedAt' - The time when the rule groups namespace was modified.+--+-- 'name', 'ruleGroupsNamespaceDescription_name' - The rule groups namespace name.+--+-- 'status', 'ruleGroupsNamespaceDescription_status' - The status of rule groups namespace.+newRuleGroupsNamespaceDescription ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'createdAt'+  Prelude.UTCTime ->+  -- | 'data''+  Prelude.ByteString ->+  -- | 'modifiedAt'+  Prelude.UTCTime ->+  -- | 'name'+  Prelude.Text ->+  -- | 'status'+  RuleGroupsNamespaceStatus ->+  RuleGroupsNamespaceDescription+newRuleGroupsNamespaceDescription+  pArn_+  pCreatedAt_+  pData_+  pModifiedAt_+  pName_+  pStatus_ =+    RuleGroupsNamespaceDescription'+      { tags =+          Prelude.Nothing,+        arn = pArn_,+        createdAt = Data._Time Lens.# pCreatedAt_,+        data' = Data._Base64 Lens.# pData_,+        modifiedAt = Data._Time Lens.# pModifiedAt_,+        name = pName_,+        status = pStatus_+      }++-- | The tags of this rule groups namespace.+ruleGroupsNamespaceDescription_tags :: Lens.Lens' RuleGroupsNamespaceDescription (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+ruleGroupsNamespaceDescription_tags = Lens.lens (\RuleGroupsNamespaceDescription' {tags} -> tags) (\s@RuleGroupsNamespaceDescription' {} a -> s {tags = a} :: RuleGroupsNamespaceDescription) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of this rule groups namespace.+ruleGroupsNamespaceDescription_arn :: Lens.Lens' RuleGroupsNamespaceDescription Prelude.Text+ruleGroupsNamespaceDescription_arn = Lens.lens (\RuleGroupsNamespaceDescription' {arn} -> arn) (\s@RuleGroupsNamespaceDescription' {} a -> s {arn = a} :: RuleGroupsNamespaceDescription)++-- | The time when the rule groups namespace was created.+ruleGroupsNamespaceDescription_createdAt :: Lens.Lens' RuleGroupsNamespaceDescription Prelude.UTCTime+ruleGroupsNamespaceDescription_createdAt = Lens.lens (\RuleGroupsNamespaceDescription' {createdAt} -> createdAt) (\s@RuleGroupsNamespaceDescription' {} a -> s {createdAt = a} :: RuleGroupsNamespaceDescription) Prelude.. Data._Time++-- | The rule groups namespace data.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+ruleGroupsNamespaceDescription_data :: Lens.Lens' RuleGroupsNamespaceDescription Prelude.ByteString+ruleGroupsNamespaceDescription_data = Lens.lens (\RuleGroupsNamespaceDescription' {data'} -> data') (\s@RuleGroupsNamespaceDescription' {} a -> s {data' = a} :: RuleGroupsNamespaceDescription) Prelude.. Data._Base64++-- | The time when the rule groups namespace was modified.+ruleGroupsNamespaceDescription_modifiedAt :: Lens.Lens' RuleGroupsNamespaceDescription Prelude.UTCTime+ruleGroupsNamespaceDescription_modifiedAt = Lens.lens (\RuleGroupsNamespaceDescription' {modifiedAt} -> modifiedAt) (\s@RuleGroupsNamespaceDescription' {} a -> s {modifiedAt = a} :: RuleGroupsNamespaceDescription) Prelude.. Data._Time++-- | The rule groups namespace name.+ruleGroupsNamespaceDescription_name :: Lens.Lens' RuleGroupsNamespaceDescription Prelude.Text+ruleGroupsNamespaceDescription_name = Lens.lens (\RuleGroupsNamespaceDescription' {name} -> name) (\s@RuleGroupsNamespaceDescription' {} a -> s {name = a} :: RuleGroupsNamespaceDescription)++-- | The status of rule groups namespace.+ruleGroupsNamespaceDescription_status :: Lens.Lens' RuleGroupsNamespaceDescription RuleGroupsNamespaceStatus+ruleGroupsNamespaceDescription_status = Lens.lens (\RuleGroupsNamespaceDescription' {status} -> status) (\s@RuleGroupsNamespaceDescription' {} a -> s {status = a} :: RuleGroupsNamespaceDescription)++instance Data.FromJSON RuleGroupsNamespaceDescription where+  parseJSON =+    Data.withObject+      "RuleGroupsNamespaceDescription"+      ( \x ->+          RuleGroupsNamespaceDescription'+            Prelude.<$> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "arn")+            Prelude.<*> (x Data..: "createdAt")+            Prelude.<*> (x Data..: "data")+            Prelude.<*> (x Data..: "modifiedAt")+            Prelude.<*> (x Data..: "name")+            Prelude.<*> (x Data..: "status")+      )++instance+  Prelude.Hashable+    RuleGroupsNamespaceDescription+  where+  hashWithSalt+    _salt+    RuleGroupsNamespaceDescription' {..} =+      _salt+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` arn+        `Prelude.hashWithSalt` createdAt+        `Prelude.hashWithSalt` data'+        `Prelude.hashWithSalt` modifiedAt+        `Prelude.hashWithSalt` name+        `Prelude.hashWithSalt` status++instance+  Prelude.NFData+    RuleGroupsNamespaceDescription+  where+  rnf RuleGroupsNamespaceDescription' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf data'+      `Prelude.seq` Prelude.rnf modifiedAt+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AMP/Types/RuleGroupsNamespaceStatus.hs view
@@ -0,0 +1,88 @@+{-# 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.AMP.Types.RuleGroupsNamespaceStatus+-- 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.AMP.Types.RuleGroupsNamespaceStatus where++import Amazonka.AMP.Types.RuleGroupsNamespaceStatusCode+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++-- | Represents the status of a namespace.+--+-- /See:/ 'newRuleGroupsNamespaceStatus' smart constructor.+data RuleGroupsNamespaceStatus = RuleGroupsNamespaceStatus'+  { -- | The reason for failure if any.+    statusReason :: Prelude.Maybe Prelude.Text,+    -- | Status code of this namespace.+    statusCode :: RuleGroupsNamespaceStatusCode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RuleGroupsNamespaceStatus' 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:+--+-- 'statusReason', 'ruleGroupsNamespaceStatus_statusReason' - The reason for failure if any.+--+-- 'statusCode', 'ruleGroupsNamespaceStatus_statusCode' - Status code of this namespace.+newRuleGroupsNamespaceStatus ::+  -- | 'statusCode'+  RuleGroupsNamespaceStatusCode ->+  RuleGroupsNamespaceStatus+newRuleGroupsNamespaceStatus pStatusCode_ =+  RuleGroupsNamespaceStatus'+    { statusReason =+        Prelude.Nothing,+      statusCode = pStatusCode_+    }++-- | The reason for failure if any.+ruleGroupsNamespaceStatus_statusReason :: Lens.Lens' RuleGroupsNamespaceStatus (Prelude.Maybe Prelude.Text)+ruleGroupsNamespaceStatus_statusReason = Lens.lens (\RuleGroupsNamespaceStatus' {statusReason} -> statusReason) (\s@RuleGroupsNamespaceStatus' {} a -> s {statusReason = a} :: RuleGroupsNamespaceStatus)++-- | Status code of this namespace.+ruleGroupsNamespaceStatus_statusCode :: Lens.Lens' RuleGroupsNamespaceStatus RuleGroupsNamespaceStatusCode+ruleGroupsNamespaceStatus_statusCode = Lens.lens (\RuleGroupsNamespaceStatus' {statusCode} -> statusCode) (\s@RuleGroupsNamespaceStatus' {} a -> s {statusCode = a} :: RuleGroupsNamespaceStatus)++instance Data.FromJSON RuleGroupsNamespaceStatus where+  parseJSON =+    Data.withObject+      "RuleGroupsNamespaceStatus"+      ( \x ->+          RuleGroupsNamespaceStatus'+            Prelude.<$> (x Data..:? "statusReason")+            Prelude.<*> (x Data..: "statusCode")+      )++instance Prelude.Hashable RuleGroupsNamespaceStatus where+  hashWithSalt _salt RuleGroupsNamespaceStatus' {..} =+    _salt+      `Prelude.hashWithSalt` statusReason+      `Prelude.hashWithSalt` statusCode++instance Prelude.NFData RuleGroupsNamespaceStatus where+  rnf RuleGroupsNamespaceStatus' {..} =+    Prelude.rnf statusReason+      `Prelude.seq` Prelude.rnf statusCode
+ gen/Amazonka/AMP/Types/RuleGroupsNamespaceStatusCode.hs view
@@ -0,0 +1,92 @@+{-# 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.AMP.Types.RuleGroupsNamespaceStatusCode+-- 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.AMP.Types.RuleGroupsNamespaceStatusCode+  ( RuleGroupsNamespaceStatusCode+      ( ..,+        RuleGroupsNamespaceStatusCode_ACTIVE,+        RuleGroupsNamespaceStatusCode_CREATING,+        RuleGroupsNamespaceStatusCode_CREATION_FAILED,+        RuleGroupsNamespaceStatusCode_DELETING,+        RuleGroupsNamespaceStatusCode_UPDATE_FAILED,+        RuleGroupsNamespaceStatusCode_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | State of a namespace.+newtype RuleGroupsNamespaceStatusCode = RuleGroupsNamespaceStatusCode'+  { fromRuleGroupsNamespaceStatusCode ::+      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 RuleGroupsNamespaceStatusCode_ACTIVE :: RuleGroupsNamespaceStatusCode+pattern RuleGroupsNamespaceStatusCode_ACTIVE = RuleGroupsNamespaceStatusCode' "ACTIVE"++pattern RuleGroupsNamespaceStatusCode_CREATING :: RuleGroupsNamespaceStatusCode+pattern RuleGroupsNamespaceStatusCode_CREATING = RuleGroupsNamespaceStatusCode' "CREATING"++pattern RuleGroupsNamespaceStatusCode_CREATION_FAILED :: RuleGroupsNamespaceStatusCode+pattern RuleGroupsNamespaceStatusCode_CREATION_FAILED = RuleGroupsNamespaceStatusCode' "CREATION_FAILED"++pattern RuleGroupsNamespaceStatusCode_DELETING :: RuleGroupsNamespaceStatusCode+pattern RuleGroupsNamespaceStatusCode_DELETING = RuleGroupsNamespaceStatusCode' "DELETING"++pattern RuleGroupsNamespaceStatusCode_UPDATE_FAILED :: RuleGroupsNamespaceStatusCode+pattern RuleGroupsNamespaceStatusCode_UPDATE_FAILED = RuleGroupsNamespaceStatusCode' "UPDATE_FAILED"++pattern RuleGroupsNamespaceStatusCode_UPDATING :: RuleGroupsNamespaceStatusCode+pattern RuleGroupsNamespaceStatusCode_UPDATING = RuleGroupsNamespaceStatusCode' "UPDATING"++{-# COMPLETE+  RuleGroupsNamespaceStatusCode_ACTIVE,+  RuleGroupsNamespaceStatusCode_CREATING,+  RuleGroupsNamespaceStatusCode_CREATION_FAILED,+  RuleGroupsNamespaceStatusCode_DELETING,+  RuleGroupsNamespaceStatusCode_UPDATE_FAILED,+  RuleGroupsNamespaceStatusCode_UPDATING,+  RuleGroupsNamespaceStatusCode'+  #-}
+ gen/Amazonka/AMP/Types/RuleGroupsNamespaceSummary.hs view
@@ -0,0 +1,148 @@+{-# 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.AMP.Types.RuleGroupsNamespaceSummary+-- 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.AMP.Types.RuleGroupsNamespaceSummary where++import Amazonka.AMP.Types.RuleGroupsNamespaceStatus+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++-- | Represents a summary of the rule groups namespace.+--+-- /See:/ 'newRuleGroupsNamespaceSummary' smart constructor.+data RuleGroupsNamespaceSummary = RuleGroupsNamespaceSummary'+  { -- | The tags of this rule groups namespace.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of this rule groups namespace.+    arn :: Prelude.Text,+    -- | The time when the rule groups namespace was created.+    createdAt :: Data.POSIX,+    -- | The time when the rule groups namespace was modified.+    modifiedAt :: Data.POSIX,+    -- | The rule groups namespace name.+    name :: Prelude.Text,+    -- | The status of rule groups namespace.+    status :: RuleGroupsNamespaceStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RuleGroupsNamespaceSummary' 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', 'ruleGroupsNamespaceSummary_tags' - The tags of this rule groups namespace.+--+-- 'arn', 'ruleGroupsNamespaceSummary_arn' - The Amazon Resource Name (ARN) of this rule groups namespace.+--+-- 'createdAt', 'ruleGroupsNamespaceSummary_createdAt' - The time when the rule groups namespace was created.+--+-- 'modifiedAt', 'ruleGroupsNamespaceSummary_modifiedAt' - The time when the rule groups namespace was modified.+--+-- 'name', 'ruleGroupsNamespaceSummary_name' - The rule groups namespace name.+--+-- 'status', 'ruleGroupsNamespaceSummary_status' - The status of rule groups namespace.+newRuleGroupsNamespaceSummary ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'createdAt'+  Prelude.UTCTime ->+  -- | 'modifiedAt'+  Prelude.UTCTime ->+  -- | 'name'+  Prelude.Text ->+  -- | 'status'+  RuleGroupsNamespaceStatus ->+  RuleGroupsNamespaceSummary+newRuleGroupsNamespaceSummary+  pArn_+  pCreatedAt_+  pModifiedAt_+  pName_+  pStatus_ =+    RuleGroupsNamespaceSummary'+      { tags = Prelude.Nothing,+        arn = pArn_,+        createdAt = Data._Time Lens.# pCreatedAt_,+        modifiedAt = Data._Time Lens.# pModifiedAt_,+        name = pName_,+        status = pStatus_+      }++-- | The tags of this rule groups namespace.+ruleGroupsNamespaceSummary_tags :: Lens.Lens' RuleGroupsNamespaceSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+ruleGroupsNamespaceSummary_tags = Lens.lens (\RuleGroupsNamespaceSummary' {tags} -> tags) (\s@RuleGroupsNamespaceSummary' {} a -> s {tags = a} :: RuleGroupsNamespaceSummary) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of this rule groups namespace.+ruleGroupsNamespaceSummary_arn :: Lens.Lens' RuleGroupsNamespaceSummary Prelude.Text+ruleGroupsNamespaceSummary_arn = Lens.lens (\RuleGroupsNamespaceSummary' {arn} -> arn) (\s@RuleGroupsNamespaceSummary' {} a -> s {arn = a} :: RuleGroupsNamespaceSummary)++-- | The time when the rule groups namespace was created.+ruleGroupsNamespaceSummary_createdAt :: Lens.Lens' RuleGroupsNamespaceSummary Prelude.UTCTime+ruleGroupsNamespaceSummary_createdAt = Lens.lens (\RuleGroupsNamespaceSummary' {createdAt} -> createdAt) (\s@RuleGroupsNamespaceSummary' {} a -> s {createdAt = a} :: RuleGroupsNamespaceSummary) Prelude.. Data._Time++-- | The time when the rule groups namespace was modified.+ruleGroupsNamespaceSummary_modifiedAt :: Lens.Lens' RuleGroupsNamespaceSummary Prelude.UTCTime+ruleGroupsNamespaceSummary_modifiedAt = Lens.lens (\RuleGroupsNamespaceSummary' {modifiedAt} -> modifiedAt) (\s@RuleGroupsNamespaceSummary' {} a -> s {modifiedAt = a} :: RuleGroupsNamespaceSummary) Prelude.. Data._Time++-- | The rule groups namespace name.+ruleGroupsNamespaceSummary_name :: Lens.Lens' RuleGroupsNamespaceSummary Prelude.Text+ruleGroupsNamespaceSummary_name = Lens.lens (\RuleGroupsNamespaceSummary' {name} -> name) (\s@RuleGroupsNamespaceSummary' {} a -> s {name = a} :: RuleGroupsNamespaceSummary)++-- | The status of rule groups namespace.+ruleGroupsNamespaceSummary_status :: Lens.Lens' RuleGroupsNamespaceSummary RuleGroupsNamespaceStatus+ruleGroupsNamespaceSummary_status = Lens.lens (\RuleGroupsNamespaceSummary' {status} -> status) (\s@RuleGroupsNamespaceSummary' {} a -> s {status = a} :: RuleGroupsNamespaceSummary)++instance Data.FromJSON RuleGroupsNamespaceSummary where+  parseJSON =+    Data.withObject+      "RuleGroupsNamespaceSummary"+      ( \x ->+          RuleGroupsNamespaceSummary'+            Prelude.<$> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "arn")+            Prelude.<*> (x Data..: "createdAt")+            Prelude.<*> (x Data..: "modifiedAt")+            Prelude.<*> (x Data..: "name")+            Prelude.<*> (x Data..: "status")+      )++instance Prelude.Hashable RuleGroupsNamespaceSummary where+  hashWithSalt _salt RuleGroupsNamespaceSummary' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` modifiedAt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` status++instance Prelude.NFData RuleGroupsNamespaceSummary where+  rnf RuleGroupsNamespaceSummary' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf modifiedAt+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AMP/Types/WorkspaceDescription.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.AMP.Types.WorkspaceDescription+-- 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.AMP.Types.WorkspaceDescription where++import Amazonka.AMP.Types.WorkspaceStatus+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++-- | Represents the properties of a workspace.+--+-- /See:/ 'newWorkspaceDescription' smart constructor.+data WorkspaceDescription = WorkspaceDescription'+  { -- | Alias of this workspace.+    alias :: Prelude.Maybe Prelude.Text,+    -- | Prometheus endpoint URI.+    prometheusEndpoint :: Prelude.Maybe Prelude.Text,+    -- | The tags of this workspace.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of this workspace.+    arn :: Prelude.Text,+    -- | The time when the workspace was created.+    createdAt :: Data.POSIX,+    -- | The status of this workspace.+    status :: WorkspaceStatus,+    -- | Unique string identifying this workspace.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkspaceDescription' 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:+--+-- 'alias', 'workspaceDescription_alias' - Alias of this workspace.+--+-- 'prometheusEndpoint', 'workspaceDescription_prometheusEndpoint' - Prometheus endpoint URI.+--+-- 'tags', 'workspaceDescription_tags' - The tags of this workspace.+--+-- 'arn', 'workspaceDescription_arn' - The Amazon Resource Name (ARN) of this workspace.+--+-- 'createdAt', 'workspaceDescription_createdAt' - The time when the workspace was created.+--+-- 'status', 'workspaceDescription_status' - The status of this workspace.+--+-- 'workspaceId', 'workspaceDescription_workspaceId' - Unique string identifying this workspace.+newWorkspaceDescription ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'createdAt'+  Prelude.UTCTime ->+  -- | 'status'+  WorkspaceStatus ->+  -- | 'workspaceId'+  Prelude.Text ->+  WorkspaceDescription+newWorkspaceDescription+  pArn_+  pCreatedAt_+  pStatus_+  pWorkspaceId_ =+    WorkspaceDescription'+      { alias = Prelude.Nothing,+        prometheusEndpoint = Prelude.Nothing,+        tags = Prelude.Nothing,+        arn = pArn_,+        createdAt = Data._Time Lens.# pCreatedAt_,+        status = pStatus_,+        workspaceId = pWorkspaceId_+      }++-- | Alias of this workspace.+workspaceDescription_alias :: Lens.Lens' WorkspaceDescription (Prelude.Maybe Prelude.Text)+workspaceDescription_alias = Lens.lens (\WorkspaceDescription' {alias} -> alias) (\s@WorkspaceDescription' {} a -> s {alias = a} :: WorkspaceDescription)++-- | Prometheus endpoint URI.+workspaceDescription_prometheusEndpoint :: Lens.Lens' WorkspaceDescription (Prelude.Maybe Prelude.Text)+workspaceDescription_prometheusEndpoint = Lens.lens (\WorkspaceDescription' {prometheusEndpoint} -> prometheusEndpoint) (\s@WorkspaceDescription' {} a -> s {prometheusEndpoint = a} :: WorkspaceDescription)++-- | The tags of this workspace.+workspaceDescription_tags :: Lens.Lens' WorkspaceDescription (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+workspaceDescription_tags = Lens.lens (\WorkspaceDescription' {tags} -> tags) (\s@WorkspaceDescription' {} a -> s {tags = a} :: WorkspaceDescription) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of this workspace.+workspaceDescription_arn :: Lens.Lens' WorkspaceDescription Prelude.Text+workspaceDescription_arn = Lens.lens (\WorkspaceDescription' {arn} -> arn) (\s@WorkspaceDescription' {} a -> s {arn = a} :: WorkspaceDescription)++-- | The time when the workspace was created.+workspaceDescription_createdAt :: Lens.Lens' WorkspaceDescription Prelude.UTCTime+workspaceDescription_createdAt = Lens.lens (\WorkspaceDescription' {createdAt} -> createdAt) (\s@WorkspaceDescription' {} a -> s {createdAt = a} :: WorkspaceDescription) Prelude.. Data._Time++-- | The status of this workspace.+workspaceDescription_status :: Lens.Lens' WorkspaceDescription WorkspaceStatus+workspaceDescription_status = Lens.lens (\WorkspaceDescription' {status} -> status) (\s@WorkspaceDescription' {} a -> s {status = a} :: WorkspaceDescription)++-- | Unique string identifying this workspace.+workspaceDescription_workspaceId :: Lens.Lens' WorkspaceDescription Prelude.Text+workspaceDescription_workspaceId = Lens.lens (\WorkspaceDescription' {workspaceId} -> workspaceId) (\s@WorkspaceDescription' {} a -> s {workspaceId = a} :: WorkspaceDescription)++instance Data.FromJSON WorkspaceDescription where+  parseJSON =+    Data.withObject+      "WorkspaceDescription"+      ( \x ->+          WorkspaceDescription'+            Prelude.<$> (x Data..:? "alias")+            Prelude.<*> (x Data..:? "prometheusEndpoint")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "arn")+            Prelude.<*> (x Data..: "createdAt")+            Prelude.<*> (x Data..: "status")+            Prelude.<*> (x Data..: "workspaceId")+      )++instance Prelude.Hashable WorkspaceDescription where+  hashWithSalt _salt WorkspaceDescription' {..} =+    _salt+      `Prelude.hashWithSalt` alias+      `Prelude.hashWithSalt` prometheusEndpoint+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData WorkspaceDescription where+  rnf WorkspaceDescription' {..} =+    Prelude.rnf alias+      `Prelude.seq` Prelude.rnf prometheusEndpoint+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf workspaceId
+ gen/Amazonka/AMP/Types/WorkspaceStatus.hs view
@@ -0,0 +1,71 @@+{-# 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.AMP.Types.WorkspaceStatus+-- 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.AMP.Types.WorkspaceStatus where++import Amazonka.AMP.Types.WorkspaceStatusCode+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++-- | Represents the status of a workspace.+--+-- /See:/ 'newWorkspaceStatus' smart constructor.+data WorkspaceStatus = WorkspaceStatus'+  { -- | Status code of this workspace.+    statusCode :: WorkspaceStatusCode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkspaceStatus' 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:+--+-- 'statusCode', 'workspaceStatus_statusCode' - Status code of this workspace.+newWorkspaceStatus ::+  -- | 'statusCode'+  WorkspaceStatusCode ->+  WorkspaceStatus+newWorkspaceStatus pStatusCode_ =+  WorkspaceStatus' {statusCode = pStatusCode_}++-- | Status code of this workspace.+workspaceStatus_statusCode :: Lens.Lens' WorkspaceStatus WorkspaceStatusCode+workspaceStatus_statusCode = Lens.lens (\WorkspaceStatus' {statusCode} -> statusCode) (\s@WorkspaceStatus' {} a -> s {statusCode = a} :: WorkspaceStatus)++instance Data.FromJSON WorkspaceStatus where+  parseJSON =+    Data.withObject+      "WorkspaceStatus"+      ( \x ->+          WorkspaceStatus'+            Prelude.<$> (x Data..: "statusCode")+      )++instance Prelude.Hashable WorkspaceStatus where+  hashWithSalt _salt WorkspaceStatus' {..} =+    _salt `Prelude.hashWithSalt` statusCode++instance Prelude.NFData WorkspaceStatus where+  rnf WorkspaceStatus' {..} = Prelude.rnf statusCode
+ gen/Amazonka/AMP/Types/WorkspaceStatusCode.hs view
@@ -0,0 +1,87 @@+{-# 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.AMP.Types.WorkspaceStatusCode+-- 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.AMP.Types.WorkspaceStatusCode+  ( WorkspaceStatusCode+      ( ..,+        WorkspaceStatusCode_ACTIVE,+        WorkspaceStatusCode_CREATING,+        WorkspaceStatusCode_CREATION_FAILED,+        WorkspaceStatusCode_DELETING,+        WorkspaceStatusCode_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | State of a workspace.+newtype WorkspaceStatusCode = WorkspaceStatusCode'+  { fromWorkspaceStatusCode ::+      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 WorkspaceStatusCode_ACTIVE :: WorkspaceStatusCode+pattern WorkspaceStatusCode_ACTIVE = WorkspaceStatusCode' "ACTIVE"++pattern WorkspaceStatusCode_CREATING :: WorkspaceStatusCode+pattern WorkspaceStatusCode_CREATING = WorkspaceStatusCode' "CREATING"++pattern WorkspaceStatusCode_CREATION_FAILED :: WorkspaceStatusCode+pattern WorkspaceStatusCode_CREATION_FAILED = WorkspaceStatusCode' "CREATION_FAILED"++pattern WorkspaceStatusCode_DELETING :: WorkspaceStatusCode+pattern WorkspaceStatusCode_DELETING = WorkspaceStatusCode' "DELETING"++pattern WorkspaceStatusCode_UPDATING :: WorkspaceStatusCode+pattern WorkspaceStatusCode_UPDATING = WorkspaceStatusCode' "UPDATING"++{-# COMPLETE+  WorkspaceStatusCode_ACTIVE,+  WorkspaceStatusCode_CREATING,+  WorkspaceStatusCode_CREATION_FAILED,+  WorkspaceStatusCode_DELETING,+  WorkspaceStatusCode_UPDATING,+  WorkspaceStatusCode'+  #-}
+ gen/Amazonka/AMP/Types/WorkspaceSummary.hs view
@@ -0,0 +1,145 @@+{-# 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.AMP.Types.WorkspaceSummary+-- 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.AMP.Types.WorkspaceSummary where++import Amazonka.AMP.Types.WorkspaceStatus+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++-- | Represents a summary of the properties of a workspace.+--+-- /See:/ 'newWorkspaceSummary' smart constructor.+data WorkspaceSummary = WorkspaceSummary'+  { -- | Alias of this workspace.+    alias :: Prelude.Maybe Prelude.Text,+    -- | The tags of this workspace.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The AmazonResourceName of this workspace.+    arn :: Prelude.Text,+    -- | The time when the workspace was created.+    createdAt :: Data.POSIX,+    -- | The status of this workspace.+    status :: WorkspaceStatus,+    -- | Unique string identifying this workspace.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkspaceSummary' 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:+--+-- 'alias', 'workspaceSummary_alias' - Alias of this workspace.+--+-- 'tags', 'workspaceSummary_tags' - The tags of this workspace.+--+-- 'arn', 'workspaceSummary_arn' - The AmazonResourceName of this workspace.+--+-- 'createdAt', 'workspaceSummary_createdAt' - The time when the workspace was created.+--+-- 'status', 'workspaceSummary_status' - The status of this workspace.+--+-- 'workspaceId', 'workspaceSummary_workspaceId' - Unique string identifying this workspace.+newWorkspaceSummary ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'createdAt'+  Prelude.UTCTime ->+  -- | 'status'+  WorkspaceStatus ->+  -- | 'workspaceId'+  Prelude.Text ->+  WorkspaceSummary+newWorkspaceSummary+  pArn_+  pCreatedAt_+  pStatus_+  pWorkspaceId_ =+    WorkspaceSummary'+      { alias = Prelude.Nothing,+        tags = Prelude.Nothing,+        arn = pArn_,+        createdAt = Data._Time Lens.# pCreatedAt_,+        status = pStatus_,+        workspaceId = pWorkspaceId_+      }++-- | Alias of this workspace.+workspaceSummary_alias :: Lens.Lens' WorkspaceSummary (Prelude.Maybe Prelude.Text)+workspaceSummary_alias = Lens.lens (\WorkspaceSummary' {alias} -> alias) (\s@WorkspaceSummary' {} a -> s {alias = a} :: WorkspaceSummary)++-- | The tags of this workspace.+workspaceSummary_tags :: Lens.Lens' WorkspaceSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+workspaceSummary_tags = Lens.lens (\WorkspaceSummary' {tags} -> tags) (\s@WorkspaceSummary' {} a -> s {tags = a} :: WorkspaceSummary) Prelude.. Lens.mapping Lens.coerced++-- | The AmazonResourceName of this workspace.+workspaceSummary_arn :: Lens.Lens' WorkspaceSummary Prelude.Text+workspaceSummary_arn = Lens.lens (\WorkspaceSummary' {arn} -> arn) (\s@WorkspaceSummary' {} a -> s {arn = a} :: WorkspaceSummary)++-- | The time when the workspace was created.+workspaceSummary_createdAt :: Lens.Lens' WorkspaceSummary Prelude.UTCTime+workspaceSummary_createdAt = Lens.lens (\WorkspaceSummary' {createdAt} -> createdAt) (\s@WorkspaceSummary' {} a -> s {createdAt = a} :: WorkspaceSummary) Prelude.. Data._Time++-- | The status of this workspace.+workspaceSummary_status :: Lens.Lens' WorkspaceSummary WorkspaceStatus+workspaceSummary_status = Lens.lens (\WorkspaceSummary' {status} -> status) (\s@WorkspaceSummary' {} a -> s {status = a} :: WorkspaceSummary)++-- | Unique string identifying this workspace.+workspaceSummary_workspaceId :: Lens.Lens' WorkspaceSummary Prelude.Text+workspaceSummary_workspaceId = Lens.lens (\WorkspaceSummary' {workspaceId} -> workspaceId) (\s@WorkspaceSummary' {} a -> s {workspaceId = a} :: WorkspaceSummary)++instance Data.FromJSON WorkspaceSummary where+  parseJSON =+    Data.withObject+      "WorkspaceSummary"+      ( \x ->+          WorkspaceSummary'+            Prelude.<$> (x Data..:? "alias")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "arn")+            Prelude.<*> (x Data..: "createdAt")+            Prelude.<*> (x Data..: "status")+            Prelude.<*> (x Data..: "workspaceId")+      )++instance Prelude.Hashable WorkspaceSummary where+  hashWithSalt _salt WorkspaceSummary' {..} =+    _salt+      `Prelude.hashWithSalt` alias+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData WorkspaceSummary where+  rnf WorkspaceSummary' {..} =+    Prelude.rnf alias+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf workspaceId
+ gen/Amazonka/AMP/UntagResource.hs view
@@ -0,0 +1,161 @@+{-# 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.AMP.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)+--+-- Deletes tags from the specified resource.+module Amazonka.AMP.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import Amazonka.AMP.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 ARN of the resource.+    resourceArn :: Prelude.Text,+    -- | One or more tag keys+    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 ARN of the resource.+--+-- 'tagKeys', 'untagResource_tagKeys' - One or more tag keys+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Prelude.mempty+    }++-- | The ARN of the resource.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | One or more tag keys+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.delete (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+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /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/AMP/UpdateLoggingConfiguration.hs view
@@ -0,0 +1,218 @@+{-# 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.AMP.UpdateLoggingConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update logging configuration.+module Amazonka.AMP.UpdateLoggingConfiguration+  ( -- * Creating a Request+    UpdateLoggingConfiguration (..),+    newUpdateLoggingConfiguration,++    -- * Request Lenses+    updateLoggingConfiguration_clientToken,+    updateLoggingConfiguration_logGroupArn,+    updateLoggingConfiguration_workspaceId,++    -- * Destructuring the Response+    UpdateLoggingConfigurationResponse (..),+    newUpdateLoggingConfigurationResponse,++    -- * Response Lenses+    updateLoggingConfigurationResponse_httpStatus,+    updateLoggingConfigurationResponse_status,+  )+where++import Amazonka.AMP.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++-- | Represents the input of an UpdateLoggingConfiguration operation.+--+-- /See:/ 'newUpdateLoggingConfiguration' smart constructor.+data UpdateLoggingConfiguration = UpdateLoggingConfiguration'+  { -- | Optional, unique, case-sensitive, user-provided identifier to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the CW log group to which the vended log data will be+    -- published.+    logGroupArn :: Prelude.Text,+    -- | The ID of the workspace to vend logs to.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLoggingConfiguration' 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:+--+-- 'clientToken', 'updateLoggingConfiguration_clientToken' - Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+--+-- 'logGroupArn', 'updateLoggingConfiguration_logGroupArn' - The ARN of the CW log group to which the vended log data will be+-- published.+--+-- 'workspaceId', 'updateLoggingConfiguration_workspaceId' - The ID of the workspace to vend logs to.+newUpdateLoggingConfiguration ::+  -- | 'logGroupArn'+  Prelude.Text ->+  -- | 'workspaceId'+  Prelude.Text ->+  UpdateLoggingConfiguration+newUpdateLoggingConfiguration+  pLogGroupArn_+  pWorkspaceId_ =+    UpdateLoggingConfiguration'+      { clientToken =+          Prelude.Nothing,+        logGroupArn = pLogGroupArn_,+        workspaceId = pWorkspaceId_+      }++-- | Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+updateLoggingConfiguration_clientToken :: Lens.Lens' UpdateLoggingConfiguration (Prelude.Maybe Prelude.Text)+updateLoggingConfiguration_clientToken = Lens.lens (\UpdateLoggingConfiguration' {clientToken} -> clientToken) (\s@UpdateLoggingConfiguration' {} a -> s {clientToken = a} :: UpdateLoggingConfiguration)++-- | The ARN of the CW log group to which the vended log data will be+-- published.+updateLoggingConfiguration_logGroupArn :: Lens.Lens' UpdateLoggingConfiguration Prelude.Text+updateLoggingConfiguration_logGroupArn = Lens.lens (\UpdateLoggingConfiguration' {logGroupArn} -> logGroupArn) (\s@UpdateLoggingConfiguration' {} a -> s {logGroupArn = a} :: UpdateLoggingConfiguration)++-- | The ID of the workspace to vend logs to.+updateLoggingConfiguration_workspaceId :: Lens.Lens' UpdateLoggingConfiguration Prelude.Text+updateLoggingConfiguration_workspaceId = Lens.lens (\UpdateLoggingConfiguration' {workspaceId} -> workspaceId) (\s@UpdateLoggingConfiguration' {} a -> s {workspaceId = a} :: UpdateLoggingConfiguration)++instance Core.AWSRequest UpdateLoggingConfiguration where+  type+    AWSResponse UpdateLoggingConfiguration =+      UpdateLoggingConfigurationResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateLoggingConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "status")+      )++instance Prelude.Hashable UpdateLoggingConfiguration where+  hashWithSalt _salt UpdateLoggingConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` logGroupArn+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData UpdateLoggingConfiguration where+  rnf UpdateLoggingConfiguration' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf logGroupArn+      `Prelude.seq` Prelude.rnf workspaceId++instance Data.ToHeaders UpdateLoggingConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateLoggingConfiguration where+  toJSON UpdateLoggingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            Prelude.Just ("logGroupArn" Data..= logGroupArn)+          ]+      )++instance Data.ToPath UpdateLoggingConfiguration where+  toPath UpdateLoggingConfiguration' {..} =+    Prelude.mconcat+      ["/workspaces/", Data.toBS workspaceId, "/logging"]++instance Data.ToQuery UpdateLoggingConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | Represents the output of an UpdateLoggingConfiguration operation.+--+-- /See:/ 'newUpdateLoggingConfigurationResponse' smart constructor.+data UpdateLoggingConfigurationResponse = UpdateLoggingConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The status of the logging configuration.+    status :: LoggingConfigurationStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLoggingConfigurationResponse' 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', 'updateLoggingConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'status', 'updateLoggingConfigurationResponse_status' - The status of the logging configuration.+newUpdateLoggingConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'status'+  LoggingConfigurationStatus ->+  UpdateLoggingConfigurationResponse+newUpdateLoggingConfigurationResponse+  pHttpStatus_+  pStatus_ =+    UpdateLoggingConfigurationResponse'+      { httpStatus =+          pHttpStatus_,+        status = pStatus_+      }++-- | The response's http status code.+updateLoggingConfigurationResponse_httpStatus :: Lens.Lens' UpdateLoggingConfigurationResponse Prelude.Int+updateLoggingConfigurationResponse_httpStatus = Lens.lens (\UpdateLoggingConfigurationResponse' {httpStatus} -> httpStatus) (\s@UpdateLoggingConfigurationResponse' {} a -> s {httpStatus = a} :: UpdateLoggingConfigurationResponse)++-- | The status of the logging configuration.+updateLoggingConfigurationResponse_status :: Lens.Lens' UpdateLoggingConfigurationResponse LoggingConfigurationStatus+updateLoggingConfigurationResponse_status = Lens.lens (\UpdateLoggingConfigurationResponse' {status} -> status) (\s@UpdateLoggingConfigurationResponse' {} a -> s {status = a} :: UpdateLoggingConfigurationResponse)++instance+  Prelude.NFData+    UpdateLoggingConfigurationResponse+  where+  rnf UpdateLoggingConfigurationResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AMP/UpdateWorkspaceAlias.hs view
@@ -0,0 +1,166 @@+{-# 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.AMP.UpdateWorkspaceAlias+-- 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 an AMP workspace alias.+module Amazonka.AMP.UpdateWorkspaceAlias+  ( -- * Creating a Request+    UpdateWorkspaceAlias (..),+    newUpdateWorkspaceAlias,++    -- * Request Lenses+    updateWorkspaceAlias_alias,+    updateWorkspaceAlias_clientToken,+    updateWorkspaceAlias_workspaceId,++    -- * Destructuring the Response+    UpdateWorkspaceAliasResponse (..),+    newUpdateWorkspaceAliasResponse,+  )+where++import Amazonka.AMP.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++-- | Represents the input of an UpdateWorkspaceAlias operation.+--+-- /See:/ 'newUpdateWorkspaceAlias' smart constructor.+data UpdateWorkspaceAlias = UpdateWorkspaceAlias'+  { -- | The new alias of the workspace.+    alias :: Prelude.Maybe Prelude.Text,+    -- | Optional, unique, case-sensitive, user-provided identifier to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the workspace being updated.+    workspaceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWorkspaceAlias' 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:+--+-- 'alias', 'updateWorkspaceAlias_alias' - The new alias of the workspace.+--+-- 'clientToken', 'updateWorkspaceAlias_clientToken' - Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+--+-- 'workspaceId', 'updateWorkspaceAlias_workspaceId' - The ID of the workspace being updated.+newUpdateWorkspaceAlias ::+  -- | 'workspaceId'+  Prelude.Text ->+  UpdateWorkspaceAlias+newUpdateWorkspaceAlias pWorkspaceId_ =+  UpdateWorkspaceAlias'+    { alias = Prelude.Nothing,+      clientToken = Prelude.Nothing,+      workspaceId = pWorkspaceId_+    }++-- | The new alias of the workspace.+updateWorkspaceAlias_alias :: Lens.Lens' UpdateWorkspaceAlias (Prelude.Maybe Prelude.Text)+updateWorkspaceAlias_alias = Lens.lens (\UpdateWorkspaceAlias' {alias} -> alias) (\s@UpdateWorkspaceAlias' {} a -> s {alias = a} :: UpdateWorkspaceAlias)++-- | Optional, unique, case-sensitive, user-provided identifier to ensure the+-- idempotency of the request.+updateWorkspaceAlias_clientToken :: Lens.Lens' UpdateWorkspaceAlias (Prelude.Maybe Prelude.Text)+updateWorkspaceAlias_clientToken = Lens.lens (\UpdateWorkspaceAlias' {clientToken} -> clientToken) (\s@UpdateWorkspaceAlias' {} a -> s {clientToken = a} :: UpdateWorkspaceAlias)++-- | The ID of the workspace being updated.+updateWorkspaceAlias_workspaceId :: Lens.Lens' UpdateWorkspaceAlias Prelude.Text+updateWorkspaceAlias_workspaceId = Lens.lens (\UpdateWorkspaceAlias' {workspaceId} -> workspaceId) (\s@UpdateWorkspaceAlias' {} a -> s {workspaceId = a} :: UpdateWorkspaceAlias)++instance Core.AWSRequest UpdateWorkspaceAlias where+  type+    AWSResponse UpdateWorkspaceAlias =+      UpdateWorkspaceAliasResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull UpdateWorkspaceAliasResponse'++instance Prelude.Hashable UpdateWorkspaceAlias where+  hashWithSalt _salt UpdateWorkspaceAlias' {..} =+    _salt+      `Prelude.hashWithSalt` alias+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` workspaceId++instance Prelude.NFData UpdateWorkspaceAlias where+  rnf UpdateWorkspaceAlias' {..} =+    Prelude.rnf alias+      `Prelude.seq` Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf workspaceId++instance Data.ToHeaders UpdateWorkspaceAlias where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateWorkspaceAlias where+  toJSON UpdateWorkspaceAlias' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("alias" Data..=) Prelude.<$> alias,+            ("clientToken" Data..=) Prelude.<$> clientToken+          ]+      )++instance Data.ToPath UpdateWorkspaceAlias where+  toPath UpdateWorkspaceAlias' {..} =+    Prelude.mconcat+      ["/workspaces/", Data.toBS workspaceId, "/alias"]++instance Data.ToQuery UpdateWorkspaceAlias where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateWorkspaceAliasResponse' smart constructor.+data UpdateWorkspaceAliasResponse = UpdateWorkspaceAliasResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWorkspaceAliasResponse' 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.+newUpdateWorkspaceAliasResponse ::+  UpdateWorkspaceAliasResponse+newUpdateWorkspaceAliasResponse =+  UpdateWorkspaceAliasResponse'++instance Prelude.NFData UpdateWorkspaceAliasResponse where+  rnf _ = ()
+ gen/Amazonka/AMP/Waiters.hs view
@@ -0,0 +1,82 @@+{-# 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.AMP.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.AMP.Waiters where++import Amazonka.AMP.DescribeWorkspace+import Amazonka.AMP.Lens+import Amazonka.AMP.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++-- | Polls 'Amazonka.AMP.DescribeWorkspace' every 2 seconds until a successful state is reached. An error is returned after 60 failed checks.+newWorkspaceActive :: Core.Wait DescribeWorkspace+newWorkspaceActive =+  Core.Wait+    { Core.name = "WorkspaceActive",+      Core.attempts = 60,+      Core.delay = 2,+      Core.acceptors =+        [ Core.matchAll+            "ACTIVE"+            Core.AcceptSuccess+            ( describeWorkspaceResponse_workspace+                Prelude.. workspaceDescription_status+                Prelude.. workspaceStatus_statusCode+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAll+            "UPDATING"+            Core.AcceptRetry+            ( describeWorkspaceResponse_workspace+                Prelude.. workspaceDescription_status+                Prelude.. workspaceStatus_statusCode+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAll+            "CREATING"+            Core.AcceptRetry+            ( describeWorkspaceResponse_workspace+                Prelude.. workspaceDescription_status+                Prelude.. workspaceStatus_statusCode+                Prelude.. Lens.to Data.toTextCI+            )+        ]+    }++-- | Polls 'Amazonka.AMP.DescribeWorkspace' every 2 seconds until a successful state is reached. An error is returned after 60 failed checks.+newWorkspaceDeleted :: Core.Wait DescribeWorkspace+newWorkspaceDeleted =+  Core.Wait+    { Core.name = "WorkspaceDeleted",+      Core.attempts = 60,+      Core.delay = 2,+      Core.acceptors =+        [ Core.matchError+            "ResourceNotFoundException"+            Core.AcceptSuccess,+          Core.matchAll+            "DELETING"+            Core.AcceptRetry+            ( describeWorkspaceResponse_workspace+                Prelude.. workspaceDescription_status+                Prelude.. workspaceStatus_statusCode+                Prelude.. Lens.to Data.toTextCI+            )+        ]+    }
+ 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.AMP+import Test.Amazonka.AMP.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "AMP"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/AMP.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.AMP+-- 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.AMP+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/AMP/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.AMP.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.AMP.Internal where
+ test/Test/Amazonka/Gen/AMP.hs view
@@ -0,0 +1,458 @@+{-# 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.AMP+-- 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.AMP where++import Amazonka.AMP+import qualified Data.Proxy as Proxy+import Test.Amazonka.AMP.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"+--         [ requestCreateAlertManagerDefinition $+--             newCreateAlertManagerDefinition+--+--         , requestCreateLoggingConfiguration $+--             newCreateLoggingConfiguration+--+--         , requestCreateRuleGroupsNamespace $+--             newCreateRuleGroupsNamespace+--+--         , requestCreateWorkspace $+--             newCreateWorkspace+--+--         , requestDeleteAlertManagerDefinition $+--             newDeleteAlertManagerDefinition+--+--         , requestDeleteLoggingConfiguration $+--             newDeleteLoggingConfiguration+--+--         , requestDeleteRuleGroupsNamespace $+--             newDeleteRuleGroupsNamespace+--+--         , requestDeleteWorkspace $+--             newDeleteWorkspace+--+--         , requestDescribeAlertManagerDefinition $+--             newDescribeAlertManagerDefinition+--+--         , requestDescribeLoggingConfiguration $+--             newDescribeLoggingConfiguration+--+--         , requestDescribeRuleGroupsNamespace $+--             newDescribeRuleGroupsNamespace+--+--         , requestDescribeWorkspace $+--             newDescribeWorkspace+--+--         , requestListRuleGroupsNamespaces $+--             newListRuleGroupsNamespaces+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestListWorkspaces $+--             newListWorkspaces+--+--         , requestPutAlertManagerDefinition $+--             newPutAlertManagerDefinition+--+--         , requestPutRuleGroupsNamespace $+--             newPutRuleGroupsNamespace+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateLoggingConfiguration $+--             newUpdateLoggingConfiguration+--+--         , requestUpdateWorkspaceAlias $+--             newUpdateWorkspaceAlias+--+--           ]++--     , testGroup "response"+--         [ responseCreateAlertManagerDefinition $+--             newCreateAlertManagerDefinitionResponse+--+--         , responseCreateLoggingConfiguration $+--             newCreateLoggingConfigurationResponse+--+--         , responseCreateRuleGroupsNamespace $+--             newCreateRuleGroupsNamespaceResponse+--+--         , responseCreateWorkspace $+--             newCreateWorkspaceResponse+--+--         , responseDeleteAlertManagerDefinition $+--             newDeleteAlertManagerDefinitionResponse+--+--         , responseDeleteLoggingConfiguration $+--             newDeleteLoggingConfigurationResponse+--+--         , responseDeleteRuleGroupsNamespace $+--             newDeleteRuleGroupsNamespaceResponse+--+--         , responseDeleteWorkspace $+--             newDeleteWorkspaceResponse+--+--         , responseDescribeAlertManagerDefinition $+--             newDescribeAlertManagerDefinitionResponse+--+--         , responseDescribeLoggingConfiguration $+--             newDescribeLoggingConfigurationResponse+--+--         , responseDescribeRuleGroupsNamespace $+--             newDescribeRuleGroupsNamespaceResponse+--+--         , responseDescribeWorkspace $+--             newDescribeWorkspaceResponse+--+--         , responseListRuleGroupsNamespaces $+--             newListRuleGroupsNamespacesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseListWorkspaces $+--             newListWorkspacesResponse+--+--         , responsePutAlertManagerDefinition $+--             newPutAlertManagerDefinitionResponse+--+--         , responsePutRuleGroupsNamespace $+--             newPutRuleGroupsNamespaceResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateLoggingConfiguration $+--             newUpdateLoggingConfigurationResponse+--+--         , responseUpdateWorkspaceAlias $+--             newUpdateWorkspaceAliasResponse+--+--           ]+--     ]++-- Requests++requestCreateAlertManagerDefinition :: CreateAlertManagerDefinition -> TestTree+requestCreateAlertManagerDefinition =+  req+    "CreateAlertManagerDefinition"+    "fixture/CreateAlertManagerDefinition.yaml"++requestCreateLoggingConfiguration :: CreateLoggingConfiguration -> TestTree+requestCreateLoggingConfiguration =+  req+    "CreateLoggingConfiguration"+    "fixture/CreateLoggingConfiguration.yaml"++requestCreateRuleGroupsNamespace :: CreateRuleGroupsNamespace -> TestTree+requestCreateRuleGroupsNamespace =+  req+    "CreateRuleGroupsNamespace"+    "fixture/CreateRuleGroupsNamespace.yaml"++requestCreateWorkspace :: CreateWorkspace -> TestTree+requestCreateWorkspace =+  req+    "CreateWorkspace"+    "fixture/CreateWorkspace.yaml"++requestDeleteAlertManagerDefinition :: DeleteAlertManagerDefinition -> TestTree+requestDeleteAlertManagerDefinition =+  req+    "DeleteAlertManagerDefinition"+    "fixture/DeleteAlertManagerDefinition.yaml"++requestDeleteLoggingConfiguration :: DeleteLoggingConfiguration -> TestTree+requestDeleteLoggingConfiguration =+  req+    "DeleteLoggingConfiguration"+    "fixture/DeleteLoggingConfiguration.yaml"++requestDeleteRuleGroupsNamespace :: DeleteRuleGroupsNamespace -> TestTree+requestDeleteRuleGroupsNamespace =+  req+    "DeleteRuleGroupsNamespace"+    "fixture/DeleteRuleGroupsNamespace.yaml"++requestDeleteWorkspace :: DeleteWorkspace -> TestTree+requestDeleteWorkspace =+  req+    "DeleteWorkspace"+    "fixture/DeleteWorkspace.yaml"++requestDescribeAlertManagerDefinition :: DescribeAlertManagerDefinition -> TestTree+requestDescribeAlertManagerDefinition =+  req+    "DescribeAlertManagerDefinition"+    "fixture/DescribeAlertManagerDefinition.yaml"++requestDescribeLoggingConfiguration :: DescribeLoggingConfiguration -> TestTree+requestDescribeLoggingConfiguration =+  req+    "DescribeLoggingConfiguration"+    "fixture/DescribeLoggingConfiguration.yaml"++requestDescribeRuleGroupsNamespace :: DescribeRuleGroupsNamespace -> TestTree+requestDescribeRuleGroupsNamespace =+  req+    "DescribeRuleGroupsNamespace"+    "fixture/DescribeRuleGroupsNamespace.yaml"++requestDescribeWorkspace :: DescribeWorkspace -> TestTree+requestDescribeWorkspace =+  req+    "DescribeWorkspace"+    "fixture/DescribeWorkspace.yaml"++requestListRuleGroupsNamespaces :: ListRuleGroupsNamespaces -> TestTree+requestListRuleGroupsNamespaces =+  req+    "ListRuleGroupsNamespaces"+    "fixture/ListRuleGroupsNamespaces.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestListWorkspaces :: ListWorkspaces -> TestTree+requestListWorkspaces =+  req+    "ListWorkspaces"+    "fixture/ListWorkspaces.yaml"++requestPutAlertManagerDefinition :: PutAlertManagerDefinition -> TestTree+requestPutAlertManagerDefinition =+  req+    "PutAlertManagerDefinition"+    "fixture/PutAlertManagerDefinition.yaml"++requestPutRuleGroupsNamespace :: PutRuleGroupsNamespace -> TestTree+requestPutRuleGroupsNamespace =+  req+    "PutRuleGroupsNamespace"+    "fixture/PutRuleGroupsNamespace.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateLoggingConfiguration :: UpdateLoggingConfiguration -> TestTree+requestUpdateLoggingConfiguration =+  req+    "UpdateLoggingConfiguration"+    "fixture/UpdateLoggingConfiguration.yaml"++requestUpdateWorkspaceAlias :: UpdateWorkspaceAlias -> TestTree+requestUpdateWorkspaceAlias =+  req+    "UpdateWorkspaceAlias"+    "fixture/UpdateWorkspaceAlias.yaml"++-- Responses++responseCreateAlertManagerDefinition :: CreateAlertManagerDefinitionResponse -> TestTree+responseCreateAlertManagerDefinition =+  res+    "CreateAlertManagerDefinitionResponse"+    "fixture/CreateAlertManagerDefinitionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAlertManagerDefinition)++responseCreateLoggingConfiguration :: CreateLoggingConfigurationResponse -> TestTree+responseCreateLoggingConfiguration =+  res+    "CreateLoggingConfigurationResponse"+    "fixture/CreateLoggingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateLoggingConfiguration)++responseCreateRuleGroupsNamespace :: CreateRuleGroupsNamespaceResponse -> TestTree+responseCreateRuleGroupsNamespace =+  res+    "CreateRuleGroupsNamespaceResponse"+    "fixture/CreateRuleGroupsNamespaceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateRuleGroupsNamespace)++responseCreateWorkspace :: CreateWorkspaceResponse -> TestTree+responseCreateWorkspace =+  res+    "CreateWorkspaceResponse"+    "fixture/CreateWorkspaceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWorkspace)++responseDeleteAlertManagerDefinition :: DeleteAlertManagerDefinitionResponse -> TestTree+responseDeleteAlertManagerDefinition =+  res+    "DeleteAlertManagerDefinitionResponse"+    "fixture/DeleteAlertManagerDefinitionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAlertManagerDefinition)++responseDeleteLoggingConfiguration :: DeleteLoggingConfigurationResponse -> TestTree+responseDeleteLoggingConfiguration =+  res+    "DeleteLoggingConfigurationResponse"+    "fixture/DeleteLoggingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteLoggingConfiguration)++responseDeleteRuleGroupsNamespace :: DeleteRuleGroupsNamespaceResponse -> TestTree+responseDeleteRuleGroupsNamespace =+  res+    "DeleteRuleGroupsNamespaceResponse"+    "fixture/DeleteRuleGroupsNamespaceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteRuleGroupsNamespace)++responseDeleteWorkspace :: DeleteWorkspaceResponse -> TestTree+responseDeleteWorkspace =+  res+    "DeleteWorkspaceResponse"+    "fixture/DeleteWorkspaceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteWorkspace)++responseDescribeAlertManagerDefinition :: DescribeAlertManagerDefinitionResponse -> TestTree+responseDescribeAlertManagerDefinition =+  res+    "DescribeAlertManagerDefinitionResponse"+    "fixture/DescribeAlertManagerDefinitionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAlertManagerDefinition)++responseDescribeLoggingConfiguration :: DescribeLoggingConfigurationResponse -> TestTree+responseDescribeLoggingConfiguration =+  res+    "DescribeLoggingConfigurationResponse"+    "fixture/DescribeLoggingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeLoggingConfiguration)++responseDescribeRuleGroupsNamespace :: DescribeRuleGroupsNamespaceResponse -> TestTree+responseDescribeRuleGroupsNamespace =+  res+    "DescribeRuleGroupsNamespaceResponse"+    "fixture/DescribeRuleGroupsNamespaceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeRuleGroupsNamespace)++responseDescribeWorkspace :: DescribeWorkspaceResponse -> TestTree+responseDescribeWorkspace =+  res+    "DescribeWorkspaceResponse"+    "fixture/DescribeWorkspaceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeWorkspace)++responseListRuleGroupsNamespaces :: ListRuleGroupsNamespacesResponse -> TestTree+responseListRuleGroupsNamespaces =+  res+    "ListRuleGroupsNamespacesResponse"+    "fixture/ListRuleGroupsNamespacesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListRuleGroupsNamespaces)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListWorkspaces :: ListWorkspacesResponse -> TestTree+responseListWorkspaces =+  res+    "ListWorkspacesResponse"+    "fixture/ListWorkspacesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListWorkspaces)++responsePutAlertManagerDefinition :: PutAlertManagerDefinitionResponse -> TestTree+responsePutAlertManagerDefinition =+  res+    "PutAlertManagerDefinitionResponse"+    "fixture/PutAlertManagerDefinitionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutAlertManagerDefinition)++responsePutRuleGroupsNamespace :: PutRuleGroupsNamespaceResponse -> TestTree+responsePutRuleGroupsNamespace =+  res+    "PutRuleGroupsNamespaceResponse"+    "fixture/PutRuleGroupsNamespaceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutRuleGroupsNamespace)++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)++responseUpdateLoggingConfiguration :: UpdateLoggingConfigurationResponse -> TestTree+responseUpdateLoggingConfiguration =+  res+    "UpdateLoggingConfigurationResponse"+    "fixture/UpdateLoggingConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateLoggingConfiguration)++responseUpdateWorkspaceAlias :: UpdateWorkspaceAliasResponse -> TestTree+responseUpdateWorkspaceAlias =+  res+    "UpdateWorkspaceAliasResponse"+    "fixture/UpdateWorkspaceAliasResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateWorkspaceAlias)