packages feed

amazonka-servicecatalog-appregistry (empty) → 2.0

raw patch · 100 files changed

+8938/−0 lines, 100 filesdep +amazonka-coredep +amazonka-servicecatalog-appregistrydep +amazonka-test

Dependencies added: amazonka-core, amazonka-servicecatalog-appregistry, 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 Service Catalog App Registry SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-06-24@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-servicecatalog-appregistry)+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.ServiceCatalogAppRegistry](http://hackage.haskell.org/package/amazonka-servicecatalog-appregistry/docs/Amazonka-ServiceCatalogAppRegistry.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-servicecatalog-appregistry` 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-servicecatalog-appregistry.cabal view
@@ -0,0 +1,123 @@+cabal-version:      2.2+name:               amazonka-servicecatalog-appregistry+version:            2.0+synopsis:           Amazon Service Catalog App Registry 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-06-24@ 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.ServiceCatalogAppRegistry.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.ServiceCatalogAppRegistry" 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-servicecatalog-appregistry++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.ServiceCatalogAppRegistry+    Amazonka.ServiceCatalogAppRegistry.AssociateAttributeGroup+    Amazonka.ServiceCatalogAppRegistry.AssociateResource+    Amazonka.ServiceCatalogAppRegistry.CreateApplication+    Amazonka.ServiceCatalogAppRegistry.CreateAttributeGroup+    Amazonka.ServiceCatalogAppRegistry.DeleteApplication+    Amazonka.ServiceCatalogAppRegistry.DeleteAttributeGroup+    Amazonka.ServiceCatalogAppRegistry.DisassociateAttributeGroup+    Amazonka.ServiceCatalogAppRegistry.DisassociateResource+    Amazonka.ServiceCatalogAppRegistry.GetApplication+    Amazonka.ServiceCatalogAppRegistry.GetAssociatedResource+    Amazonka.ServiceCatalogAppRegistry.GetAttributeGroup+    Amazonka.ServiceCatalogAppRegistry.GetConfiguration+    Amazonka.ServiceCatalogAppRegistry.Lens+    Amazonka.ServiceCatalogAppRegistry.ListApplications+    Amazonka.ServiceCatalogAppRegistry.ListAssociatedAttributeGroups+    Amazonka.ServiceCatalogAppRegistry.ListAssociatedResources+    Amazonka.ServiceCatalogAppRegistry.ListAttributeGroups+    Amazonka.ServiceCatalogAppRegistry.ListAttributeGroupsForApplication+    Amazonka.ServiceCatalogAppRegistry.ListTagsForResource+    Amazonka.ServiceCatalogAppRegistry.PutConfiguration+    Amazonka.ServiceCatalogAppRegistry.SyncResource+    Amazonka.ServiceCatalogAppRegistry.TagResource+    Amazonka.ServiceCatalogAppRegistry.Types+    Amazonka.ServiceCatalogAppRegistry.Types.Application+    Amazonka.ServiceCatalogAppRegistry.Types.ApplicationSummary+    Amazonka.ServiceCatalogAppRegistry.Types.AppRegistryConfiguration+    Amazonka.ServiceCatalogAppRegistry.Types.AttributeGroup+    Amazonka.ServiceCatalogAppRegistry.Types.AttributeGroupDetails+    Amazonka.ServiceCatalogAppRegistry.Types.AttributeGroupSummary+    Amazonka.ServiceCatalogAppRegistry.Types.Integrations+    Amazonka.ServiceCatalogAppRegistry.Types.Resource+    Amazonka.ServiceCatalogAppRegistry.Types.ResourceDetails+    Amazonka.ServiceCatalogAppRegistry.Types.ResourceGroup+    Amazonka.ServiceCatalogAppRegistry.Types.ResourceGroupState+    Amazonka.ServiceCatalogAppRegistry.Types.ResourceInfo+    Amazonka.ServiceCatalogAppRegistry.Types.ResourceIntegrations+    Amazonka.ServiceCatalogAppRegistry.Types.ResourceType+    Amazonka.ServiceCatalogAppRegistry.Types.SyncAction+    Amazonka.ServiceCatalogAppRegistry.Types.TagQueryConfiguration+    Amazonka.ServiceCatalogAppRegistry.UntagResource+    Amazonka.ServiceCatalogAppRegistry.UpdateApplication+    Amazonka.ServiceCatalogAppRegistry.UpdateAttributeGroup+    Amazonka.ServiceCatalogAppRegistry.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-servicecatalog-appregistry-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.Gen.ServiceCatalogAppRegistry+    Test.Amazonka.ServiceCatalogAppRegistry+    Test.Amazonka.ServiceCatalogAppRegistry.Internal++  build-depends:+    , amazonka-core                        >=2.0 && <2.1+    , amazonka-servicecatalog-appregistry+    , amazonka-test                        >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/AssociateAttributeGroup.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/AssociateAttributeGroupResponse.proto view
+ fixture/AssociateResource.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/AssociateResourceResponse.proto view
+ fixture/CreateApplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateApplicationResponse.proto view
+ fixture/CreateAttributeGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/CreateAttributeGroupResponse.proto view
+ fixture/DeleteApplication.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteApplicationResponse.proto view
+ fixture/DeleteAttributeGroup.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/DeleteAttributeGroupResponse.proto view
+ fixture/DisassociateAttributeGroup.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/DisassociateAttributeGroupResponse.proto view
+ fixture/DisassociateResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/DisassociateResourceResponse.proto view
+ fixture/GetApplication.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/GetApplicationResponse.proto view
+ fixture/GetAssociatedResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/GetAssociatedResourceResponse.proto view
+ fixture/GetAttributeGroup.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/GetAttributeGroupResponse.proto view
+ fixture/GetConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/GetConfigurationResponse.proto view
+ fixture/ListApplications.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListApplicationsResponse.proto view
+ fixture/ListAssociatedAttributeGroups.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/ListAssociatedAttributeGroupsResponse.proto view
+ fixture/ListAssociatedResources.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/ListAssociatedResourcesResponse.proto view
+ fixture/ListAttributeGroups.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/ListAttributeGroupsForApplication.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/ListAttributeGroupsForApplicationResponse.proto view
+ fixture/ListAttributeGroupsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/PutConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/PutConfigurationResponse.proto view
+ fixture/SyncResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/SyncResourceResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateApplication.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateApplicationResponse.proto view
+ fixture/UpdateAttributeGroup.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/servicecatalog-appregistry/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  servicecatalog-appregistry.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/UpdateAttributeGroupResponse.proto view
+ gen/Amazonka/ServiceCatalogAppRegistry.hs view
@@ -0,0 +1,309 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.ServiceCatalogAppRegistry+-- 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-06-24@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Web Services Service Catalog AppRegistry enables organizations to+-- understand the application context of their Amazon Web Services+-- resources. AppRegistry provides a repository of your applications, their+-- resources, and the application metadata that you use within your+-- enterprise.+module Amazonka.ServiceCatalogAppRegistry+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** AssociateAttributeGroup+    AssociateAttributeGroup (AssociateAttributeGroup'),+    newAssociateAttributeGroup,+    AssociateAttributeGroupResponse (AssociateAttributeGroupResponse'),+    newAssociateAttributeGroupResponse,++    -- ** AssociateResource+    AssociateResource (AssociateResource'),+    newAssociateResource,+    AssociateResourceResponse (AssociateResourceResponse'),+    newAssociateResourceResponse,++    -- ** CreateApplication+    CreateApplication (CreateApplication'),+    newCreateApplication,+    CreateApplicationResponse (CreateApplicationResponse'),+    newCreateApplicationResponse,++    -- ** CreateAttributeGroup+    CreateAttributeGroup (CreateAttributeGroup'),+    newCreateAttributeGroup,+    CreateAttributeGroupResponse (CreateAttributeGroupResponse'),+    newCreateAttributeGroupResponse,++    -- ** DeleteApplication+    DeleteApplication (DeleteApplication'),+    newDeleteApplication,+    DeleteApplicationResponse (DeleteApplicationResponse'),+    newDeleteApplicationResponse,++    -- ** DeleteAttributeGroup+    DeleteAttributeGroup (DeleteAttributeGroup'),+    newDeleteAttributeGroup,+    DeleteAttributeGroupResponse (DeleteAttributeGroupResponse'),+    newDeleteAttributeGroupResponse,++    -- ** DisassociateAttributeGroup+    DisassociateAttributeGroup (DisassociateAttributeGroup'),+    newDisassociateAttributeGroup,+    DisassociateAttributeGroupResponse (DisassociateAttributeGroupResponse'),+    newDisassociateAttributeGroupResponse,++    -- ** DisassociateResource+    DisassociateResource (DisassociateResource'),+    newDisassociateResource,+    DisassociateResourceResponse (DisassociateResourceResponse'),+    newDisassociateResourceResponse,++    -- ** GetApplication+    GetApplication (GetApplication'),+    newGetApplication,+    GetApplicationResponse (GetApplicationResponse'),+    newGetApplicationResponse,++    -- ** GetAssociatedResource+    GetAssociatedResource (GetAssociatedResource'),+    newGetAssociatedResource,+    GetAssociatedResourceResponse (GetAssociatedResourceResponse'),+    newGetAssociatedResourceResponse,++    -- ** GetAttributeGroup+    GetAttributeGroup (GetAttributeGroup'),+    newGetAttributeGroup,+    GetAttributeGroupResponse (GetAttributeGroupResponse'),+    newGetAttributeGroupResponse,++    -- ** GetConfiguration+    GetConfiguration (GetConfiguration'),+    newGetConfiguration,+    GetConfigurationResponse (GetConfigurationResponse'),+    newGetConfigurationResponse,++    -- ** ListApplications (Paginated)+    ListApplications (ListApplications'),+    newListApplications,+    ListApplicationsResponse (ListApplicationsResponse'),+    newListApplicationsResponse,++    -- ** ListAssociatedAttributeGroups (Paginated)+    ListAssociatedAttributeGroups (ListAssociatedAttributeGroups'),+    newListAssociatedAttributeGroups,+    ListAssociatedAttributeGroupsResponse (ListAssociatedAttributeGroupsResponse'),+    newListAssociatedAttributeGroupsResponse,++    -- ** ListAssociatedResources (Paginated)+    ListAssociatedResources (ListAssociatedResources'),+    newListAssociatedResources,+    ListAssociatedResourcesResponse (ListAssociatedResourcesResponse'),+    newListAssociatedResourcesResponse,++    -- ** ListAttributeGroups (Paginated)+    ListAttributeGroups (ListAttributeGroups'),+    newListAttributeGroups,+    ListAttributeGroupsResponse (ListAttributeGroupsResponse'),+    newListAttributeGroupsResponse,++    -- ** ListAttributeGroupsForApplication (Paginated)+    ListAttributeGroupsForApplication (ListAttributeGroupsForApplication'),+    newListAttributeGroupsForApplication,+    ListAttributeGroupsForApplicationResponse (ListAttributeGroupsForApplicationResponse'),+    newListAttributeGroupsForApplicationResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** PutConfiguration+    PutConfiguration (PutConfiguration'),+    newPutConfiguration,+    PutConfigurationResponse (PutConfigurationResponse'),+    newPutConfigurationResponse,++    -- ** SyncResource+    SyncResource (SyncResource'),+    newSyncResource,+    SyncResourceResponse (SyncResourceResponse'),+    newSyncResourceResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateApplication+    UpdateApplication (UpdateApplication'),+    newUpdateApplication,+    UpdateApplicationResponse (UpdateApplicationResponse'),+    newUpdateApplicationResponse,++    -- ** UpdateAttributeGroup+    UpdateAttributeGroup (UpdateAttributeGroup'),+    newUpdateAttributeGroup,+    UpdateAttributeGroupResponse (UpdateAttributeGroupResponse'),+    newUpdateAttributeGroupResponse,++    -- * Types++    -- ** ResourceGroupState+    ResourceGroupState (..),++    -- ** ResourceType+    ResourceType (..),++    -- ** SyncAction+    SyncAction (..),++    -- ** AppRegistryConfiguration+    AppRegistryConfiguration (AppRegistryConfiguration'),+    newAppRegistryConfiguration,++    -- ** Application+    Application (Application'),+    newApplication,++    -- ** ApplicationSummary+    ApplicationSummary (ApplicationSummary'),+    newApplicationSummary,++    -- ** AttributeGroup+    AttributeGroup (AttributeGroup'),+    newAttributeGroup,++    -- ** AttributeGroupDetails+    AttributeGroupDetails (AttributeGroupDetails'),+    newAttributeGroupDetails,++    -- ** AttributeGroupSummary+    AttributeGroupSummary (AttributeGroupSummary'),+    newAttributeGroupSummary,++    -- ** Integrations+    Integrations (Integrations'),+    newIntegrations,++    -- ** Resource+    Resource (Resource'),+    newResource,++    -- ** ResourceDetails+    ResourceDetails (ResourceDetails'),+    newResourceDetails,++    -- ** ResourceGroup+    ResourceGroup (ResourceGroup'),+    newResourceGroup,++    -- ** ResourceInfo+    ResourceInfo (ResourceInfo'),+    newResourceInfo,++    -- ** ResourceIntegrations+    ResourceIntegrations (ResourceIntegrations'),+    newResourceIntegrations,++    -- ** TagQueryConfiguration+    TagQueryConfiguration (TagQueryConfiguration'),+    newTagQueryConfiguration,+  )+where++import Amazonka.ServiceCatalogAppRegistry.AssociateAttributeGroup+import Amazonka.ServiceCatalogAppRegistry.AssociateResource+import Amazonka.ServiceCatalogAppRegistry.CreateApplication+import Amazonka.ServiceCatalogAppRegistry.CreateAttributeGroup+import Amazonka.ServiceCatalogAppRegistry.DeleteApplication+import Amazonka.ServiceCatalogAppRegistry.DeleteAttributeGroup+import Amazonka.ServiceCatalogAppRegistry.DisassociateAttributeGroup+import Amazonka.ServiceCatalogAppRegistry.DisassociateResource+import Amazonka.ServiceCatalogAppRegistry.GetApplication+import Amazonka.ServiceCatalogAppRegistry.GetAssociatedResource+import Amazonka.ServiceCatalogAppRegistry.GetAttributeGroup+import Amazonka.ServiceCatalogAppRegistry.GetConfiguration+import Amazonka.ServiceCatalogAppRegistry.Lens+import Amazonka.ServiceCatalogAppRegistry.ListApplications+import Amazonka.ServiceCatalogAppRegistry.ListAssociatedAttributeGroups+import Amazonka.ServiceCatalogAppRegistry.ListAssociatedResources+import Amazonka.ServiceCatalogAppRegistry.ListAttributeGroups+import Amazonka.ServiceCatalogAppRegistry.ListAttributeGroupsForApplication+import Amazonka.ServiceCatalogAppRegistry.ListTagsForResource+import Amazonka.ServiceCatalogAppRegistry.PutConfiguration+import Amazonka.ServiceCatalogAppRegistry.SyncResource+import Amazonka.ServiceCatalogAppRegistry.TagResource+import Amazonka.ServiceCatalogAppRegistry.Types+import Amazonka.ServiceCatalogAppRegistry.UntagResource+import Amazonka.ServiceCatalogAppRegistry.UpdateApplication+import Amazonka.ServiceCatalogAppRegistry.UpdateAttributeGroup+import Amazonka.ServiceCatalogAppRegistry.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 'ServiceCatalogAppRegistry'.++-- $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/ServiceCatalogAppRegistry/AssociateAttributeGroup.hs view
@@ -0,0 +1,214 @@+{-# 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.ServiceCatalogAppRegistry.AssociateAttributeGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates an attribute group with an application to augment the+-- application\'s metadata with the group\'s attributes. This feature+-- enables applications to be described with user-defined details that are+-- machine-readable, such as third-party integrations.+module Amazonka.ServiceCatalogAppRegistry.AssociateAttributeGroup+  ( -- * Creating a Request+    AssociateAttributeGroup (..),+    newAssociateAttributeGroup,++    -- * Request Lenses+    associateAttributeGroup_application,+    associateAttributeGroup_attributeGroup,++    -- * Destructuring the Response+    AssociateAttributeGroupResponse (..),+    newAssociateAttributeGroupResponse,++    -- * Response Lenses+    associateAttributeGroupResponse_applicationArn,+    associateAttributeGroupResponse_attributeGroupArn,+    associateAttributeGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newAssociateAttributeGroup' smart constructor.+data AssociateAttributeGroup = AssociateAttributeGroup'+  { -- | The name or ID of the application.+    application :: Prelude.Text,+    -- | The name or ID of the attribute group that holds the attributes to+    -- describe the application.+    attributeGroup :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateAttributeGroup' 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:+--+-- 'application', 'associateAttributeGroup_application' - The name or ID of the application.+--+-- 'attributeGroup', 'associateAttributeGroup_attributeGroup' - The name or ID of the attribute group that holds the attributes to+-- describe the application.+newAssociateAttributeGroup ::+  -- | 'application'+  Prelude.Text ->+  -- | 'attributeGroup'+  Prelude.Text ->+  AssociateAttributeGroup+newAssociateAttributeGroup+  pApplication_+  pAttributeGroup_ =+    AssociateAttributeGroup'+      { application =+          pApplication_,+        attributeGroup = pAttributeGroup_+      }++-- | The name or ID of the application.+associateAttributeGroup_application :: Lens.Lens' AssociateAttributeGroup Prelude.Text+associateAttributeGroup_application = Lens.lens (\AssociateAttributeGroup' {application} -> application) (\s@AssociateAttributeGroup' {} a -> s {application = a} :: AssociateAttributeGroup)++-- | The name or ID of the attribute group that holds the attributes to+-- describe the application.+associateAttributeGroup_attributeGroup :: Lens.Lens' AssociateAttributeGroup Prelude.Text+associateAttributeGroup_attributeGroup = Lens.lens (\AssociateAttributeGroup' {attributeGroup} -> attributeGroup) (\s@AssociateAttributeGroup' {} a -> s {attributeGroup = a} :: AssociateAttributeGroup)++instance Core.AWSRequest AssociateAttributeGroup where+  type+    AWSResponse AssociateAttributeGroup =+      AssociateAttributeGroupResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AssociateAttributeGroupResponse'+            Prelude.<$> (x Data..?> "applicationArn")+            Prelude.<*> (x Data..?> "attributeGroupArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable AssociateAttributeGroup where+  hashWithSalt _salt AssociateAttributeGroup' {..} =+    _salt+      `Prelude.hashWithSalt` application+      `Prelude.hashWithSalt` attributeGroup++instance Prelude.NFData AssociateAttributeGroup where+  rnf AssociateAttributeGroup' {..} =+    Prelude.rnf application+      `Prelude.seq` Prelude.rnf attributeGroup++instance Data.ToHeaders AssociateAttributeGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AssociateAttributeGroup where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath AssociateAttributeGroup where+  toPath AssociateAttributeGroup' {..} =+    Prelude.mconcat+      [ "/applications/",+        Data.toBS application,+        "/attribute-groups/",+        Data.toBS attributeGroup+      ]++instance Data.ToQuery AssociateAttributeGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateAttributeGroupResponse' smart constructor.+data AssociateAttributeGroupResponse = AssociateAttributeGroupResponse'+  { -- | The Amazon resource name (ARN) of the application that was augmented+    -- with attributes.+    applicationArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon resource name (ARN) of the attribute group that contains the+    -- application\'s new attributes.+    attributeGroupArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateAttributeGroupResponse' 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:+--+-- 'applicationArn', 'associateAttributeGroupResponse_applicationArn' - The Amazon resource name (ARN) of the application that was augmented+-- with attributes.+--+-- 'attributeGroupArn', 'associateAttributeGroupResponse_attributeGroupArn' - The Amazon resource name (ARN) of the attribute group that contains the+-- application\'s new attributes.+--+-- 'httpStatus', 'associateAttributeGroupResponse_httpStatus' - The response's http status code.+newAssociateAttributeGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateAttributeGroupResponse+newAssociateAttributeGroupResponse pHttpStatus_ =+  AssociateAttributeGroupResponse'+    { applicationArn =+        Prelude.Nothing,+      attributeGroupArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon resource name (ARN) of the application that was augmented+-- with attributes.+associateAttributeGroupResponse_applicationArn :: Lens.Lens' AssociateAttributeGroupResponse (Prelude.Maybe Prelude.Text)+associateAttributeGroupResponse_applicationArn = Lens.lens (\AssociateAttributeGroupResponse' {applicationArn} -> applicationArn) (\s@AssociateAttributeGroupResponse' {} a -> s {applicationArn = a} :: AssociateAttributeGroupResponse)++-- | The Amazon resource name (ARN) of the attribute group that contains the+-- application\'s new attributes.+associateAttributeGroupResponse_attributeGroupArn :: Lens.Lens' AssociateAttributeGroupResponse (Prelude.Maybe Prelude.Text)+associateAttributeGroupResponse_attributeGroupArn = Lens.lens (\AssociateAttributeGroupResponse' {attributeGroupArn} -> attributeGroupArn) (\s@AssociateAttributeGroupResponse' {} a -> s {attributeGroupArn = a} :: AssociateAttributeGroupResponse)++-- | The response's http status code.+associateAttributeGroupResponse_httpStatus :: Lens.Lens' AssociateAttributeGroupResponse Prelude.Int+associateAttributeGroupResponse_httpStatus = Lens.lens (\AssociateAttributeGroupResponse' {httpStatus} -> httpStatus) (\s@AssociateAttributeGroupResponse' {} a -> s {httpStatus = a} :: AssociateAttributeGroupResponse)++instance+  Prelude.NFData+    AssociateAttributeGroupResponse+  where+  rnf AssociateAttributeGroupResponse' {..} =+    Prelude.rnf applicationArn+      `Prelude.seq` Prelude.rnf attributeGroupArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/AssociateResource.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ServiceCatalogAppRegistry.AssociateResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a resource with an application. Both the resource and the+-- application can be specified either by ID or name.+module Amazonka.ServiceCatalogAppRegistry.AssociateResource+  ( -- * Creating a Request+    AssociateResource (..),+    newAssociateResource,++    -- * Request Lenses+    associateResource_application,+    associateResource_resourceType,+    associateResource_resource,++    -- * Destructuring the Response+    AssociateResourceResponse (..),+    newAssociateResourceResponse,++    -- * Response Lenses+    associateResourceResponse_applicationArn,+    associateResourceResponse_resourceArn,+    associateResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newAssociateResource' smart constructor.+data AssociateResource = AssociateResource'+  { -- | The name or ID of the application.+    application :: Prelude.Text,+    -- | The type of resource of which the application will be associated.+    resourceType :: ResourceType,+    -- | The name or ID of the resource of which the application will be+    -- associated.+    resource :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateResource' 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:+--+-- 'application', 'associateResource_application' - The name or ID of the application.+--+-- 'resourceType', 'associateResource_resourceType' - The type of resource of which the application will be associated.+--+-- 'resource', 'associateResource_resource' - The name or ID of the resource of which the application will be+-- associated.+newAssociateResource ::+  -- | 'application'+  Prelude.Text ->+  -- | 'resourceType'+  ResourceType ->+  -- | 'resource'+  Prelude.Text ->+  AssociateResource+newAssociateResource+  pApplication_+  pResourceType_+  pResource_ =+    AssociateResource'+      { application = pApplication_,+        resourceType = pResourceType_,+        resource = pResource_+      }++-- | The name or ID of the application.+associateResource_application :: Lens.Lens' AssociateResource Prelude.Text+associateResource_application = Lens.lens (\AssociateResource' {application} -> application) (\s@AssociateResource' {} a -> s {application = a} :: AssociateResource)++-- | The type of resource of which the application will be associated.+associateResource_resourceType :: Lens.Lens' AssociateResource ResourceType+associateResource_resourceType = Lens.lens (\AssociateResource' {resourceType} -> resourceType) (\s@AssociateResource' {} a -> s {resourceType = a} :: AssociateResource)++-- | The name or ID of the resource of which the application will be+-- associated.+associateResource_resource :: Lens.Lens' AssociateResource Prelude.Text+associateResource_resource = Lens.lens (\AssociateResource' {resource} -> resource) (\s@AssociateResource' {} a -> s {resource = a} :: AssociateResource)++instance Core.AWSRequest AssociateResource where+  type+    AWSResponse AssociateResource =+      AssociateResourceResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AssociateResourceResponse'+            Prelude.<$> (x Data..?> "applicationArn")+            Prelude.<*> (x Data..?> "resourceArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable AssociateResource where+  hashWithSalt _salt AssociateResource' {..} =+    _salt+      `Prelude.hashWithSalt` application+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` resource++instance Prelude.NFData AssociateResource where+  rnf AssociateResource' {..} =+    Prelude.rnf application+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf resource++instance Data.ToHeaders AssociateResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AssociateResource where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath AssociateResource where+  toPath AssociateResource' {..} =+    Prelude.mconcat+      [ "/applications/",+        Data.toBS application,+        "/resources/",+        Data.toBS resourceType,+        "/",+        Data.toBS resource+      ]++instance Data.ToQuery AssociateResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateResourceResponse' smart constructor.+data AssociateResourceResponse = AssociateResourceResponse'+  { -- | The Amazon resource name (ARN) of the application that was augmented+    -- with attributes.+    applicationArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon resource name (ARN) that specifies the resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateResourceResponse' 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:+--+-- 'applicationArn', 'associateResourceResponse_applicationArn' - The Amazon resource name (ARN) of the application that was augmented+-- with attributes.+--+-- 'resourceArn', 'associateResourceResponse_resourceArn' - The Amazon resource name (ARN) that specifies the resource.+--+-- 'httpStatus', 'associateResourceResponse_httpStatus' - The response's http status code.+newAssociateResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateResourceResponse+newAssociateResourceResponse pHttpStatus_ =+  AssociateResourceResponse'+    { applicationArn =+        Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon resource name (ARN) of the application that was augmented+-- with attributes.+associateResourceResponse_applicationArn :: Lens.Lens' AssociateResourceResponse (Prelude.Maybe Prelude.Text)+associateResourceResponse_applicationArn = Lens.lens (\AssociateResourceResponse' {applicationArn} -> applicationArn) (\s@AssociateResourceResponse' {} a -> s {applicationArn = a} :: AssociateResourceResponse)++-- | The Amazon resource name (ARN) that specifies the resource.+associateResourceResponse_resourceArn :: Lens.Lens' AssociateResourceResponse (Prelude.Maybe Prelude.Text)+associateResourceResponse_resourceArn = Lens.lens (\AssociateResourceResponse' {resourceArn} -> resourceArn) (\s@AssociateResourceResponse' {} a -> s {resourceArn = a} :: AssociateResourceResponse)++-- | The response's http status code.+associateResourceResponse_httpStatus :: Lens.Lens' AssociateResourceResponse Prelude.Int+associateResourceResponse_httpStatus = Lens.lens (\AssociateResourceResponse' {httpStatus} -> httpStatus) (\s@AssociateResourceResponse' {} a -> s {httpStatus = a} :: AssociateResourceResponse)++instance Prelude.NFData AssociateResourceResponse where+  rnf AssociateResourceResponse' {..} =+    Prelude.rnf applicationArn+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/CreateApplication.hs view
@@ -0,0 +1,226 @@+{-# 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.ServiceCatalogAppRegistry.CreateApplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new application that is the top-level node in a hierarchy of+-- related cloud resource abstractions.+module Amazonka.ServiceCatalogAppRegistry.CreateApplication+  ( -- * Creating a Request+    CreateApplication (..),+    newCreateApplication,++    -- * Request Lenses+    createApplication_description,+    createApplication_tags,+    createApplication_name,+    createApplication_clientToken,++    -- * Destructuring the Response+    CreateApplicationResponse (..),+    newCreateApplicationResponse,++    -- * Response Lenses+    createApplicationResponse_application,+    createApplicationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newCreateApplication' smart constructor.+data CreateApplication = CreateApplication'+  { -- | The description of the application.+    description :: Prelude.Maybe Prelude.Text,+    -- | Key-value pairs you can use to associate with the application.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the application. The name must be unique in the region in+    -- which you are creating the application.+    name :: Prelude.Text,+    -- | A unique identifier that you provide to ensure idempotency. If you retry+    -- a request that completed successfully using the same client token and+    -- the same parameters, the retry succeeds without performing any further+    -- actions. If you retry a successful request using the same client token,+    -- but one or more of the parameters are different, the retry fails.+    clientToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateApplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createApplication_description' - The description of the application.+--+-- 'tags', 'createApplication_tags' - Key-value pairs you can use to associate with the application.+--+-- 'name', 'createApplication_name' - The name of the application. The name must be unique in the region in+-- which you are creating the application.+--+-- 'clientToken', 'createApplication_clientToken' - A unique identifier that you provide to ensure idempotency. If you retry+-- a request that completed successfully using the same client token and+-- the same parameters, the retry succeeds without performing any further+-- actions. If you retry a successful request using the same client token,+-- but one or more of the parameters are different, the retry fails.+newCreateApplication ::+  -- | 'name'+  Prelude.Text ->+  -- | 'clientToken'+  Prelude.Text ->+  CreateApplication+newCreateApplication pName_ pClientToken_ =+  CreateApplication'+    { description = Prelude.Nothing,+      tags = Prelude.Nothing,+      name = pName_,+      clientToken = pClientToken_+    }++-- | The description of the application.+createApplication_description :: Lens.Lens' CreateApplication (Prelude.Maybe Prelude.Text)+createApplication_description = Lens.lens (\CreateApplication' {description} -> description) (\s@CreateApplication' {} a -> s {description = a} :: CreateApplication)++-- | Key-value pairs you can use to associate with the application.+createApplication_tags :: Lens.Lens' CreateApplication (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createApplication_tags = Lens.lens (\CreateApplication' {tags} -> tags) (\s@CreateApplication' {} a -> s {tags = a} :: CreateApplication) Prelude.. Lens.mapping Lens.coerced++-- | The name of the application. The name must be unique in the region in+-- which you are creating the application.+createApplication_name :: Lens.Lens' CreateApplication Prelude.Text+createApplication_name = Lens.lens (\CreateApplication' {name} -> name) (\s@CreateApplication' {} a -> s {name = a} :: CreateApplication)++-- | A unique identifier that you provide to ensure idempotency. If you retry+-- a request that completed successfully using the same client token and+-- the same parameters, the retry succeeds without performing any further+-- actions. If you retry a successful request using the same client token,+-- but one or more of the parameters are different, the retry fails.+createApplication_clientToken :: Lens.Lens' CreateApplication Prelude.Text+createApplication_clientToken = Lens.lens (\CreateApplication' {clientToken} -> clientToken) (\s@CreateApplication' {} a -> s {clientToken = a} :: CreateApplication)++instance Core.AWSRequest CreateApplication where+  type+    AWSResponse CreateApplication =+      CreateApplicationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateApplicationResponse'+            Prelude.<$> (x Data..?> "application")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateApplication where+  hashWithSalt _salt CreateApplication' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` clientToken++instance Prelude.NFData CreateApplication where+  rnf CreateApplication' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf clientToken++instance Data.ToHeaders CreateApplication where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateApplication where+  toJSON CreateApplication' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("name" Data..= name),+            Prelude.Just ("clientToken" Data..= clientToken)+          ]+      )++instance Data.ToPath CreateApplication where+  toPath = Prelude.const "/applications"++instance Data.ToQuery CreateApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateApplicationResponse' smart constructor.+data CreateApplicationResponse = CreateApplicationResponse'+  { -- | Information about the application.+    application :: Prelude.Maybe Application,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateApplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'application', 'createApplicationResponse_application' - Information about the application.+--+-- 'httpStatus', 'createApplicationResponse_httpStatus' - The response's http status code.+newCreateApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateApplicationResponse+newCreateApplicationResponse pHttpStatus_ =+  CreateApplicationResponse'+    { application =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the application.+createApplicationResponse_application :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe Application)+createApplicationResponse_application = Lens.lens (\CreateApplicationResponse' {application} -> application) (\s@CreateApplicationResponse' {} a -> s {application = a} :: CreateApplicationResponse)++-- | The response's http status code.+createApplicationResponse_httpStatus :: Lens.Lens' CreateApplicationResponse Prelude.Int+createApplicationResponse_httpStatus = Lens.lens (\CreateApplicationResponse' {httpStatus} -> httpStatus) (\s@CreateApplicationResponse' {} a -> s {httpStatus = a} :: CreateApplicationResponse)++instance Prelude.NFData CreateApplicationResponse where+  rnf CreateApplicationResponse' {..} =+    Prelude.rnf application+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/CreateAttributeGroup.hs view
@@ -0,0 +1,247 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ServiceCatalogAppRegistry.CreateAttributeGroup+-- 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 attribute group as a container for user-defined+-- attributes. This feature enables users to have full control over their+-- cloud application\'s metadata in a rich machine-readable format to+-- facilitate integration with automated workflows and third-party tools.+module Amazonka.ServiceCatalogAppRegistry.CreateAttributeGroup+  ( -- * Creating a Request+    CreateAttributeGroup (..),+    newCreateAttributeGroup,++    -- * Request Lenses+    createAttributeGroup_description,+    createAttributeGroup_tags,+    createAttributeGroup_name,+    createAttributeGroup_attributes,+    createAttributeGroup_clientToken,++    -- * Destructuring the Response+    CreateAttributeGroupResponse (..),+    newCreateAttributeGroupResponse,++    -- * Response Lenses+    createAttributeGroupResponse_attributeGroup,+    createAttributeGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newCreateAttributeGroup' smart constructor.+data CreateAttributeGroup = CreateAttributeGroup'+  { -- | The description of the attribute group that the user provides.+    description :: Prelude.Maybe Prelude.Text,+    -- | Key-value pairs you can use to associate with the attribute group.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the attribute group.+    name :: Prelude.Text,+    -- | A JSON string in the form of nested key-value pairs that represent the+    -- attributes in the group and describes an application and its components.+    attributes :: Prelude.Text,+    -- | A unique identifier that you provide to ensure idempotency. If you retry+    -- a request that completed successfully using the same client token and+    -- the same parameters, the retry succeeds without performing any further+    -- actions. If you retry a successful request using the same client token,+    -- but one or more of the parameters are different, the retry fails.+    clientToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAttributeGroup' 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:+--+-- 'description', 'createAttributeGroup_description' - The description of the attribute group that the user provides.+--+-- 'tags', 'createAttributeGroup_tags' - Key-value pairs you can use to associate with the attribute group.+--+-- 'name', 'createAttributeGroup_name' - The name of the attribute group.+--+-- 'attributes', 'createAttributeGroup_attributes' - A JSON string in the form of nested key-value pairs that represent the+-- attributes in the group and describes an application and its components.+--+-- 'clientToken', 'createAttributeGroup_clientToken' - A unique identifier that you provide to ensure idempotency. If you retry+-- a request that completed successfully using the same client token and+-- the same parameters, the retry succeeds without performing any further+-- actions. If you retry a successful request using the same client token,+-- but one or more of the parameters are different, the retry fails.+newCreateAttributeGroup ::+  -- | 'name'+  Prelude.Text ->+  -- | 'attributes'+  Prelude.Text ->+  -- | 'clientToken'+  Prelude.Text ->+  CreateAttributeGroup+newCreateAttributeGroup+  pName_+  pAttributes_+  pClientToken_ =+    CreateAttributeGroup'+      { description =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        name = pName_,+        attributes = pAttributes_,+        clientToken = pClientToken_+      }++-- | The description of the attribute group that the user provides.+createAttributeGroup_description :: Lens.Lens' CreateAttributeGroup (Prelude.Maybe Prelude.Text)+createAttributeGroup_description = Lens.lens (\CreateAttributeGroup' {description} -> description) (\s@CreateAttributeGroup' {} a -> s {description = a} :: CreateAttributeGroup)++-- | Key-value pairs you can use to associate with the attribute group.+createAttributeGroup_tags :: Lens.Lens' CreateAttributeGroup (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createAttributeGroup_tags = Lens.lens (\CreateAttributeGroup' {tags} -> tags) (\s@CreateAttributeGroup' {} a -> s {tags = a} :: CreateAttributeGroup) Prelude.. Lens.mapping Lens.coerced++-- | The name of the attribute group.+createAttributeGroup_name :: Lens.Lens' CreateAttributeGroup Prelude.Text+createAttributeGroup_name = Lens.lens (\CreateAttributeGroup' {name} -> name) (\s@CreateAttributeGroup' {} a -> s {name = a} :: CreateAttributeGroup)++-- | A JSON string in the form of nested key-value pairs that represent the+-- attributes in the group and describes an application and its components.+createAttributeGroup_attributes :: Lens.Lens' CreateAttributeGroup Prelude.Text+createAttributeGroup_attributes = Lens.lens (\CreateAttributeGroup' {attributes} -> attributes) (\s@CreateAttributeGroup' {} a -> s {attributes = a} :: CreateAttributeGroup)++-- | A unique identifier that you provide to ensure idempotency. If you retry+-- a request that completed successfully using the same client token and+-- the same parameters, the retry succeeds without performing any further+-- actions. If you retry a successful request using the same client token,+-- but one or more of the parameters are different, the retry fails.+createAttributeGroup_clientToken :: Lens.Lens' CreateAttributeGroup Prelude.Text+createAttributeGroup_clientToken = Lens.lens (\CreateAttributeGroup' {clientToken} -> clientToken) (\s@CreateAttributeGroup' {} a -> s {clientToken = a} :: CreateAttributeGroup)++instance Core.AWSRequest CreateAttributeGroup where+  type+    AWSResponse CreateAttributeGroup =+      CreateAttributeGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAttributeGroupResponse'+            Prelude.<$> (x Data..?> "attributeGroup")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAttributeGroup where+  hashWithSalt _salt CreateAttributeGroup' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` attributes+      `Prelude.hashWithSalt` clientToken++instance Prelude.NFData CreateAttributeGroup where+  rnf CreateAttributeGroup' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf attributes+      `Prelude.seq` Prelude.rnf clientToken++instance Data.ToHeaders CreateAttributeGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateAttributeGroup where+  toJSON CreateAttributeGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("name" Data..= name),+            Prelude.Just ("attributes" Data..= attributes),+            Prelude.Just ("clientToken" Data..= clientToken)+          ]+      )++instance Data.ToPath CreateAttributeGroup where+  toPath = Prelude.const "/attribute-groups"++instance Data.ToQuery CreateAttributeGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAttributeGroupResponse' smart constructor.+data CreateAttributeGroupResponse = CreateAttributeGroupResponse'+  { -- | Information about the attribute group.+    attributeGroup :: Prelude.Maybe AttributeGroup,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAttributeGroupResponse' 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:+--+-- 'attributeGroup', 'createAttributeGroupResponse_attributeGroup' - Information about the attribute group.+--+-- 'httpStatus', 'createAttributeGroupResponse_httpStatus' - The response's http status code.+newCreateAttributeGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateAttributeGroupResponse+newCreateAttributeGroupResponse pHttpStatus_ =+  CreateAttributeGroupResponse'+    { attributeGroup =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the attribute group.+createAttributeGroupResponse_attributeGroup :: Lens.Lens' CreateAttributeGroupResponse (Prelude.Maybe AttributeGroup)+createAttributeGroupResponse_attributeGroup = Lens.lens (\CreateAttributeGroupResponse' {attributeGroup} -> attributeGroup) (\s@CreateAttributeGroupResponse' {} a -> s {attributeGroup = a} :: CreateAttributeGroupResponse)++-- | The response's http status code.+createAttributeGroupResponse_httpStatus :: Lens.Lens' CreateAttributeGroupResponse Prelude.Int+createAttributeGroupResponse_httpStatus = Lens.lens (\CreateAttributeGroupResponse' {httpStatus} -> httpStatus) (\s@CreateAttributeGroupResponse' {} a -> s {httpStatus = a} :: CreateAttributeGroupResponse)++instance Prelude.NFData CreateAttributeGroupResponse where+  rnf CreateAttributeGroupResponse' {..} =+    Prelude.rnf attributeGroup+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/DeleteApplication.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.ServiceCatalogAppRegistry.DeleteApplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an application that is specified either by its application ID or+-- name. All associated attribute groups and resources must be+-- disassociated from it before deleting an application.+module Amazonka.ServiceCatalogAppRegistry.DeleteApplication+  ( -- * Creating a Request+    DeleteApplication (..),+    newDeleteApplication,++    -- * Request Lenses+    deleteApplication_application,++    -- * Destructuring the Response+    DeleteApplicationResponse (..),+    newDeleteApplicationResponse,++    -- * Response Lenses+    deleteApplicationResponse_application,+    deleteApplicationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newDeleteApplication' smart constructor.+data DeleteApplication = DeleteApplication'+  { -- | The name or ID of the application.+    application :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteApplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'application', 'deleteApplication_application' - The name or ID of the application.+newDeleteApplication ::+  -- | 'application'+  Prelude.Text ->+  DeleteApplication+newDeleteApplication pApplication_ =+  DeleteApplication' {application = pApplication_}++-- | The name or ID of the application.+deleteApplication_application :: Lens.Lens' DeleteApplication Prelude.Text+deleteApplication_application = Lens.lens (\DeleteApplication' {application} -> application) (\s@DeleteApplication' {} a -> s {application = a} :: DeleteApplication)++instance Core.AWSRequest DeleteApplication where+  type+    AWSResponse DeleteApplication =+      DeleteApplicationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteApplicationResponse'+            Prelude.<$> (x Data..?> "application")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteApplication where+  hashWithSalt _salt DeleteApplication' {..} =+    _salt `Prelude.hashWithSalt` application++instance Prelude.NFData DeleteApplication where+  rnf DeleteApplication' {..} = Prelude.rnf application++instance Data.ToHeaders DeleteApplication where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteApplication where+  toPath DeleteApplication' {..} =+    Prelude.mconcat+      ["/applications/", Data.toBS application]++instance Data.ToQuery DeleteApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteApplicationResponse' smart constructor.+data DeleteApplicationResponse = DeleteApplicationResponse'+  { -- | Information about the deleted application.+    application :: Prelude.Maybe ApplicationSummary,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteApplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'application', 'deleteApplicationResponse_application' - Information about the deleted application.+--+-- 'httpStatus', 'deleteApplicationResponse_httpStatus' - The response's http status code.+newDeleteApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteApplicationResponse+newDeleteApplicationResponse pHttpStatus_ =+  DeleteApplicationResponse'+    { application =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the deleted application.+deleteApplicationResponse_application :: Lens.Lens' DeleteApplicationResponse (Prelude.Maybe ApplicationSummary)+deleteApplicationResponse_application = Lens.lens (\DeleteApplicationResponse' {application} -> application) (\s@DeleteApplicationResponse' {} a -> s {application = a} :: DeleteApplicationResponse)++-- | The response's http status code.+deleteApplicationResponse_httpStatus :: Lens.Lens' DeleteApplicationResponse Prelude.Int+deleteApplicationResponse_httpStatus = Lens.lens (\DeleteApplicationResponse' {httpStatus} -> httpStatus) (\s@DeleteApplicationResponse' {} a -> s {httpStatus = a} :: DeleteApplicationResponse)++instance Prelude.NFData DeleteApplicationResponse where+  rnf DeleteApplicationResponse' {..} =+    Prelude.rnf application+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/DeleteAttributeGroup.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ServiceCatalogAppRegistry.DeleteAttributeGroup+-- 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 attribute group, specified either by its attribute group ID+-- or name.+module Amazonka.ServiceCatalogAppRegistry.DeleteAttributeGroup+  ( -- * Creating a Request+    DeleteAttributeGroup (..),+    newDeleteAttributeGroup,++    -- * Request Lenses+    deleteAttributeGroup_attributeGroup,++    -- * Destructuring the Response+    DeleteAttributeGroupResponse (..),+    newDeleteAttributeGroupResponse,++    -- * Response Lenses+    deleteAttributeGroupResponse_attributeGroup,+    deleteAttributeGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newDeleteAttributeGroup' smart constructor.+data DeleteAttributeGroup = DeleteAttributeGroup'+  { -- | The name or ID of the attribute group that holds the attributes to+    -- describe the application.+    attributeGroup :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAttributeGroup' 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:+--+-- 'attributeGroup', 'deleteAttributeGroup_attributeGroup' - The name or ID of the attribute group that holds the attributes to+-- describe the application.+newDeleteAttributeGroup ::+  -- | 'attributeGroup'+  Prelude.Text ->+  DeleteAttributeGroup+newDeleteAttributeGroup pAttributeGroup_ =+  DeleteAttributeGroup'+    { attributeGroup =+        pAttributeGroup_+    }++-- | The name or ID of the attribute group that holds the attributes to+-- describe the application.+deleteAttributeGroup_attributeGroup :: Lens.Lens' DeleteAttributeGroup Prelude.Text+deleteAttributeGroup_attributeGroup = Lens.lens (\DeleteAttributeGroup' {attributeGroup} -> attributeGroup) (\s@DeleteAttributeGroup' {} a -> s {attributeGroup = a} :: DeleteAttributeGroup)++instance Core.AWSRequest DeleteAttributeGroup where+  type+    AWSResponse DeleteAttributeGroup =+      DeleteAttributeGroupResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteAttributeGroupResponse'+            Prelude.<$> (x Data..?> "attributeGroup")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteAttributeGroup where+  hashWithSalt _salt DeleteAttributeGroup' {..} =+    _salt `Prelude.hashWithSalt` attributeGroup++instance Prelude.NFData DeleteAttributeGroup where+  rnf DeleteAttributeGroup' {..} =+    Prelude.rnf attributeGroup++instance Data.ToHeaders DeleteAttributeGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteAttributeGroup where+  toPath DeleteAttributeGroup' {..} =+    Prelude.mconcat+      ["/attribute-groups/", Data.toBS attributeGroup]++instance Data.ToQuery DeleteAttributeGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAttributeGroupResponse' smart constructor.+data DeleteAttributeGroupResponse = DeleteAttributeGroupResponse'+  { -- | Information about the deleted attribute group.+    attributeGroup :: Prelude.Maybe AttributeGroupSummary,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAttributeGroupResponse' 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:+--+-- 'attributeGroup', 'deleteAttributeGroupResponse_attributeGroup' - Information about the deleted attribute group.+--+-- 'httpStatus', 'deleteAttributeGroupResponse_httpStatus' - The response's http status code.+newDeleteAttributeGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteAttributeGroupResponse+newDeleteAttributeGroupResponse pHttpStatus_ =+  DeleteAttributeGroupResponse'+    { attributeGroup =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the deleted attribute group.+deleteAttributeGroupResponse_attributeGroup :: Lens.Lens' DeleteAttributeGroupResponse (Prelude.Maybe AttributeGroupSummary)+deleteAttributeGroupResponse_attributeGroup = Lens.lens (\DeleteAttributeGroupResponse' {attributeGroup} -> attributeGroup) (\s@DeleteAttributeGroupResponse' {} a -> s {attributeGroup = a} :: DeleteAttributeGroupResponse)++-- | The response's http status code.+deleteAttributeGroupResponse_httpStatus :: Lens.Lens' DeleteAttributeGroupResponse Prelude.Int+deleteAttributeGroupResponse_httpStatus = Lens.lens (\DeleteAttributeGroupResponse' {httpStatus} -> httpStatus) (\s@DeleteAttributeGroupResponse' {} a -> s {httpStatus = a} :: DeleteAttributeGroupResponse)++instance Prelude.NFData DeleteAttributeGroupResponse where+  rnf DeleteAttributeGroupResponse' {..} =+    Prelude.rnf attributeGroup+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/DisassociateAttributeGroup.hs view
@@ -0,0 +1,204 @@+{-# 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.ServiceCatalogAppRegistry.DisassociateAttributeGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates an attribute group from an application to remove the extra+-- attributes contained in the attribute group from the application\'s+-- metadata. This operation reverts @AssociateAttributeGroup@.+module Amazonka.ServiceCatalogAppRegistry.DisassociateAttributeGroup+  ( -- * Creating a Request+    DisassociateAttributeGroup (..),+    newDisassociateAttributeGroup,++    -- * Request Lenses+    disassociateAttributeGroup_application,+    disassociateAttributeGroup_attributeGroup,++    -- * Destructuring the Response+    DisassociateAttributeGroupResponse (..),+    newDisassociateAttributeGroupResponse,++    -- * Response Lenses+    disassociateAttributeGroupResponse_applicationArn,+    disassociateAttributeGroupResponse_attributeGroupArn,+    disassociateAttributeGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newDisassociateAttributeGroup' smart constructor.+data DisassociateAttributeGroup = DisassociateAttributeGroup'+  { -- | The name or ID of the application.+    application :: Prelude.Text,+    -- | The name or ID of the attribute group that holds the attributes to+    -- describe the application.+    attributeGroup :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateAttributeGroup' 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:+--+-- 'application', 'disassociateAttributeGroup_application' - The name or ID of the application.+--+-- 'attributeGroup', 'disassociateAttributeGroup_attributeGroup' - The name or ID of the attribute group that holds the attributes to+-- describe the application.+newDisassociateAttributeGroup ::+  -- | 'application'+  Prelude.Text ->+  -- | 'attributeGroup'+  Prelude.Text ->+  DisassociateAttributeGroup+newDisassociateAttributeGroup+  pApplication_+  pAttributeGroup_ =+    DisassociateAttributeGroup'+      { application =+          pApplication_,+        attributeGroup = pAttributeGroup_+      }++-- | The name or ID of the application.+disassociateAttributeGroup_application :: Lens.Lens' DisassociateAttributeGroup Prelude.Text+disassociateAttributeGroup_application = Lens.lens (\DisassociateAttributeGroup' {application} -> application) (\s@DisassociateAttributeGroup' {} a -> s {application = a} :: DisassociateAttributeGroup)++-- | The name or ID of the attribute group that holds the attributes to+-- describe the application.+disassociateAttributeGroup_attributeGroup :: Lens.Lens' DisassociateAttributeGroup Prelude.Text+disassociateAttributeGroup_attributeGroup = Lens.lens (\DisassociateAttributeGroup' {attributeGroup} -> attributeGroup) (\s@DisassociateAttributeGroup' {} a -> s {attributeGroup = a} :: DisassociateAttributeGroup)++instance Core.AWSRequest DisassociateAttributeGroup where+  type+    AWSResponse DisassociateAttributeGroup =+      DisassociateAttributeGroupResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DisassociateAttributeGroupResponse'+            Prelude.<$> (x Data..?> "applicationArn")+            Prelude.<*> (x Data..?> "attributeGroupArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DisassociateAttributeGroup where+  hashWithSalt _salt DisassociateAttributeGroup' {..} =+    _salt+      `Prelude.hashWithSalt` application+      `Prelude.hashWithSalt` attributeGroup++instance Prelude.NFData DisassociateAttributeGroup where+  rnf DisassociateAttributeGroup' {..} =+    Prelude.rnf application+      `Prelude.seq` Prelude.rnf attributeGroup++instance Data.ToHeaders DisassociateAttributeGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DisassociateAttributeGroup where+  toPath DisassociateAttributeGroup' {..} =+    Prelude.mconcat+      [ "/applications/",+        Data.toBS application,+        "/attribute-groups/",+        Data.toBS attributeGroup+      ]++instance Data.ToQuery DisassociateAttributeGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateAttributeGroupResponse' smart constructor.+data DisassociateAttributeGroupResponse = DisassociateAttributeGroupResponse'+  { -- | The Amazon resource name (ARN) that specifies the application.+    applicationArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon resource name (ARN) that specifies the attribute group.+    attributeGroupArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateAttributeGroupResponse' 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:+--+-- 'applicationArn', 'disassociateAttributeGroupResponse_applicationArn' - The Amazon resource name (ARN) that specifies the application.+--+-- 'attributeGroupArn', 'disassociateAttributeGroupResponse_attributeGroupArn' - The Amazon resource name (ARN) that specifies the attribute group.+--+-- 'httpStatus', 'disassociateAttributeGroupResponse_httpStatus' - The response's http status code.+newDisassociateAttributeGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateAttributeGroupResponse+newDisassociateAttributeGroupResponse pHttpStatus_ =+  DisassociateAttributeGroupResponse'+    { applicationArn =+        Prelude.Nothing,+      attributeGroupArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon resource name (ARN) that specifies the application.+disassociateAttributeGroupResponse_applicationArn :: Lens.Lens' DisassociateAttributeGroupResponse (Prelude.Maybe Prelude.Text)+disassociateAttributeGroupResponse_applicationArn = Lens.lens (\DisassociateAttributeGroupResponse' {applicationArn} -> applicationArn) (\s@DisassociateAttributeGroupResponse' {} a -> s {applicationArn = a} :: DisassociateAttributeGroupResponse)++-- | The Amazon resource name (ARN) that specifies the attribute group.+disassociateAttributeGroupResponse_attributeGroupArn :: Lens.Lens' DisassociateAttributeGroupResponse (Prelude.Maybe Prelude.Text)+disassociateAttributeGroupResponse_attributeGroupArn = Lens.lens (\DisassociateAttributeGroupResponse' {attributeGroupArn} -> attributeGroupArn) (\s@DisassociateAttributeGroupResponse' {} a -> s {attributeGroupArn = a} :: DisassociateAttributeGroupResponse)++-- | The response's http status code.+disassociateAttributeGroupResponse_httpStatus :: Lens.Lens' DisassociateAttributeGroupResponse Prelude.Int+disassociateAttributeGroupResponse_httpStatus = Lens.lens (\DisassociateAttributeGroupResponse' {httpStatus} -> httpStatus) (\s@DisassociateAttributeGroupResponse' {} a -> s {httpStatus = a} :: DisassociateAttributeGroupResponse)++instance+  Prelude.NFData+    DisassociateAttributeGroupResponse+  where+  rnf DisassociateAttributeGroupResponse' {..} =+    Prelude.rnf applicationArn+      `Prelude.seq` Prelude.rnf attributeGroupArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/DisassociateResource.hs view
@@ -0,0 +1,213 @@+{-# 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.ServiceCatalogAppRegistry.DisassociateResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a resource from application. Both the resource and the+-- application can be specified either by ID or name.+module Amazonka.ServiceCatalogAppRegistry.DisassociateResource+  ( -- * Creating a Request+    DisassociateResource (..),+    newDisassociateResource,++    -- * Request Lenses+    disassociateResource_application,+    disassociateResource_resourceType,+    disassociateResource_resource,++    -- * Destructuring the Response+    DisassociateResourceResponse (..),+    newDisassociateResourceResponse,++    -- * Response Lenses+    disassociateResourceResponse_applicationArn,+    disassociateResourceResponse_resourceArn,+    disassociateResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newDisassociateResource' smart constructor.+data DisassociateResource = DisassociateResource'+  { -- | The name or ID of the application.+    application :: Prelude.Text,+    -- | The type of the resource that is being disassociated.+    resourceType :: ResourceType,+    -- | The name or ID of the resource.+    resource :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateResource' 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:+--+-- 'application', 'disassociateResource_application' - The name or ID of the application.+--+-- 'resourceType', 'disassociateResource_resourceType' - The type of the resource that is being disassociated.+--+-- 'resource', 'disassociateResource_resource' - The name or ID of the resource.+newDisassociateResource ::+  -- | 'application'+  Prelude.Text ->+  -- | 'resourceType'+  ResourceType ->+  -- | 'resource'+  Prelude.Text ->+  DisassociateResource+newDisassociateResource+  pApplication_+  pResourceType_+  pResource_ =+    DisassociateResource'+      { application = pApplication_,+        resourceType = pResourceType_,+        resource = pResource_+      }++-- | The name or ID of the application.+disassociateResource_application :: Lens.Lens' DisassociateResource Prelude.Text+disassociateResource_application = Lens.lens (\DisassociateResource' {application} -> application) (\s@DisassociateResource' {} a -> s {application = a} :: DisassociateResource)++-- | The type of the resource that is being disassociated.+disassociateResource_resourceType :: Lens.Lens' DisassociateResource ResourceType+disassociateResource_resourceType = Lens.lens (\DisassociateResource' {resourceType} -> resourceType) (\s@DisassociateResource' {} a -> s {resourceType = a} :: DisassociateResource)++-- | The name or ID of the resource.+disassociateResource_resource :: Lens.Lens' DisassociateResource Prelude.Text+disassociateResource_resource = Lens.lens (\DisassociateResource' {resource} -> resource) (\s@DisassociateResource' {} a -> s {resource = a} :: DisassociateResource)++instance Core.AWSRequest DisassociateResource where+  type+    AWSResponse DisassociateResource =+      DisassociateResourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DisassociateResourceResponse'+            Prelude.<$> (x Data..?> "applicationArn")+            Prelude.<*> (x Data..?> "resourceArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DisassociateResource where+  hashWithSalt _salt DisassociateResource' {..} =+    _salt+      `Prelude.hashWithSalt` application+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` resource++instance Prelude.NFData DisassociateResource where+  rnf DisassociateResource' {..} =+    Prelude.rnf application+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf resource++instance Data.ToHeaders DisassociateResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DisassociateResource where+  toPath DisassociateResource' {..} =+    Prelude.mconcat+      [ "/applications/",+        Data.toBS application,+        "/resources/",+        Data.toBS resourceType,+        "/",+        Data.toBS resource+      ]++instance Data.ToQuery DisassociateResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateResourceResponse' smart constructor.+data DisassociateResourceResponse = DisassociateResourceResponse'+  { -- | The Amazon resource name (ARN) that specifies the application.+    applicationArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon resource name (ARN) that specifies the resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateResourceResponse' 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:+--+-- 'applicationArn', 'disassociateResourceResponse_applicationArn' - The Amazon resource name (ARN) that specifies the application.+--+-- 'resourceArn', 'disassociateResourceResponse_resourceArn' - The Amazon resource name (ARN) that specifies the resource.+--+-- 'httpStatus', 'disassociateResourceResponse_httpStatus' - The response's http status code.+newDisassociateResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateResourceResponse+newDisassociateResourceResponse pHttpStatus_ =+  DisassociateResourceResponse'+    { applicationArn =+        Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon resource name (ARN) that specifies the application.+disassociateResourceResponse_applicationArn :: Lens.Lens' DisassociateResourceResponse (Prelude.Maybe Prelude.Text)+disassociateResourceResponse_applicationArn = Lens.lens (\DisassociateResourceResponse' {applicationArn} -> applicationArn) (\s@DisassociateResourceResponse' {} a -> s {applicationArn = a} :: DisassociateResourceResponse)++-- | The Amazon resource name (ARN) that specifies the resource.+disassociateResourceResponse_resourceArn :: Lens.Lens' DisassociateResourceResponse (Prelude.Maybe Prelude.Text)+disassociateResourceResponse_resourceArn = Lens.lens (\DisassociateResourceResponse' {resourceArn} -> resourceArn) (\s@DisassociateResourceResponse' {} a -> s {resourceArn = a} :: DisassociateResourceResponse)++-- | The response's http status code.+disassociateResourceResponse_httpStatus :: Lens.Lens' DisassociateResourceResponse Prelude.Int+disassociateResourceResponse_httpStatus = Lens.lens (\DisassociateResourceResponse' {httpStatus} -> httpStatus) (\s@DisassociateResourceResponse' {} a -> s {httpStatus = a} :: DisassociateResourceResponse)++instance Prelude.NFData DisassociateResourceResponse where+  rnf DisassociateResourceResponse' {..} =+    Prelude.rnf applicationArn+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/GetApplication.hs view
@@ -0,0 +1,278 @@+{-# 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.ServiceCatalogAppRegistry.GetApplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves metadata information about one of your applications. The+-- application can be specified either by its unique ID or by its name+-- (which is unique within one account in one region at a given point in+-- time). Specify by ID in automated workflows if you want to make sure+-- that the exact same application is returned or a+-- @ResourceNotFoundException@ is thrown, avoiding the ABA addressing+-- problem.+module Amazonka.ServiceCatalogAppRegistry.GetApplication+  ( -- * Creating a Request+    GetApplication (..),+    newGetApplication,++    -- * Request Lenses+    getApplication_application,++    -- * Destructuring the Response+    GetApplicationResponse (..),+    newGetApplicationResponse,++    -- * Response Lenses+    getApplicationResponse_arn,+    getApplicationResponse_associatedResourceCount,+    getApplicationResponse_creationTime,+    getApplicationResponse_description,+    getApplicationResponse_id,+    getApplicationResponse_integrations,+    getApplicationResponse_lastUpdateTime,+    getApplicationResponse_name,+    getApplicationResponse_tags,+    getApplicationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newGetApplication' smart constructor.+data GetApplication = GetApplication'+  { -- | The name or ID of the application.+    application :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetApplication' 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:+--+-- 'application', 'getApplication_application' - The name or ID of the application.+newGetApplication ::+  -- | 'application'+  Prelude.Text ->+  GetApplication+newGetApplication pApplication_ =+  GetApplication' {application = pApplication_}++-- | The name or ID of the application.+getApplication_application :: Lens.Lens' GetApplication Prelude.Text+getApplication_application = Lens.lens (\GetApplication' {application} -> application) (\s@GetApplication' {} a -> s {application = a} :: GetApplication)++instance Core.AWSRequest GetApplication where+  type+    AWSResponse GetApplication =+      GetApplicationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetApplicationResponse'+            Prelude.<$> (x Data..?> "arn")+            Prelude.<*> (x Data..?> "associatedResourceCount")+            Prelude.<*> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "integrations")+            Prelude.<*> (x Data..?> "lastUpdateTime")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetApplication where+  hashWithSalt _salt GetApplication' {..} =+    _salt `Prelude.hashWithSalt` application++instance Prelude.NFData GetApplication where+  rnf GetApplication' {..} = Prelude.rnf application++instance Data.ToHeaders GetApplication where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetApplication where+  toPath GetApplication' {..} =+    Prelude.mconcat+      ["/applications/", Data.toBS application]++instance Data.ToQuery GetApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetApplicationResponse' smart constructor.+data GetApplicationResponse = GetApplicationResponse'+  { -- | The Amazon resource name (ARN) that specifies the application across+    -- services.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The number of top-level resources that were registered as part of this+    -- application.+    associatedResourceCount :: Prelude.Maybe Prelude.Natural,+    -- | The ISO-8601 formatted timestamp of the moment when the application was+    -- created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The description of the application.+    description :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the application.+    id :: Prelude.Maybe Prelude.Text,+    -- | The information about the integration of the application with other+    -- services, such as Resource Groups.+    integrations :: Prelude.Maybe Integrations,+    -- | The ISO-8601 formatted timestamp of the moment when the application was+    -- last updated.+    lastUpdateTime :: Prelude.Maybe Data.ISO8601,+    -- | The name of the application. The name must be unique in the region in+    -- which you are creating the application.+    name :: Prelude.Maybe Prelude.Text,+    -- | Key-value pairs associated with the application.+    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 'GetApplicationResponse' 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:+--+-- 'arn', 'getApplicationResponse_arn' - The Amazon resource name (ARN) that specifies the application across+-- services.+--+-- 'associatedResourceCount', 'getApplicationResponse_associatedResourceCount' - The number of top-level resources that were registered as part of this+-- application.+--+-- 'creationTime', 'getApplicationResponse_creationTime' - The ISO-8601 formatted timestamp of the moment when the application was+-- created.+--+-- 'description', 'getApplicationResponse_description' - The description of the application.+--+-- 'id', 'getApplicationResponse_id' - The identifier of the application.+--+-- 'integrations', 'getApplicationResponse_integrations' - The information about the integration of the application with other+-- services, such as Resource Groups.+--+-- 'lastUpdateTime', 'getApplicationResponse_lastUpdateTime' - The ISO-8601 formatted timestamp of the moment when the application was+-- last updated.+--+-- 'name', 'getApplicationResponse_name' - The name of the application. The name must be unique in the region in+-- which you are creating the application.+--+-- 'tags', 'getApplicationResponse_tags' - Key-value pairs associated with the application.+--+-- 'httpStatus', 'getApplicationResponse_httpStatus' - The response's http status code.+newGetApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetApplicationResponse+newGetApplicationResponse pHttpStatus_ =+  GetApplicationResponse'+    { arn = Prelude.Nothing,+      associatedResourceCount = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      integrations = Prelude.Nothing,+      lastUpdateTime = Prelude.Nothing,+      name = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon resource name (ARN) that specifies the application across+-- services.+getApplicationResponse_arn :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.Text)+getApplicationResponse_arn = Lens.lens (\GetApplicationResponse' {arn} -> arn) (\s@GetApplicationResponse' {} a -> s {arn = a} :: GetApplicationResponse)++-- | The number of top-level resources that were registered as part of this+-- application.+getApplicationResponse_associatedResourceCount :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.Natural)+getApplicationResponse_associatedResourceCount = Lens.lens (\GetApplicationResponse' {associatedResourceCount} -> associatedResourceCount) (\s@GetApplicationResponse' {} a -> s {associatedResourceCount = a} :: GetApplicationResponse)++-- | The ISO-8601 formatted timestamp of the moment when the application was+-- created.+getApplicationResponse_creationTime :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.UTCTime)+getApplicationResponse_creationTime = Lens.lens (\GetApplicationResponse' {creationTime} -> creationTime) (\s@GetApplicationResponse' {} a -> s {creationTime = a} :: GetApplicationResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the application.+getApplicationResponse_description :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.Text)+getApplicationResponse_description = Lens.lens (\GetApplicationResponse' {description} -> description) (\s@GetApplicationResponse' {} a -> s {description = a} :: GetApplicationResponse)++-- | The identifier of the application.+getApplicationResponse_id :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.Text)+getApplicationResponse_id = Lens.lens (\GetApplicationResponse' {id} -> id) (\s@GetApplicationResponse' {} a -> s {id = a} :: GetApplicationResponse)++-- | The information about the integration of the application with other+-- services, such as Resource Groups.+getApplicationResponse_integrations :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Integrations)+getApplicationResponse_integrations = Lens.lens (\GetApplicationResponse' {integrations} -> integrations) (\s@GetApplicationResponse' {} a -> s {integrations = a} :: GetApplicationResponse)++-- | The ISO-8601 formatted timestamp of the moment when the application was+-- last updated.+getApplicationResponse_lastUpdateTime :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.UTCTime)+getApplicationResponse_lastUpdateTime = Lens.lens (\GetApplicationResponse' {lastUpdateTime} -> lastUpdateTime) (\s@GetApplicationResponse' {} a -> s {lastUpdateTime = a} :: GetApplicationResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the application. The name must be unique in the region in+-- which you are creating the application.+getApplicationResponse_name :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.Text)+getApplicationResponse_name = Lens.lens (\GetApplicationResponse' {name} -> name) (\s@GetApplicationResponse' {} a -> s {name = a} :: GetApplicationResponse)++-- | Key-value pairs associated with the application.+getApplicationResponse_tags :: Lens.Lens' GetApplicationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getApplicationResponse_tags = Lens.lens (\GetApplicationResponse' {tags} -> tags) (\s@GetApplicationResponse' {} a -> s {tags = a} :: GetApplicationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getApplicationResponse_httpStatus :: Lens.Lens' GetApplicationResponse Prelude.Int+getApplicationResponse_httpStatus = Lens.lens (\GetApplicationResponse' {httpStatus} -> httpStatus) (\s@GetApplicationResponse' {} a -> s {httpStatus = a} :: GetApplicationResponse)++instance Prelude.NFData GetApplicationResponse where+  rnf GetApplicationResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf associatedResourceCount+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf integrations+      `Prelude.seq` Prelude.rnf lastUpdateTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/GetAssociatedResource.hs view
@@ -0,0 +1,200 @@+{-# 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.ServiceCatalogAppRegistry.GetAssociatedResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the resource associated with the application.+module Amazonka.ServiceCatalogAppRegistry.GetAssociatedResource+  ( -- * Creating a Request+    GetAssociatedResource (..),+    newGetAssociatedResource,++    -- * Request Lenses+    getAssociatedResource_application,+    getAssociatedResource_resourceType,+    getAssociatedResource_resource,++    -- * Destructuring the Response+    GetAssociatedResourceResponse (..),+    newGetAssociatedResourceResponse,++    -- * Response Lenses+    getAssociatedResourceResponse_resource,+    getAssociatedResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newGetAssociatedResource' smart constructor.+data GetAssociatedResource = GetAssociatedResource'+  { -- | The name or ID of the application.+    application :: Prelude.Text,+    -- | The type of resource associated with the application.+    resourceType :: ResourceType,+    -- | The name or ID of the resource associated with the application.+    resource :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssociatedResource' 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:+--+-- 'application', 'getAssociatedResource_application' - The name or ID of the application.+--+-- 'resourceType', 'getAssociatedResource_resourceType' - The type of resource associated with the application.+--+-- 'resource', 'getAssociatedResource_resource' - The name or ID of the resource associated with the application.+newGetAssociatedResource ::+  -- | 'application'+  Prelude.Text ->+  -- | 'resourceType'+  ResourceType ->+  -- | 'resource'+  Prelude.Text ->+  GetAssociatedResource+newGetAssociatedResource+  pApplication_+  pResourceType_+  pResource_ =+    GetAssociatedResource'+      { application = pApplication_,+        resourceType = pResourceType_,+        resource = pResource_+      }++-- | The name or ID of the application.+getAssociatedResource_application :: Lens.Lens' GetAssociatedResource Prelude.Text+getAssociatedResource_application = Lens.lens (\GetAssociatedResource' {application} -> application) (\s@GetAssociatedResource' {} a -> s {application = a} :: GetAssociatedResource)++-- | The type of resource associated with the application.+getAssociatedResource_resourceType :: Lens.Lens' GetAssociatedResource ResourceType+getAssociatedResource_resourceType = Lens.lens (\GetAssociatedResource' {resourceType} -> resourceType) (\s@GetAssociatedResource' {} a -> s {resourceType = a} :: GetAssociatedResource)++-- | The name or ID of the resource associated with the application.+getAssociatedResource_resource :: Lens.Lens' GetAssociatedResource Prelude.Text+getAssociatedResource_resource = Lens.lens (\GetAssociatedResource' {resource} -> resource) (\s@GetAssociatedResource' {} a -> s {resource = a} :: GetAssociatedResource)++instance Core.AWSRequest GetAssociatedResource where+  type+    AWSResponse GetAssociatedResource =+      GetAssociatedResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAssociatedResourceResponse'+            Prelude.<$> (x Data..?> "resource")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetAssociatedResource where+  hashWithSalt _salt GetAssociatedResource' {..} =+    _salt+      `Prelude.hashWithSalt` application+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` resource++instance Prelude.NFData GetAssociatedResource where+  rnf GetAssociatedResource' {..} =+    Prelude.rnf application+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf resource++instance Data.ToHeaders GetAssociatedResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetAssociatedResource where+  toPath GetAssociatedResource' {..} =+    Prelude.mconcat+      [ "/applications/",+        Data.toBS application,+        "/resources/",+        Data.toBS resourceType,+        "/",+        Data.toBS resource+      ]++instance Data.ToQuery GetAssociatedResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAssociatedResourceResponse' smart constructor.+data GetAssociatedResourceResponse = GetAssociatedResourceResponse'+  { -- | The resource associated with the application.+    resource :: Prelude.Maybe Resource,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssociatedResourceResponse' 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:+--+-- 'resource', 'getAssociatedResourceResponse_resource' - The resource associated with the application.+--+-- 'httpStatus', 'getAssociatedResourceResponse_httpStatus' - The response's http status code.+newGetAssociatedResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAssociatedResourceResponse+newGetAssociatedResourceResponse pHttpStatus_ =+  GetAssociatedResourceResponse'+    { resource =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The resource associated with the application.+getAssociatedResourceResponse_resource :: Lens.Lens' GetAssociatedResourceResponse (Prelude.Maybe Resource)+getAssociatedResourceResponse_resource = Lens.lens (\GetAssociatedResourceResponse' {resource} -> resource) (\s@GetAssociatedResourceResponse' {} a -> s {resource = a} :: GetAssociatedResourceResponse)++-- | The response's http status code.+getAssociatedResourceResponse_httpStatus :: Lens.Lens' GetAssociatedResourceResponse Prelude.Int+getAssociatedResourceResponse_httpStatus = Lens.lens (\GetAssociatedResourceResponse' {httpStatus} -> httpStatus) (\s@GetAssociatedResourceResponse' {} a -> s {httpStatus = a} :: GetAssociatedResourceResponse)++instance Prelude.NFData GetAssociatedResourceResponse where+  rnf GetAssociatedResourceResponse' {..} =+    Prelude.rnf resource+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/GetAttributeGroup.hs view
@@ -0,0 +1,265 @@+{-# 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.ServiceCatalogAppRegistry.GetAttributeGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves an attribute group, either by its name or its ID. The+-- attribute group can be specified either by its unique ID or by its name.+module Amazonka.ServiceCatalogAppRegistry.GetAttributeGroup+  ( -- * Creating a Request+    GetAttributeGroup (..),+    newGetAttributeGroup,++    -- * Request Lenses+    getAttributeGroup_attributeGroup,++    -- * Destructuring the Response+    GetAttributeGroupResponse (..),+    newGetAttributeGroupResponse,++    -- * Response Lenses+    getAttributeGroupResponse_arn,+    getAttributeGroupResponse_attributes,+    getAttributeGroupResponse_creationTime,+    getAttributeGroupResponse_description,+    getAttributeGroupResponse_id,+    getAttributeGroupResponse_lastUpdateTime,+    getAttributeGroupResponse_name,+    getAttributeGroupResponse_tags,+    getAttributeGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newGetAttributeGroup' smart constructor.+data GetAttributeGroup = GetAttributeGroup'+  { -- | The name or ID of the attribute group that holds the attributes to+    -- describe the application.+    attributeGroup :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAttributeGroup' 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:+--+-- 'attributeGroup', 'getAttributeGroup_attributeGroup' - The name or ID of the attribute group that holds the attributes to+-- describe the application.+newGetAttributeGroup ::+  -- | 'attributeGroup'+  Prelude.Text ->+  GetAttributeGroup+newGetAttributeGroup pAttributeGroup_ =+  GetAttributeGroup'+    { attributeGroup =+        pAttributeGroup_+    }++-- | The name or ID of the attribute group that holds the attributes to+-- describe the application.+getAttributeGroup_attributeGroup :: Lens.Lens' GetAttributeGroup Prelude.Text+getAttributeGroup_attributeGroup = Lens.lens (\GetAttributeGroup' {attributeGroup} -> attributeGroup) (\s@GetAttributeGroup' {} a -> s {attributeGroup = a} :: GetAttributeGroup)++instance Core.AWSRequest GetAttributeGroup where+  type+    AWSResponse GetAttributeGroup =+      GetAttributeGroupResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAttributeGroupResponse'+            Prelude.<$> (x Data..?> "arn")+            Prelude.<*> (x Data..?> "attributes")+            Prelude.<*> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "lastUpdateTime")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetAttributeGroup where+  hashWithSalt _salt GetAttributeGroup' {..} =+    _salt `Prelude.hashWithSalt` attributeGroup++instance Prelude.NFData GetAttributeGroup where+  rnf GetAttributeGroup' {..} =+    Prelude.rnf attributeGroup++instance Data.ToHeaders GetAttributeGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetAttributeGroup where+  toPath GetAttributeGroup' {..} =+    Prelude.mconcat+      ["/attribute-groups/", Data.toBS attributeGroup]++instance Data.ToQuery GetAttributeGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAttributeGroupResponse' smart constructor.+data GetAttributeGroupResponse = GetAttributeGroupResponse'+  { -- | The Amazon resource name (ARN) that specifies the attribute group across+    -- services.+    arn :: Prelude.Maybe Prelude.Text,+    -- | A JSON string in the form of nested key-value pairs that represent the+    -- attributes in the group and describes an application and its components.+    attributes :: Prelude.Maybe Prelude.Text,+    -- | The ISO-8601 formatted timestamp of the moment the attribute group was+    -- created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The description of the attribute group that the user provides.+    description :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the attribute group.+    id :: Prelude.Maybe Prelude.Text,+    -- | The ISO-8601 formatted timestamp of the moment the attribute group was+    -- last updated. This time is the same as the creationTime for a newly+    -- created attribute group.+    lastUpdateTime :: Prelude.Maybe Data.ISO8601,+    -- | The name of the attribute group.+    name :: Prelude.Maybe Prelude.Text,+    -- | Key-value pairs associated with the attribute group.+    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 'GetAttributeGroupResponse' 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:+--+-- 'arn', 'getAttributeGroupResponse_arn' - The Amazon resource name (ARN) that specifies the attribute group across+-- services.+--+-- 'attributes', 'getAttributeGroupResponse_attributes' - A JSON string in the form of nested key-value pairs that represent the+-- attributes in the group and describes an application and its components.+--+-- 'creationTime', 'getAttributeGroupResponse_creationTime' - The ISO-8601 formatted timestamp of the moment the attribute group was+-- created.+--+-- 'description', 'getAttributeGroupResponse_description' - The description of the attribute group that the user provides.+--+-- 'id', 'getAttributeGroupResponse_id' - The identifier of the attribute group.+--+-- 'lastUpdateTime', 'getAttributeGroupResponse_lastUpdateTime' - The ISO-8601 formatted timestamp of the moment the attribute group was+-- last updated. This time is the same as the creationTime for a newly+-- created attribute group.+--+-- 'name', 'getAttributeGroupResponse_name' - The name of the attribute group.+--+-- 'tags', 'getAttributeGroupResponse_tags' - Key-value pairs associated with the attribute group.+--+-- 'httpStatus', 'getAttributeGroupResponse_httpStatus' - The response's http status code.+newGetAttributeGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAttributeGroupResponse+newGetAttributeGroupResponse pHttpStatus_ =+  GetAttributeGroupResponse'+    { arn = Prelude.Nothing,+      attributes = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      lastUpdateTime = Prelude.Nothing,+      name = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon resource name (ARN) that specifies the attribute group across+-- services.+getAttributeGroupResponse_arn :: Lens.Lens' GetAttributeGroupResponse (Prelude.Maybe Prelude.Text)+getAttributeGroupResponse_arn = Lens.lens (\GetAttributeGroupResponse' {arn} -> arn) (\s@GetAttributeGroupResponse' {} a -> s {arn = a} :: GetAttributeGroupResponse)++-- | A JSON string in the form of nested key-value pairs that represent the+-- attributes in the group and describes an application and its components.+getAttributeGroupResponse_attributes :: Lens.Lens' GetAttributeGroupResponse (Prelude.Maybe Prelude.Text)+getAttributeGroupResponse_attributes = Lens.lens (\GetAttributeGroupResponse' {attributes} -> attributes) (\s@GetAttributeGroupResponse' {} a -> s {attributes = a} :: GetAttributeGroupResponse)++-- | The ISO-8601 formatted timestamp of the moment the attribute group was+-- created.+getAttributeGroupResponse_creationTime :: Lens.Lens' GetAttributeGroupResponse (Prelude.Maybe Prelude.UTCTime)+getAttributeGroupResponse_creationTime = Lens.lens (\GetAttributeGroupResponse' {creationTime} -> creationTime) (\s@GetAttributeGroupResponse' {} a -> s {creationTime = a} :: GetAttributeGroupResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the attribute group that the user provides.+getAttributeGroupResponse_description :: Lens.Lens' GetAttributeGroupResponse (Prelude.Maybe Prelude.Text)+getAttributeGroupResponse_description = Lens.lens (\GetAttributeGroupResponse' {description} -> description) (\s@GetAttributeGroupResponse' {} a -> s {description = a} :: GetAttributeGroupResponse)++-- | The identifier of the attribute group.+getAttributeGroupResponse_id :: Lens.Lens' GetAttributeGroupResponse (Prelude.Maybe Prelude.Text)+getAttributeGroupResponse_id = Lens.lens (\GetAttributeGroupResponse' {id} -> id) (\s@GetAttributeGroupResponse' {} a -> s {id = a} :: GetAttributeGroupResponse)++-- | The ISO-8601 formatted timestamp of the moment the attribute group was+-- last updated. This time is the same as the creationTime for a newly+-- created attribute group.+getAttributeGroupResponse_lastUpdateTime :: Lens.Lens' GetAttributeGroupResponse (Prelude.Maybe Prelude.UTCTime)+getAttributeGroupResponse_lastUpdateTime = Lens.lens (\GetAttributeGroupResponse' {lastUpdateTime} -> lastUpdateTime) (\s@GetAttributeGroupResponse' {} a -> s {lastUpdateTime = a} :: GetAttributeGroupResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the attribute group.+getAttributeGroupResponse_name :: Lens.Lens' GetAttributeGroupResponse (Prelude.Maybe Prelude.Text)+getAttributeGroupResponse_name = Lens.lens (\GetAttributeGroupResponse' {name} -> name) (\s@GetAttributeGroupResponse' {} a -> s {name = a} :: GetAttributeGroupResponse)++-- | Key-value pairs associated with the attribute group.+getAttributeGroupResponse_tags :: Lens.Lens' GetAttributeGroupResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getAttributeGroupResponse_tags = Lens.lens (\GetAttributeGroupResponse' {tags} -> tags) (\s@GetAttributeGroupResponse' {} a -> s {tags = a} :: GetAttributeGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getAttributeGroupResponse_httpStatus :: Lens.Lens' GetAttributeGroupResponse Prelude.Int+getAttributeGroupResponse_httpStatus = Lens.lens (\GetAttributeGroupResponse' {httpStatus} -> httpStatus) (\s@GetAttributeGroupResponse' {} a -> s {httpStatus = a} :: GetAttributeGroupResponse)++instance Prelude.NFData GetAttributeGroupResponse where+  rnf GetAttributeGroupResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf attributes+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastUpdateTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/GetConfiguration.hs view
@@ -0,0 +1,141 @@+{-# 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.ServiceCatalogAppRegistry.GetConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a @TagKey@ configuration from an account.+module Amazonka.ServiceCatalogAppRegistry.GetConfiguration+  ( -- * Creating a Request+    GetConfiguration (..),+    newGetConfiguration,++    -- * Destructuring the Response+    GetConfigurationResponse (..),+    newGetConfigurationResponse,++    -- * Response Lenses+    getConfigurationResponse_configuration,+    getConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newGetConfiguration' smart constructor.+data GetConfiguration = GetConfiguration'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConfiguration' 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.+newGetConfiguration ::+  GetConfiguration+newGetConfiguration = GetConfiguration'++instance Core.AWSRequest GetConfiguration where+  type+    AWSResponse GetConfiguration =+      GetConfigurationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetConfigurationResponse'+            Prelude.<$> (x Data..?> "configuration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetConfiguration where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetConfiguration where+  rnf _ = ()++instance Data.ToHeaders GetConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetConfiguration where+  toPath = Prelude.const "/configuration"++instance Data.ToQuery GetConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetConfigurationResponse' smart constructor.+data GetConfigurationResponse = GetConfigurationResponse'+  { -- | Retrieves @TagKey@ configuration from an account.+    configuration :: Prelude.Maybe AppRegistryConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConfigurationResponse' 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:+--+-- 'configuration', 'getConfigurationResponse_configuration' - Retrieves @TagKey@ configuration from an account.+--+-- 'httpStatus', 'getConfigurationResponse_httpStatus' - The response's http status code.+newGetConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetConfigurationResponse+newGetConfigurationResponse pHttpStatus_ =+  GetConfigurationResponse'+    { configuration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Retrieves @TagKey@ configuration from an account.+getConfigurationResponse_configuration :: Lens.Lens' GetConfigurationResponse (Prelude.Maybe AppRegistryConfiguration)+getConfigurationResponse_configuration = Lens.lens (\GetConfigurationResponse' {configuration} -> configuration) (\s@GetConfigurationResponse' {} a -> s {configuration = a} :: GetConfigurationResponse)++-- | The response's http status code.+getConfigurationResponse_httpStatus :: Lens.Lens' GetConfigurationResponse Prelude.Int+getConfigurationResponse_httpStatus = Lens.lens (\GetConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetConfigurationResponse' {} a -> s {httpStatus = a} :: GetConfigurationResponse)++instance Prelude.NFData GetConfigurationResponse where+  rnf GetConfigurationResponse' {..} =+    Prelude.rnf configuration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/Lens.hs view
@@ -0,0 +1,300 @@+{-# 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.ServiceCatalogAppRegistry.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.ServiceCatalogAppRegistry.Lens+  ( -- * Operations++    -- ** AssociateAttributeGroup+    associateAttributeGroup_application,+    associateAttributeGroup_attributeGroup,+    associateAttributeGroupResponse_applicationArn,+    associateAttributeGroupResponse_attributeGroupArn,+    associateAttributeGroupResponse_httpStatus,++    -- ** AssociateResource+    associateResource_application,+    associateResource_resourceType,+    associateResource_resource,+    associateResourceResponse_applicationArn,+    associateResourceResponse_resourceArn,+    associateResourceResponse_httpStatus,++    -- ** CreateApplication+    createApplication_description,+    createApplication_tags,+    createApplication_name,+    createApplication_clientToken,+    createApplicationResponse_application,+    createApplicationResponse_httpStatus,++    -- ** CreateAttributeGroup+    createAttributeGroup_description,+    createAttributeGroup_tags,+    createAttributeGroup_name,+    createAttributeGroup_attributes,+    createAttributeGroup_clientToken,+    createAttributeGroupResponse_attributeGroup,+    createAttributeGroupResponse_httpStatus,++    -- ** DeleteApplication+    deleteApplication_application,+    deleteApplicationResponse_application,+    deleteApplicationResponse_httpStatus,++    -- ** DeleteAttributeGroup+    deleteAttributeGroup_attributeGroup,+    deleteAttributeGroupResponse_attributeGroup,+    deleteAttributeGroupResponse_httpStatus,++    -- ** DisassociateAttributeGroup+    disassociateAttributeGroup_application,+    disassociateAttributeGroup_attributeGroup,+    disassociateAttributeGroupResponse_applicationArn,+    disassociateAttributeGroupResponse_attributeGroupArn,+    disassociateAttributeGroupResponse_httpStatus,++    -- ** DisassociateResource+    disassociateResource_application,+    disassociateResource_resourceType,+    disassociateResource_resource,+    disassociateResourceResponse_applicationArn,+    disassociateResourceResponse_resourceArn,+    disassociateResourceResponse_httpStatus,++    -- ** GetApplication+    getApplication_application,+    getApplicationResponse_arn,+    getApplicationResponse_associatedResourceCount,+    getApplicationResponse_creationTime,+    getApplicationResponse_description,+    getApplicationResponse_id,+    getApplicationResponse_integrations,+    getApplicationResponse_lastUpdateTime,+    getApplicationResponse_name,+    getApplicationResponse_tags,+    getApplicationResponse_httpStatus,++    -- ** GetAssociatedResource+    getAssociatedResource_application,+    getAssociatedResource_resourceType,+    getAssociatedResource_resource,+    getAssociatedResourceResponse_resource,+    getAssociatedResourceResponse_httpStatus,++    -- ** GetAttributeGroup+    getAttributeGroup_attributeGroup,+    getAttributeGroupResponse_arn,+    getAttributeGroupResponse_attributes,+    getAttributeGroupResponse_creationTime,+    getAttributeGroupResponse_description,+    getAttributeGroupResponse_id,+    getAttributeGroupResponse_lastUpdateTime,+    getAttributeGroupResponse_name,+    getAttributeGroupResponse_tags,+    getAttributeGroupResponse_httpStatus,++    -- ** GetConfiguration+    getConfigurationResponse_configuration,+    getConfigurationResponse_httpStatus,++    -- ** ListApplications+    listApplications_maxResults,+    listApplications_nextToken,+    listApplicationsResponse_applications,+    listApplicationsResponse_nextToken,+    listApplicationsResponse_httpStatus,++    -- ** ListAssociatedAttributeGroups+    listAssociatedAttributeGroups_maxResults,+    listAssociatedAttributeGroups_nextToken,+    listAssociatedAttributeGroups_application,+    listAssociatedAttributeGroupsResponse_attributeGroups,+    listAssociatedAttributeGroupsResponse_nextToken,+    listAssociatedAttributeGroupsResponse_httpStatus,++    -- ** ListAssociatedResources+    listAssociatedResources_maxResults,+    listAssociatedResources_nextToken,+    listAssociatedResources_application,+    listAssociatedResourcesResponse_nextToken,+    listAssociatedResourcesResponse_resources,+    listAssociatedResourcesResponse_httpStatus,++    -- ** ListAttributeGroups+    listAttributeGroups_maxResults,+    listAttributeGroups_nextToken,+    listAttributeGroupsResponse_attributeGroups,+    listAttributeGroupsResponse_nextToken,+    listAttributeGroupsResponse_httpStatus,++    -- ** ListAttributeGroupsForApplication+    listAttributeGroupsForApplication_maxResults,+    listAttributeGroupsForApplication_nextToken,+    listAttributeGroupsForApplication_application,+    listAttributeGroupsForApplicationResponse_attributeGroupsDetails,+    listAttributeGroupsForApplicationResponse_nextToken,+    listAttributeGroupsForApplicationResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** PutConfiguration+    putConfiguration_configuration,++    -- ** SyncResource+    syncResource_resourceType,+    syncResource_resource,+    syncResourceResponse_actionTaken,+    syncResourceResponse_applicationArn,+    syncResourceResponse_resourceArn,+    syncResourceResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateApplication+    updateApplication_description,+    updateApplication_name,+    updateApplication_application,+    updateApplicationResponse_application,+    updateApplicationResponse_httpStatus,++    -- ** UpdateAttributeGroup+    updateAttributeGroup_attributes,+    updateAttributeGroup_description,+    updateAttributeGroup_name,+    updateAttributeGroup_attributeGroup,+    updateAttributeGroupResponse_attributeGroup,+    updateAttributeGroupResponse_httpStatus,++    -- * Types++    -- ** AppRegistryConfiguration+    appRegistryConfiguration_tagQueryConfiguration,++    -- ** Application+    application_arn,+    application_creationTime,+    application_description,+    application_id,+    application_lastUpdateTime,+    application_name,+    application_tags,++    -- ** ApplicationSummary+    applicationSummary_arn,+    applicationSummary_creationTime,+    applicationSummary_description,+    applicationSummary_id,+    applicationSummary_lastUpdateTime,+    applicationSummary_name,++    -- ** AttributeGroup+    attributeGroup_arn,+    attributeGroup_creationTime,+    attributeGroup_description,+    attributeGroup_id,+    attributeGroup_lastUpdateTime,+    attributeGroup_name,+    attributeGroup_tags,++    -- ** AttributeGroupDetails+    attributeGroupDetails_arn,+    attributeGroupDetails_id,+    attributeGroupDetails_name,++    -- ** AttributeGroupSummary+    attributeGroupSummary_arn,+    attributeGroupSummary_creationTime,+    attributeGroupSummary_description,+    attributeGroupSummary_id,+    attributeGroupSummary_lastUpdateTime,+    attributeGroupSummary_name,++    -- ** Integrations+    integrations_resourceGroup,++    -- ** Resource+    resource_arn,+    resource_associationTime,+    resource_integrations,+    resource_name,++    -- ** ResourceDetails+    resourceDetails_tagValue,++    -- ** ResourceGroup+    resourceGroup_arn,+    resourceGroup_errorMessage,+    resourceGroup_state,++    -- ** ResourceInfo+    resourceInfo_arn,+    resourceInfo_name,+    resourceInfo_resourceDetails,+    resourceInfo_resourceType,++    -- ** ResourceIntegrations+    resourceIntegrations_resourceGroup,++    -- ** TagQueryConfiguration+    tagQueryConfiguration_tagKey,+  )+where++import Amazonka.ServiceCatalogAppRegistry.AssociateAttributeGroup+import Amazonka.ServiceCatalogAppRegistry.AssociateResource+import Amazonka.ServiceCatalogAppRegistry.CreateApplication+import Amazonka.ServiceCatalogAppRegistry.CreateAttributeGroup+import Amazonka.ServiceCatalogAppRegistry.DeleteApplication+import Amazonka.ServiceCatalogAppRegistry.DeleteAttributeGroup+import Amazonka.ServiceCatalogAppRegistry.DisassociateAttributeGroup+import Amazonka.ServiceCatalogAppRegistry.DisassociateResource+import Amazonka.ServiceCatalogAppRegistry.GetApplication+import Amazonka.ServiceCatalogAppRegistry.GetAssociatedResource+import Amazonka.ServiceCatalogAppRegistry.GetAttributeGroup+import Amazonka.ServiceCatalogAppRegistry.GetConfiguration+import Amazonka.ServiceCatalogAppRegistry.ListApplications+import Amazonka.ServiceCatalogAppRegistry.ListAssociatedAttributeGroups+import Amazonka.ServiceCatalogAppRegistry.ListAssociatedResources+import Amazonka.ServiceCatalogAppRegistry.ListAttributeGroups+import Amazonka.ServiceCatalogAppRegistry.ListAttributeGroupsForApplication+import Amazonka.ServiceCatalogAppRegistry.ListTagsForResource+import Amazonka.ServiceCatalogAppRegistry.PutConfiguration+import Amazonka.ServiceCatalogAppRegistry.SyncResource+import Amazonka.ServiceCatalogAppRegistry.TagResource+import Amazonka.ServiceCatalogAppRegistry.Types.AppRegistryConfiguration+import Amazonka.ServiceCatalogAppRegistry.Types.Application+import Amazonka.ServiceCatalogAppRegistry.Types.ApplicationSummary+import Amazonka.ServiceCatalogAppRegistry.Types.AttributeGroup+import Amazonka.ServiceCatalogAppRegistry.Types.AttributeGroupDetails+import Amazonka.ServiceCatalogAppRegistry.Types.AttributeGroupSummary+import Amazonka.ServiceCatalogAppRegistry.Types.Integrations+import Amazonka.ServiceCatalogAppRegistry.Types.Resource+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceDetails+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceGroup+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceInfo+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceIntegrations+import Amazonka.ServiceCatalogAppRegistry.Types.TagQueryConfiguration+import Amazonka.ServiceCatalogAppRegistry.UntagResource+import Amazonka.ServiceCatalogAppRegistry.UpdateApplication+import Amazonka.ServiceCatalogAppRegistry.UpdateAttributeGroup
+ gen/Amazonka/ServiceCatalogAppRegistry/ListApplications.hs view
@@ -0,0 +1,220 @@+{-# 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.ServiceCatalogAppRegistry.ListApplications+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of all of your applications. Results are paginated.+--+-- This operation returns paginated results.+module Amazonka.ServiceCatalogAppRegistry.ListApplications+  ( -- * Creating a Request+    ListApplications (..),+    newListApplications,++    -- * Request Lenses+    listApplications_maxResults,+    listApplications_nextToken,++    -- * Destructuring the Response+    ListApplicationsResponse (..),+    newListApplicationsResponse,++    -- * Response Lenses+    listApplicationsResponse_applications,+    listApplicationsResponse_nextToken,+    listApplicationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newListApplications' smart constructor.+data ListApplications = ListApplications'+  { -- | The upper bound of the number of results to return (cannot exceed 25).+    -- If this parameter is omitted, it defaults to 25. This value is optional.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to use to get the next page of results after a previous API+    -- call.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplications' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listApplications_maxResults' - The upper bound of the number of results to return (cannot exceed 25).+-- If this parameter is omitted, it defaults to 25. This value is optional.+--+-- 'nextToken', 'listApplications_nextToken' - The token to use to get the next page of results after a previous API+-- call.+newListApplications ::+  ListApplications+newListApplications =+  ListApplications'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The upper bound of the number of results to return (cannot exceed 25).+-- If this parameter is omitted, it defaults to 25. This value is optional.+listApplications_maxResults :: Lens.Lens' ListApplications (Prelude.Maybe Prelude.Natural)+listApplications_maxResults = Lens.lens (\ListApplications' {maxResults} -> maxResults) (\s@ListApplications' {} a -> s {maxResults = a} :: ListApplications)++-- | The token to use to get the next page of results after a previous API+-- call.+listApplications_nextToken :: Lens.Lens' ListApplications (Prelude.Maybe Prelude.Text)+listApplications_nextToken = Lens.lens (\ListApplications' {nextToken} -> nextToken) (\s@ListApplications' {} a -> s {nextToken = a} :: ListApplications)++instance Core.AWSPager ListApplications where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listApplicationsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listApplicationsResponse_applications+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listApplications_nextToken+          Lens..~ rs+          Lens.^? listApplicationsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListApplications where+  type+    AWSResponse ListApplications =+      ListApplicationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListApplicationsResponse'+            Prelude.<$> (x Data..?> "applications" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListApplications where+  hashWithSalt _salt ListApplications' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListApplications where+  rnf ListApplications' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListApplications where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListApplications where+  toPath = Prelude.const "/applications"++instance Data.ToQuery ListApplications where+  toQuery ListApplications' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListApplicationsResponse' smart constructor.+data ListApplicationsResponse = ListApplicationsResponse'+  { -- | This list of applications.+    applications :: Prelude.Maybe [ApplicationSummary],+    -- | The token to use to get the next page of results after a previous API+    -- call.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplicationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applications', 'listApplicationsResponse_applications' - This list of applications.+--+-- 'nextToken', 'listApplicationsResponse_nextToken' - The token to use to get the next page of results after a previous API+-- call.+--+-- 'httpStatus', 'listApplicationsResponse_httpStatus' - The response's http status code.+newListApplicationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListApplicationsResponse+newListApplicationsResponse pHttpStatus_ =+  ListApplicationsResponse'+    { applications =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | This list of applications.+listApplicationsResponse_applications :: Lens.Lens' ListApplicationsResponse (Prelude.Maybe [ApplicationSummary])+listApplicationsResponse_applications = Lens.lens (\ListApplicationsResponse' {applications} -> applications) (\s@ListApplicationsResponse' {} a -> s {applications = a} :: ListApplicationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to use to get the next page of results after a previous API+-- call.+listApplicationsResponse_nextToken :: Lens.Lens' ListApplicationsResponse (Prelude.Maybe Prelude.Text)+listApplicationsResponse_nextToken = Lens.lens (\ListApplicationsResponse' {nextToken} -> nextToken) (\s@ListApplicationsResponse' {} a -> s {nextToken = a} :: ListApplicationsResponse)++-- | The response's http status code.+listApplicationsResponse_httpStatus :: Lens.Lens' ListApplicationsResponse Prelude.Int+listApplicationsResponse_httpStatus = Lens.lens (\ListApplicationsResponse' {httpStatus} -> httpStatus) (\s@ListApplicationsResponse' {} a -> s {httpStatus = a} :: ListApplicationsResponse)++instance Prelude.NFData ListApplicationsResponse where+  rnf ListApplicationsResponse' {..} =+    Prelude.rnf applications+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/ListAssociatedAttributeGroups.hs view
@@ -0,0 +1,253 @@+{-# 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.ServiceCatalogAppRegistry.ListAssociatedAttributeGroups+-- 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 attribute groups that are associated with specified+-- application. Results are paginated.+--+-- This operation returns paginated results.+module Amazonka.ServiceCatalogAppRegistry.ListAssociatedAttributeGroups+  ( -- * Creating a Request+    ListAssociatedAttributeGroups (..),+    newListAssociatedAttributeGroups,++    -- * Request Lenses+    listAssociatedAttributeGroups_maxResults,+    listAssociatedAttributeGroups_nextToken,+    listAssociatedAttributeGroups_application,++    -- * Destructuring the Response+    ListAssociatedAttributeGroupsResponse (..),+    newListAssociatedAttributeGroupsResponse,++    -- * Response Lenses+    listAssociatedAttributeGroupsResponse_attributeGroups,+    listAssociatedAttributeGroupsResponse_nextToken,+    listAssociatedAttributeGroupsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newListAssociatedAttributeGroups' smart constructor.+data ListAssociatedAttributeGroups = ListAssociatedAttributeGroups'+  { -- | The upper bound of the number of results to return (cannot exceed 25).+    -- If this parameter is omitted, it defaults to 25. This value is optional.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to use to get the next page of results after a previous API+    -- call.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name or ID of the application.+    application :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssociatedAttributeGroups' 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', 'listAssociatedAttributeGroups_maxResults' - The upper bound of the number of results to return (cannot exceed 25).+-- If this parameter is omitted, it defaults to 25. This value is optional.+--+-- 'nextToken', 'listAssociatedAttributeGroups_nextToken' - The token to use to get the next page of results after a previous API+-- call.+--+-- 'application', 'listAssociatedAttributeGroups_application' - The name or ID of the application.+newListAssociatedAttributeGroups ::+  -- | 'application'+  Prelude.Text ->+  ListAssociatedAttributeGroups+newListAssociatedAttributeGroups pApplication_ =+  ListAssociatedAttributeGroups'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      application = pApplication_+    }++-- | The upper bound of the number of results to return (cannot exceed 25).+-- If this parameter is omitted, it defaults to 25. This value is optional.+listAssociatedAttributeGroups_maxResults :: Lens.Lens' ListAssociatedAttributeGroups (Prelude.Maybe Prelude.Natural)+listAssociatedAttributeGroups_maxResults = Lens.lens (\ListAssociatedAttributeGroups' {maxResults} -> maxResults) (\s@ListAssociatedAttributeGroups' {} a -> s {maxResults = a} :: ListAssociatedAttributeGroups)++-- | The token to use to get the next page of results after a previous API+-- call.+listAssociatedAttributeGroups_nextToken :: Lens.Lens' ListAssociatedAttributeGroups (Prelude.Maybe Prelude.Text)+listAssociatedAttributeGroups_nextToken = Lens.lens (\ListAssociatedAttributeGroups' {nextToken} -> nextToken) (\s@ListAssociatedAttributeGroups' {} a -> s {nextToken = a} :: ListAssociatedAttributeGroups)++-- | The name or ID of the application.+listAssociatedAttributeGroups_application :: Lens.Lens' ListAssociatedAttributeGroups Prelude.Text+listAssociatedAttributeGroups_application = Lens.lens (\ListAssociatedAttributeGroups' {application} -> application) (\s@ListAssociatedAttributeGroups' {} a -> s {application = a} :: ListAssociatedAttributeGroups)++instance Core.AWSPager ListAssociatedAttributeGroups where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listAssociatedAttributeGroupsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listAssociatedAttributeGroupsResponse_attributeGroups+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listAssociatedAttributeGroups_nextToken+          Lens..~ rs+          Lens.^? listAssociatedAttributeGroupsResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    ListAssociatedAttributeGroups+  where+  type+    AWSResponse ListAssociatedAttributeGroups =+      ListAssociatedAttributeGroupsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAssociatedAttributeGroupsResponse'+            Prelude.<$> ( x+                            Data..?> "attributeGroups"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListAssociatedAttributeGroups+  where+  hashWithSalt _salt ListAssociatedAttributeGroups' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` application++instance Prelude.NFData ListAssociatedAttributeGroups where+  rnf ListAssociatedAttributeGroups' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf application++instance Data.ToHeaders ListAssociatedAttributeGroups where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListAssociatedAttributeGroups where+  toPath ListAssociatedAttributeGroups' {..} =+    Prelude.mconcat+      [ "/applications/",+        Data.toBS application,+        "/attribute-groups"+      ]++instance Data.ToQuery ListAssociatedAttributeGroups where+  toQuery ListAssociatedAttributeGroups' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListAssociatedAttributeGroupsResponse' smart constructor.+data ListAssociatedAttributeGroupsResponse = ListAssociatedAttributeGroupsResponse'+  { -- | A list of attribute group IDs.+    attributeGroups :: Prelude.Maybe [Prelude.Text],+    -- | The token to use to get the next page of results after a previous API+    -- call.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssociatedAttributeGroupsResponse' 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:+--+-- 'attributeGroups', 'listAssociatedAttributeGroupsResponse_attributeGroups' - A list of attribute group IDs.+--+-- 'nextToken', 'listAssociatedAttributeGroupsResponse_nextToken' - The token to use to get the next page of results after a previous API+-- call.+--+-- 'httpStatus', 'listAssociatedAttributeGroupsResponse_httpStatus' - The response's http status code.+newListAssociatedAttributeGroupsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAssociatedAttributeGroupsResponse+newListAssociatedAttributeGroupsResponse pHttpStatus_ =+  ListAssociatedAttributeGroupsResponse'+    { attributeGroups =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of attribute group IDs.+listAssociatedAttributeGroupsResponse_attributeGroups :: Lens.Lens' ListAssociatedAttributeGroupsResponse (Prelude.Maybe [Prelude.Text])+listAssociatedAttributeGroupsResponse_attributeGroups = Lens.lens (\ListAssociatedAttributeGroupsResponse' {attributeGroups} -> attributeGroups) (\s@ListAssociatedAttributeGroupsResponse' {} a -> s {attributeGroups = a} :: ListAssociatedAttributeGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to use to get the next page of results after a previous API+-- call.+listAssociatedAttributeGroupsResponse_nextToken :: Lens.Lens' ListAssociatedAttributeGroupsResponse (Prelude.Maybe Prelude.Text)+listAssociatedAttributeGroupsResponse_nextToken = Lens.lens (\ListAssociatedAttributeGroupsResponse' {nextToken} -> nextToken) (\s@ListAssociatedAttributeGroupsResponse' {} a -> s {nextToken = a} :: ListAssociatedAttributeGroupsResponse)++-- | The response's http status code.+listAssociatedAttributeGroupsResponse_httpStatus :: Lens.Lens' ListAssociatedAttributeGroupsResponse Prelude.Int+listAssociatedAttributeGroupsResponse_httpStatus = Lens.lens (\ListAssociatedAttributeGroupsResponse' {httpStatus} -> httpStatus) (\s@ListAssociatedAttributeGroupsResponse' {} a -> s {httpStatus = a} :: ListAssociatedAttributeGroupsResponse)++instance+  Prelude.NFData+    ListAssociatedAttributeGroupsResponse+  where+  rnf ListAssociatedAttributeGroupsResponse' {..} =+    Prelude.rnf attributeGroups+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/ListAssociatedResources.hs view
@@ -0,0 +1,249 @@+{-# 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.ServiceCatalogAppRegistry.ListAssociatedResources+-- 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 of the resources that are associated with the specified+-- application. Results are paginated.+--+-- If you share an application, and a consumer account associates a tag+-- query to the application, all of the users who can access the+-- application can also view the tag values in all accounts that are+-- associated with it using this API.+--+-- This operation returns paginated results.+module Amazonka.ServiceCatalogAppRegistry.ListAssociatedResources+  ( -- * Creating a Request+    ListAssociatedResources (..),+    newListAssociatedResources,++    -- * Request Lenses+    listAssociatedResources_maxResults,+    listAssociatedResources_nextToken,+    listAssociatedResources_application,++    -- * Destructuring the Response+    ListAssociatedResourcesResponse (..),+    newListAssociatedResourcesResponse,++    -- * Response Lenses+    listAssociatedResourcesResponse_nextToken,+    listAssociatedResourcesResponse_resources,+    listAssociatedResourcesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newListAssociatedResources' smart constructor.+data ListAssociatedResources = ListAssociatedResources'+  { -- | The upper bound of the number of results to return (cannot exceed 25).+    -- If this parameter is omitted, it defaults to 25. This value is optional.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to use to get the next page of results after a previous API+    -- call.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name or ID of the application.+    application :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssociatedResources' 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', 'listAssociatedResources_maxResults' - The upper bound of the number of results to return (cannot exceed 25).+-- If this parameter is omitted, it defaults to 25. This value is optional.+--+-- 'nextToken', 'listAssociatedResources_nextToken' - The token to use to get the next page of results after a previous API+-- call.+--+-- 'application', 'listAssociatedResources_application' - The name or ID of the application.+newListAssociatedResources ::+  -- | 'application'+  Prelude.Text ->+  ListAssociatedResources+newListAssociatedResources pApplication_ =+  ListAssociatedResources'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      application = pApplication_+    }++-- | The upper bound of the number of results to return (cannot exceed 25).+-- If this parameter is omitted, it defaults to 25. This value is optional.+listAssociatedResources_maxResults :: Lens.Lens' ListAssociatedResources (Prelude.Maybe Prelude.Natural)+listAssociatedResources_maxResults = Lens.lens (\ListAssociatedResources' {maxResults} -> maxResults) (\s@ListAssociatedResources' {} a -> s {maxResults = a} :: ListAssociatedResources)++-- | The token to use to get the next page of results after a previous API+-- call.+listAssociatedResources_nextToken :: Lens.Lens' ListAssociatedResources (Prelude.Maybe Prelude.Text)+listAssociatedResources_nextToken = Lens.lens (\ListAssociatedResources' {nextToken} -> nextToken) (\s@ListAssociatedResources' {} a -> s {nextToken = a} :: ListAssociatedResources)++-- | The name or ID of the application.+listAssociatedResources_application :: Lens.Lens' ListAssociatedResources Prelude.Text+listAssociatedResources_application = Lens.lens (\ListAssociatedResources' {application} -> application) (\s@ListAssociatedResources' {} a -> s {application = a} :: ListAssociatedResources)++instance Core.AWSPager ListAssociatedResources where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listAssociatedResourcesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listAssociatedResourcesResponse_resources+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listAssociatedResources_nextToken+          Lens..~ rs+          Lens.^? listAssociatedResourcesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListAssociatedResources where+  type+    AWSResponse ListAssociatedResources =+      ListAssociatedResourcesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAssociatedResourcesResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "resources" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAssociatedResources where+  hashWithSalt _salt ListAssociatedResources' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` application++instance Prelude.NFData ListAssociatedResources where+  rnf ListAssociatedResources' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf application++instance Data.ToHeaders ListAssociatedResources where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListAssociatedResources where+  toPath ListAssociatedResources' {..} =+    Prelude.mconcat+      [ "/applications/",+        Data.toBS application,+        "/resources"+      ]++instance Data.ToQuery ListAssociatedResources where+  toQuery ListAssociatedResources' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListAssociatedResourcesResponse' smart constructor.+data ListAssociatedResourcesResponse = ListAssociatedResourcesResponse'+  { -- | The token to use to get the next page of results after a previous API+    -- call.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Information about the resources.+    resources :: Prelude.Maybe [ResourceInfo],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssociatedResourcesResponse' 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', 'listAssociatedResourcesResponse_nextToken' - The token to use to get the next page of results after a previous API+-- call.+--+-- 'resources', 'listAssociatedResourcesResponse_resources' - Information about the resources.+--+-- 'httpStatus', 'listAssociatedResourcesResponse_httpStatus' - The response's http status code.+newListAssociatedResourcesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAssociatedResourcesResponse+newListAssociatedResourcesResponse pHttpStatus_ =+  ListAssociatedResourcesResponse'+    { nextToken =+        Prelude.Nothing,+      resources = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to get the next page of results after a previous API+-- call.+listAssociatedResourcesResponse_nextToken :: Lens.Lens' ListAssociatedResourcesResponse (Prelude.Maybe Prelude.Text)+listAssociatedResourcesResponse_nextToken = Lens.lens (\ListAssociatedResourcesResponse' {nextToken} -> nextToken) (\s@ListAssociatedResourcesResponse' {} a -> s {nextToken = a} :: ListAssociatedResourcesResponse)++-- | Information about the resources.+listAssociatedResourcesResponse_resources :: Lens.Lens' ListAssociatedResourcesResponse (Prelude.Maybe [ResourceInfo])+listAssociatedResourcesResponse_resources = Lens.lens (\ListAssociatedResourcesResponse' {resources} -> resources) (\s@ListAssociatedResourcesResponse' {} a -> s {resources = a} :: ListAssociatedResourcesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listAssociatedResourcesResponse_httpStatus :: Lens.Lens' ListAssociatedResourcesResponse Prelude.Int+listAssociatedResourcesResponse_httpStatus = Lens.lens (\ListAssociatedResourcesResponse' {httpStatus} -> httpStatus) (\s@ListAssociatedResourcesResponse' {} a -> s {httpStatus = a} :: ListAssociatedResourcesResponse)++instance+  Prelude.NFData+    ListAssociatedResourcesResponse+  where+  rnf ListAssociatedResourcesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resources+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/ListAttributeGroups.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.ServiceCatalogAppRegistry.ListAttributeGroups+-- 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 attribute groups which you have access to. Results are+-- paginated.+--+-- This operation returns paginated results.+module Amazonka.ServiceCatalogAppRegistry.ListAttributeGroups+  ( -- * Creating a Request+    ListAttributeGroups (..),+    newListAttributeGroups,++    -- * Request Lenses+    listAttributeGroups_maxResults,+    listAttributeGroups_nextToken,++    -- * Destructuring the Response+    ListAttributeGroupsResponse (..),+    newListAttributeGroupsResponse,++    -- * Response Lenses+    listAttributeGroupsResponse_attributeGroups,+    listAttributeGroupsResponse_nextToken,+    listAttributeGroupsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newListAttributeGroups' smart constructor.+data ListAttributeGroups = ListAttributeGroups'+  { -- | The upper bound of the number of results to return (cannot exceed 25).+    -- If this parameter is omitted, it defaults to 25. This value is optional.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token to use to get the next page of results after a previous API+    -- call.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAttributeGroups' 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', 'listAttributeGroups_maxResults' - The upper bound of the number of results to return (cannot exceed 25).+-- If this parameter is omitted, it defaults to 25. This value is optional.+--+-- 'nextToken', 'listAttributeGroups_nextToken' - The token to use to get the next page of results after a previous API+-- call.+newListAttributeGroups ::+  ListAttributeGroups+newListAttributeGroups =+  ListAttributeGroups'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The upper bound of the number of results to return (cannot exceed 25).+-- If this parameter is omitted, it defaults to 25. This value is optional.+listAttributeGroups_maxResults :: Lens.Lens' ListAttributeGroups (Prelude.Maybe Prelude.Natural)+listAttributeGroups_maxResults = Lens.lens (\ListAttributeGroups' {maxResults} -> maxResults) (\s@ListAttributeGroups' {} a -> s {maxResults = a} :: ListAttributeGroups)++-- | The token to use to get the next page of results after a previous API+-- call.+listAttributeGroups_nextToken :: Lens.Lens' ListAttributeGroups (Prelude.Maybe Prelude.Text)+listAttributeGroups_nextToken = Lens.lens (\ListAttributeGroups' {nextToken} -> nextToken) (\s@ListAttributeGroups' {} a -> s {nextToken = a} :: ListAttributeGroups)++instance Core.AWSPager ListAttributeGroups where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listAttributeGroupsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listAttributeGroupsResponse_attributeGroups+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listAttributeGroups_nextToken+          Lens..~ rs+          Lens.^? listAttributeGroupsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListAttributeGroups where+  type+    AWSResponse ListAttributeGroups =+      ListAttributeGroupsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAttributeGroupsResponse'+            Prelude.<$> ( x+                            Data..?> "attributeGroups"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAttributeGroups where+  hashWithSalt _salt ListAttributeGroups' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAttributeGroups where+  rnf ListAttributeGroups' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAttributeGroups where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListAttributeGroups where+  toPath = Prelude.const "/attribute-groups"++instance Data.ToQuery ListAttributeGroups where+  toQuery ListAttributeGroups' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListAttributeGroupsResponse' smart constructor.+data ListAttributeGroupsResponse = ListAttributeGroupsResponse'+  { -- | This list of attribute groups.+    attributeGroups :: Prelude.Maybe [AttributeGroupSummary],+    -- | The token to use to get the next page of results after a previous API+    -- call.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAttributeGroupsResponse' 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:+--+-- 'attributeGroups', 'listAttributeGroupsResponse_attributeGroups' - This list of attribute groups.+--+-- 'nextToken', 'listAttributeGroupsResponse_nextToken' - The token to use to get the next page of results after a previous API+-- call.+--+-- 'httpStatus', 'listAttributeGroupsResponse_httpStatus' - The response's http status code.+newListAttributeGroupsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAttributeGroupsResponse+newListAttributeGroupsResponse pHttpStatus_ =+  ListAttributeGroupsResponse'+    { attributeGroups =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | This list of attribute groups.+listAttributeGroupsResponse_attributeGroups :: Lens.Lens' ListAttributeGroupsResponse (Prelude.Maybe [AttributeGroupSummary])+listAttributeGroupsResponse_attributeGroups = Lens.lens (\ListAttributeGroupsResponse' {attributeGroups} -> attributeGroups) (\s@ListAttributeGroupsResponse' {} a -> s {attributeGroups = a} :: ListAttributeGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to use to get the next page of results after a previous API+-- call.+listAttributeGroupsResponse_nextToken :: Lens.Lens' ListAttributeGroupsResponse (Prelude.Maybe Prelude.Text)+listAttributeGroupsResponse_nextToken = Lens.lens (\ListAttributeGroupsResponse' {nextToken} -> nextToken) (\s@ListAttributeGroupsResponse' {} a -> s {nextToken = a} :: ListAttributeGroupsResponse)++-- | The response's http status code.+listAttributeGroupsResponse_httpStatus :: Lens.Lens' ListAttributeGroupsResponse Prelude.Int+listAttributeGroupsResponse_httpStatus = Lens.lens (\ListAttributeGroupsResponse' {httpStatus} -> httpStatus) (\s@ListAttributeGroupsResponse' {} a -> s {httpStatus = a} :: ListAttributeGroupsResponse)++instance Prelude.NFData ListAttributeGroupsResponse where+  rnf ListAttributeGroupsResponse' {..} =+    Prelude.rnf attributeGroups+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/ListAttributeGroupsForApplication.hs view
@@ -0,0 +1,271 @@+{-# 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.ServiceCatalogAppRegistry.ListAttributeGroupsForApplication+-- 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 details of all attribute groups associated with a specific+-- application. The results display in pages.+--+-- This operation returns paginated results.+module Amazonka.ServiceCatalogAppRegistry.ListAttributeGroupsForApplication+  ( -- * Creating a Request+    ListAttributeGroupsForApplication (..),+    newListAttributeGroupsForApplication,++    -- * Request Lenses+    listAttributeGroupsForApplication_maxResults,+    listAttributeGroupsForApplication_nextToken,+    listAttributeGroupsForApplication_application,++    -- * Destructuring the Response+    ListAttributeGroupsForApplicationResponse (..),+    newListAttributeGroupsForApplicationResponse,++    -- * Response Lenses+    listAttributeGroupsForApplicationResponse_attributeGroupsDetails,+    listAttributeGroupsForApplicationResponse_nextToken,+    listAttributeGroupsForApplicationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newListAttributeGroupsForApplication' smart constructor.+data ListAttributeGroupsForApplication = ListAttributeGroupsForApplication'+  { -- | The upper bound of the number of results to return. The value cannot+    -- exceed 25. If you omit this parameter, it defaults to 25. This value is+    -- optional.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | This token retrieves the next page of results after a previous API call.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name or ID of the application.+    application :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAttributeGroupsForApplication' 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', 'listAttributeGroupsForApplication_maxResults' - The upper bound of the number of results to return. The value cannot+-- exceed 25. If you omit this parameter, it defaults to 25. This value is+-- optional.+--+-- 'nextToken', 'listAttributeGroupsForApplication_nextToken' - This token retrieves the next page of results after a previous API call.+--+-- 'application', 'listAttributeGroupsForApplication_application' - The name or ID of the application.+newListAttributeGroupsForApplication ::+  -- | 'application'+  Prelude.Text ->+  ListAttributeGroupsForApplication+newListAttributeGroupsForApplication pApplication_ =+  ListAttributeGroupsForApplication'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      application = pApplication_+    }++-- | The upper bound of the number of results to return. The value cannot+-- exceed 25. If you omit this parameter, it defaults to 25. This value is+-- optional.+listAttributeGroupsForApplication_maxResults :: Lens.Lens' ListAttributeGroupsForApplication (Prelude.Maybe Prelude.Natural)+listAttributeGroupsForApplication_maxResults = Lens.lens (\ListAttributeGroupsForApplication' {maxResults} -> maxResults) (\s@ListAttributeGroupsForApplication' {} a -> s {maxResults = a} :: ListAttributeGroupsForApplication)++-- | This token retrieves the next page of results after a previous API call.+listAttributeGroupsForApplication_nextToken :: Lens.Lens' ListAttributeGroupsForApplication (Prelude.Maybe Prelude.Text)+listAttributeGroupsForApplication_nextToken = Lens.lens (\ListAttributeGroupsForApplication' {nextToken} -> nextToken) (\s@ListAttributeGroupsForApplication' {} a -> s {nextToken = a} :: ListAttributeGroupsForApplication)++-- | The name or ID of the application.+listAttributeGroupsForApplication_application :: Lens.Lens' ListAttributeGroupsForApplication Prelude.Text+listAttributeGroupsForApplication_application = Lens.lens (\ListAttributeGroupsForApplication' {application} -> application) (\s@ListAttributeGroupsForApplication' {} a -> s {application = a} :: ListAttributeGroupsForApplication)++instance+  Core.AWSPager+    ListAttributeGroupsForApplication+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listAttributeGroupsForApplicationResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listAttributeGroupsForApplicationResponse_attributeGroupsDetails+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listAttributeGroupsForApplication_nextToken+          Lens..~ rs+          Lens.^? listAttributeGroupsForApplicationResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    ListAttributeGroupsForApplication+  where+  type+    AWSResponse ListAttributeGroupsForApplication =+      ListAttributeGroupsForApplicationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAttributeGroupsForApplicationResponse'+            Prelude.<$> ( x+                            Data..?> "attributeGroupsDetails"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListAttributeGroupsForApplication+  where+  hashWithSalt+    _salt+    ListAttributeGroupsForApplication' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` application++instance+  Prelude.NFData+    ListAttributeGroupsForApplication+  where+  rnf ListAttributeGroupsForApplication' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf application++instance+  Data.ToHeaders+    ListAttributeGroupsForApplication+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToPath+    ListAttributeGroupsForApplication+  where+  toPath ListAttributeGroupsForApplication' {..} =+    Prelude.mconcat+      [ "/applications/",+        Data.toBS application,+        "/attribute-group-details"+      ]++instance+  Data.ToQuery+    ListAttributeGroupsForApplication+  where+  toQuery ListAttributeGroupsForApplication' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListAttributeGroupsForApplicationResponse' smart constructor.+data ListAttributeGroupsForApplicationResponse = ListAttributeGroupsForApplicationResponse'+  { -- | The details related to a specific attribute group.+    attributeGroupsDetails :: Prelude.Maybe [AttributeGroupDetails],+    -- | The token to use to get the next page of results after a previous API+    -- call.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAttributeGroupsForApplicationResponse' 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:+--+-- 'attributeGroupsDetails', 'listAttributeGroupsForApplicationResponse_attributeGroupsDetails' - The details related to a specific attribute group.+--+-- 'nextToken', 'listAttributeGroupsForApplicationResponse_nextToken' - The token to use to get the next page of results after a previous API+-- call.+--+-- 'httpStatus', 'listAttributeGroupsForApplicationResponse_httpStatus' - The response's http status code.+newListAttributeGroupsForApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAttributeGroupsForApplicationResponse+newListAttributeGroupsForApplicationResponse+  pHttpStatus_ =+    ListAttributeGroupsForApplicationResponse'+      { attributeGroupsDetails =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The details related to a specific attribute group.+listAttributeGroupsForApplicationResponse_attributeGroupsDetails :: Lens.Lens' ListAttributeGroupsForApplicationResponse (Prelude.Maybe [AttributeGroupDetails])+listAttributeGroupsForApplicationResponse_attributeGroupsDetails = Lens.lens (\ListAttributeGroupsForApplicationResponse' {attributeGroupsDetails} -> attributeGroupsDetails) (\s@ListAttributeGroupsForApplicationResponse' {} a -> s {attributeGroupsDetails = a} :: ListAttributeGroupsForApplicationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to use to get the next page of results after a previous API+-- call.+listAttributeGroupsForApplicationResponse_nextToken :: Lens.Lens' ListAttributeGroupsForApplicationResponse (Prelude.Maybe Prelude.Text)+listAttributeGroupsForApplicationResponse_nextToken = Lens.lens (\ListAttributeGroupsForApplicationResponse' {nextToken} -> nextToken) (\s@ListAttributeGroupsForApplicationResponse' {} a -> s {nextToken = a} :: ListAttributeGroupsForApplicationResponse)++-- | The response's http status code.+listAttributeGroupsForApplicationResponse_httpStatus :: Lens.Lens' ListAttributeGroupsForApplicationResponse Prelude.Int+listAttributeGroupsForApplicationResponse_httpStatus = Lens.lens (\ListAttributeGroupsForApplicationResponse' {httpStatus} -> httpStatus) (\s@ListAttributeGroupsForApplicationResponse' {} a -> s {httpStatus = a} :: ListAttributeGroupsForApplicationResponse)++instance+  Prelude.NFData+    ListAttributeGroupsForApplicationResponse+  where+  rnf ListAttributeGroupsForApplicationResponse' {..} =+    Prelude.rnf attributeGroupsDetails+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/ListTagsForResource.hs view
@@ -0,0 +1,159 @@+{-# 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.ServiceCatalogAppRegistry.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 all of the tags on the resource.+module Amazonka.ServiceCatalogAppRegistry.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon resource name (ARN) that specifies 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 Amazon resource name (ARN) that specifies the resource.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon resource name (ARN) that specifies 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'+  { -- | The tags on the resource.+    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' - The tags on the resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The tags on the resource.+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/ServiceCatalogAppRegistry/PutConfiguration.hs view
@@ -0,0 +1,131 @@+{-# 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.ServiceCatalogAppRegistry.PutConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a @TagKey@ configuration to an account.+module Amazonka.ServiceCatalogAppRegistry.PutConfiguration+  ( -- * Creating a Request+    PutConfiguration (..),+    newPutConfiguration,++    -- * Request Lenses+    putConfiguration_configuration,++    -- * Destructuring the Response+    PutConfigurationResponse (..),+    newPutConfigurationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newPutConfiguration' smart constructor.+data PutConfiguration = PutConfiguration'+  { -- | Associates a @TagKey@ configuration to an account.+    configuration :: AppRegistryConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutConfiguration' 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:+--+-- 'configuration', 'putConfiguration_configuration' - Associates a @TagKey@ configuration to an account.+newPutConfiguration ::+  -- | 'configuration'+  AppRegistryConfiguration ->+  PutConfiguration+newPutConfiguration pConfiguration_ =+  PutConfiguration' {configuration = pConfiguration_}++-- | Associates a @TagKey@ configuration to an account.+putConfiguration_configuration :: Lens.Lens' PutConfiguration AppRegistryConfiguration+putConfiguration_configuration = Lens.lens (\PutConfiguration' {configuration} -> configuration) (\s@PutConfiguration' {} a -> s {configuration = a} :: PutConfiguration)++instance Core.AWSRequest PutConfiguration where+  type+    AWSResponse PutConfiguration =+      PutConfigurationResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveNull PutConfigurationResponse'++instance Prelude.Hashable PutConfiguration where+  hashWithSalt _salt PutConfiguration' {..} =+    _salt `Prelude.hashWithSalt` configuration++instance Prelude.NFData PutConfiguration where+  rnf PutConfiguration' {..} = Prelude.rnf configuration++instance Data.ToHeaders PutConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutConfiguration where+  toJSON PutConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("configuration" Data..= configuration)+          ]+      )++instance Data.ToPath PutConfiguration where+  toPath = Prelude.const "/configuration"++instance Data.ToQuery PutConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutConfigurationResponse' smart constructor.+data PutConfigurationResponse = PutConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutConfigurationResponse' 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.+newPutConfigurationResponse ::+  PutConfigurationResponse+newPutConfigurationResponse =+  PutConfigurationResponse'++instance Prelude.NFData PutConfigurationResponse where+  rnf _ = ()
+ gen/Amazonka/ServiceCatalogAppRegistry/SyncResource.hs view
@@ -0,0 +1,220 @@+{-# 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.ServiceCatalogAppRegistry.SyncResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Syncs the resource with current AppRegistry records.+--+-- Specifically, the resource’s AppRegistry system tags sync with its+-- associated application. We remove the resource\'s AppRegistry system+-- tags if it does not associate with the application. The caller must have+-- permissions to read and update the resource.+module Amazonka.ServiceCatalogAppRegistry.SyncResource+  ( -- * Creating a Request+    SyncResource (..),+    newSyncResource,++    -- * Request Lenses+    syncResource_resourceType,+    syncResource_resource,++    -- * Destructuring the Response+    SyncResourceResponse (..),+    newSyncResourceResponse,++    -- * Response Lenses+    syncResourceResponse_actionTaken,+    syncResourceResponse_applicationArn,+    syncResourceResponse_resourceArn,+    syncResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newSyncResource' smart constructor.+data SyncResource = SyncResource'+  { -- | The type of resource of which the application will be associated.+    resourceType :: ResourceType,+    -- | An entity you can work with and specify with a name or ID. Examples+    -- include an Amazon EC2 instance, an Amazon Web Services CloudFormation+    -- stack, or an Amazon S3 bucket.+    resource :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SyncResource' 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:+--+-- 'resourceType', 'syncResource_resourceType' - The type of resource of which the application will be associated.+--+-- 'resource', 'syncResource_resource' - An entity you can work with and specify with a name or ID. Examples+-- include an Amazon EC2 instance, an Amazon Web Services CloudFormation+-- stack, or an Amazon S3 bucket.+newSyncResource ::+  -- | 'resourceType'+  ResourceType ->+  -- | 'resource'+  Prelude.Text ->+  SyncResource+newSyncResource pResourceType_ pResource_ =+  SyncResource'+    { resourceType = pResourceType_,+      resource = pResource_+    }++-- | The type of resource of which the application will be associated.+syncResource_resourceType :: Lens.Lens' SyncResource ResourceType+syncResource_resourceType = Lens.lens (\SyncResource' {resourceType} -> resourceType) (\s@SyncResource' {} a -> s {resourceType = a} :: SyncResource)++-- | An entity you can work with and specify with a name or ID. Examples+-- include an Amazon EC2 instance, an Amazon Web Services CloudFormation+-- stack, or an Amazon S3 bucket.+syncResource_resource :: Lens.Lens' SyncResource Prelude.Text+syncResource_resource = Lens.lens (\SyncResource' {resource} -> resource) (\s@SyncResource' {} a -> s {resource = a} :: SyncResource)++instance Core.AWSRequest SyncResource where+  type AWSResponse SyncResource = SyncResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SyncResourceResponse'+            Prelude.<$> (x Data..?> "actionTaken")+            Prelude.<*> (x Data..?> "applicationArn")+            Prelude.<*> (x Data..?> "resourceArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable SyncResource where+  hashWithSalt _salt SyncResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` resource++instance Prelude.NFData SyncResource where+  rnf SyncResource' {..} =+    Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf resource++instance Data.ToHeaders SyncResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON SyncResource where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath SyncResource where+  toPath SyncResource' {..} =+    Prelude.mconcat+      [ "/sync/",+        Data.toBS resourceType,+        "/",+        Data.toBS resource+      ]++instance Data.ToQuery SyncResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSyncResourceResponse' smart constructor.+data SyncResourceResponse = SyncResourceResponse'+  { -- | The results of the output if an application is associated with an ARN+    -- value, which could be @syncStarted@ or None.+    actionTaken :: Prelude.Maybe SyncAction,+    -- | The Amazon resource name (ARN) that specifies the application.+    applicationArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon resource name (ARN) that specifies the resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SyncResourceResponse' 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:+--+-- 'actionTaken', 'syncResourceResponse_actionTaken' - The results of the output if an application is associated with an ARN+-- value, which could be @syncStarted@ or None.+--+-- 'applicationArn', 'syncResourceResponse_applicationArn' - The Amazon resource name (ARN) that specifies the application.+--+-- 'resourceArn', 'syncResourceResponse_resourceArn' - The Amazon resource name (ARN) that specifies the resource.+--+-- 'httpStatus', 'syncResourceResponse_httpStatus' - The response's http status code.+newSyncResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  SyncResourceResponse+newSyncResourceResponse pHttpStatus_ =+  SyncResourceResponse'+    { actionTaken =+        Prelude.Nothing,+      applicationArn = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The results of the output if an application is associated with an ARN+-- value, which could be @syncStarted@ or None.+syncResourceResponse_actionTaken :: Lens.Lens' SyncResourceResponse (Prelude.Maybe SyncAction)+syncResourceResponse_actionTaken = Lens.lens (\SyncResourceResponse' {actionTaken} -> actionTaken) (\s@SyncResourceResponse' {} a -> s {actionTaken = a} :: SyncResourceResponse)++-- | The Amazon resource name (ARN) that specifies the application.+syncResourceResponse_applicationArn :: Lens.Lens' SyncResourceResponse (Prelude.Maybe Prelude.Text)+syncResourceResponse_applicationArn = Lens.lens (\SyncResourceResponse' {applicationArn} -> applicationArn) (\s@SyncResourceResponse' {} a -> s {applicationArn = a} :: SyncResourceResponse)++-- | The Amazon resource name (ARN) that specifies the resource.+syncResourceResponse_resourceArn :: Lens.Lens' SyncResourceResponse (Prelude.Maybe Prelude.Text)+syncResourceResponse_resourceArn = Lens.lens (\SyncResourceResponse' {resourceArn} -> resourceArn) (\s@SyncResourceResponse' {} a -> s {resourceArn = a} :: SyncResourceResponse)++-- | The response's http status code.+syncResourceResponse_httpStatus :: Lens.Lens' SyncResourceResponse Prelude.Int+syncResourceResponse_httpStatus = Lens.lens (\SyncResourceResponse' {httpStatus} -> httpStatus) (\s@SyncResourceResponse' {} a -> s {httpStatus = a} :: SyncResourceResponse)++instance Prelude.NFData SyncResourceResponse where+  rnf SyncResourceResponse' {..} =+    Prelude.rnf actionTaken+      `Prelude.seq` Prelude.rnf applicationArn+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/TagResource.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.ServiceCatalogAppRegistry.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)+--+-- Assigns one or more tags (key-value pairs) to the specified resource.+--+-- Each tag consists of a key and an optional value. If a tag with the same+-- key is already associated with the resource, this action updates its+-- value.+--+-- This operation returns an empty response if the call was successful.+module Amazonka.ServiceCatalogAppRegistry.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon resource name (ARN) that specifies the resource.+    resourceArn :: Prelude.Text,+    -- | The new or modified tags for the resource.+    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 Amazon resource name (ARN) that specifies the resource.+--+-- 'tags', 'tagResource_tags' - The new or modified tags for the resource.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon resource name (ARN) that specifies the resource.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The new or modified tags for the resource.+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/ServiceCatalogAppRegistry/Types.hs view
@@ -0,0 +1,267 @@+{-# 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.ServiceCatalogAppRegistry.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.ServiceCatalogAppRegistry.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _ConflictException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,+    _ValidationException,++    -- * ResourceGroupState+    ResourceGroupState (..),++    -- * ResourceType+    ResourceType (..),++    -- * SyncAction+    SyncAction (..),++    -- * AppRegistryConfiguration+    AppRegistryConfiguration (..),+    newAppRegistryConfiguration,+    appRegistryConfiguration_tagQueryConfiguration,++    -- * Application+    Application (..),+    newApplication,+    application_arn,+    application_creationTime,+    application_description,+    application_id,+    application_lastUpdateTime,+    application_name,+    application_tags,++    -- * ApplicationSummary+    ApplicationSummary (..),+    newApplicationSummary,+    applicationSummary_arn,+    applicationSummary_creationTime,+    applicationSummary_description,+    applicationSummary_id,+    applicationSummary_lastUpdateTime,+    applicationSummary_name,++    -- * AttributeGroup+    AttributeGroup (..),+    newAttributeGroup,+    attributeGroup_arn,+    attributeGroup_creationTime,+    attributeGroup_description,+    attributeGroup_id,+    attributeGroup_lastUpdateTime,+    attributeGroup_name,+    attributeGroup_tags,++    -- * AttributeGroupDetails+    AttributeGroupDetails (..),+    newAttributeGroupDetails,+    attributeGroupDetails_arn,+    attributeGroupDetails_id,+    attributeGroupDetails_name,++    -- * AttributeGroupSummary+    AttributeGroupSummary (..),+    newAttributeGroupSummary,+    attributeGroupSummary_arn,+    attributeGroupSummary_creationTime,+    attributeGroupSummary_description,+    attributeGroupSummary_id,+    attributeGroupSummary_lastUpdateTime,+    attributeGroupSummary_name,++    -- * Integrations+    Integrations (..),+    newIntegrations,+    integrations_resourceGroup,++    -- * Resource+    Resource (..),+    newResource,+    resource_arn,+    resource_associationTime,+    resource_integrations,+    resource_name,++    -- * ResourceDetails+    ResourceDetails (..),+    newResourceDetails,+    resourceDetails_tagValue,++    -- * ResourceGroup+    ResourceGroup (..),+    newResourceGroup,+    resourceGroup_arn,+    resourceGroup_errorMessage,+    resourceGroup_state,++    -- * ResourceInfo+    ResourceInfo (..),+    newResourceInfo,+    resourceInfo_arn,+    resourceInfo_name,+    resourceInfo_resourceDetails,+    resourceInfo_resourceType,++    -- * ResourceIntegrations+    ResourceIntegrations (..),+    newResourceIntegrations,+    resourceIntegrations_resourceGroup,++    -- * TagQueryConfiguration+    TagQueryConfiguration (..),+    newTagQueryConfiguration,+    tagQueryConfiguration_tagKey,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import Amazonka.ServiceCatalogAppRegistry.Types.AppRegistryConfiguration+import Amazonka.ServiceCatalogAppRegistry.Types.Application+import Amazonka.ServiceCatalogAppRegistry.Types.ApplicationSummary+import Amazonka.ServiceCatalogAppRegistry.Types.AttributeGroup+import Amazonka.ServiceCatalogAppRegistry.Types.AttributeGroupDetails+import Amazonka.ServiceCatalogAppRegistry.Types.AttributeGroupSummary+import Amazonka.ServiceCatalogAppRegistry.Types.Integrations+import Amazonka.ServiceCatalogAppRegistry.Types.Resource+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceDetails+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceGroup+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceGroupState+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceInfo+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceIntegrations+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceType+import Amazonka.ServiceCatalogAppRegistry.Types.SyncAction+import Amazonka.ServiceCatalogAppRegistry.Types.TagQueryConfiguration+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2020-06-24@ of the Amazon Service Catalog App Registry SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev =+        "ServiceCatalogAppRegistry",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "servicecatalog-appregistry",+      Core.signingName = "servicecatalog",+      Core.version = "2020-06-24",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error =+        Core.parseJSONError "ServiceCatalogAppRegistry",+      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++-- | There was a conflict when processing the request (for example, a+-- resource with the given name already exists within the account).+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | The service is experiencing internal problems.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | The specified resource does not exist.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | The maximum number of resources per account has been reached.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | The request has invalid or missing parameters.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/AppRegistryConfiguration.hs view
@@ -0,0 +1,82 @@+{-# 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.ServiceCatalogAppRegistry.Types.AppRegistryConfiguration+-- 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.ServiceCatalogAppRegistry.Types.AppRegistryConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.ServiceCatalogAppRegistry.Types.TagQueryConfiguration++-- | Includes all of the Service Catalog AppRegistry settings.+--+-- /See:/ 'newAppRegistryConfiguration' smart constructor.+data AppRegistryConfiguration = AppRegistryConfiguration'+  { -- | Includes the definition of a @tagQuery@.+    tagQueryConfiguration :: Prelude.Maybe TagQueryConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppRegistryConfiguration' 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:+--+-- 'tagQueryConfiguration', 'appRegistryConfiguration_tagQueryConfiguration' - Includes the definition of a @tagQuery@.+newAppRegistryConfiguration ::+  AppRegistryConfiguration+newAppRegistryConfiguration =+  AppRegistryConfiguration'+    { tagQueryConfiguration =+        Prelude.Nothing+    }++-- | Includes the definition of a @tagQuery@.+appRegistryConfiguration_tagQueryConfiguration :: Lens.Lens' AppRegistryConfiguration (Prelude.Maybe TagQueryConfiguration)+appRegistryConfiguration_tagQueryConfiguration = Lens.lens (\AppRegistryConfiguration' {tagQueryConfiguration} -> tagQueryConfiguration) (\s@AppRegistryConfiguration' {} a -> s {tagQueryConfiguration = a} :: AppRegistryConfiguration)++instance Data.FromJSON AppRegistryConfiguration where+  parseJSON =+    Data.withObject+      "AppRegistryConfiguration"+      ( \x ->+          AppRegistryConfiguration'+            Prelude.<$> (x Data..:? "tagQueryConfiguration")+      )++instance Prelude.Hashable AppRegistryConfiguration where+  hashWithSalt _salt AppRegistryConfiguration' {..} =+    _salt `Prelude.hashWithSalt` tagQueryConfiguration++instance Prelude.NFData AppRegistryConfiguration where+  rnf AppRegistryConfiguration' {..} =+    Prelude.rnf tagQueryConfiguration++instance Data.ToJSON AppRegistryConfiguration where+  toJSON AppRegistryConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("tagQueryConfiguration" Data..=)+              Prelude.<$> tagQueryConfiguration+          ]+      )
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/Application.hs view
@@ -0,0 +1,158 @@+{-# 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.ServiceCatalogAppRegistry.Types.Application+-- 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.ServiceCatalogAppRegistry.Types.Application where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Represents a Amazon Web Services Service Catalog AppRegistry application+-- that is the top-level node in a hierarchy of related cloud resource+-- abstractions.+--+-- /See:/ 'newApplication' smart constructor.+data Application = Application'+  { -- | The Amazon resource name (ARN) that specifies the application across+    -- services.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ISO-8601 formatted timestamp of the moment when the application was+    -- created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The description of the application.+    description :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the application.+    id :: Prelude.Maybe Prelude.Text,+    -- | The ISO-8601 formatted timestamp of the moment when the application was+    -- last updated.+    lastUpdateTime :: Prelude.Maybe Data.ISO8601,+    -- | The name of the application. The name must be unique in the region in+    -- which you are creating the application.+    name :: Prelude.Maybe Prelude.Text,+    -- | Key-value pairs you can use to associate with the application.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Application' 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:+--+-- 'arn', 'application_arn' - The Amazon resource name (ARN) that specifies the application across+-- services.+--+-- 'creationTime', 'application_creationTime' - The ISO-8601 formatted timestamp of the moment when the application was+-- created.+--+-- 'description', 'application_description' - The description of the application.+--+-- 'id', 'application_id' - The identifier of the application.+--+-- 'lastUpdateTime', 'application_lastUpdateTime' - The ISO-8601 formatted timestamp of the moment when the application was+-- last updated.+--+-- 'name', 'application_name' - The name of the application. The name must be unique in the region in+-- which you are creating the application.+--+-- 'tags', 'application_tags' - Key-value pairs you can use to associate with the application.+newApplication ::+  Application+newApplication =+  Application'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      lastUpdateTime = Prelude.Nothing,+      name = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The Amazon resource name (ARN) that specifies the application across+-- services.+application_arn :: Lens.Lens' Application (Prelude.Maybe Prelude.Text)+application_arn = Lens.lens (\Application' {arn} -> arn) (\s@Application' {} a -> s {arn = a} :: Application)++-- | The ISO-8601 formatted timestamp of the moment when the application was+-- created.+application_creationTime :: Lens.Lens' Application (Prelude.Maybe Prelude.UTCTime)+application_creationTime = Lens.lens (\Application' {creationTime} -> creationTime) (\s@Application' {} a -> s {creationTime = a} :: Application) Prelude.. Lens.mapping Data._Time++-- | The description of the application.+application_description :: Lens.Lens' Application (Prelude.Maybe Prelude.Text)+application_description = Lens.lens (\Application' {description} -> description) (\s@Application' {} a -> s {description = a} :: Application)++-- | The identifier of the application.+application_id :: Lens.Lens' Application (Prelude.Maybe Prelude.Text)+application_id = Lens.lens (\Application' {id} -> id) (\s@Application' {} a -> s {id = a} :: Application)++-- | The ISO-8601 formatted timestamp of the moment when the application was+-- last updated.+application_lastUpdateTime :: Lens.Lens' Application (Prelude.Maybe Prelude.UTCTime)+application_lastUpdateTime = Lens.lens (\Application' {lastUpdateTime} -> lastUpdateTime) (\s@Application' {} a -> s {lastUpdateTime = a} :: Application) Prelude.. Lens.mapping Data._Time++-- | The name of the application. The name must be unique in the region in+-- which you are creating the application.+application_name :: Lens.Lens' Application (Prelude.Maybe Prelude.Text)+application_name = Lens.lens (\Application' {name} -> name) (\s@Application' {} a -> s {name = a} :: Application)++-- | Key-value pairs you can use to associate with the application.+application_tags :: Lens.Lens' Application (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+application_tags = Lens.lens (\Application' {tags} -> tags) (\s@Application' {} a -> s {tags = a} :: Application) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Application where+  parseJSON =+    Data.withObject+      "Application"+      ( \x ->+          Application'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "creationTime")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "id")+            Prelude.<*> (x Data..:? "lastUpdateTime")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable Application where+  hashWithSalt _salt Application' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lastUpdateTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` tags++instance Prelude.NFData Application where+  rnf Application' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastUpdateTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/ApplicationSummary.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.ServiceCatalogAppRegistry.Types.ApplicationSummary+-- 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.ServiceCatalogAppRegistry.Types.ApplicationSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Summary of a Amazon Web Services Service Catalog AppRegistry+-- application.+--+-- /See:/ 'newApplicationSummary' smart constructor.+data ApplicationSummary = ApplicationSummary'+  { -- | The Amazon resource name (ARN) that specifies the application across+    -- services.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ISO-8601 formatted timestamp of the moment when the application was+    -- created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The description of the application.+    description :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the application.+    id :: Prelude.Maybe Prelude.Text,+    -- | The ISO-8601 formatted timestamp of the moment when the application was+    -- last updated.+    lastUpdateTime :: Prelude.Maybe Data.ISO8601,+    -- | The name of the application. The name must be unique in the region in+    -- which you are creating the application.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApplicationSummary' 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:+--+-- 'arn', 'applicationSummary_arn' - The Amazon resource name (ARN) that specifies the application across+-- services.+--+-- 'creationTime', 'applicationSummary_creationTime' - The ISO-8601 formatted timestamp of the moment when the application was+-- created.+--+-- 'description', 'applicationSummary_description' - The description of the application.+--+-- 'id', 'applicationSummary_id' - The identifier of the application.+--+-- 'lastUpdateTime', 'applicationSummary_lastUpdateTime' - The ISO-8601 formatted timestamp of the moment when the application was+-- last updated.+--+-- 'name', 'applicationSummary_name' - The name of the application. The name must be unique in the region in+-- which you are creating the application.+newApplicationSummary ::+  ApplicationSummary+newApplicationSummary =+  ApplicationSummary'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      lastUpdateTime = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The Amazon resource name (ARN) that specifies the application across+-- services.+applicationSummary_arn :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)+applicationSummary_arn = Lens.lens (\ApplicationSummary' {arn} -> arn) (\s@ApplicationSummary' {} a -> s {arn = a} :: ApplicationSummary)++-- | The ISO-8601 formatted timestamp of the moment when the application was+-- created.+applicationSummary_creationTime :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.UTCTime)+applicationSummary_creationTime = Lens.lens (\ApplicationSummary' {creationTime} -> creationTime) (\s@ApplicationSummary' {} a -> s {creationTime = a} :: ApplicationSummary) Prelude.. Lens.mapping Data._Time++-- | The description of the application.+applicationSummary_description :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)+applicationSummary_description = Lens.lens (\ApplicationSummary' {description} -> description) (\s@ApplicationSummary' {} a -> s {description = a} :: ApplicationSummary)++-- | The identifier of the application.+applicationSummary_id :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)+applicationSummary_id = Lens.lens (\ApplicationSummary' {id} -> id) (\s@ApplicationSummary' {} a -> s {id = a} :: ApplicationSummary)++-- | The ISO-8601 formatted timestamp of the moment when the application was+-- last updated.+applicationSummary_lastUpdateTime :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.UTCTime)+applicationSummary_lastUpdateTime = Lens.lens (\ApplicationSummary' {lastUpdateTime} -> lastUpdateTime) (\s@ApplicationSummary' {} a -> s {lastUpdateTime = a} :: ApplicationSummary) Prelude.. Lens.mapping Data._Time++-- | The name of the application. The name must be unique in the region in+-- which you are creating the application.+applicationSummary_name :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)+applicationSummary_name = Lens.lens (\ApplicationSummary' {name} -> name) (\s@ApplicationSummary' {} a -> s {name = a} :: ApplicationSummary)++instance Data.FromJSON ApplicationSummary where+  parseJSON =+    Data.withObject+      "ApplicationSummary"+      ( \x ->+          ApplicationSummary'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "creationTime")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "id")+            Prelude.<*> (x Data..:? "lastUpdateTime")+            Prelude.<*> (x Data..:? "name")+      )++instance Prelude.Hashable ApplicationSummary where+  hashWithSalt _salt ApplicationSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lastUpdateTime+      `Prelude.hashWithSalt` name++instance Prelude.NFData ApplicationSummary where+  rnf ApplicationSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastUpdateTime+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/AttributeGroup.hs view
@@ -0,0 +1,158 @@+{-# 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.ServiceCatalogAppRegistry.Types.AttributeGroup+-- 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.ServiceCatalogAppRegistry.Types.AttributeGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Represents a Amazon Web Services Service Catalog AppRegistry attribute+-- group that is rich metadata which describes an application and its+-- components.+--+-- /See:/ 'newAttributeGroup' smart constructor.+data AttributeGroup = AttributeGroup'+  { -- | The Amazon resource name (ARN) that specifies the attribute group across+    -- services.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ISO-8601 formatted timestamp of the moment the attribute group was+    -- created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The description of the attribute group that the user provides.+    description :: Prelude.Maybe Prelude.Text,+    -- | The globally unique attribute group identifier of the attribute group.+    id :: Prelude.Maybe Prelude.Text,+    -- | The ISO-8601 formatted timestamp of the moment the attribute group was+    -- last updated. This time is the same as the creationTime for a newly+    -- created attribute group.+    lastUpdateTime :: Prelude.Maybe Data.ISO8601,+    -- | The name of the attribute group.+    name :: Prelude.Maybe Prelude.Text,+    -- | Key-value pairs you can use to associate with the attribute group.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AttributeGroup' 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:+--+-- 'arn', 'attributeGroup_arn' - The Amazon resource name (ARN) that specifies the attribute group across+-- services.+--+-- 'creationTime', 'attributeGroup_creationTime' - The ISO-8601 formatted timestamp of the moment the attribute group was+-- created.+--+-- 'description', 'attributeGroup_description' - The description of the attribute group that the user provides.+--+-- 'id', 'attributeGroup_id' - The globally unique attribute group identifier of the attribute group.+--+-- 'lastUpdateTime', 'attributeGroup_lastUpdateTime' - The ISO-8601 formatted timestamp of the moment the attribute group was+-- last updated. This time is the same as the creationTime for a newly+-- created attribute group.+--+-- 'name', 'attributeGroup_name' - The name of the attribute group.+--+-- 'tags', 'attributeGroup_tags' - Key-value pairs you can use to associate with the attribute group.+newAttributeGroup ::+  AttributeGroup+newAttributeGroup =+  AttributeGroup'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      lastUpdateTime = Prelude.Nothing,+      name = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The Amazon resource name (ARN) that specifies the attribute group across+-- services.+attributeGroup_arn :: Lens.Lens' AttributeGroup (Prelude.Maybe Prelude.Text)+attributeGroup_arn = Lens.lens (\AttributeGroup' {arn} -> arn) (\s@AttributeGroup' {} a -> s {arn = a} :: AttributeGroup)++-- | The ISO-8601 formatted timestamp of the moment the attribute group was+-- created.+attributeGroup_creationTime :: Lens.Lens' AttributeGroup (Prelude.Maybe Prelude.UTCTime)+attributeGroup_creationTime = Lens.lens (\AttributeGroup' {creationTime} -> creationTime) (\s@AttributeGroup' {} a -> s {creationTime = a} :: AttributeGroup) Prelude.. Lens.mapping Data._Time++-- | The description of the attribute group that the user provides.+attributeGroup_description :: Lens.Lens' AttributeGroup (Prelude.Maybe Prelude.Text)+attributeGroup_description = Lens.lens (\AttributeGroup' {description} -> description) (\s@AttributeGroup' {} a -> s {description = a} :: AttributeGroup)++-- | The globally unique attribute group identifier of the attribute group.+attributeGroup_id :: Lens.Lens' AttributeGroup (Prelude.Maybe Prelude.Text)+attributeGroup_id = Lens.lens (\AttributeGroup' {id} -> id) (\s@AttributeGroup' {} a -> s {id = a} :: AttributeGroup)++-- | The ISO-8601 formatted timestamp of the moment the attribute group was+-- last updated. This time is the same as the creationTime for a newly+-- created attribute group.+attributeGroup_lastUpdateTime :: Lens.Lens' AttributeGroup (Prelude.Maybe Prelude.UTCTime)+attributeGroup_lastUpdateTime = Lens.lens (\AttributeGroup' {lastUpdateTime} -> lastUpdateTime) (\s@AttributeGroup' {} a -> s {lastUpdateTime = a} :: AttributeGroup) Prelude.. Lens.mapping Data._Time++-- | The name of the attribute group.+attributeGroup_name :: Lens.Lens' AttributeGroup (Prelude.Maybe Prelude.Text)+attributeGroup_name = Lens.lens (\AttributeGroup' {name} -> name) (\s@AttributeGroup' {} a -> s {name = a} :: AttributeGroup)++-- | Key-value pairs you can use to associate with the attribute group.+attributeGroup_tags :: Lens.Lens' AttributeGroup (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+attributeGroup_tags = Lens.lens (\AttributeGroup' {tags} -> tags) (\s@AttributeGroup' {} a -> s {tags = a} :: AttributeGroup) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AttributeGroup where+  parseJSON =+    Data.withObject+      "AttributeGroup"+      ( \x ->+          AttributeGroup'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "creationTime")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "id")+            Prelude.<*> (x Data..:? "lastUpdateTime")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable AttributeGroup where+  hashWithSalt _salt AttributeGroup' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lastUpdateTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` tags++instance Prelude.NFData AttributeGroup where+  rnf AttributeGroup' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastUpdateTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/AttributeGroupDetails.hs view
@@ -0,0 +1,105 @@+{-# 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.ServiceCatalogAppRegistry.Types.AttributeGroupDetails+-- 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.ServiceCatalogAppRegistry.Types.AttributeGroupDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details related to a specific AttributeGroup.+--+-- /See:/ 'newAttributeGroupDetails' smart constructor.+data AttributeGroupDetails = AttributeGroupDetails'+  { -- | The Amazon resource name (ARN) that specifies the attribute group.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier of the attribute group.+    id :: Prelude.Maybe Prelude.Text,+    -- | This field is no longer supported. We recommend you don\'t use the field+    -- when using @ListAttributeGroupsForApplication@.+    --+    -- The name of the attribute group.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AttributeGroupDetails' 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:+--+-- 'arn', 'attributeGroupDetails_arn' - The Amazon resource name (ARN) that specifies the attribute group.+--+-- 'id', 'attributeGroupDetails_id' - The unique identifier of the attribute group.+--+-- 'name', 'attributeGroupDetails_name' - This field is no longer supported. We recommend you don\'t use the field+-- when using @ListAttributeGroupsForApplication@.+--+-- The name of the attribute group.+newAttributeGroupDetails ::+  AttributeGroupDetails+newAttributeGroupDetails =+  AttributeGroupDetails'+    { arn = Prelude.Nothing,+      id = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The Amazon resource name (ARN) that specifies the attribute group.+attributeGroupDetails_arn :: Lens.Lens' AttributeGroupDetails (Prelude.Maybe Prelude.Text)+attributeGroupDetails_arn = Lens.lens (\AttributeGroupDetails' {arn} -> arn) (\s@AttributeGroupDetails' {} a -> s {arn = a} :: AttributeGroupDetails)++-- | The unique identifier of the attribute group.+attributeGroupDetails_id :: Lens.Lens' AttributeGroupDetails (Prelude.Maybe Prelude.Text)+attributeGroupDetails_id = Lens.lens (\AttributeGroupDetails' {id} -> id) (\s@AttributeGroupDetails' {} a -> s {id = a} :: AttributeGroupDetails)++-- | This field is no longer supported. We recommend you don\'t use the field+-- when using @ListAttributeGroupsForApplication@.+--+-- The name of the attribute group.+attributeGroupDetails_name :: Lens.Lens' AttributeGroupDetails (Prelude.Maybe Prelude.Text)+attributeGroupDetails_name = Lens.lens (\AttributeGroupDetails' {name} -> name) (\s@AttributeGroupDetails' {} a -> s {name = a} :: AttributeGroupDetails)++instance Data.FromJSON AttributeGroupDetails where+  parseJSON =+    Data.withObject+      "AttributeGroupDetails"+      ( \x ->+          AttributeGroupDetails'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "id")+            Prelude.<*> (x Data..:? "name")+      )++instance Prelude.Hashable AttributeGroupDetails where+  hashWithSalt _salt AttributeGroupDetails' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` name++instance Prelude.NFData AttributeGroupDetails where+  rnf AttributeGroupDetails' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/AttributeGroupSummary.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.ServiceCatalogAppRegistry.Types.AttributeGroupSummary+-- 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.ServiceCatalogAppRegistry.Types.AttributeGroupSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Summary of a Amazon Web Services Service Catalog AppRegistry attribute+-- group.+--+-- /See:/ 'newAttributeGroupSummary' smart constructor.+data AttributeGroupSummary = AttributeGroupSummary'+  { -- | The Amazon resource name (ARN) that specifies the attribute group across+    -- services.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ISO-8601 formatted timestamp of the moment the attribute group was+    -- created.+    creationTime :: Prelude.Maybe Data.ISO8601,+    -- | The description of the attribute group that the user provides.+    description :: Prelude.Maybe Prelude.Text,+    -- | The globally unique attribute group identifier of the attribute group.+    id :: Prelude.Maybe Prelude.Text,+    -- | The ISO-8601 formatted timestamp of the moment the attribute group was+    -- last updated. This time is the same as the creationTime for a newly+    -- created attribute group.+    lastUpdateTime :: Prelude.Maybe Data.ISO8601,+    -- | The name of the attribute group.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AttributeGroupSummary' 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:+--+-- 'arn', 'attributeGroupSummary_arn' - The Amazon resource name (ARN) that specifies the attribute group across+-- services.+--+-- 'creationTime', 'attributeGroupSummary_creationTime' - The ISO-8601 formatted timestamp of the moment the attribute group was+-- created.+--+-- 'description', 'attributeGroupSummary_description' - The description of the attribute group that the user provides.+--+-- 'id', 'attributeGroupSummary_id' - The globally unique attribute group identifier of the attribute group.+--+-- 'lastUpdateTime', 'attributeGroupSummary_lastUpdateTime' - The ISO-8601 formatted timestamp of the moment the attribute group was+-- last updated. This time is the same as the creationTime for a newly+-- created attribute group.+--+-- 'name', 'attributeGroupSummary_name' - The name of the attribute group.+newAttributeGroupSummary ::+  AttributeGroupSummary+newAttributeGroupSummary =+  AttributeGroupSummary'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      lastUpdateTime = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The Amazon resource name (ARN) that specifies the attribute group across+-- services.+attributeGroupSummary_arn :: Lens.Lens' AttributeGroupSummary (Prelude.Maybe Prelude.Text)+attributeGroupSummary_arn = Lens.lens (\AttributeGroupSummary' {arn} -> arn) (\s@AttributeGroupSummary' {} a -> s {arn = a} :: AttributeGroupSummary)++-- | The ISO-8601 formatted timestamp of the moment the attribute group was+-- created.+attributeGroupSummary_creationTime :: Lens.Lens' AttributeGroupSummary (Prelude.Maybe Prelude.UTCTime)+attributeGroupSummary_creationTime = Lens.lens (\AttributeGroupSummary' {creationTime} -> creationTime) (\s@AttributeGroupSummary' {} a -> s {creationTime = a} :: AttributeGroupSummary) Prelude.. Lens.mapping Data._Time++-- | The description of the attribute group that the user provides.+attributeGroupSummary_description :: Lens.Lens' AttributeGroupSummary (Prelude.Maybe Prelude.Text)+attributeGroupSummary_description = Lens.lens (\AttributeGroupSummary' {description} -> description) (\s@AttributeGroupSummary' {} a -> s {description = a} :: AttributeGroupSummary)++-- | The globally unique attribute group identifier of the attribute group.+attributeGroupSummary_id :: Lens.Lens' AttributeGroupSummary (Prelude.Maybe Prelude.Text)+attributeGroupSummary_id = Lens.lens (\AttributeGroupSummary' {id} -> id) (\s@AttributeGroupSummary' {} a -> s {id = a} :: AttributeGroupSummary)++-- | The ISO-8601 formatted timestamp of the moment the attribute group was+-- last updated. This time is the same as the creationTime for a newly+-- created attribute group.+attributeGroupSummary_lastUpdateTime :: Lens.Lens' AttributeGroupSummary (Prelude.Maybe Prelude.UTCTime)+attributeGroupSummary_lastUpdateTime = Lens.lens (\AttributeGroupSummary' {lastUpdateTime} -> lastUpdateTime) (\s@AttributeGroupSummary' {} a -> s {lastUpdateTime = a} :: AttributeGroupSummary) Prelude.. Lens.mapping Data._Time++-- | The name of the attribute group.+attributeGroupSummary_name :: Lens.Lens' AttributeGroupSummary (Prelude.Maybe Prelude.Text)+attributeGroupSummary_name = Lens.lens (\AttributeGroupSummary' {name} -> name) (\s@AttributeGroupSummary' {} a -> s {name = a} :: AttributeGroupSummary)++instance Data.FromJSON AttributeGroupSummary where+  parseJSON =+    Data.withObject+      "AttributeGroupSummary"+      ( \x ->+          AttributeGroupSummary'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "creationTime")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "id")+            Prelude.<*> (x Data..:? "lastUpdateTime")+            Prelude.<*> (x Data..:? "name")+      )++instance Prelude.Hashable AttributeGroupSummary where+  hashWithSalt _salt AttributeGroupSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lastUpdateTime+      `Prelude.hashWithSalt` name++instance Prelude.NFData AttributeGroupSummary where+  rnf AttributeGroupSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastUpdateTime+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/Integrations.hs view
@@ -0,0 +1,69 @@+{-# 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.ServiceCatalogAppRegistry.Types.Integrations+-- 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.ServiceCatalogAppRegistry.Types.Integrations where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceGroup++-- | The information about the service integration.+--+-- /See:/ 'newIntegrations' smart constructor.+data Integrations = Integrations'+  { -- | The information about the resource group integration.+    resourceGroup :: Prelude.Maybe ResourceGroup+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Integrations' 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:+--+-- 'resourceGroup', 'integrations_resourceGroup' - The information about the resource group integration.+newIntegrations ::+  Integrations+newIntegrations =+  Integrations' {resourceGroup = Prelude.Nothing}++-- | The information about the resource group integration.+integrations_resourceGroup :: Lens.Lens' Integrations (Prelude.Maybe ResourceGroup)+integrations_resourceGroup = Lens.lens (\Integrations' {resourceGroup} -> resourceGroup) (\s@Integrations' {} a -> s {resourceGroup = a} :: Integrations)++instance Data.FromJSON Integrations where+  parseJSON =+    Data.withObject+      "Integrations"+      ( \x ->+          Integrations'+            Prelude.<$> (x Data..:? "resourceGroup")+      )++instance Prelude.Hashable Integrations where+  hashWithSalt _salt Integrations' {..} =+    _salt `Prelude.hashWithSalt` resourceGroup++instance Prelude.NFData Integrations where+  rnf Integrations' {..} = Prelude.rnf resourceGroup
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/Resource.hs view
@@ -0,0 +1,109 @@+{-# 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.ServiceCatalogAppRegistry.Types.Resource+-- 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.ServiceCatalogAppRegistry.Types.Resource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceIntegrations++-- | The information about the resource.+--+-- /See:/ 'newResource' smart constructor.+data Resource = Resource'+  { -- | The Amazon resource name (ARN) of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time the resource was associated with the application.+    associationTime :: Prelude.Maybe Data.ISO8601,+    -- | The service integration information about the resource.+    integrations :: Prelude.Maybe ResourceIntegrations,+    -- | The name of the resource.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Resource' 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:+--+-- 'arn', 'resource_arn' - The Amazon resource name (ARN) of the resource.+--+-- 'associationTime', 'resource_associationTime' - The time the resource was associated with the application.+--+-- 'integrations', 'resource_integrations' - The service integration information about the resource.+--+-- 'name', 'resource_name' - The name of the resource.+newResource ::+  Resource+newResource =+  Resource'+    { arn = Prelude.Nothing,+      associationTime = Prelude.Nothing,+      integrations = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The Amazon resource name (ARN) of the resource.+resource_arn :: Lens.Lens' Resource (Prelude.Maybe Prelude.Text)+resource_arn = Lens.lens (\Resource' {arn} -> arn) (\s@Resource' {} a -> s {arn = a} :: Resource)++-- | The time the resource was associated with the application.+resource_associationTime :: Lens.Lens' Resource (Prelude.Maybe Prelude.UTCTime)+resource_associationTime = Lens.lens (\Resource' {associationTime} -> associationTime) (\s@Resource' {} a -> s {associationTime = a} :: Resource) Prelude.. Lens.mapping Data._Time++-- | The service integration information about the resource.+resource_integrations :: Lens.Lens' Resource (Prelude.Maybe ResourceIntegrations)+resource_integrations = Lens.lens (\Resource' {integrations} -> integrations) (\s@Resource' {} a -> s {integrations = a} :: Resource)++-- | The name of the resource.+resource_name :: Lens.Lens' Resource (Prelude.Maybe Prelude.Text)+resource_name = Lens.lens (\Resource' {name} -> name) (\s@Resource' {} a -> s {name = a} :: Resource)++instance Data.FromJSON Resource where+  parseJSON =+    Data.withObject+      "Resource"+      ( \x ->+          Resource'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "associationTime")+            Prelude.<*> (x Data..:? "integrations")+            Prelude.<*> (x Data..:? "name")+      )++instance Prelude.Hashable Resource where+  hashWithSalt _salt Resource' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` associationTime+      `Prelude.hashWithSalt` integrations+      `Prelude.hashWithSalt` name++instance Prelude.NFData Resource where+  rnf Resource' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf associationTime+      `Prelude.seq` Prelude.rnf integrations+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/ResourceDetails.hs view
@@ -0,0 +1,67 @@+{-# 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.ServiceCatalogAppRegistry.Types.ResourceDetails+-- 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.ServiceCatalogAppRegistry.Types.ResourceDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The details related to the resource.+--+-- /See:/ 'newResourceDetails' smart constructor.+data ResourceDetails = ResourceDetails'+  { -- | The value of the tag.+    tagValue :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceDetails' 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:+--+-- 'tagValue', 'resourceDetails_tagValue' - The value of the tag.+newResourceDetails ::+  ResourceDetails+newResourceDetails =+  ResourceDetails' {tagValue = Prelude.Nothing}++-- | The value of the tag.+resourceDetails_tagValue :: Lens.Lens' ResourceDetails (Prelude.Maybe Prelude.Text)+resourceDetails_tagValue = Lens.lens (\ResourceDetails' {tagValue} -> tagValue) (\s@ResourceDetails' {} a -> s {tagValue = a} :: ResourceDetails)++instance Data.FromJSON ResourceDetails where+  parseJSON =+    Data.withObject+      "ResourceDetails"+      ( \x ->+          ResourceDetails' Prelude.<$> (x Data..:? "tagValue")+      )++instance Prelude.Hashable ResourceDetails where+  hashWithSalt _salt ResourceDetails' {..} =+    _salt `Prelude.hashWithSalt` tagValue++instance Prelude.NFData ResourceDetails where+  rnf ResourceDetails' {..} = Prelude.rnf tagValue
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/ResourceGroup.hs view
@@ -0,0 +1,139 @@+{-# 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.ServiceCatalogAppRegistry.Types.ResourceGroup+-- 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.ServiceCatalogAppRegistry.Types.ResourceGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceGroupState++-- | The information about the resource group integration.+--+-- /See:/ 'newResourceGroup' smart constructor.+data ResourceGroup = ResourceGroup'+  { -- | The Amazon resource name (ARN) of the resource group.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The error message that generates when the propagation process for the+    -- resource group fails.+    errorMessage :: Prelude.Maybe Prelude.Text,+    -- | The state of the propagation process for the resource group. The states+    -- includes:+    --+    -- @CREATING @if the resource group is in the process of being created.+    --+    -- @CREATE_COMPLETE@ if the resource group was created successfully.+    --+    -- @CREATE_FAILED@ if the resource group failed to be created.+    --+    -- @UPDATING@ if the resource group is in the process of being updated.+    --+    -- @UPDATE_COMPLETE@ if the resource group updated successfully.+    --+    -- @UPDATE_FAILED@ if the resource group could not update successfully.+    state :: Prelude.Maybe ResourceGroupState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceGroup' 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:+--+-- 'arn', 'resourceGroup_arn' - The Amazon resource name (ARN) of the resource group.+--+-- 'errorMessage', 'resourceGroup_errorMessage' - The error message that generates when the propagation process for the+-- resource group fails.+--+-- 'state', 'resourceGroup_state' - The state of the propagation process for the resource group. The states+-- includes:+--+-- @CREATING @if the resource group is in the process of being created.+--+-- @CREATE_COMPLETE@ if the resource group was created successfully.+--+-- @CREATE_FAILED@ if the resource group failed to be created.+--+-- @UPDATING@ if the resource group is in the process of being updated.+--+-- @UPDATE_COMPLETE@ if the resource group updated successfully.+--+-- @UPDATE_FAILED@ if the resource group could not update successfully.+newResourceGroup ::+  ResourceGroup+newResourceGroup =+  ResourceGroup'+    { arn = Prelude.Nothing,+      errorMessage = Prelude.Nothing,+      state = Prelude.Nothing+    }++-- | The Amazon resource name (ARN) of the resource group.+resourceGroup_arn :: Lens.Lens' ResourceGroup (Prelude.Maybe Prelude.Text)+resourceGroup_arn = Lens.lens (\ResourceGroup' {arn} -> arn) (\s@ResourceGroup' {} a -> s {arn = a} :: ResourceGroup)++-- | The error message that generates when the propagation process for the+-- resource group fails.+resourceGroup_errorMessage :: Lens.Lens' ResourceGroup (Prelude.Maybe Prelude.Text)+resourceGroup_errorMessage = Lens.lens (\ResourceGroup' {errorMessage} -> errorMessage) (\s@ResourceGroup' {} a -> s {errorMessage = a} :: ResourceGroup)++-- | The state of the propagation process for the resource group. The states+-- includes:+--+-- @CREATING @if the resource group is in the process of being created.+--+-- @CREATE_COMPLETE@ if the resource group was created successfully.+--+-- @CREATE_FAILED@ if the resource group failed to be created.+--+-- @UPDATING@ if the resource group is in the process of being updated.+--+-- @UPDATE_COMPLETE@ if the resource group updated successfully.+--+-- @UPDATE_FAILED@ if the resource group could not update successfully.+resourceGroup_state :: Lens.Lens' ResourceGroup (Prelude.Maybe ResourceGroupState)+resourceGroup_state = Lens.lens (\ResourceGroup' {state} -> state) (\s@ResourceGroup' {} a -> s {state = a} :: ResourceGroup)++instance Data.FromJSON ResourceGroup where+  parseJSON =+    Data.withObject+      "ResourceGroup"+      ( \x ->+          ResourceGroup'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "errorMessage")+            Prelude.<*> (x Data..:? "state")+      )++instance Prelude.Hashable ResourceGroup where+  hashWithSalt _salt ResourceGroup' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` errorMessage+      `Prelude.hashWithSalt` state++instance Prelude.NFData ResourceGroup where+  rnf ResourceGroup' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf errorMessage+      `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/ResourceGroupState.hs view
@@ -0,0 +1,91 @@+{-# 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.ServiceCatalogAppRegistry.Types.ResourceGroupState+-- 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.ServiceCatalogAppRegistry.Types.ResourceGroupState+  ( ResourceGroupState+      ( ..,+        ResourceGroupState_CREATE_COMPLETE,+        ResourceGroupState_CREATE_FAILED,+        ResourceGroupState_CREATING,+        ResourceGroupState_UPDATE_COMPLETE,+        ResourceGroupState_UPDATE_FAILED,+        ResourceGroupState_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResourceGroupState = ResourceGroupState'+  { fromResourceGroupState ::+      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 ResourceGroupState_CREATE_COMPLETE :: ResourceGroupState+pattern ResourceGroupState_CREATE_COMPLETE = ResourceGroupState' "CREATE_COMPLETE"++pattern ResourceGroupState_CREATE_FAILED :: ResourceGroupState+pattern ResourceGroupState_CREATE_FAILED = ResourceGroupState' "CREATE_FAILED"++pattern ResourceGroupState_CREATING :: ResourceGroupState+pattern ResourceGroupState_CREATING = ResourceGroupState' "CREATING"++pattern ResourceGroupState_UPDATE_COMPLETE :: ResourceGroupState+pattern ResourceGroupState_UPDATE_COMPLETE = ResourceGroupState' "UPDATE_COMPLETE"++pattern ResourceGroupState_UPDATE_FAILED :: ResourceGroupState+pattern ResourceGroupState_UPDATE_FAILED = ResourceGroupState' "UPDATE_FAILED"++pattern ResourceGroupState_UPDATING :: ResourceGroupState+pattern ResourceGroupState_UPDATING = ResourceGroupState' "UPDATING"++{-# COMPLETE+  ResourceGroupState_CREATE_COMPLETE,+  ResourceGroupState_CREATE_FAILED,+  ResourceGroupState_CREATING,+  ResourceGroupState_UPDATE_COMPLETE,+  ResourceGroupState_UPDATE_FAILED,+  ResourceGroupState_UPDATING,+  ResourceGroupState'+  #-}
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/ResourceInfo.hs view
@@ -0,0 +1,116 @@+{-# 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.ServiceCatalogAppRegistry.Types.ResourceInfo+-- 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.ServiceCatalogAppRegistry.Types.ResourceInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceDetails+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceType++-- | The information about the resource.+--+-- /See:/ 'newResourceInfo' smart constructor.+data ResourceInfo = ResourceInfo'+  { -- | The Amazon resource name (ARN) that specifies the resource across+    -- services.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | The details related to the resource.+    resourceDetails :: Prelude.Maybe ResourceDetails,+    -- | Provides information about the Service Catalog App Registry resource+    -- type.+    resourceType :: Prelude.Maybe ResourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceInfo' 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:+--+-- 'arn', 'resourceInfo_arn' - The Amazon resource name (ARN) that specifies the resource across+-- services.+--+-- 'name', 'resourceInfo_name' - The name of the resource.+--+-- 'resourceDetails', 'resourceInfo_resourceDetails' - The details related to the resource.+--+-- 'resourceType', 'resourceInfo_resourceType' - Provides information about the Service Catalog App Registry resource+-- type.+newResourceInfo ::+  ResourceInfo+newResourceInfo =+  ResourceInfo'+    { arn = Prelude.Nothing,+      name = Prelude.Nothing,+      resourceDetails = Prelude.Nothing,+      resourceType = Prelude.Nothing+    }++-- | The Amazon resource name (ARN) that specifies the resource across+-- services.+resourceInfo_arn :: Lens.Lens' ResourceInfo (Prelude.Maybe Prelude.Text)+resourceInfo_arn = Lens.lens (\ResourceInfo' {arn} -> arn) (\s@ResourceInfo' {} a -> s {arn = a} :: ResourceInfo)++-- | The name of the resource.+resourceInfo_name :: Lens.Lens' ResourceInfo (Prelude.Maybe Prelude.Text)+resourceInfo_name = Lens.lens (\ResourceInfo' {name} -> name) (\s@ResourceInfo' {} a -> s {name = a} :: ResourceInfo)++-- | The details related to the resource.+resourceInfo_resourceDetails :: Lens.Lens' ResourceInfo (Prelude.Maybe ResourceDetails)+resourceInfo_resourceDetails = Lens.lens (\ResourceInfo' {resourceDetails} -> resourceDetails) (\s@ResourceInfo' {} a -> s {resourceDetails = a} :: ResourceInfo)++-- | Provides information about the Service Catalog App Registry resource+-- type.+resourceInfo_resourceType :: Lens.Lens' ResourceInfo (Prelude.Maybe ResourceType)+resourceInfo_resourceType = Lens.lens (\ResourceInfo' {resourceType} -> resourceType) (\s@ResourceInfo' {} a -> s {resourceType = a} :: ResourceInfo)++instance Data.FromJSON ResourceInfo where+  parseJSON =+    Data.withObject+      "ResourceInfo"+      ( \x ->+          ResourceInfo'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "resourceDetails")+            Prelude.<*> (x Data..:? "resourceType")+      )++instance Prelude.Hashable ResourceInfo where+  hashWithSalt _salt ResourceInfo' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` resourceDetails+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData ResourceInfo where+  rnf ResourceInfo' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf resourceDetails+      `Prelude.seq` Prelude.rnf resourceType
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/ResourceIntegrations.hs view
@@ -0,0 +1,73 @@+{-# 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.ServiceCatalogAppRegistry.Types.ResourceIntegrations+-- 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.ServiceCatalogAppRegistry.Types.ResourceIntegrations where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.ServiceCatalogAppRegistry.Types.ResourceGroup++-- | The service integration information about the resource.+--+-- /See:/ 'newResourceIntegrations' smart constructor.+data ResourceIntegrations = ResourceIntegrations'+  { -- | The information about the integration of Resource Groups.+    resourceGroup :: Prelude.Maybe ResourceGroup+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceIntegrations' 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:+--+-- 'resourceGroup', 'resourceIntegrations_resourceGroup' - The information about the integration of Resource Groups.+newResourceIntegrations ::+  ResourceIntegrations+newResourceIntegrations =+  ResourceIntegrations'+    { resourceGroup =+        Prelude.Nothing+    }++-- | The information about the integration of Resource Groups.+resourceIntegrations_resourceGroup :: Lens.Lens' ResourceIntegrations (Prelude.Maybe ResourceGroup)+resourceIntegrations_resourceGroup = Lens.lens (\ResourceIntegrations' {resourceGroup} -> resourceGroup) (\s@ResourceIntegrations' {} a -> s {resourceGroup = a} :: ResourceIntegrations)++instance Data.FromJSON ResourceIntegrations where+  parseJSON =+    Data.withObject+      "ResourceIntegrations"+      ( \x ->+          ResourceIntegrations'+            Prelude.<$> (x Data..:? "resourceGroup")+      )++instance Prelude.Hashable ResourceIntegrations where+  hashWithSalt _salt ResourceIntegrations' {..} =+    _salt `Prelude.hashWithSalt` resourceGroup++instance Prelude.NFData ResourceIntegrations where+  rnf ResourceIntegrations' {..} =+    Prelude.rnf resourceGroup
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/ResourceType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ServiceCatalogAppRegistry.Types.ResourceType+-- 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.ServiceCatalogAppRegistry.Types.ResourceType+  ( ResourceType+      ( ..,+        ResourceType_CFN_STACK,+        ResourceType_RESOURCE_TAG_VALUE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResourceType = ResourceType'+  { fromResourceType ::+      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 ResourceType_CFN_STACK :: ResourceType+pattern ResourceType_CFN_STACK = ResourceType' "CFN_STACK"++pattern ResourceType_RESOURCE_TAG_VALUE :: ResourceType+pattern ResourceType_RESOURCE_TAG_VALUE = ResourceType' "RESOURCE_TAG_VALUE"++{-# COMPLETE+  ResourceType_CFN_STACK,+  ResourceType_RESOURCE_TAG_VALUE,+  ResourceType'+  #-}
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/SyncAction.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ServiceCatalogAppRegistry.Types.SyncAction+-- 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.ServiceCatalogAppRegistry.Types.SyncAction+  ( SyncAction+      ( ..,+        SyncAction_NO_ACTION,+        SyncAction_START_SYNC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SyncAction = SyncAction'+  { fromSyncAction ::+      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 SyncAction_NO_ACTION :: SyncAction+pattern SyncAction_NO_ACTION = SyncAction' "NO_ACTION"++pattern SyncAction_START_SYNC :: SyncAction+pattern SyncAction_START_SYNC = SyncAction' "START_SYNC"++{-# COMPLETE+  SyncAction_NO_ACTION,+  SyncAction_START_SYNC,+  SyncAction'+  #-}
+ gen/Amazonka/ServiceCatalogAppRegistry/Types/TagQueryConfiguration.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ServiceCatalogAppRegistry.Types.TagQueryConfiguration+-- 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.ServiceCatalogAppRegistry.Types.TagQueryConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The definition of @tagQuery@. Specifies which resources are associated+-- with an application.+--+-- /See:/ 'newTagQueryConfiguration' smart constructor.+data TagQueryConfiguration = TagQueryConfiguration'+  { -- | Condition in the IAM policy that associates resources to an application.+    tagKey :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagQueryConfiguration' 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:+--+-- 'tagKey', 'tagQueryConfiguration_tagKey' - Condition in the IAM policy that associates resources to an application.+newTagQueryConfiguration ::+  TagQueryConfiguration+newTagQueryConfiguration =+  TagQueryConfiguration' {tagKey = Prelude.Nothing}++-- | Condition in the IAM policy that associates resources to an application.+tagQueryConfiguration_tagKey :: Lens.Lens' TagQueryConfiguration (Prelude.Maybe Prelude.Text)+tagQueryConfiguration_tagKey = Lens.lens (\TagQueryConfiguration' {tagKey} -> tagKey) (\s@TagQueryConfiguration' {} a -> s {tagKey = a} :: TagQueryConfiguration)++instance Data.FromJSON TagQueryConfiguration where+  parseJSON =+    Data.withObject+      "TagQueryConfiguration"+      ( \x ->+          TagQueryConfiguration'+            Prelude.<$> (x Data..:? "tagKey")+      )++instance Prelude.Hashable TagQueryConfiguration where+  hashWithSalt _salt TagQueryConfiguration' {..} =+    _salt `Prelude.hashWithSalt` tagKey++instance Prelude.NFData TagQueryConfiguration where+  rnf TagQueryConfiguration' {..} = Prelude.rnf tagKey++instance Data.ToJSON TagQueryConfiguration where+  toJSON TagQueryConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [("tagKey" Data..=) Prelude.<$> tagKey]+      )
+ gen/Amazonka/ServiceCatalogAppRegistry/UntagResource.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ServiceCatalogAppRegistry.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)+--+-- Removes tags from a resource.+--+-- This operation returns an empty response if the call was successful.+module Amazonka.ServiceCatalogAppRegistry.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon resource name (ARN) that specifies the resource.+    resourceArn :: Prelude.Text,+    -- | A list of the tag keys to remove from the specified resource.+    tagKeys :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon resource name (ARN) that specifies the resource.+--+-- 'tagKeys', 'untagResource_tagKeys' - A list of the tag keys to remove from the specified resource.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Prelude.mempty+    }++-- | The Amazon resource name (ARN) that specifies the resource.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | A list of the tag keys to remove from the specified resource.+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/ServiceCatalogAppRegistry/UpdateApplication.hs view
@@ -0,0 +1,202 @@+{-# 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.ServiceCatalogAppRegistry.UpdateApplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing application with new attributes.+module Amazonka.ServiceCatalogAppRegistry.UpdateApplication+  ( -- * Creating a Request+    UpdateApplication (..),+    newUpdateApplication,++    -- * Request Lenses+    updateApplication_description,+    updateApplication_name,+    updateApplication_application,++    -- * Destructuring the Response+    UpdateApplicationResponse (..),+    newUpdateApplicationResponse,++    -- * Response Lenses+    updateApplicationResponse_application,+    updateApplicationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newUpdateApplication' smart constructor.+data UpdateApplication = UpdateApplication'+  { -- | The new description of the application.+    description :: Prelude.Maybe Prelude.Text,+    -- | Deprecated: The new name of the application. The name must be unique in+    -- the region in which you are updating the application. Please do not use+    -- this field as we have stopped supporting name updates.+    name :: Prelude.Maybe Prelude.Text,+    -- | The name or ID of the application that will be updated.+    application :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateApplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateApplication_description' - The new description of the application.+--+-- 'name', 'updateApplication_name' - Deprecated: The new name of the application. The name must be unique in+-- the region in which you are updating the application. Please do not use+-- this field as we have stopped supporting name updates.+--+-- 'application', 'updateApplication_application' - The name or ID of the application that will be updated.+newUpdateApplication ::+  -- | 'application'+  Prelude.Text ->+  UpdateApplication+newUpdateApplication pApplication_ =+  UpdateApplication'+    { description = Prelude.Nothing,+      name = Prelude.Nothing,+      application = pApplication_+    }++-- | The new description of the application.+updateApplication_description :: Lens.Lens' UpdateApplication (Prelude.Maybe Prelude.Text)+updateApplication_description = Lens.lens (\UpdateApplication' {description} -> description) (\s@UpdateApplication' {} a -> s {description = a} :: UpdateApplication)++-- | Deprecated: The new name of the application. The name must be unique in+-- the region in which you are updating the application. Please do not use+-- this field as we have stopped supporting name updates.+updateApplication_name :: Lens.Lens' UpdateApplication (Prelude.Maybe Prelude.Text)+updateApplication_name = Lens.lens (\UpdateApplication' {name} -> name) (\s@UpdateApplication' {} a -> s {name = a} :: UpdateApplication)++-- | The name or ID of the application that will be updated.+updateApplication_application :: Lens.Lens' UpdateApplication Prelude.Text+updateApplication_application = Lens.lens (\UpdateApplication' {application} -> application) (\s@UpdateApplication' {} a -> s {application = a} :: UpdateApplication)++instance Core.AWSRequest UpdateApplication where+  type+    AWSResponse UpdateApplication =+      UpdateApplicationResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateApplicationResponse'+            Prelude.<$> (x Data..?> "application")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateApplication where+  hashWithSalt _salt UpdateApplication' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` application++instance Prelude.NFData UpdateApplication where+  rnf UpdateApplication' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf application++instance Data.ToHeaders UpdateApplication where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateApplication where+  toJSON UpdateApplication' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            ("name" Data..=) Prelude.<$> name+          ]+      )++instance Data.ToPath UpdateApplication where+  toPath UpdateApplication' {..} =+    Prelude.mconcat+      ["/applications/", Data.toBS application]++instance Data.ToQuery UpdateApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateApplicationResponse' smart constructor.+data UpdateApplicationResponse = UpdateApplicationResponse'+  { -- | The updated information of the application.+    application :: Prelude.Maybe Application,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateApplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'application', 'updateApplicationResponse_application' - The updated information of the application.+--+-- 'httpStatus', 'updateApplicationResponse_httpStatus' - The response's http status code.+newUpdateApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateApplicationResponse+newUpdateApplicationResponse pHttpStatus_ =+  UpdateApplicationResponse'+    { application =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated information of the application.+updateApplicationResponse_application :: Lens.Lens' UpdateApplicationResponse (Prelude.Maybe Application)+updateApplicationResponse_application = Lens.lens (\UpdateApplicationResponse' {application} -> application) (\s@UpdateApplicationResponse' {} a -> s {application = a} :: UpdateApplicationResponse)++-- | The response's http status code.+updateApplicationResponse_httpStatus :: Lens.Lens' UpdateApplicationResponse Prelude.Int+updateApplicationResponse_httpStatus = Lens.lens (\UpdateApplicationResponse' {httpStatus} -> httpStatus) (\s@UpdateApplicationResponse' {} a -> s {httpStatus = a} :: UpdateApplicationResponse)++instance Prelude.NFData UpdateApplicationResponse where+  rnf UpdateApplicationResponse' {..} =+    Prelude.rnf application+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/UpdateAttributeGroup.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ServiceCatalogAppRegistry.UpdateAttributeGroup+-- 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 existing attribute group with new details.+module Amazonka.ServiceCatalogAppRegistry.UpdateAttributeGroup+  ( -- * Creating a Request+    UpdateAttributeGroup (..),+    newUpdateAttributeGroup,++    -- * Request Lenses+    updateAttributeGroup_attributes,+    updateAttributeGroup_description,+    updateAttributeGroup_name,+    updateAttributeGroup_attributeGroup,++    -- * Destructuring the Response+    UpdateAttributeGroupResponse (..),+    newUpdateAttributeGroupResponse,++    -- * Response Lenses+    updateAttributeGroupResponse_attributeGroup,+    updateAttributeGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.ServiceCatalogAppRegistry.Types++-- | /See:/ 'newUpdateAttributeGroup' smart constructor.+data UpdateAttributeGroup = UpdateAttributeGroup'+  { -- | A JSON string in the form of nested key-value pairs that represent the+    -- attributes in the group and describes an application and its components.+    attributes :: Prelude.Maybe Prelude.Text,+    -- | The description of the attribute group that the user provides.+    description :: Prelude.Maybe Prelude.Text,+    -- | Deprecated: The new name of the attribute group. The name must be unique+    -- in the region in which you are updating the attribute group. Please do+    -- not use this field as we have stopped supporting name updates.+    name :: Prelude.Maybe Prelude.Text,+    -- | The name or ID of the attribute group that holds the attributes to+    -- describe the application.+    attributeGroup :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAttributeGroup' 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:+--+-- 'attributes', 'updateAttributeGroup_attributes' - A JSON string in the form of nested key-value pairs that represent the+-- attributes in the group and describes an application and its components.+--+-- 'description', 'updateAttributeGroup_description' - The description of the attribute group that the user provides.+--+-- 'name', 'updateAttributeGroup_name' - Deprecated: The new name of the attribute group. The name must be unique+-- in the region in which you are updating the attribute group. Please do+-- not use this field as we have stopped supporting name updates.+--+-- 'attributeGroup', 'updateAttributeGroup_attributeGroup' - The name or ID of the attribute group that holds the attributes to+-- describe the application.+newUpdateAttributeGroup ::+  -- | 'attributeGroup'+  Prelude.Text ->+  UpdateAttributeGroup+newUpdateAttributeGroup pAttributeGroup_ =+  UpdateAttributeGroup'+    { attributes = Prelude.Nothing,+      description = Prelude.Nothing,+      name = Prelude.Nothing,+      attributeGroup = pAttributeGroup_+    }++-- | A JSON string in the form of nested key-value pairs that represent the+-- attributes in the group and describes an application and its components.+updateAttributeGroup_attributes :: Lens.Lens' UpdateAttributeGroup (Prelude.Maybe Prelude.Text)+updateAttributeGroup_attributes = Lens.lens (\UpdateAttributeGroup' {attributes} -> attributes) (\s@UpdateAttributeGroup' {} a -> s {attributes = a} :: UpdateAttributeGroup)++-- | The description of the attribute group that the user provides.+updateAttributeGroup_description :: Lens.Lens' UpdateAttributeGroup (Prelude.Maybe Prelude.Text)+updateAttributeGroup_description = Lens.lens (\UpdateAttributeGroup' {description} -> description) (\s@UpdateAttributeGroup' {} a -> s {description = a} :: UpdateAttributeGroup)++-- | Deprecated: The new name of the attribute group. The name must be unique+-- in the region in which you are updating the attribute group. Please do+-- not use this field as we have stopped supporting name updates.+updateAttributeGroup_name :: Lens.Lens' UpdateAttributeGroup (Prelude.Maybe Prelude.Text)+updateAttributeGroup_name = Lens.lens (\UpdateAttributeGroup' {name} -> name) (\s@UpdateAttributeGroup' {} a -> s {name = a} :: UpdateAttributeGroup)++-- | The name or ID of the attribute group that holds the attributes to+-- describe the application.+updateAttributeGroup_attributeGroup :: Lens.Lens' UpdateAttributeGroup Prelude.Text+updateAttributeGroup_attributeGroup = Lens.lens (\UpdateAttributeGroup' {attributeGroup} -> attributeGroup) (\s@UpdateAttributeGroup' {} a -> s {attributeGroup = a} :: UpdateAttributeGroup)++instance Core.AWSRequest UpdateAttributeGroup where+  type+    AWSResponse UpdateAttributeGroup =+      UpdateAttributeGroupResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateAttributeGroupResponse'+            Prelude.<$> (x Data..?> "attributeGroup")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateAttributeGroup where+  hashWithSalt _salt UpdateAttributeGroup' {..} =+    _salt+      `Prelude.hashWithSalt` attributes+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` attributeGroup++instance Prelude.NFData UpdateAttributeGroup where+  rnf UpdateAttributeGroup' {..} =+    Prelude.rnf attributes+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf attributeGroup++instance Data.ToHeaders UpdateAttributeGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateAttributeGroup where+  toJSON UpdateAttributeGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("attributes" Data..=) Prelude.<$> attributes,+            ("description" Data..=) Prelude.<$> description,+            ("name" Data..=) Prelude.<$> name+          ]+      )++instance Data.ToPath UpdateAttributeGroup where+  toPath UpdateAttributeGroup' {..} =+    Prelude.mconcat+      ["/attribute-groups/", Data.toBS attributeGroup]++instance Data.ToQuery UpdateAttributeGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAttributeGroupResponse' smart constructor.+data UpdateAttributeGroupResponse = UpdateAttributeGroupResponse'+  { -- | The updated information of the attribute group.+    attributeGroup :: Prelude.Maybe AttributeGroup,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAttributeGroupResponse' 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:+--+-- 'attributeGroup', 'updateAttributeGroupResponse_attributeGroup' - The updated information of the attribute group.+--+-- 'httpStatus', 'updateAttributeGroupResponse_httpStatus' - The response's http status code.+newUpdateAttributeGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateAttributeGroupResponse+newUpdateAttributeGroupResponse pHttpStatus_ =+  UpdateAttributeGroupResponse'+    { attributeGroup =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated information of the attribute group.+updateAttributeGroupResponse_attributeGroup :: Lens.Lens' UpdateAttributeGroupResponse (Prelude.Maybe AttributeGroup)+updateAttributeGroupResponse_attributeGroup = Lens.lens (\UpdateAttributeGroupResponse' {attributeGroup} -> attributeGroup) (\s@UpdateAttributeGroupResponse' {} a -> s {attributeGroup = a} :: UpdateAttributeGroupResponse)++-- | The response's http status code.+updateAttributeGroupResponse_httpStatus :: Lens.Lens' UpdateAttributeGroupResponse Prelude.Int+updateAttributeGroupResponse_httpStatus = Lens.lens (\UpdateAttributeGroupResponse' {httpStatus} -> httpStatus) (\s@UpdateAttributeGroupResponse' {} a -> s {httpStatus = a} :: UpdateAttributeGroupResponse)++instance Prelude.NFData UpdateAttributeGroupResponse where+  rnf UpdateAttributeGroupResponse' {..} =+    Prelude.rnf attributeGroup+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ServiceCatalogAppRegistry/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ServiceCatalogAppRegistry.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.ServiceCatalogAppRegistry.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.ServiceCatalogAppRegistry.Lens+import Amazonka.ServiceCatalogAppRegistry.Types
+ 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.ServiceCatalogAppRegistry+import Test.Amazonka.ServiceCatalogAppRegistry.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "ServiceCatalogAppRegistry"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/ServiceCatalogAppRegistry.hs view
@@ -0,0 +1,518 @@+{-# 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.ServiceCatalogAppRegistry+-- 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.ServiceCatalogAppRegistry where++import Amazonka.ServiceCatalogAppRegistry+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.ServiceCatalogAppRegistry.Internal+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"+--         [ requestAssociateAttributeGroup $+--             newAssociateAttributeGroup+--+--         , requestAssociateResource $+--             newAssociateResource+--+--         , requestCreateApplication $+--             newCreateApplication+--+--         , requestCreateAttributeGroup $+--             newCreateAttributeGroup+--+--         , requestDeleteApplication $+--             newDeleteApplication+--+--         , requestDeleteAttributeGroup $+--             newDeleteAttributeGroup+--+--         , requestDisassociateAttributeGroup $+--             newDisassociateAttributeGroup+--+--         , requestDisassociateResource $+--             newDisassociateResource+--+--         , requestGetApplication $+--             newGetApplication+--+--         , requestGetAssociatedResource $+--             newGetAssociatedResource+--+--         , requestGetAttributeGroup $+--             newGetAttributeGroup+--+--         , requestGetConfiguration $+--             newGetConfiguration+--+--         , requestListApplications $+--             newListApplications+--+--         , requestListAssociatedAttributeGroups $+--             newListAssociatedAttributeGroups+--+--         , requestListAssociatedResources $+--             newListAssociatedResources+--+--         , requestListAttributeGroups $+--             newListAttributeGroups+--+--         , requestListAttributeGroupsForApplication $+--             newListAttributeGroupsForApplication+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestPutConfiguration $+--             newPutConfiguration+--+--         , requestSyncResource $+--             newSyncResource+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateApplication $+--             newUpdateApplication+--+--         , requestUpdateAttributeGroup $+--             newUpdateAttributeGroup+--+--           ]++--     , testGroup "response"+--         [ responseAssociateAttributeGroup $+--             newAssociateAttributeGroupResponse+--+--         , responseAssociateResource $+--             newAssociateResourceResponse+--+--         , responseCreateApplication $+--             newCreateApplicationResponse+--+--         , responseCreateAttributeGroup $+--             newCreateAttributeGroupResponse+--+--         , responseDeleteApplication $+--             newDeleteApplicationResponse+--+--         , responseDeleteAttributeGroup $+--             newDeleteAttributeGroupResponse+--+--         , responseDisassociateAttributeGroup $+--             newDisassociateAttributeGroupResponse+--+--         , responseDisassociateResource $+--             newDisassociateResourceResponse+--+--         , responseGetApplication $+--             newGetApplicationResponse+--+--         , responseGetAssociatedResource $+--             newGetAssociatedResourceResponse+--+--         , responseGetAttributeGroup $+--             newGetAttributeGroupResponse+--+--         , responseGetConfiguration $+--             newGetConfigurationResponse+--+--         , responseListApplications $+--             newListApplicationsResponse+--+--         , responseListAssociatedAttributeGroups $+--             newListAssociatedAttributeGroupsResponse+--+--         , responseListAssociatedResources $+--             newListAssociatedResourcesResponse+--+--         , responseListAttributeGroups $+--             newListAttributeGroupsResponse+--+--         , responseListAttributeGroupsForApplication $+--             newListAttributeGroupsForApplicationResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responsePutConfiguration $+--             newPutConfigurationResponse+--+--         , responseSyncResource $+--             newSyncResourceResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateApplication $+--             newUpdateApplicationResponse+--+--         , responseUpdateAttributeGroup $+--             newUpdateAttributeGroupResponse+--+--           ]+--     ]++-- Requests++requestAssociateAttributeGroup :: AssociateAttributeGroup -> TestTree+requestAssociateAttributeGroup =+  req+    "AssociateAttributeGroup"+    "fixture/AssociateAttributeGroup.yaml"++requestAssociateResource :: AssociateResource -> TestTree+requestAssociateResource =+  req+    "AssociateResource"+    "fixture/AssociateResource.yaml"++requestCreateApplication :: CreateApplication -> TestTree+requestCreateApplication =+  req+    "CreateApplication"+    "fixture/CreateApplication.yaml"++requestCreateAttributeGroup :: CreateAttributeGroup -> TestTree+requestCreateAttributeGroup =+  req+    "CreateAttributeGroup"+    "fixture/CreateAttributeGroup.yaml"++requestDeleteApplication :: DeleteApplication -> TestTree+requestDeleteApplication =+  req+    "DeleteApplication"+    "fixture/DeleteApplication.yaml"++requestDeleteAttributeGroup :: DeleteAttributeGroup -> TestTree+requestDeleteAttributeGroup =+  req+    "DeleteAttributeGroup"+    "fixture/DeleteAttributeGroup.yaml"++requestDisassociateAttributeGroup :: DisassociateAttributeGroup -> TestTree+requestDisassociateAttributeGroup =+  req+    "DisassociateAttributeGroup"+    "fixture/DisassociateAttributeGroup.yaml"++requestDisassociateResource :: DisassociateResource -> TestTree+requestDisassociateResource =+  req+    "DisassociateResource"+    "fixture/DisassociateResource.yaml"++requestGetApplication :: GetApplication -> TestTree+requestGetApplication =+  req+    "GetApplication"+    "fixture/GetApplication.yaml"++requestGetAssociatedResource :: GetAssociatedResource -> TestTree+requestGetAssociatedResource =+  req+    "GetAssociatedResource"+    "fixture/GetAssociatedResource.yaml"++requestGetAttributeGroup :: GetAttributeGroup -> TestTree+requestGetAttributeGroup =+  req+    "GetAttributeGroup"+    "fixture/GetAttributeGroup.yaml"++requestGetConfiguration :: GetConfiguration -> TestTree+requestGetConfiguration =+  req+    "GetConfiguration"+    "fixture/GetConfiguration.yaml"++requestListApplications :: ListApplications -> TestTree+requestListApplications =+  req+    "ListApplications"+    "fixture/ListApplications.yaml"++requestListAssociatedAttributeGroups :: ListAssociatedAttributeGroups -> TestTree+requestListAssociatedAttributeGroups =+  req+    "ListAssociatedAttributeGroups"+    "fixture/ListAssociatedAttributeGroups.yaml"++requestListAssociatedResources :: ListAssociatedResources -> TestTree+requestListAssociatedResources =+  req+    "ListAssociatedResources"+    "fixture/ListAssociatedResources.yaml"++requestListAttributeGroups :: ListAttributeGroups -> TestTree+requestListAttributeGroups =+  req+    "ListAttributeGroups"+    "fixture/ListAttributeGroups.yaml"++requestListAttributeGroupsForApplication :: ListAttributeGroupsForApplication -> TestTree+requestListAttributeGroupsForApplication =+  req+    "ListAttributeGroupsForApplication"+    "fixture/ListAttributeGroupsForApplication.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestPutConfiguration :: PutConfiguration -> TestTree+requestPutConfiguration =+  req+    "PutConfiguration"+    "fixture/PutConfiguration.yaml"++requestSyncResource :: SyncResource -> TestTree+requestSyncResource =+  req+    "SyncResource"+    "fixture/SyncResource.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateApplication :: UpdateApplication -> TestTree+requestUpdateApplication =+  req+    "UpdateApplication"+    "fixture/UpdateApplication.yaml"++requestUpdateAttributeGroup :: UpdateAttributeGroup -> TestTree+requestUpdateAttributeGroup =+  req+    "UpdateAttributeGroup"+    "fixture/UpdateAttributeGroup.yaml"++-- Responses++responseAssociateAttributeGroup :: AssociateAttributeGroupResponse -> TestTree+responseAssociateAttributeGroup =+  res+    "AssociateAttributeGroupResponse"+    "fixture/AssociateAttributeGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateAttributeGroup)++responseAssociateResource :: AssociateResourceResponse -> TestTree+responseAssociateResource =+  res+    "AssociateResourceResponse"+    "fixture/AssociateResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateResource)++responseCreateApplication :: CreateApplicationResponse -> TestTree+responseCreateApplication =+  res+    "CreateApplicationResponse"+    "fixture/CreateApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateApplication)++responseCreateAttributeGroup :: CreateAttributeGroupResponse -> TestTree+responseCreateAttributeGroup =+  res+    "CreateAttributeGroupResponse"+    "fixture/CreateAttributeGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAttributeGroup)++responseDeleteApplication :: DeleteApplicationResponse -> TestTree+responseDeleteApplication =+  res+    "DeleteApplicationResponse"+    "fixture/DeleteApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteApplication)++responseDeleteAttributeGroup :: DeleteAttributeGroupResponse -> TestTree+responseDeleteAttributeGroup =+  res+    "DeleteAttributeGroupResponse"+    "fixture/DeleteAttributeGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAttributeGroup)++responseDisassociateAttributeGroup :: DisassociateAttributeGroupResponse -> TestTree+responseDisassociateAttributeGroup =+  res+    "DisassociateAttributeGroupResponse"+    "fixture/DisassociateAttributeGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateAttributeGroup)++responseDisassociateResource :: DisassociateResourceResponse -> TestTree+responseDisassociateResource =+  res+    "DisassociateResourceResponse"+    "fixture/DisassociateResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateResource)++responseGetApplication :: GetApplicationResponse -> TestTree+responseGetApplication =+  res+    "GetApplicationResponse"+    "fixture/GetApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetApplication)++responseGetAssociatedResource :: GetAssociatedResourceResponse -> TestTree+responseGetAssociatedResource =+  res+    "GetAssociatedResourceResponse"+    "fixture/GetAssociatedResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAssociatedResource)++responseGetAttributeGroup :: GetAttributeGroupResponse -> TestTree+responseGetAttributeGroup =+  res+    "GetAttributeGroupResponse"+    "fixture/GetAttributeGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAttributeGroup)++responseGetConfiguration :: GetConfigurationResponse -> TestTree+responseGetConfiguration =+  res+    "GetConfigurationResponse"+    "fixture/GetConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetConfiguration)++responseListApplications :: ListApplicationsResponse -> TestTree+responseListApplications =+  res+    "ListApplicationsResponse"+    "fixture/ListApplicationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListApplications)++responseListAssociatedAttributeGroups :: ListAssociatedAttributeGroupsResponse -> TestTree+responseListAssociatedAttributeGroups =+  res+    "ListAssociatedAttributeGroupsResponse"+    "fixture/ListAssociatedAttributeGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAssociatedAttributeGroups)++responseListAssociatedResources :: ListAssociatedResourcesResponse -> TestTree+responseListAssociatedResources =+  res+    "ListAssociatedResourcesResponse"+    "fixture/ListAssociatedResourcesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAssociatedResources)++responseListAttributeGroups :: ListAttributeGroupsResponse -> TestTree+responseListAttributeGroups =+  res+    "ListAttributeGroupsResponse"+    "fixture/ListAttributeGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAttributeGroups)++responseListAttributeGroupsForApplication :: ListAttributeGroupsForApplicationResponse -> TestTree+responseListAttributeGroupsForApplication =+  res+    "ListAttributeGroupsForApplicationResponse"+    "fixture/ListAttributeGroupsForApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAttributeGroupsForApplication)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePutConfiguration :: PutConfigurationResponse -> TestTree+responsePutConfiguration =+  res+    "PutConfigurationResponse"+    "fixture/PutConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutConfiguration)++responseSyncResource :: SyncResourceResponse -> TestTree+responseSyncResource =+  res+    "SyncResourceResponse"+    "fixture/SyncResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SyncResource)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateApplication :: UpdateApplicationResponse -> TestTree+responseUpdateApplication =+  res+    "UpdateApplicationResponse"+    "fixture/UpdateApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateApplication)++responseUpdateAttributeGroup :: UpdateAttributeGroupResponse -> TestTree+responseUpdateAttributeGroup =+  res+    "UpdateAttributeGroupResponse"+    "fixture/UpdateAttributeGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAttributeGroup)
+ test/Test/Amazonka/ServiceCatalogAppRegistry.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.ServiceCatalogAppRegistry+-- 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.ServiceCatalogAppRegistry+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/ServiceCatalogAppRegistry/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.ServiceCatalogAppRegistry.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.ServiceCatalogAppRegistry.Internal where