packages feed

amazonka-marketplace-catalog (empty) → 2.0

raw patch · 51 files changed

+4952/−0 lines, 51 filesdep +amazonka-coredep +amazonka-marketplace-catalogdep +amazonka-test

Dependencies added: amazonka-core, amazonka-marketplace-catalog, 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 Marketplace Catalog Service SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-09-17@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-marketplace-catalog)+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.MarketplaceCatalog](http://hackage.haskell.org/package/amazonka-marketplace-catalog/docs/Amazonka-MarketplaceCatalog.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-marketplace-catalog` 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-marketplace-catalog.cabal view
@@ -0,0 +1,104 @@+cabal-version:      2.2+name:               amazonka-marketplace-catalog+version:            2.0+synopsis:           Amazon Marketplace Catalog Service SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2018-09-17@ 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.MarketplaceCatalog.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.MarketplaceCatalog" 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-marketplace-catalog++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.MarketplaceCatalog+    Amazonka.MarketplaceCatalog.CancelChangeSet+    Amazonka.MarketplaceCatalog.DescribeChangeSet+    Amazonka.MarketplaceCatalog.DescribeEntity+    Amazonka.MarketplaceCatalog.Lens+    Amazonka.MarketplaceCatalog.ListChangeSets+    Amazonka.MarketplaceCatalog.ListEntities+    Amazonka.MarketplaceCatalog.ListTagsForResource+    Amazonka.MarketplaceCatalog.StartChangeSet+    Amazonka.MarketplaceCatalog.TagResource+    Amazonka.MarketplaceCatalog.Types+    Amazonka.MarketplaceCatalog.Types.Change+    Amazonka.MarketplaceCatalog.Types.ChangeSetSummaryListItem+    Amazonka.MarketplaceCatalog.Types.ChangeStatus+    Amazonka.MarketplaceCatalog.Types.ChangeSummary+    Amazonka.MarketplaceCatalog.Types.Entity+    Amazonka.MarketplaceCatalog.Types.EntitySummary+    Amazonka.MarketplaceCatalog.Types.ErrorDetail+    Amazonka.MarketplaceCatalog.Types.FailureCode+    Amazonka.MarketplaceCatalog.Types.Filter+    Amazonka.MarketplaceCatalog.Types.Sort+    Amazonka.MarketplaceCatalog.Types.SortOrder+    Amazonka.MarketplaceCatalog.Types.Tag+    Amazonka.MarketplaceCatalog.UntagResource+    Amazonka.MarketplaceCatalog.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-marketplace-catalog-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.MarketplaceCatalog+    Test.Amazonka.MarketplaceCatalog+    Test.Amazonka.MarketplaceCatalog.Internal++  build-depends:+    , amazonka-core                 >=2.0 && <2.1+    , amazonka-marketplace-catalog+    , amazonka-test                 >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CancelChangeSet.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/catalog.marketplace/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  catalog.marketplace.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/CancelChangeSetResponse.proto view
+ fixture/DescribeChangeSet.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/catalog.marketplace/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  catalog.marketplace.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/DescribeChangeSetResponse.proto view
+ fixture/DescribeEntity.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/catalog.marketplace/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  catalog.marketplace.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/DescribeEntityResponse.proto view
+ fixture/ListChangeSets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/catalog.marketplace/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  catalog.marketplace.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/ListChangeSetsResponse.proto view
+ fixture/ListEntities.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/catalog.marketplace/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  catalog.marketplace.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/ListEntitiesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/catalog.marketplace/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  catalog.marketplace.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/StartChangeSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/catalog.marketplace/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  catalog.marketplace.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/StartChangeSetResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/catalog.marketplace/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  catalog.marketplace.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/catalog.marketplace/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  catalog.marketplace.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
+ gen/Amazonka/MarketplaceCatalog.hs view
@@ -0,0 +1,200 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.MarketplaceCatalog+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2018-09-17@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Catalog API actions allow you to manage your entities through list,+-- describe, and update capabilities. An entity can be a product or an+-- offer on AWS Marketplace.+--+-- You can automate your entity update process by integrating the AWS+-- Marketplace Catalog API with your AWS Marketplace product build or+-- deployment pipelines. You can also create your own applications on top+-- of the Catalog API to manage your products on AWS Marketplace.+module Amazonka.MarketplaceCatalog+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** InternalServiceException+    _InternalServiceException,++    -- ** ResourceInUseException+    _ResourceInUseException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ResourceNotSupportedException+    _ResourceNotSupportedException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CancelChangeSet+    CancelChangeSet (CancelChangeSet'),+    newCancelChangeSet,+    CancelChangeSetResponse (CancelChangeSetResponse'),+    newCancelChangeSetResponse,++    -- ** DescribeChangeSet+    DescribeChangeSet (DescribeChangeSet'),+    newDescribeChangeSet,+    DescribeChangeSetResponse (DescribeChangeSetResponse'),+    newDescribeChangeSetResponse,++    -- ** DescribeEntity+    DescribeEntity (DescribeEntity'),+    newDescribeEntity,+    DescribeEntityResponse (DescribeEntityResponse'),+    newDescribeEntityResponse,++    -- ** ListChangeSets+    ListChangeSets (ListChangeSets'),+    newListChangeSets,+    ListChangeSetsResponse (ListChangeSetsResponse'),+    newListChangeSetsResponse,++    -- ** ListEntities+    ListEntities (ListEntities'),+    newListEntities,+    ListEntitiesResponse (ListEntitiesResponse'),+    newListEntitiesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** StartChangeSet+    StartChangeSet (StartChangeSet'),+    newStartChangeSet,+    StartChangeSetResponse (StartChangeSetResponse'),+    newStartChangeSetResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- * Types++    -- ** ChangeStatus+    ChangeStatus (..),++    -- ** FailureCode+    FailureCode (..),++    -- ** SortOrder+    SortOrder (..),++    -- ** Change+    Change (Change'),+    newChange,++    -- ** ChangeSetSummaryListItem+    ChangeSetSummaryListItem (ChangeSetSummaryListItem'),+    newChangeSetSummaryListItem,++    -- ** ChangeSummary+    ChangeSummary (ChangeSummary'),+    newChangeSummary,++    -- ** Entity+    Entity (Entity'),+    newEntity,++    -- ** EntitySummary+    EntitySummary (EntitySummary'),+    newEntitySummary,++    -- ** ErrorDetail+    ErrorDetail (ErrorDetail'),+    newErrorDetail,++    -- ** Filter+    Filter (Filter'),+    newFilter,++    -- ** Sort+    Sort (Sort'),+    newSort,++    -- ** Tag+    Tag (Tag'),+    newTag,+  )+where++import Amazonka.MarketplaceCatalog.CancelChangeSet+import Amazonka.MarketplaceCatalog.DescribeChangeSet+import Amazonka.MarketplaceCatalog.DescribeEntity+import Amazonka.MarketplaceCatalog.Lens+import Amazonka.MarketplaceCatalog.ListChangeSets+import Amazonka.MarketplaceCatalog.ListEntities+import Amazonka.MarketplaceCatalog.ListTagsForResource+import Amazonka.MarketplaceCatalog.StartChangeSet+import Amazonka.MarketplaceCatalog.TagResource+import Amazonka.MarketplaceCatalog.Types+import Amazonka.MarketplaceCatalog.UntagResource+import Amazonka.MarketplaceCatalog.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 'MarketplaceCatalog'.++-- $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/MarketplaceCatalog/CancelChangeSet.hs view
@@ -0,0 +1,203 @@+{-# 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.MarketplaceCatalog.CancelChangeSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Used to cancel an open change request. Must be sent before the status of+-- the request changes to @APPLYING@, the final stage of completing your+-- change request. You can describe a change during the 60-day request+-- history retention period for API calls.+module Amazonka.MarketplaceCatalog.CancelChangeSet+  ( -- * Creating a Request+    CancelChangeSet (..),+    newCancelChangeSet,++    -- * Request Lenses+    cancelChangeSet_catalog,+    cancelChangeSet_changeSetId,++    -- * Destructuring the Response+    CancelChangeSetResponse (..),+    newCancelChangeSetResponse,++    -- * Response Lenses+    cancelChangeSetResponse_changeSetArn,+    cancelChangeSetResponse_changeSetId,+    cancelChangeSetResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MarketplaceCatalog.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCancelChangeSet' smart constructor.+data CancelChangeSet = CancelChangeSet'+  { -- | Required. The catalog related to the request. Fixed value:+    -- @AWSMarketplace@.+    catalog :: Prelude.Text,+    -- | Required. The unique identifier of the @StartChangeSet@ request that you+    -- want to cancel.+    changeSetId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelChangeSet' 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:+--+-- 'catalog', 'cancelChangeSet_catalog' - Required. The catalog related to the request. Fixed value:+-- @AWSMarketplace@.+--+-- 'changeSetId', 'cancelChangeSet_changeSetId' - Required. The unique identifier of the @StartChangeSet@ request that you+-- want to cancel.+newCancelChangeSet ::+  -- | 'catalog'+  Prelude.Text ->+  -- | 'changeSetId'+  Prelude.Text ->+  CancelChangeSet+newCancelChangeSet pCatalog_ pChangeSetId_ =+  CancelChangeSet'+    { catalog = pCatalog_,+      changeSetId = pChangeSetId_+    }++-- | Required. The catalog related to the request. Fixed value:+-- @AWSMarketplace@.+cancelChangeSet_catalog :: Lens.Lens' CancelChangeSet Prelude.Text+cancelChangeSet_catalog = Lens.lens (\CancelChangeSet' {catalog} -> catalog) (\s@CancelChangeSet' {} a -> s {catalog = a} :: CancelChangeSet)++-- | Required. The unique identifier of the @StartChangeSet@ request that you+-- want to cancel.+cancelChangeSet_changeSetId :: Lens.Lens' CancelChangeSet Prelude.Text+cancelChangeSet_changeSetId = Lens.lens (\CancelChangeSet' {changeSetId} -> changeSetId) (\s@CancelChangeSet' {} a -> s {changeSetId = a} :: CancelChangeSet)++instance Core.AWSRequest CancelChangeSet where+  type+    AWSResponse CancelChangeSet =+      CancelChangeSetResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CancelChangeSetResponse'+            Prelude.<$> (x Data..?> "ChangeSetArn")+            Prelude.<*> (x Data..?> "ChangeSetId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CancelChangeSet where+  hashWithSalt _salt CancelChangeSet' {..} =+    _salt+      `Prelude.hashWithSalt` catalog+      `Prelude.hashWithSalt` changeSetId++instance Prelude.NFData CancelChangeSet where+  rnf CancelChangeSet' {..} =+    Prelude.rnf catalog+      `Prelude.seq` Prelude.rnf changeSetId++instance Data.ToHeaders CancelChangeSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CancelChangeSet where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath CancelChangeSet where+  toPath = Prelude.const "/CancelChangeSet"++instance Data.ToQuery CancelChangeSet where+  toQuery CancelChangeSet' {..} =+    Prelude.mconcat+      [ "catalog" Data.=: catalog,+        "changeSetId" Data.=: changeSetId+      ]++-- | /See:/ 'newCancelChangeSetResponse' smart constructor.+data CancelChangeSetResponse = CancelChangeSetResponse'+  { -- | The ARN associated with the change set referenced in this request.+    changeSetArn :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier for the change set referenced in this request.+    changeSetId :: 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 'CancelChangeSetResponse' 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:+--+-- 'changeSetArn', 'cancelChangeSetResponse_changeSetArn' - The ARN associated with the change set referenced in this request.+--+-- 'changeSetId', 'cancelChangeSetResponse_changeSetId' - The unique identifier for the change set referenced in this request.+--+-- 'httpStatus', 'cancelChangeSetResponse_httpStatus' - The response's http status code.+newCancelChangeSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CancelChangeSetResponse+newCancelChangeSetResponse pHttpStatus_ =+  CancelChangeSetResponse'+    { changeSetArn =+        Prelude.Nothing,+      changeSetId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN associated with the change set referenced in this request.+cancelChangeSetResponse_changeSetArn :: Lens.Lens' CancelChangeSetResponse (Prelude.Maybe Prelude.Text)+cancelChangeSetResponse_changeSetArn = Lens.lens (\CancelChangeSetResponse' {changeSetArn} -> changeSetArn) (\s@CancelChangeSetResponse' {} a -> s {changeSetArn = a} :: CancelChangeSetResponse)++-- | The unique identifier for the change set referenced in this request.+cancelChangeSetResponse_changeSetId :: Lens.Lens' CancelChangeSetResponse (Prelude.Maybe Prelude.Text)+cancelChangeSetResponse_changeSetId = Lens.lens (\CancelChangeSetResponse' {changeSetId} -> changeSetId) (\s@CancelChangeSetResponse' {} a -> s {changeSetId = a} :: CancelChangeSetResponse)++-- | The response's http status code.+cancelChangeSetResponse_httpStatus :: Lens.Lens' CancelChangeSetResponse Prelude.Int+cancelChangeSetResponse_httpStatus = Lens.lens (\CancelChangeSetResponse' {httpStatus} -> httpStatus) (\s@CancelChangeSetResponse' {} a -> s {httpStatus = a} :: CancelChangeSetResponse)++instance Prelude.NFData CancelChangeSetResponse where+  rnf CancelChangeSetResponse' {..} =+    Prelude.rnf changeSetArn+      `Prelude.seq` Prelude.rnf changeSetId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MarketplaceCatalog/DescribeChangeSet.hs view
@@ -0,0 +1,311 @@+{-# 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.MarketplaceCatalog.DescribeChangeSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides information about a given change set.+module Amazonka.MarketplaceCatalog.DescribeChangeSet+  ( -- * Creating a Request+    DescribeChangeSet (..),+    newDescribeChangeSet,++    -- * Request Lenses+    describeChangeSet_catalog,+    describeChangeSet_changeSetId,++    -- * Destructuring the Response+    DescribeChangeSetResponse (..),+    newDescribeChangeSetResponse,++    -- * Response Lenses+    describeChangeSetResponse_changeSet,+    describeChangeSetResponse_changeSetArn,+    describeChangeSetResponse_changeSetId,+    describeChangeSetResponse_changeSetName,+    describeChangeSetResponse_endTime,+    describeChangeSetResponse_failureCode,+    describeChangeSetResponse_failureDescription,+    describeChangeSetResponse_startTime,+    describeChangeSetResponse_status,+    describeChangeSetResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MarketplaceCatalog.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeChangeSet' smart constructor.+data DescribeChangeSet = DescribeChangeSet'+  { -- | Required. The catalog related to the request. Fixed value:+    -- @AWSMarketplace@+    catalog :: Prelude.Text,+    -- | Required. The unique identifier for the @StartChangeSet@ request that+    -- you want to describe the details for.+    changeSetId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChangeSet' 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:+--+-- 'catalog', 'describeChangeSet_catalog' - Required. The catalog related to the request. Fixed value:+-- @AWSMarketplace@+--+-- 'changeSetId', 'describeChangeSet_changeSetId' - Required. The unique identifier for the @StartChangeSet@ request that+-- you want to describe the details for.+newDescribeChangeSet ::+  -- | 'catalog'+  Prelude.Text ->+  -- | 'changeSetId'+  Prelude.Text ->+  DescribeChangeSet+newDescribeChangeSet pCatalog_ pChangeSetId_ =+  DescribeChangeSet'+    { catalog = pCatalog_,+      changeSetId = pChangeSetId_+    }++-- | Required. The catalog related to the request. Fixed value:+-- @AWSMarketplace@+describeChangeSet_catalog :: Lens.Lens' DescribeChangeSet Prelude.Text+describeChangeSet_catalog = Lens.lens (\DescribeChangeSet' {catalog} -> catalog) (\s@DescribeChangeSet' {} a -> s {catalog = a} :: DescribeChangeSet)++-- | Required. The unique identifier for the @StartChangeSet@ request that+-- you want to describe the details for.+describeChangeSet_changeSetId :: Lens.Lens' DescribeChangeSet Prelude.Text+describeChangeSet_changeSetId = Lens.lens (\DescribeChangeSet' {changeSetId} -> changeSetId) (\s@DescribeChangeSet' {} a -> s {changeSetId = a} :: DescribeChangeSet)++instance Core.AWSRequest DescribeChangeSet where+  type+    AWSResponse DescribeChangeSet =+      DescribeChangeSetResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeChangeSetResponse'+            Prelude.<$> (x Data..?> "ChangeSet" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "ChangeSetArn")+            Prelude.<*> (x Data..?> "ChangeSetId")+            Prelude.<*> (x Data..?> "ChangeSetName")+            Prelude.<*> (x Data..?> "EndTime")+            Prelude.<*> (x Data..?> "FailureCode")+            Prelude.<*> (x Data..?> "FailureDescription")+            Prelude.<*> (x Data..?> "StartTime")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeChangeSet where+  hashWithSalt _salt DescribeChangeSet' {..} =+    _salt+      `Prelude.hashWithSalt` catalog+      `Prelude.hashWithSalt` changeSetId++instance Prelude.NFData DescribeChangeSet where+  rnf DescribeChangeSet' {..} =+    Prelude.rnf catalog+      `Prelude.seq` Prelude.rnf changeSetId++instance Data.ToHeaders DescribeChangeSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeChangeSet where+  toPath = Prelude.const "/DescribeChangeSet"++instance Data.ToQuery DescribeChangeSet where+  toQuery DescribeChangeSet' {..} =+    Prelude.mconcat+      [ "catalog" Data.=: catalog,+        "changeSetId" Data.=: changeSetId+      ]++-- | /See:/ 'newDescribeChangeSetResponse' smart constructor.+data DescribeChangeSetResponse = DescribeChangeSetResponse'+  { -- | An array of @ChangeSummary@ objects.+    changeSet :: Prelude.Maybe [ChangeSummary],+    -- | The ARN associated with the unique identifier for the change set+    -- referenced in this request.+    changeSetArn :: Prelude.Maybe Prelude.Text,+    -- | Required. The unique identifier for the change set referenced in this+    -- request.+    changeSetId :: Prelude.Maybe Prelude.Text,+    -- | The optional name provided in the @StartChangeSet@ request. If you do+    -- not provide a name, one is set by default.+    changeSetName :: Prelude.Maybe Prelude.Text,+    -- | The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the+    -- request transitioned to a terminal state. The change cannot transition+    -- to a different state. Null if the request is not in a terminal state.+    endTime :: Prelude.Maybe Prelude.Text,+    -- | Returned if the change set is in @FAILED@ status. Can be either+    -- @CLIENT_ERROR@, which means that there are issues with the request (see+    -- the @ErrorDetailList@), or @SERVER_FAULT@, which means that there is a+    -- problem in the system, and you should retry your request.+    failureCode :: Prelude.Maybe FailureCode,+    -- | Returned if there is a failure on the change set, but that failure is+    -- not related to any of the changes in the request.+    failureDescription :: Prelude.Maybe Prelude.Text,+    -- | The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the+    -- request started.+    startTime :: Prelude.Maybe Prelude.Text,+    -- | The status of the change request.+    status :: Prelude.Maybe ChangeStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChangeSetResponse' 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:+--+-- 'changeSet', 'describeChangeSetResponse_changeSet' - An array of @ChangeSummary@ objects.+--+-- 'changeSetArn', 'describeChangeSetResponse_changeSetArn' - The ARN associated with the unique identifier for the change set+-- referenced in this request.+--+-- 'changeSetId', 'describeChangeSetResponse_changeSetId' - Required. The unique identifier for the change set referenced in this+-- request.+--+-- 'changeSetName', 'describeChangeSetResponse_changeSetName' - The optional name provided in the @StartChangeSet@ request. If you do+-- not provide a name, one is set by default.+--+-- 'endTime', 'describeChangeSetResponse_endTime' - The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the+-- request transitioned to a terminal state. The change cannot transition+-- to a different state. Null if the request is not in a terminal state.+--+-- 'failureCode', 'describeChangeSetResponse_failureCode' - Returned if the change set is in @FAILED@ status. Can be either+-- @CLIENT_ERROR@, which means that there are issues with the request (see+-- the @ErrorDetailList@), or @SERVER_FAULT@, which means that there is a+-- problem in the system, and you should retry your request.+--+-- 'failureDescription', 'describeChangeSetResponse_failureDescription' - Returned if there is a failure on the change set, but that failure is+-- not related to any of the changes in the request.+--+-- 'startTime', 'describeChangeSetResponse_startTime' - The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the+-- request started.+--+-- 'status', 'describeChangeSetResponse_status' - The status of the change request.+--+-- 'httpStatus', 'describeChangeSetResponse_httpStatus' - The response's http status code.+newDescribeChangeSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeChangeSetResponse+newDescribeChangeSetResponse pHttpStatus_ =+  DescribeChangeSetResponse'+    { changeSet =+        Prelude.Nothing,+      changeSetArn = Prelude.Nothing,+      changeSetId = Prelude.Nothing,+      changeSetName = Prelude.Nothing,+      endTime = Prelude.Nothing,+      failureCode = Prelude.Nothing,+      failureDescription = Prelude.Nothing,+      startTime = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of @ChangeSummary@ objects.+describeChangeSetResponse_changeSet :: Lens.Lens' DescribeChangeSetResponse (Prelude.Maybe [ChangeSummary])+describeChangeSetResponse_changeSet = Lens.lens (\DescribeChangeSetResponse' {changeSet} -> changeSet) (\s@DescribeChangeSetResponse' {} a -> s {changeSet = a} :: DescribeChangeSetResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN associated with the unique identifier for the change set+-- referenced in this request.+describeChangeSetResponse_changeSetArn :: Lens.Lens' DescribeChangeSetResponse (Prelude.Maybe Prelude.Text)+describeChangeSetResponse_changeSetArn = Lens.lens (\DescribeChangeSetResponse' {changeSetArn} -> changeSetArn) (\s@DescribeChangeSetResponse' {} a -> s {changeSetArn = a} :: DescribeChangeSetResponse)++-- | Required. The unique identifier for the change set referenced in this+-- request.+describeChangeSetResponse_changeSetId :: Lens.Lens' DescribeChangeSetResponse (Prelude.Maybe Prelude.Text)+describeChangeSetResponse_changeSetId = Lens.lens (\DescribeChangeSetResponse' {changeSetId} -> changeSetId) (\s@DescribeChangeSetResponse' {} a -> s {changeSetId = a} :: DescribeChangeSetResponse)++-- | The optional name provided in the @StartChangeSet@ request. If you do+-- not provide a name, one is set by default.+describeChangeSetResponse_changeSetName :: Lens.Lens' DescribeChangeSetResponse (Prelude.Maybe Prelude.Text)+describeChangeSetResponse_changeSetName = Lens.lens (\DescribeChangeSetResponse' {changeSetName} -> changeSetName) (\s@DescribeChangeSetResponse' {} a -> s {changeSetName = a} :: DescribeChangeSetResponse)++-- | The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the+-- request transitioned to a terminal state. The change cannot transition+-- to a different state. Null if the request is not in a terminal state.+describeChangeSetResponse_endTime :: Lens.Lens' DescribeChangeSetResponse (Prelude.Maybe Prelude.Text)+describeChangeSetResponse_endTime = Lens.lens (\DescribeChangeSetResponse' {endTime} -> endTime) (\s@DescribeChangeSetResponse' {} a -> s {endTime = a} :: DescribeChangeSetResponse)++-- | Returned if the change set is in @FAILED@ status. Can be either+-- @CLIENT_ERROR@, which means that there are issues with the request (see+-- the @ErrorDetailList@), or @SERVER_FAULT@, which means that there is a+-- problem in the system, and you should retry your request.+describeChangeSetResponse_failureCode :: Lens.Lens' DescribeChangeSetResponse (Prelude.Maybe FailureCode)+describeChangeSetResponse_failureCode = Lens.lens (\DescribeChangeSetResponse' {failureCode} -> failureCode) (\s@DescribeChangeSetResponse' {} a -> s {failureCode = a} :: DescribeChangeSetResponse)++-- | Returned if there is a failure on the change set, but that failure is+-- not related to any of the changes in the request.+describeChangeSetResponse_failureDescription :: Lens.Lens' DescribeChangeSetResponse (Prelude.Maybe Prelude.Text)+describeChangeSetResponse_failureDescription = Lens.lens (\DescribeChangeSetResponse' {failureDescription} -> failureDescription) (\s@DescribeChangeSetResponse' {} a -> s {failureDescription = a} :: DescribeChangeSetResponse)++-- | The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the+-- request started.+describeChangeSetResponse_startTime :: Lens.Lens' DescribeChangeSetResponse (Prelude.Maybe Prelude.Text)+describeChangeSetResponse_startTime = Lens.lens (\DescribeChangeSetResponse' {startTime} -> startTime) (\s@DescribeChangeSetResponse' {} a -> s {startTime = a} :: DescribeChangeSetResponse)++-- | The status of the change request.+describeChangeSetResponse_status :: Lens.Lens' DescribeChangeSetResponse (Prelude.Maybe ChangeStatus)+describeChangeSetResponse_status = Lens.lens (\DescribeChangeSetResponse' {status} -> status) (\s@DescribeChangeSetResponse' {} a -> s {status = a} :: DescribeChangeSetResponse)++-- | The response's http status code.+describeChangeSetResponse_httpStatus :: Lens.Lens' DescribeChangeSetResponse Prelude.Int+describeChangeSetResponse_httpStatus = Lens.lens (\DescribeChangeSetResponse' {httpStatus} -> httpStatus) (\s@DescribeChangeSetResponse' {} a -> s {httpStatus = a} :: DescribeChangeSetResponse)++instance Prelude.NFData DescribeChangeSetResponse where+  rnf DescribeChangeSetResponse' {..} =+    Prelude.rnf changeSet+      `Prelude.seq` Prelude.rnf changeSetArn+      `Prelude.seq` Prelude.rnf changeSetId+      `Prelude.seq` Prelude.rnf changeSetName+      `Prelude.seq` Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf failureCode+      `Prelude.seq` Prelude.rnf failureDescription+      `Prelude.seq` Prelude.rnf startTime+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MarketplaceCatalog/DescribeEntity.hs view
@@ -0,0 +1,235 @@+{-# 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.MarketplaceCatalog.DescribeEntity+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the metadata and content of the entity.+module Amazonka.MarketplaceCatalog.DescribeEntity+  ( -- * Creating a Request+    DescribeEntity (..),+    newDescribeEntity,++    -- * Request Lenses+    describeEntity_catalog,+    describeEntity_entityId,++    -- * Destructuring the Response+    DescribeEntityResponse (..),+    newDescribeEntityResponse,++    -- * Response Lenses+    describeEntityResponse_details,+    describeEntityResponse_entityArn,+    describeEntityResponse_entityIdentifier,+    describeEntityResponse_entityType,+    describeEntityResponse_lastModifiedDate,+    describeEntityResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MarketplaceCatalog.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeEntity' smart constructor.+data DescribeEntity = DescribeEntity'+  { -- | Required. The catalog related to the request. Fixed value:+    -- @AWSMarketplace@+    catalog :: Prelude.Text,+    -- | Required. The unique ID of the entity to describe.+    entityId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEntity' 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:+--+-- 'catalog', 'describeEntity_catalog' - Required. The catalog related to the request. Fixed value:+-- @AWSMarketplace@+--+-- 'entityId', 'describeEntity_entityId' - Required. The unique ID of the entity to describe.+newDescribeEntity ::+  -- | 'catalog'+  Prelude.Text ->+  -- | 'entityId'+  Prelude.Text ->+  DescribeEntity+newDescribeEntity pCatalog_ pEntityId_ =+  DescribeEntity'+    { catalog = pCatalog_,+      entityId = pEntityId_+    }++-- | Required. The catalog related to the request. Fixed value:+-- @AWSMarketplace@+describeEntity_catalog :: Lens.Lens' DescribeEntity Prelude.Text+describeEntity_catalog = Lens.lens (\DescribeEntity' {catalog} -> catalog) (\s@DescribeEntity' {} a -> s {catalog = a} :: DescribeEntity)++-- | Required. The unique ID of the entity to describe.+describeEntity_entityId :: Lens.Lens' DescribeEntity Prelude.Text+describeEntity_entityId = Lens.lens (\DescribeEntity' {entityId} -> entityId) (\s@DescribeEntity' {} a -> s {entityId = a} :: DescribeEntity)++instance Core.AWSRequest DescribeEntity where+  type+    AWSResponse DescribeEntity =+      DescribeEntityResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeEntityResponse'+            Prelude.<$> (x Data..?> "Details")+            Prelude.<*> (x Data..?> "EntityArn")+            Prelude.<*> (x Data..?> "EntityIdentifier")+            Prelude.<*> (x Data..?> "EntityType")+            Prelude.<*> (x Data..?> "LastModifiedDate")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeEntity where+  hashWithSalt _salt DescribeEntity' {..} =+    _salt+      `Prelude.hashWithSalt` catalog+      `Prelude.hashWithSalt` entityId++instance Prelude.NFData DescribeEntity where+  rnf DescribeEntity' {..} =+    Prelude.rnf catalog+      `Prelude.seq` Prelude.rnf entityId++instance Data.ToHeaders DescribeEntity where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeEntity where+  toPath = Prelude.const "/DescribeEntity"++instance Data.ToQuery DescribeEntity where+  toQuery DescribeEntity' {..} =+    Prelude.mconcat+      [ "catalog" Data.=: catalog,+        "entityId" Data.=: entityId+      ]++-- | /See:/ 'newDescribeEntityResponse' smart constructor.+data DescribeEntityResponse = DescribeEntityResponse'+  { -- | This stringified JSON object includes the details of the entity.+    details :: Prelude.Maybe Prelude.Text,+    -- | The ARN associated to the unique identifier for the entity referenced in+    -- this request.+    entityArn :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the entity, in the format of @EntityId\@RevisionId@.+    entityIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The named type of the entity, in the format of @EntityType\@Version@.+    entityType :: Prelude.Maybe Prelude.Text,+    -- | The last modified date of the entity, in ISO 8601 format+    -- (2018-02-27T13:45:22Z).+    lastModifiedDate :: 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 'DescribeEntityResponse' 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:+--+-- 'details', 'describeEntityResponse_details' - This stringified JSON object includes the details of the entity.+--+-- 'entityArn', 'describeEntityResponse_entityArn' - The ARN associated to the unique identifier for the entity referenced in+-- this request.+--+-- 'entityIdentifier', 'describeEntityResponse_entityIdentifier' - The identifier of the entity, in the format of @EntityId\@RevisionId@.+--+-- 'entityType', 'describeEntityResponse_entityType' - The named type of the entity, in the format of @EntityType\@Version@.+--+-- 'lastModifiedDate', 'describeEntityResponse_lastModifiedDate' - The last modified date of the entity, in ISO 8601 format+-- (2018-02-27T13:45:22Z).+--+-- 'httpStatus', 'describeEntityResponse_httpStatus' - The response's http status code.+newDescribeEntityResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeEntityResponse+newDescribeEntityResponse pHttpStatus_ =+  DescribeEntityResponse'+    { details = Prelude.Nothing,+      entityArn = Prelude.Nothing,+      entityIdentifier = Prelude.Nothing,+      entityType = Prelude.Nothing,+      lastModifiedDate = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | This stringified JSON object includes the details of the entity.+describeEntityResponse_details :: Lens.Lens' DescribeEntityResponse (Prelude.Maybe Prelude.Text)+describeEntityResponse_details = Lens.lens (\DescribeEntityResponse' {details} -> details) (\s@DescribeEntityResponse' {} a -> s {details = a} :: DescribeEntityResponse)++-- | The ARN associated to the unique identifier for the entity referenced in+-- this request.+describeEntityResponse_entityArn :: Lens.Lens' DescribeEntityResponse (Prelude.Maybe Prelude.Text)+describeEntityResponse_entityArn = Lens.lens (\DescribeEntityResponse' {entityArn} -> entityArn) (\s@DescribeEntityResponse' {} a -> s {entityArn = a} :: DescribeEntityResponse)++-- | The identifier of the entity, in the format of @EntityId\@RevisionId@.+describeEntityResponse_entityIdentifier :: Lens.Lens' DescribeEntityResponse (Prelude.Maybe Prelude.Text)+describeEntityResponse_entityIdentifier = Lens.lens (\DescribeEntityResponse' {entityIdentifier} -> entityIdentifier) (\s@DescribeEntityResponse' {} a -> s {entityIdentifier = a} :: DescribeEntityResponse)++-- | The named type of the entity, in the format of @EntityType\@Version@.+describeEntityResponse_entityType :: Lens.Lens' DescribeEntityResponse (Prelude.Maybe Prelude.Text)+describeEntityResponse_entityType = Lens.lens (\DescribeEntityResponse' {entityType} -> entityType) (\s@DescribeEntityResponse' {} a -> s {entityType = a} :: DescribeEntityResponse)++-- | The last modified date of the entity, in ISO 8601 format+-- (2018-02-27T13:45:22Z).+describeEntityResponse_lastModifiedDate :: Lens.Lens' DescribeEntityResponse (Prelude.Maybe Prelude.Text)+describeEntityResponse_lastModifiedDate = Lens.lens (\DescribeEntityResponse' {lastModifiedDate} -> lastModifiedDate) (\s@DescribeEntityResponse' {} a -> s {lastModifiedDate = a} :: DescribeEntityResponse)++-- | The response's http status code.+describeEntityResponse_httpStatus :: Lens.Lens' DescribeEntityResponse Prelude.Int+describeEntityResponse_httpStatus = Lens.lens (\DescribeEntityResponse' {httpStatus} -> httpStatus) (\s@DescribeEntityResponse' {} a -> s {httpStatus = a} :: DescribeEntityResponse)++instance Prelude.NFData DescribeEntityResponse where+  rnf DescribeEntityResponse' {..} =+    Prelude.rnf details+      `Prelude.seq` Prelude.rnf entityArn+      `Prelude.seq` Prelude.rnf entityIdentifier+      `Prelude.seq` Prelude.rnf entityType+      `Prelude.seq` Prelude.rnf lastModifiedDate+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MarketplaceCatalog/Lens.hs view
@@ -0,0 +1,168 @@+{-# 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.MarketplaceCatalog.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.MarketplaceCatalog.Lens+  ( -- * Operations++    -- ** CancelChangeSet+    cancelChangeSet_catalog,+    cancelChangeSet_changeSetId,+    cancelChangeSetResponse_changeSetArn,+    cancelChangeSetResponse_changeSetId,+    cancelChangeSetResponse_httpStatus,++    -- ** DescribeChangeSet+    describeChangeSet_catalog,+    describeChangeSet_changeSetId,+    describeChangeSetResponse_changeSet,+    describeChangeSetResponse_changeSetArn,+    describeChangeSetResponse_changeSetId,+    describeChangeSetResponse_changeSetName,+    describeChangeSetResponse_endTime,+    describeChangeSetResponse_failureCode,+    describeChangeSetResponse_failureDescription,+    describeChangeSetResponse_startTime,+    describeChangeSetResponse_status,+    describeChangeSetResponse_httpStatus,++    -- ** DescribeEntity+    describeEntity_catalog,+    describeEntity_entityId,+    describeEntityResponse_details,+    describeEntityResponse_entityArn,+    describeEntityResponse_entityIdentifier,+    describeEntityResponse_entityType,+    describeEntityResponse_lastModifiedDate,+    describeEntityResponse_httpStatus,++    -- ** ListChangeSets+    listChangeSets_filterList,+    listChangeSets_maxResults,+    listChangeSets_nextToken,+    listChangeSets_sort,+    listChangeSets_catalog,+    listChangeSetsResponse_changeSetSummaryList,+    listChangeSetsResponse_nextToken,+    listChangeSetsResponse_httpStatus,++    -- ** ListEntities+    listEntities_filterList,+    listEntities_maxResults,+    listEntities_nextToken,+    listEntities_sort,+    listEntities_catalog,+    listEntities_entityType,+    listEntitiesResponse_entitySummaryList,+    listEntitiesResponse_nextToken,+    listEntitiesResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** StartChangeSet+    startChangeSet_changeSetName,+    startChangeSet_changeSetTags,+    startChangeSet_clientRequestToken,+    startChangeSet_catalog,+    startChangeSet_changeSet,+    startChangeSetResponse_changeSetArn,+    startChangeSetResponse_changeSetId,+    startChangeSetResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- * Types++    -- ** Change+    change_changeName,+    change_entityTags,+    change_changeType,+    change_entity,+    change_details,++    -- ** ChangeSetSummaryListItem+    changeSetSummaryListItem_changeSetArn,+    changeSetSummaryListItem_changeSetId,+    changeSetSummaryListItem_changeSetName,+    changeSetSummaryListItem_endTime,+    changeSetSummaryListItem_entityIdList,+    changeSetSummaryListItem_failureCode,+    changeSetSummaryListItem_startTime,+    changeSetSummaryListItem_status,++    -- ** ChangeSummary+    changeSummary_changeName,+    changeSummary_changeType,+    changeSummary_details,+    changeSummary_entity,+    changeSummary_errorDetailList,++    -- ** Entity+    entity_identifier,+    entity_type,++    -- ** EntitySummary+    entitySummary_entityArn,+    entitySummary_entityId,+    entitySummary_entityType,+    entitySummary_lastModifiedDate,+    entitySummary_name,+    entitySummary_visibility,++    -- ** ErrorDetail+    errorDetail_errorCode,+    errorDetail_errorMessage,++    -- ** Filter+    filter_name,+    filter_valueList,++    -- ** Sort+    sort_sortBy,+    sort_sortOrder,++    -- ** Tag+    tag_key,+    tag_value,+  )+where++import Amazonka.MarketplaceCatalog.CancelChangeSet+import Amazonka.MarketplaceCatalog.DescribeChangeSet+import Amazonka.MarketplaceCatalog.DescribeEntity+import Amazonka.MarketplaceCatalog.ListChangeSets+import Amazonka.MarketplaceCatalog.ListEntities+import Amazonka.MarketplaceCatalog.ListTagsForResource+import Amazonka.MarketplaceCatalog.StartChangeSet+import Amazonka.MarketplaceCatalog.TagResource+import Amazonka.MarketplaceCatalog.Types.Change+import Amazonka.MarketplaceCatalog.Types.ChangeSetSummaryListItem+import Amazonka.MarketplaceCatalog.Types.ChangeSummary+import Amazonka.MarketplaceCatalog.Types.Entity+import Amazonka.MarketplaceCatalog.Types.EntitySummary+import Amazonka.MarketplaceCatalog.Types.ErrorDetail+import Amazonka.MarketplaceCatalog.Types.Filter+import Amazonka.MarketplaceCatalog.Types.Sort+import Amazonka.MarketplaceCatalog.Types.Tag+import Amazonka.MarketplaceCatalog.UntagResource
+ gen/Amazonka/MarketplaceCatalog/ListChangeSets.hs view
@@ -0,0 +1,254 @@+{-# 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.MarketplaceCatalog.ListChangeSets+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the list of change sets owned by the account being used to make+-- the call. You can filter this list by providing any combination of+-- @entityId@, @ChangeSetName@, and status. If you provide more than one+-- filter, the API operation applies a logical AND between the filters.+--+-- You can describe a change during the 60-day request history retention+-- period for API calls.+module Amazonka.MarketplaceCatalog.ListChangeSets+  ( -- * Creating a Request+    ListChangeSets (..),+    newListChangeSets,++    -- * Request Lenses+    listChangeSets_filterList,+    listChangeSets_maxResults,+    listChangeSets_nextToken,+    listChangeSets_sort,+    listChangeSets_catalog,++    -- * Destructuring the Response+    ListChangeSetsResponse (..),+    newListChangeSetsResponse,++    -- * Response Lenses+    listChangeSetsResponse_changeSetSummaryList,+    listChangeSetsResponse_nextToken,+    listChangeSetsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MarketplaceCatalog.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListChangeSets' smart constructor.+data ListChangeSets = ListChangeSets'+  { -- | An array of filter objects.+    filterList :: Prelude.Maybe (Prelude.NonEmpty Filter),+    -- | The maximum number of results returned by a single call. This value must+    -- be provided in the next call to retrieve the next set of results. By+    -- default, this value is 20.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token value retrieved from a previous call to access the next page+    -- of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | An object that contains two attributes, @SortBy@ and @SortOrder@.+    sort :: Prelude.Maybe Sort,+    -- | The catalog related to the request. Fixed value: @AWSMarketplace@+    catalog :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChangeSets' 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:+--+-- 'filterList', 'listChangeSets_filterList' - An array of filter objects.+--+-- 'maxResults', 'listChangeSets_maxResults' - The maximum number of results returned by a single call. This value must+-- be provided in the next call to retrieve the next set of results. By+-- default, this value is 20.+--+-- 'nextToken', 'listChangeSets_nextToken' - The token value retrieved from a previous call to access the next page+-- of results.+--+-- 'sort', 'listChangeSets_sort' - An object that contains two attributes, @SortBy@ and @SortOrder@.+--+-- 'catalog', 'listChangeSets_catalog' - The catalog related to the request. Fixed value: @AWSMarketplace@+newListChangeSets ::+  -- | 'catalog'+  Prelude.Text ->+  ListChangeSets+newListChangeSets pCatalog_ =+  ListChangeSets'+    { filterList = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      sort = Prelude.Nothing,+      catalog = pCatalog_+    }++-- | An array of filter objects.+listChangeSets_filterList :: Lens.Lens' ListChangeSets (Prelude.Maybe (Prelude.NonEmpty Filter))+listChangeSets_filterList = Lens.lens (\ListChangeSets' {filterList} -> filterList) (\s@ListChangeSets' {} a -> s {filterList = a} :: ListChangeSets) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results returned by a single call. This value must+-- be provided in the next call to retrieve the next set of results. By+-- default, this value is 20.+listChangeSets_maxResults :: Lens.Lens' ListChangeSets (Prelude.Maybe Prelude.Natural)+listChangeSets_maxResults = Lens.lens (\ListChangeSets' {maxResults} -> maxResults) (\s@ListChangeSets' {} a -> s {maxResults = a} :: ListChangeSets)++-- | The token value retrieved from a previous call to access the next page+-- of results.+listChangeSets_nextToken :: Lens.Lens' ListChangeSets (Prelude.Maybe Prelude.Text)+listChangeSets_nextToken = Lens.lens (\ListChangeSets' {nextToken} -> nextToken) (\s@ListChangeSets' {} a -> s {nextToken = a} :: ListChangeSets)++-- | An object that contains two attributes, @SortBy@ and @SortOrder@.+listChangeSets_sort :: Lens.Lens' ListChangeSets (Prelude.Maybe Sort)+listChangeSets_sort = Lens.lens (\ListChangeSets' {sort} -> sort) (\s@ListChangeSets' {} a -> s {sort = a} :: ListChangeSets)++-- | The catalog related to the request. Fixed value: @AWSMarketplace@+listChangeSets_catalog :: Lens.Lens' ListChangeSets Prelude.Text+listChangeSets_catalog = Lens.lens (\ListChangeSets' {catalog} -> catalog) (\s@ListChangeSets' {} a -> s {catalog = a} :: ListChangeSets)++instance Core.AWSRequest ListChangeSets where+  type+    AWSResponse ListChangeSets =+      ListChangeSetsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListChangeSetsResponse'+            Prelude.<$> ( x+                            Data..?> "ChangeSetSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListChangeSets where+  hashWithSalt _salt ListChangeSets' {..} =+    _salt+      `Prelude.hashWithSalt` filterList+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` sort+      `Prelude.hashWithSalt` catalog++instance Prelude.NFData ListChangeSets where+  rnf ListChangeSets' {..} =+    Prelude.rnf filterList+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sort+      `Prelude.seq` Prelude.rnf catalog++instance Data.ToHeaders ListChangeSets where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListChangeSets where+  toJSON ListChangeSets' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FilterList" Data..=) Prelude.<$> filterList,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("Sort" Data..=) Prelude.<$> sort,+            Prelude.Just ("Catalog" Data..= catalog)+          ]+      )++instance Data.ToPath ListChangeSets where+  toPath = Prelude.const "/ListChangeSets"++instance Data.ToQuery ListChangeSets where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListChangeSetsResponse' smart constructor.+data ListChangeSetsResponse = ListChangeSetsResponse'+  { -- | Array of @ChangeSetSummaryListItem@ objects.+    changeSetSummaryList :: Prelude.Maybe [ChangeSetSummaryListItem],+    -- | The value of the next token, if it exists. Null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChangeSetsResponse' 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:+--+-- 'changeSetSummaryList', 'listChangeSetsResponse_changeSetSummaryList' - Array of @ChangeSetSummaryListItem@ objects.+--+-- 'nextToken', 'listChangeSetsResponse_nextToken' - The value of the next token, if it exists. Null if there are no more+-- results.+--+-- 'httpStatus', 'listChangeSetsResponse_httpStatus' - The response's http status code.+newListChangeSetsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListChangeSetsResponse+newListChangeSetsResponse pHttpStatus_ =+  ListChangeSetsResponse'+    { changeSetSummaryList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Array of @ChangeSetSummaryListItem@ objects.+listChangeSetsResponse_changeSetSummaryList :: Lens.Lens' ListChangeSetsResponse (Prelude.Maybe [ChangeSetSummaryListItem])+listChangeSetsResponse_changeSetSummaryList = Lens.lens (\ListChangeSetsResponse' {changeSetSummaryList} -> changeSetSummaryList) (\s@ListChangeSetsResponse' {} a -> s {changeSetSummaryList = a} :: ListChangeSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The value of the next token, if it exists. Null if there are no more+-- results.+listChangeSetsResponse_nextToken :: Lens.Lens' ListChangeSetsResponse (Prelude.Maybe Prelude.Text)+listChangeSetsResponse_nextToken = Lens.lens (\ListChangeSetsResponse' {nextToken} -> nextToken) (\s@ListChangeSetsResponse' {} a -> s {nextToken = a} :: ListChangeSetsResponse)++-- | The response's http status code.+listChangeSetsResponse_httpStatus :: Lens.Lens' ListChangeSetsResponse Prelude.Int+listChangeSetsResponse_httpStatus = Lens.lens (\ListChangeSetsResponse' {httpStatus} -> httpStatus) (\s@ListChangeSetsResponse' {} a -> s {httpStatus = a} :: ListChangeSetsResponse)++instance Prelude.NFData ListChangeSetsResponse where+  rnf ListChangeSetsResponse' {..} =+    Prelude.rnf changeSetSummaryList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MarketplaceCatalog/ListEntities.hs view
@@ -0,0 +1,261 @@+{-# 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.MarketplaceCatalog.ListEntities+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides the list of entities of a given type.+module Amazonka.MarketplaceCatalog.ListEntities+  ( -- * Creating a Request+    ListEntities (..),+    newListEntities,++    -- * Request Lenses+    listEntities_filterList,+    listEntities_maxResults,+    listEntities_nextToken,+    listEntities_sort,+    listEntities_catalog,+    listEntities_entityType,++    -- * Destructuring the Response+    ListEntitiesResponse (..),+    newListEntitiesResponse,++    -- * Response Lenses+    listEntitiesResponse_entitySummaryList,+    listEntitiesResponse_nextToken,+    listEntitiesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MarketplaceCatalog.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListEntities' smart constructor.+data ListEntities = ListEntities'+  { -- | An array of filter objects. Each filter object contains two attributes,+    -- @filterName@ and @filterValues@.+    filterList :: Prelude.Maybe (Prelude.NonEmpty Filter),+    -- | Specifies the upper limit of the elements on a single page. If a value+    -- isn\'t provided, the default value is 20.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The value of the next token, if it exists. Null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | An object that contains two attributes, @SortBy@ and @SortOrder@.+    sort :: Prelude.Maybe Sort,+    -- | The catalog related to the request. Fixed value: @AWSMarketplace@+    catalog :: Prelude.Text,+    -- | The type of entities to retrieve.+    entityType :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEntities' 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:+--+-- 'filterList', 'listEntities_filterList' - An array of filter objects. Each filter object contains two attributes,+-- @filterName@ and @filterValues@.+--+-- 'maxResults', 'listEntities_maxResults' - Specifies the upper limit of the elements on a single page. If a value+-- isn\'t provided, the default value is 20.+--+-- 'nextToken', 'listEntities_nextToken' - The value of the next token, if it exists. Null if there are no more+-- results.+--+-- 'sort', 'listEntities_sort' - An object that contains two attributes, @SortBy@ and @SortOrder@.+--+-- 'catalog', 'listEntities_catalog' - The catalog related to the request. Fixed value: @AWSMarketplace@+--+-- 'entityType', 'listEntities_entityType' - The type of entities to retrieve.+newListEntities ::+  -- | 'catalog'+  Prelude.Text ->+  -- | 'entityType'+  Prelude.Text ->+  ListEntities+newListEntities pCatalog_ pEntityType_ =+  ListEntities'+    { filterList = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      sort = Prelude.Nothing,+      catalog = pCatalog_,+      entityType = pEntityType_+    }++-- | An array of filter objects. Each filter object contains two attributes,+-- @filterName@ and @filterValues@.+listEntities_filterList :: Lens.Lens' ListEntities (Prelude.Maybe (Prelude.NonEmpty Filter))+listEntities_filterList = Lens.lens (\ListEntities' {filterList} -> filterList) (\s@ListEntities' {} a -> s {filterList = a} :: ListEntities) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the upper limit of the elements on a single page. If a value+-- isn\'t provided, the default value is 20.+listEntities_maxResults :: Lens.Lens' ListEntities (Prelude.Maybe Prelude.Natural)+listEntities_maxResults = Lens.lens (\ListEntities' {maxResults} -> maxResults) (\s@ListEntities' {} a -> s {maxResults = a} :: ListEntities)++-- | The value of the next token, if it exists. Null if there are no more+-- results.+listEntities_nextToken :: Lens.Lens' ListEntities (Prelude.Maybe Prelude.Text)+listEntities_nextToken = Lens.lens (\ListEntities' {nextToken} -> nextToken) (\s@ListEntities' {} a -> s {nextToken = a} :: ListEntities)++-- | An object that contains two attributes, @SortBy@ and @SortOrder@.+listEntities_sort :: Lens.Lens' ListEntities (Prelude.Maybe Sort)+listEntities_sort = Lens.lens (\ListEntities' {sort} -> sort) (\s@ListEntities' {} a -> s {sort = a} :: ListEntities)++-- | The catalog related to the request. Fixed value: @AWSMarketplace@+listEntities_catalog :: Lens.Lens' ListEntities Prelude.Text+listEntities_catalog = Lens.lens (\ListEntities' {catalog} -> catalog) (\s@ListEntities' {} a -> s {catalog = a} :: ListEntities)++-- | The type of entities to retrieve.+listEntities_entityType :: Lens.Lens' ListEntities Prelude.Text+listEntities_entityType = Lens.lens (\ListEntities' {entityType} -> entityType) (\s@ListEntities' {} a -> s {entityType = a} :: ListEntities)++instance Core.AWSRequest ListEntities where+  type AWSResponse ListEntities = ListEntitiesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListEntitiesResponse'+            Prelude.<$> ( x+                            Data..?> "EntitySummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListEntities where+  hashWithSalt _salt ListEntities' {..} =+    _salt+      `Prelude.hashWithSalt` filterList+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` sort+      `Prelude.hashWithSalt` catalog+      `Prelude.hashWithSalt` entityType++instance Prelude.NFData ListEntities where+  rnf ListEntities' {..} =+    Prelude.rnf filterList+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sort+      `Prelude.seq` Prelude.rnf catalog+      `Prelude.seq` Prelude.rnf entityType++instance Data.ToHeaders ListEntities where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListEntities where+  toJSON ListEntities' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FilterList" Data..=) Prelude.<$> filterList,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("Sort" Data..=) Prelude.<$> sort,+            Prelude.Just ("Catalog" Data..= catalog),+            Prelude.Just ("EntityType" Data..= entityType)+          ]+      )++instance Data.ToPath ListEntities where+  toPath = Prelude.const "/ListEntities"++instance Data.ToQuery ListEntities where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListEntitiesResponse' smart constructor.+data ListEntitiesResponse = ListEntitiesResponse'+  { -- | Array of @EntitySummary@ object.+    entitySummaryList :: Prelude.Maybe [EntitySummary],+    -- | The value of the next token if it exists. Null if there is no more+    -- result.+    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 'ListEntitiesResponse' 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:+--+-- 'entitySummaryList', 'listEntitiesResponse_entitySummaryList' - Array of @EntitySummary@ object.+--+-- 'nextToken', 'listEntitiesResponse_nextToken' - The value of the next token if it exists. Null if there is no more+-- result.+--+-- 'httpStatus', 'listEntitiesResponse_httpStatus' - The response's http status code.+newListEntitiesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListEntitiesResponse+newListEntitiesResponse pHttpStatus_ =+  ListEntitiesResponse'+    { entitySummaryList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Array of @EntitySummary@ object.+listEntitiesResponse_entitySummaryList :: Lens.Lens' ListEntitiesResponse (Prelude.Maybe [EntitySummary])+listEntitiesResponse_entitySummaryList = Lens.lens (\ListEntitiesResponse' {entitySummaryList} -> entitySummaryList) (\s@ListEntitiesResponse' {} a -> s {entitySummaryList = a} :: ListEntitiesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The value of the next token if it exists. Null if there is no more+-- result.+listEntitiesResponse_nextToken :: Lens.Lens' ListEntitiesResponse (Prelude.Maybe Prelude.Text)+listEntitiesResponse_nextToken = Lens.lens (\ListEntitiesResponse' {nextToken} -> nextToken) (\s@ListEntitiesResponse' {} a -> s {nextToken = a} :: ListEntitiesResponse)++-- | The response's http status code.+listEntitiesResponse_httpStatus :: Lens.Lens' ListEntitiesResponse Prelude.Int+listEntitiesResponse_httpStatus = Lens.lens (\ListEntitiesResponse' {httpStatus} -> httpStatus) (\s@ListEntitiesResponse' {} a -> s {httpStatus = a} :: ListEntitiesResponse)++instance Prelude.NFData ListEntitiesResponse where+  rnf ListEntitiesResponse' {..} =+    Prelude.rnf entitySummaryList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MarketplaceCatalog/ListTagsForResource.hs view
@@ -0,0 +1,186 @@+{-# 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.MarketplaceCatalog.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 tags that have been added to a resource (either an+-- <https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#catalog-api-entities entity>+-- or+-- <https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets change set>).+module Amazonka.MarketplaceCatalog.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_resourceArn,+    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 Amazonka.MarketplaceCatalog.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | Required. The Amazon Resource Name (ARN) associated with the resource+    -- you want to list tags on.+    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' - Required. The Amazon Resource Name (ARN) associated with the resource+-- you want to list tags on.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | Required. The Amazon Resource Name (ARN) associated with the resource+-- you want to list tags on.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "ResourceArn")+            Prelude.<*> (x Data..?> "Tags")+            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.ToJSON ListTagsForResource where+  toJSON ListTagsForResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ResourceArn" Data..= resourceArn)]+      )++instance Data.ToPath ListTagsForResource where+  toPath = Prelude.const "/ListTagsForResource"++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | Required. The ARN associated with the resource you want to list tags on.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | Required. A list of objects specifying each key name and value. Number+    -- of objects allowed: 1-50.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResourceResponse_resourceArn' - Required. The ARN associated with the resource you want to list tags on.+--+-- 'tags', 'listTagsForResourceResponse_tags' - Required. A list of objects specifying each key name and value. Number+-- of objects allowed: 1-50.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { resourceArn =+        Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Required. The ARN associated with the resource you want to list tags on.+listTagsForResourceResponse_resourceArn :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe Prelude.Text)+listTagsForResourceResponse_resourceArn = Lens.lens (\ListTagsForResourceResponse' {resourceArn} -> resourceArn) (\s@ListTagsForResourceResponse' {} a -> s {resourceArn = a} :: ListTagsForResourceResponse)++-- | Required. A list of objects specifying each key name and value. Number+-- of objects allowed: 1-50.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.NonEmpty Tag))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MarketplaceCatalog/StartChangeSet.hs view
@@ -0,0 +1,256 @@+{-# 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.MarketplaceCatalog.StartChangeSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Allows you to request changes for your entities. Within a single+-- @ChangeSet@, you can\'t start the same change type against the same+-- entity multiple times. Additionally, when a @ChangeSet@ is running, all+-- the entities targeted by the different changes are locked until the+-- change set has completed (either succeeded, cancelled, or failed). If+-- you try to start a change set containing a change against an entity that+-- is already locked, you will receive a @ResourceInUseException@ error.+--+-- For example, you can\'t start the @ChangeSet@ described in the+-- <https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_StartChangeSet.html#API_StartChangeSet_Examples example>+-- later in this topic because it contains two changes to run the same+-- change type (@AddRevisions@) against the same entity (@entity-id\@1@).+--+-- For more information about working with change sets, see+-- <https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets Working with change sets>.+module Amazonka.MarketplaceCatalog.StartChangeSet+  ( -- * Creating a Request+    StartChangeSet (..),+    newStartChangeSet,++    -- * Request Lenses+    startChangeSet_changeSetName,+    startChangeSet_changeSetTags,+    startChangeSet_clientRequestToken,+    startChangeSet_catalog,+    startChangeSet_changeSet,++    -- * Destructuring the Response+    StartChangeSetResponse (..),+    newStartChangeSetResponse,++    -- * Response Lenses+    startChangeSetResponse_changeSetArn,+    startChangeSetResponse_changeSetId,+    startChangeSetResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MarketplaceCatalog.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartChangeSet' smart constructor.+data StartChangeSet = StartChangeSet'+  { -- | Optional case sensitive string of up to 100 ASCII characters. The change+    -- set name can be used to filter the list of change sets.+    changeSetName :: Prelude.Maybe Prelude.Text,+    -- | A list of objects specifying each key name and value for the+    -- @ChangeSetTags@ property.+    changeSetTags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | A unique token to identify the request to ensure idempotency.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The catalog related to the request. Fixed value: @AWSMarketplace@+    catalog :: Prelude.Text,+    -- | Array of @change@ object.+    changeSet :: Prelude.NonEmpty Change+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartChangeSet' 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:+--+-- 'changeSetName', 'startChangeSet_changeSetName' - Optional case sensitive string of up to 100 ASCII characters. The change+-- set name can be used to filter the list of change sets.+--+-- 'changeSetTags', 'startChangeSet_changeSetTags' - A list of objects specifying each key name and value for the+-- @ChangeSetTags@ property.+--+-- 'clientRequestToken', 'startChangeSet_clientRequestToken' - A unique token to identify the request to ensure idempotency.+--+-- 'catalog', 'startChangeSet_catalog' - The catalog related to the request. Fixed value: @AWSMarketplace@+--+-- 'changeSet', 'startChangeSet_changeSet' - Array of @change@ object.+newStartChangeSet ::+  -- | 'catalog'+  Prelude.Text ->+  -- | 'changeSet'+  Prelude.NonEmpty Change ->+  StartChangeSet+newStartChangeSet pCatalog_ pChangeSet_ =+  StartChangeSet'+    { changeSetName = Prelude.Nothing,+      changeSetTags = Prelude.Nothing,+      clientRequestToken = Prelude.Nothing,+      catalog = pCatalog_,+      changeSet = Lens.coerced Lens.# pChangeSet_+    }++-- | Optional case sensitive string of up to 100 ASCII characters. The change+-- set name can be used to filter the list of change sets.+startChangeSet_changeSetName :: Lens.Lens' StartChangeSet (Prelude.Maybe Prelude.Text)+startChangeSet_changeSetName = Lens.lens (\StartChangeSet' {changeSetName} -> changeSetName) (\s@StartChangeSet' {} a -> s {changeSetName = a} :: StartChangeSet)++-- | A list of objects specifying each key name and value for the+-- @ChangeSetTags@ property.+startChangeSet_changeSetTags :: Lens.Lens' StartChangeSet (Prelude.Maybe (Prelude.NonEmpty Tag))+startChangeSet_changeSetTags = Lens.lens (\StartChangeSet' {changeSetTags} -> changeSetTags) (\s@StartChangeSet' {} a -> s {changeSetTags = a} :: StartChangeSet) Prelude.. Lens.mapping Lens.coerced++-- | A unique token to identify the request to ensure idempotency.+startChangeSet_clientRequestToken :: Lens.Lens' StartChangeSet (Prelude.Maybe Prelude.Text)+startChangeSet_clientRequestToken = Lens.lens (\StartChangeSet' {clientRequestToken} -> clientRequestToken) (\s@StartChangeSet' {} a -> s {clientRequestToken = a} :: StartChangeSet)++-- | The catalog related to the request. Fixed value: @AWSMarketplace@+startChangeSet_catalog :: Lens.Lens' StartChangeSet Prelude.Text+startChangeSet_catalog = Lens.lens (\StartChangeSet' {catalog} -> catalog) (\s@StartChangeSet' {} a -> s {catalog = a} :: StartChangeSet)++-- | Array of @change@ object.+startChangeSet_changeSet :: Lens.Lens' StartChangeSet (Prelude.NonEmpty Change)+startChangeSet_changeSet = Lens.lens (\StartChangeSet' {changeSet} -> changeSet) (\s@StartChangeSet' {} a -> s {changeSet = a} :: StartChangeSet) Prelude.. Lens.coerced++instance Core.AWSRequest StartChangeSet where+  type+    AWSResponse StartChangeSet =+      StartChangeSetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartChangeSetResponse'+            Prelude.<$> (x Data..?> "ChangeSetArn")+            Prelude.<*> (x Data..?> "ChangeSetId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartChangeSet where+  hashWithSalt _salt StartChangeSet' {..} =+    _salt+      `Prelude.hashWithSalt` changeSetName+      `Prelude.hashWithSalt` changeSetTags+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` catalog+      `Prelude.hashWithSalt` changeSet++instance Prelude.NFData StartChangeSet where+  rnf StartChangeSet' {..} =+    Prelude.rnf changeSetName+      `Prelude.seq` Prelude.rnf changeSetTags+      `Prelude.seq` Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf catalog+      `Prelude.seq` Prelude.rnf changeSet++instance Data.ToHeaders StartChangeSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartChangeSet where+  toJSON StartChangeSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ChangeSetName" Data..=) Prelude.<$> changeSetName,+            ("ChangeSetTags" Data..=) Prelude.<$> changeSetTags,+            ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            Prelude.Just ("Catalog" Data..= catalog),+            Prelude.Just ("ChangeSet" Data..= changeSet)+          ]+      )++instance Data.ToPath StartChangeSet where+  toPath = Prelude.const "/StartChangeSet"++instance Data.ToQuery StartChangeSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartChangeSetResponse' smart constructor.+data StartChangeSetResponse = StartChangeSetResponse'+  { -- | The ARN associated to the unique identifier generated for the request.+    changeSetArn :: Prelude.Maybe Prelude.Text,+    -- | Unique identifier generated for the request.+    changeSetId :: 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 'StartChangeSetResponse' 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:+--+-- 'changeSetArn', 'startChangeSetResponse_changeSetArn' - The ARN associated to the unique identifier generated for the request.+--+-- 'changeSetId', 'startChangeSetResponse_changeSetId' - Unique identifier generated for the request.+--+-- 'httpStatus', 'startChangeSetResponse_httpStatus' - The response's http status code.+newStartChangeSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartChangeSetResponse+newStartChangeSetResponse pHttpStatus_ =+  StartChangeSetResponse'+    { changeSetArn =+        Prelude.Nothing,+      changeSetId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN associated to the unique identifier generated for the request.+startChangeSetResponse_changeSetArn :: Lens.Lens' StartChangeSetResponse (Prelude.Maybe Prelude.Text)+startChangeSetResponse_changeSetArn = Lens.lens (\StartChangeSetResponse' {changeSetArn} -> changeSetArn) (\s@StartChangeSetResponse' {} a -> s {changeSetArn = a} :: StartChangeSetResponse)++-- | Unique identifier generated for the request.+startChangeSetResponse_changeSetId :: Lens.Lens' StartChangeSetResponse (Prelude.Maybe Prelude.Text)+startChangeSetResponse_changeSetId = Lens.lens (\StartChangeSetResponse' {changeSetId} -> changeSetId) (\s@StartChangeSetResponse' {} a -> s {changeSetId = a} :: StartChangeSetResponse)++-- | The response's http status code.+startChangeSetResponse_httpStatus :: Lens.Lens' StartChangeSetResponse Prelude.Int+startChangeSetResponse_httpStatus = Lens.lens (\StartChangeSetResponse' {httpStatus} -> httpStatus) (\s@StartChangeSetResponse' {} a -> s {httpStatus = a} :: StartChangeSetResponse)++instance Prelude.NFData StartChangeSetResponse where+  rnf StartChangeSetResponse' {..} =+    Prelude.rnf changeSetArn+      `Prelude.seq` Prelude.rnf changeSetId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MarketplaceCatalog/TagResource.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.MarketplaceCatalog.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)+--+-- Tags a resource (either an+-- <https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#catalog-api-entities entity>+-- or+-- <https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets change set>).+module Amazonka.MarketplaceCatalog.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 Amazonka.MarketplaceCatalog.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | Required. The Amazon Resource Name (ARN) associated with the resource+    -- you want to tag.+    resourceArn :: Prelude.Text,+    -- | Required. A list of objects specifying each key name and value. Number+    -- of objects allowed: 1-50.+    tags :: Prelude.NonEmpty Tag+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - Required. The Amazon Resource Name (ARN) associated with the resource+-- you want to tag.+--+-- 'tags', 'tagResource_tags' - Required. A list of objects specifying each key name and value. Number+-- of objects allowed: 1-50.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'tags'+  Prelude.NonEmpty Tag ->+  TagResource+newTagResource pResourceArn_ pTags_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Lens.coerced Lens.# pTags_+    }++-- | Required. The Amazon Resource Name (ARN) associated with the resource+-- you want to tag.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | Required. A list of objects specifying each key name and value. Number+-- of objects allowed: 1-50.+tagResource_tags :: Lens.Lens' TagResource (Prelude.NonEmpty Tag)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceArn" Data..= resourceArn),+            Prelude.Just ("Tags" Data..= tags)+          ]+      )++instance Data.ToPath TagResource where+  toPath = Prelude.const "/TagResource"++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/MarketplaceCatalog/Types.hs view
@@ -0,0 +1,261 @@+{-# 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.MarketplaceCatalog.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.MarketplaceCatalog.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _InternalServiceException,+    _ResourceInUseException,+    _ResourceNotFoundException,+    _ResourceNotSupportedException,+    _ServiceQuotaExceededException,+    _ThrottlingException,+    _ValidationException,++    -- * ChangeStatus+    ChangeStatus (..),++    -- * FailureCode+    FailureCode (..),++    -- * SortOrder+    SortOrder (..),++    -- * Change+    Change (..),+    newChange,+    change_changeName,+    change_entityTags,+    change_changeType,+    change_entity,+    change_details,++    -- * ChangeSetSummaryListItem+    ChangeSetSummaryListItem (..),+    newChangeSetSummaryListItem,+    changeSetSummaryListItem_changeSetArn,+    changeSetSummaryListItem_changeSetId,+    changeSetSummaryListItem_changeSetName,+    changeSetSummaryListItem_endTime,+    changeSetSummaryListItem_entityIdList,+    changeSetSummaryListItem_failureCode,+    changeSetSummaryListItem_startTime,+    changeSetSummaryListItem_status,++    -- * ChangeSummary+    ChangeSummary (..),+    newChangeSummary,+    changeSummary_changeName,+    changeSummary_changeType,+    changeSummary_details,+    changeSummary_entity,+    changeSummary_errorDetailList,++    -- * Entity+    Entity (..),+    newEntity,+    entity_identifier,+    entity_type,++    -- * EntitySummary+    EntitySummary (..),+    newEntitySummary,+    entitySummary_entityArn,+    entitySummary_entityId,+    entitySummary_entityType,+    entitySummary_lastModifiedDate,+    entitySummary_name,+    entitySummary_visibility,++    -- * ErrorDetail+    ErrorDetail (..),+    newErrorDetail,+    errorDetail_errorCode,+    errorDetail_errorMessage,++    -- * Filter+    Filter (..),+    newFilter,+    filter_name,+    filter_valueList,++    -- * Sort+    Sort (..),+    newSort,+    sort_sortBy,+    sort_sortOrder,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.MarketplaceCatalog.Types.Change+import Amazonka.MarketplaceCatalog.Types.ChangeSetSummaryListItem+import Amazonka.MarketplaceCatalog.Types.ChangeStatus+import Amazonka.MarketplaceCatalog.Types.ChangeSummary+import Amazonka.MarketplaceCatalog.Types.Entity+import Amazonka.MarketplaceCatalog.Types.EntitySummary+import Amazonka.MarketplaceCatalog.Types.ErrorDetail+import Amazonka.MarketplaceCatalog.Types.FailureCode+import Amazonka.MarketplaceCatalog.Types.Filter+import Amazonka.MarketplaceCatalog.Types.Sort+import Amazonka.MarketplaceCatalog.Types.SortOrder+import Amazonka.MarketplaceCatalog.Types.Tag+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-09-17@ of the Amazon Marketplace Catalog Service SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "MarketplaceCatalog",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "catalog.marketplace",+      Core.signingName = "aws-marketplace",+      Core.version = "2018-09-17",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error =+        Core.parseJSONError "MarketplaceCatalog",+      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++-- | Access is denied.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | There was an internal service exception.+_InternalServiceException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServiceException =+  Core._MatchServiceError+    defaultService+    "InternalServiceException"+    Prelude.. Core.hasStatus 500++-- | The resource is currently in use.+_ResourceInUseException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceInUseException =+  Core._MatchServiceError+    defaultService+    "ResourceInUseException"+    Prelude.. Core.hasStatus 423++-- | The specified resource wasn\'t found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | Currently, the specified resource is not supported.+_ResourceNotSupportedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotSupportedException =+  Core._MatchServiceError+    defaultService+    "ResourceNotSupportedException"+    Prelude.. Core.hasStatus 415++-- | The maximum number of open requests per account has been exceeded.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | Too many requests.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | An error occurred during validation.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 422
+ gen/Amazonka/MarketplaceCatalog/Types/Change.hs view
@@ -0,0 +1,136 @@+{-# 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.MarketplaceCatalog.Types.Change+-- 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.MarketplaceCatalog.Types.Change where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MarketplaceCatalog.Types.Entity+import Amazonka.MarketplaceCatalog.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | An object that contains the @ChangeType@, @Details@, and @Entity@.+--+-- /See:/ 'newChange' smart constructor.+data Change = Change'+  { -- | Optional name for the change.+    changeName :: Prelude.Maybe Prelude.Text,+    -- | The tags associated with the change.+    entityTags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | Change types are single string values that describe your intention for+    -- the change. Each change type is unique for each @EntityType@ provided in+    -- the change\'s scope.+    changeType :: Prelude.Text,+    -- | The entity to be changed.+    entity :: Entity,+    -- | This object contains details specific to the change type of the+    -- requested change.+    details :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Change' 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:+--+-- 'changeName', 'change_changeName' - Optional name for the change.+--+-- 'entityTags', 'change_entityTags' - The tags associated with the change.+--+-- 'changeType', 'change_changeType' - Change types are single string values that describe your intention for+-- the change. Each change type is unique for each @EntityType@ provided in+-- the change\'s scope.+--+-- 'entity', 'change_entity' - The entity to be changed.+--+-- 'details', 'change_details' - This object contains details specific to the change type of the+-- requested change.+newChange ::+  -- | 'changeType'+  Prelude.Text ->+  -- | 'entity'+  Entity ->+  -- | 'details'+  Prelude.Text ->+  Change+newChange pChangeType_ pEntity_ pDetails_ =+  Change'+    { changeName = Prelude.Nothing,+      entityTags = Prelude.Nothing,+      changeType = pChangeType_,+      entity = pEntity_,+      details = pDetails_+    }++-- | Optional name for the change.+change_changeName :: Lens.Lens' Change (Prelude.Maybe Prelude.Text)+change_changeName = Lens.lens (\Change' {changeName} -> changeName) (\s@Change' {} a -> s {changeName = a} :: Change)++-- | The tags associated with the change.+change_entityTags :: Lens.Lens' Change (Prelude.Maybe (Prelude.NonEmpty Tag))+change_entityTags = Lens.lens (\Change' {entityTags} -> entityTags) (\s@Change' {} a -> s {entityTags = a} :: Change) Prelude.. Lens.mapping Lens.coerced++-- | Change types are single string values that describe your intention for+-- the change. Each change type is unique for each @EntityType@ provided in+-- the change\'s scope.+change_changeType :: Lens.Lens' Change Prelude.Text+change_changeType = Lens.lens (\Change' {changeType} -> changeType) (\s@Change' {} a -> s {changeType = a} :: Change)++-- | The entity to be changed.+change_entity :: Lens.Lens' Change Entity+change_entity = Lens.lens (\Change' {entity} -> entity) (\s@Change' {} a -> s {entity = a} :: Change)++-- | This object contains details specific to the change type of the+-- requested change.+change_details :: Lens.Lens' Change Prelude.Text+change_details = Lens.lens (\Change' {details} -> details) (\s@Change' {} a -> s {details = a} :: Change)++instance Prelude.Hashable Change where+  hashWithSalt _salt Change' {..} =+    _salt+      `Prelude.hashWithSalt` changeName+      `Prelude.hashWithSalt` entityTags+      `Prelude.hashWithSalt` changeType+      `Prelude.hashWithSalt` entity+      `Prelude.hashWithSalt` details++instance Prelude.NFData Change where+  rnf Change' {..} =+    Prelude.rnf changeName+      `Prelude.seq` Prelude.rnf entityTags+      `Prelude.seq` Prelude.rnf changeType+      `Prelude.seq` Prelude.rnf entity+      `Prelude.seq` Prelude.rnf details++instance Data.ToJSON Change where+  toJSON Change' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ChangeName" Data..=) Prelude.<$> changeName,+            ("EntityTags" Data..=) Prelude.<$> entityTags,+            Prelude.Just ("ChangeType" Data..= changeType),+            Prelude.Just ("Entity" Data..= entity),+            Prelude.Just ("Details" Data..= details)+          ]+      )
+ gen/Amazonka/MarketplaceCatalog/Types/ChangeSetSummaryListItem.hs view
@@ -0,0 +1,187 @@+{-# 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.MarketplaceCatalog.Types.ChangeSetSummaryListItem+-- 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.MarketplaceCatalog.Types.ChangeSetSummaryListItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MarketplaceCatalog.Types.ChangeStatus+import Amazonka.MarketplaceCatalog.Types.FailureCode+import qualified Amazonka.Prelude as Prelude++-- | A summary of a change set returned in a list of change sets when the+-- @ListChangeSets@ action is called.+--+-- /See:/ 'newChangeSetSummaryListItem' smart constructor.+data ChangeSetSummaryListItem = ChangeSetSummaryListItem'+  { -- | The ARN associated with the unique identifier for the change set+    -- referenced in this request.+    changeSetArn :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier for a change set.+    changeSetId :: Prelude.Maybe Prelude.Text,+    -- | The non-unique name for the change set.+    changeSetName :: Prelude.Maybe Prelude.Text,+    -- | The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set+    -- was finished.+    endTime :: Prelude.Maybe Prelude.Text,+    -- | This object is a list of entity IDs (string) that are a part of a change+    -- set. The entity ID list is a maximum of 20 entities. It must contain at+    -- least one entity.+    entityIdList :: Prelude.Maybe [Prelude.Text],+    -- | Returned if the change set is in @FAILED@ status. Can be either+    -- @CLIENT_ERROR@, which means that there are issues with the request (see+    -- the @ErrorDetailList@ of @DescribeChangeSet@), or @SERVER_FAULT@, which+    -- means that there is a problem in the system, and you should retry your+    -- request.+    failureCode :: Prelude.Maybe FailureCode,+    -- | The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set+    -- was started.+    startTime :: Prelude.Maybe Prelude.Text,+    -- | The current status of the change set.+    status :: Prelude.Maybe ChangeStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChangeSetSummaryListItem' 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:+--+-- 'changeSetArn', 'changeSetSummaryListItem_changeSetArn' - The ARN associated with the unique identifier for the change set+-- referenced in this request.+--+-- 'changeSetId', 'changeSetSummaryListItem_changeSetId' - The unique identifier for a change set.+--+-- 'changeSetName', 'changeSetSummaryListItem_changeSetName' - The non-unique name for the change set.+--+-- 'endTime', 'changeSetSummaryListItem_endTime' - The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set+-- was finished.+--+-- 'entityIdList', 'changeSetSummaryListItem_entityIdList' - This object is a list of entity IDs (string) that are a part of a change+-- set. The entity ID list is a maximum of 20 entities. It must contain at+-- least one entity.+--+-- 'failureCode', 'changeSetSummaryListItem_failureCode' - Returned if the change set is in @FAILED@ status. Can be either+-- @CLIENT_ERROR@, which means that there are issues with the request (see+-- the @ErrorDetailList@ of @DescribeChangeSet@), or @SERVER_FAULT@, which+-- means that there is a problem in the system, and you should retry your+-- request.+--+-- 'startTime', 'changeSetSummaryListItem_startTime' - The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set+-- was started.+--+-- 'status', 'changeSetSummaryListItem_status' - The current status of the change set.+newChangeSetSummaryListItem ::+  ChangeSetSummaryListItem+newChangeSetSummaryListItem =+  ChangeSetSummaryListItem'+    { changeSetArn =+        Prelude.Nothing,+      changeSetId = Prelude.Nothing,+      changeSetName = Prelude.Nothing,+      endTime = Prelude.Nothing,+      entityIdList = Prelude.Nothing,+      failureCode = Prelude.Nothing,+      startTime = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The ARN associated with the unique identifier for the change set+-- referenced in this request.+changeSetSummaryListItem_changeSetArn :: Lens.Lens' ChangeSetSummaryListItem (Prelude.Maybe Prelude.Text)+changeSetSummaryListItem_changeSetArn = Lens.lens (\ChangeSetSummaryListItem' {changeSetArn} -> changeSetArn) (\s@ChangeSetSummaryListItem' {} a -> s {changeSetArn = a} :: ChangeSetSummaryListItem)++-- | The unique identifier for a change set.+changeSetSummaryListItem_changeSetId :: Lens.Lens' ChangeSetSummaryListItem (Prelude.Maybe Prelude.Text)+changeSetSummaryListItem_changeSetId = Lens.lens (\ChangeSetSummaryListItem' {changeSetId} -> changeSetId) (\s@ChangeSetSummaryListItem' {} a -> s {changeSetId = a} :: ChangeSetSummaryListItem)++-- | The non-unique name for the change set.+changeSetSummaryListItem_changeSetName :: Lens.Lens' ChangeSetSummaryListItem (Prelude.Maybe Prelude.Text)+changeSetSummaryListItem_changeSetName = Lens.lens (\ChangeSetSummaryListItem' {changeSetName} -> changeSetName) (\s@ChangeSetSummaryListItem' {} a -> s {changeSetName = a} :: ChangeSetSummaryListItem)++-- | The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set+-- was finished.+changeSetSummaryListItem_endTime :: Lens.Lens' ChangeSetSummaryListItem (Prelude.Maybe Prelude.Text)+changeSetSummaryListItem_endTime = Lens.lens (\ChangeSetSummaryListItem' {endTime} -> endTime) (\s@ChangeSetSummaryListItem' {} a -> s {endTime = a} :: ChangeSetSummaryListItem)++-- | This object is a list of entity IDs (string) that are a part of a change+-- set. The entity ID list is a maximum of 20 entities. It must contain at+-- least one entity.+changeSetSummaryListItem_entityIdList :: Lens.Lens' ChangeSetSummaryListItem (Prelude.Maybe [Prelude.Text])+changeSetSummaryListItem_entityIdList = Lens.lens (\ChangeSetSummaryListItem' {entityIdList} -> entityIdList) (\s@ChangeSetSummaryListItem' {} a -> s {entityIdList = a} :: ChangeSetSummaryListItem) Prelude.. Lens.mapping Lens.coerced++-- | Returned if the change set is in @FAILED@ status. Can be either+-- @CLIENT_ERROR@, which means that there are issues with the request (see+-- the @ErrorDetailList@ of @DescribeChangeSet@), or @SERVER_FAULT@, which+-- means that there is a problem in the system, and you should retry your+-- request.+changeSetSummaryListItem_failureCode :: Lens.Lens' ChangeSetSummaryListItem (Prelude.Maybe FailureCode)+changeSetSummaryListItem_failureCode = Lens.lens (\ChangeSetSummaryListItem' {failureCode} -> failureCode) (\s@ChangeSetSummaryListItem' {} a -> s {failureCode = a} :: ChangeSetSummaryListItem)++-- | The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set+-- was started.+changeSetSummaryListItem_startTime :: Lens.Lens' ChangeSetSummaryListItem (Prelude.Maybe Prelude.Text)+changeSetSummaryListItem_startTime = Lens.lens (\ChangeSetSummaryListItem' {startTime} -> startTime) (\s@ChangeSetSummaryListItem' {} a -> s {startTime = a} :: ChangeSetSummaryListItem)++-- | The current status of the change set.+changeSetSummaryListItem_status :: Lens.Lens' ChangeSetSummaryListItem (Prelude.Maybe ChangeStatus)+changeSetSummaryListItem_status = Lens.lens (\ChangeSetSummaryListItem' {status} -> status) (\s@ChangeSetSummaryListItem' {} a -> s {status = a} :: ChangeSetSummaryListItem)++instance Data.FromJSON ChangeSetSummaryListItem where+  parseJSON =+    Data.withObject+      "ChangeSetSummaryListItem"+      ( \x ->+          ChangeSetSummaryListItem'+            Prelude.<$> (x Data..:? "ChangeSetArn")+            Prelude.<*> (x Data..:? "ChangeSetId")+            Prelude.<*> (x Data..:? "ChangeSetName")+            Prelude.<*> (x Data..:? "EndTime")+            Prelude.<*> (x Data..:? "EntityIdList" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "FailureCode")+            Prelude.<*> (x Data..:? "StartTime")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable ChangeSetSummaryListItem where+  hashWithSalt _salt ChangeSetSummaryListItem' {..} =+    _salt+      `Prelude.hashWithSalt` changeSetArn+      `Prelude.hashWithSalt` changeSetId+      `Prelude.hashWithSalt` changeSetName+      `Prelude.hashWithSalt` endTime+      `Prelude.hashWithSalt` entityIdList+      `Prelude.hashWithSalt` failureCode+      `Prelude.hashWithSalt` startTime+      `Prelude.hashWithSalt` status++instance Prelude.NFData ChangeSetSummaryListItem where+  rnf ChangeSetSummaryListItem' {..} =+    Prelude.rnf changeSetArn+      `Prelude.seq` Prelude.rnf changeSetId+      `Prelude.seq` Prelude.rnf changeSetName+      `Prelude.seq` Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf entityIdList+      `Prelude.seq` Prelude.rnf failureCode+      `Prelude.seq` Prelude.rnf startTime+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/MarketplaceCatalog/Types/ChangeStatus.hs view
@@ -0,0 +1,86 @@+{-# 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.MarketplaceCatalog.Types.ChangeStatus+-- 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.MarketplaceCatalog.Types.ChangeStatus+  ( ChangeStatus+      ( ..,+        ChangeStatus_APPLYING,+        ChangeStatus_CANCELLED,+        ChangeStatus_FAILED,+        ChangeStatus_PREPARING,+        ChangeStatus_SUCCEEDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChangeStatus = ChangeStatus'+  { fromChangeStatus ::+      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 ChangeStatus_APPLYING :: ChangeStatus+pattern ChangeStatus_APPLYING = ChangeStatus' "APPLYING"++pattern ChangeStatus_CANCELLED :: ChangeStatus+pattern ChangeStatus_CANCELLED = ChangeStatus' "CANCELLED"++pattern ChangeStatus_FAILED :: ChangeStatus+pattern ChangeStatus_FAILED = ChangeStatus' "FAILED"++pattern ChangeStatus_PREPARING :: ChangeStatus+pattern ChangeStatus_PREPARING = ChangeStatus' "PREPARING"++pattern ChangeStatus_SUCCEEDED :: ChangeStatus+pattern ChangeStatus_SUCCEEDED = ChangeStatus' "SUCCEEDED"++{-# COMPLETE+  ChangeStatus_APPLYING,+  ChangeStatus_CANCELLED,+  ChangeStatus_FAILED,+  ChangeStatus_PREPARING,+  ChangeStatus_SUCCEEDED,+  ChangeStatus'+  #-}
+ gen/Amazonka/MarketplaceCatalog/Types/ChangeSummary.hs view
@@ -0,0 +1,129 @@+{-# 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.MarketplaceCatalog.Types.ChangeSummary+-- 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.MarketplaceCatalog.Types.ChangeSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MarketplaceCatalog.Types.Entity+import Amazonka.MarketplaceCatalog.Types.ErrorDetail+import qualified Amazonka.Prelude as Prelude++-- | This object is a container for common summary information about the+-- change. The summary doesn\'t contain the whole change structure.+--+-- /See:/ 'newChangeSummary' smart constructor.+data ChangeSummary = ChangeSummary'+  { -- | Optional name for the change.+    changeName :: Prelude.Maybe Prelude.Text,+    -- | The type of the change.+    changeType :: Prelude.Maybe Prelude.Text,+    -- | This object contains details specific to the change type of the+    -- requested change.+    details :: Prelude.Maybe Prelude.Text,+    -- | The entity to be changed.+    entity :: Prelude.Maybe Entity,+    -- | An array of @ErrorDetail@ objects associated with the change.+    errorDetailList :: Prelude.Maybe [ErrorDetail]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChangeSummary' 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:+--+-- 'changeName', 'changeSummary_changeName' - Optional name for the change.+--+-- 'changeType', 'changeSummary_changeType' - The type of the change.+--+-- 'details', 'changeSummary_details' - This object contains details specific to the change type of the+-- requested change.+--+-- 'entity', 'changeSummary_entity' - The entity to be changed.+--+-- 'errorDetailList', 'changeSummary_errorDetailList' - An array of @ErrorDetail@ objects associated with the change.+newChangeSummary ::+  ChangeSummary+newChangeSummary =+  ChangeSummary'+    { changeName = Prelude.Nothing,+      changeType = Prelude.Nothing,+      details = Prelude.Nothing,+      entity = Prelude.Nothing,+      errorDetailList = Prelude.Nothing+    }++-- | Optional name for the change.+changeSummary_changeName :: Lens.Lens' ChangeSummary (Prelude.Maybe Prelude.Text)+changeSummary_changeName = Lens.lens (\ChangeSummary' {changeName} -> changeName) (\s@ChangeSummary' {} a -> s {changeName = a} :: ChangeSummary)++-- | The type of the change.+changeSummary_changeType :: Lens.Lens' ChangeSummary (Prelude.Maybe Prelude.Text)+changeSummary_changeType = Lens.lens (\ChangeSummary' {changeType} -> changeType) (\s@ChangeSummary' {} a -> s {changeType = a} :: ChangeSummary)++-- | This object contains details specific to the change type of the+-- requested change.+changeSummary_details :: Lens.Lens' ChangeSummary (Prelude.Maybe Prelude.Text)+changeSummary_details = Lens.lens (\ChangeSummary' {details} -> details) (\s@ChangeSummary' {} a -> s {details = a} :: ChangeSummary)++-- | The entity to be changed.+changeSummary_entity :: Lens.Lens' ChangeSummary (Prelude.Maybe Entity)+changeSummary_entity = Lens.lens (\ChangeSummary' {entity} -> entity) (\s@ChangeSummary' {} a -> s {entity = a} :: ChangeSummary)++-- | An array of @ErrorDetail@ objects associated with the change.+changeSummary_errorDetailList :: Lens.Lens' ChangeSummary (Prelude.Maybe [ErrorDetail])+changeSummary_errorDetailList = Lens.lens (\ChangeSummary' {errorDetailList} -> errorDetailList) (\s@ChangeSummary' {} a -> s {errorDetailList = a} :: ChangeSummary) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ChangeSummary where+  parseJSON =+    Data.withObject+      "ChangeSummary"+      ( \x ->+          ChangeSummary'+            Prelude.<$> (x Data..:? "ChangeName")+            Prelude.<*> (x Data..:? "ChangeType")+            Prelude.<*> (x Data..:? "Details")+            Prelude.<*> (x Data..:? "Entity")+            Prelude.<*> ( x+                            Data..:? "ErrorDetailList"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable ChangeSummary where+  hashWithSalt _salt ChangeSummary' {..} =+    _salt+      `Prelude.hashWithSalt` changeName+      `Prelude.hashWithSalt` changeType+      `Prelude.hashWithSalt` details+      `Prelude.hashWithSalt` entity+      `Prelude.hashWithSalt` errorDetailList++instance Prelude.NFData ChangeSummary where+  rnf ChangeSummary' {..} =+    Prelude.rnf changeName+      `Prelude.seq` Prelude.rnf changeType+      `Prelude.seq` Prelude.rnf details+      `Prelude.seq` Prelude.rnf entity+      `Prelude.seq` Prelude.rnf errorDetailList
+ gen/Amazonka/MarketplaceCatalog/Types/Entity.hs view
@@ -0,0 +1,96 @@+{-# 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.MarketplaceCatalog.Types.Entity+-- 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.MarketplaceCatalog.Types.Entity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An entity contains data that describes your product, its supported+-- features, and how it can be used or launched by your customer.+--+-- /See:/ 'newEntity' smart constructor.+data Entity = Entity'+  { -- | The identifier for the entity.+    identifier :: Prelude.Maybe Prelude.Text,+    -- | The type of entity.+    type' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Entity' 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:+--+-- 'identifier', 'entity_identifier' - The identifier for the entity.+--+-- 'type'', 'entity_type' - The type of entity.+newEntity ::+  -- | 'type''+  Prelude.Text ->+  Entity+newEntity pType_ =+  Entity'+    { identifier = Prelude.Nothing,+      type' = pType_+    }++-- | The identifier for the entity.+entity_identifier :: Lens.Lens' Entity (Prelude.Maybe Prelude.Text)+entity_identifier = Lens.lens (\Entity' {identifier} -> identifier) (\s@Entity' {} a -> s {identifier = a} :: Entity)++-- | The type of entity.+entity_type :: Lens.Lens' Entity Prelude.Text+entity_type = Lens.lens (\Entity' {type'} -> type') (\s@Entity' {} a -> s {type' = a} :: Entity)++instance Data.FromJSON Entity where+  parseJSON =+    Data.withObject+      "Entity"+      ( \x ->+          Entity'+            Prelude.<$> (x Data..:? "Identifier")+            Prelude.<*> (x Data..: "Type")+      )++instance Prelude.Hashable Entity where+  hashWithSalt _salt Entity' {..} =+    _salt+      `Prelude.hashWithSalt` identifier+      `Prelude.hashWithSalt` type'++instance Prelude.NFData Entity where+  rnf Entity' {..} =+    Prelude.rnf identifier+      `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON Entity where+  toJSON Entity' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Identifier" Data..=) Prelude.<$> identifier,+            Prelude.Just ("Type" Data..= type')+          ]+      )
+ gen/Amazonka/MarketplaceCatalog/Types/EntitySummary.hs view
@@ -0,0 +1,149 @@+{-# 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.MarketplaceCatalog.Types.EntitySummary+-- 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.MarketplaceCatalog.Types.EntitySummary 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++-- | This object is a container for common summary information about the+-- entity. The summary doesn\'t contain the whole entity structure, but it+-- does contain information common across all entities.+--+-- /See:/ 'newEntitySummary' smart constructor.+data EntitySummary = EntitySummary'+  { -- | The ARN associated with the unique identifier for the entity.+    entityArn :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier for the entity.+    entityId :: Prelude.Maybe Prelude.Text,+    -- | The type of the entity.+    entityType :: Prelude.Maybe Prelude.Text,+    -- | The last time the entity was published, using ISO 8601 format+    -- (2018-02-27T13:45:22Z).+    lastModifiedDate :: Prelude.Maybe Prelude.Text,+    -- | The name for the entity. This value is not unique. It is defined by the+    -- seller.+    name :: Prelude.Maybe Prelude.Text,+    -- | The visibility status of the entity to buyers. This value can be+    -- @Public@ (everyone can view the entity), @Limited@ (the entity is+    -- visible to limited accounts only), or @Restricted@ (the entity was+    -- published and then unpublished and only existing buyers can view it).+    visibility :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EntitySummary' 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:+--+-- 'entityArn', 'entitySummary_entityArn' - The ARN associated with the unique identifier for the entity.+--+-- 'entityId', 'entitySummary_entityId' - The unique identifier for the entity.+--+-- 'entityType', 'entitySummary_entityType' - The type of the entity.+--+-- 'lastModifiedDate', 'entitySummary_lastModifiedDate' - The last time the entity was published, using ISO 8601 format+-- (2018-02-27T13:45:22Z).+--+-- 'name', 'entitySummary_name' - The name for the entity. This value is not unique. It is defined by the+-- seller.+--+-- 'visibility', 'entitySummary_visibility' - The visibility status of the entity to buyers. This value can be+-- @Public@ (everyone can view the entity), @Limited@ (the entity is+-- visible to limited accounts only), or @Restricted@ (the entity was+-- published and then unpublished and only existing buyers can view it).+newEntitySummary ::+  EntitySummary+newEntitySummary =+  EntitySummary'+    { entityArn = Prelude.Nothing,+      entityId = Prelude.Nothing,+      entityType = Prelude.Nothing,+      lastModifiedDate = Prelude.Nothing,+      name = Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | The ARN associated with the unique identifier for the entity.+entitySummary_entityArn :: Lens.Lens' EntitySummary (Prelude.Maybe Prelude.Text)+entitySummary_entityArn = Lens.lens (\EntitySummary' {entityArn} -> entityArn) (\s@EntitySummary' {} a -> s {entityArn = a} :: EntitySummary)++-- | The unique identifier for the entity.+entitySummary_entityId :: Lens.Lens' EntitySummary (Prelude.Maybe Prelude.Text)+entitySummary_entityId = Lens.lens (\EntitySummary' {entityId} -> entityId) (\s@EntitySummary' {} a -> s {entityId = a} :: EntitySummary)++-- | The type of the entity.+entitySummary_entityType :: Lens.Lens' EntitySummary (Prelude.Maybe Prelude.Text)+entitySummary_entityType = Lens.lens (\EntitySummary' {entityType} -> entityType) (\s@EntitySummary' {} a -> s {entityType = a} :: EntitySummary)++-- | The last time the entity was published, using ISO 8601 format+-- (2018-02-27T13:45:22Z).+entitySummary_lastModifiedDate :: Lens.Lens' EntitySummary (Prelude.Maybe Prelude.Text)+entitySummary_lastModifiedDate = Lens.lens (\EntitySummary' {lastModifiedDate} -> lastModifiedDate) (\s@EntitySummary' {} a -> s {lastModifiedDate = a} :: EntitySummary)++-- | The name for the entity. This value is not unique. It is defined by the+-- seller.+entitySummary_name :: Lens.Lens' EntitySummary (Prelude.Maybe Prelude.Text)+entitySummary_name = Lens.lens (\EntitySummary' {name} -> name) (\s@EntitySummary' {} a -> s {name = a} :: EntitySummary)++-- | The visibility status of the entity to buyers. This value can be+-- @Public@ (everyone can view the entity), @Limited@ (the entity is+-- visible to limited accounts only), or @Restricted@ (the entity was+-- published and then unpublished and only existing buyers can view it).+entitySummary_visibility :: Lens.Lens' EntitySummary (Prelude.Maybe Prelude.Text)+entitySummary_visibility = Lens.lens (\EntitySummary' {visibility} -> visibility) (\s@EntitySummary' {} a -> s {visibility = a} :: EntitySummary)++instance Data.FromJSON EntitySummary where+  parseJSON =+    Data.withObject+      "EntitySummary"+      ( \x ->+          EntitySummary'+            Prelude.<$> (x Data..:? "EntityArn")+            Prelude.<*> (x Data..:? "EntityId")+            Prelude.<*> (x Data..:? "EntityType")+            Prelude.<*> (x Data..:? "LastModifiedDate")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance Prelude.Hashable EntitySummary where+  hashWithSalt _salt EntitySummary' {..} =+    _salt+      `Prelude.hashWithSalt` entityArn+      `Prelude.hashWithSalt` entityId+      `Prelude.hashWithSalt` entityType+      `Prelude.hashWithSalt` lastModifiedDate+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` visibility++instance Prelude.NFData EntitySummary where+  rnf EntitySummary' {..} =+    Prelude.rnf entityArn+      `Prelude.seq` Prelude.rnf entityId+      `Prelude.seq` Prelude.rnf entityType+      `Prelude.seq` Prelude.rnf lastModifiedDate+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf visibility
+ gen/Amazonka/MarketplaceCatalog/Types/ErrorDetail.hs view
@@ -0,0 +1,84 @@+{-# 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.MarketplaceCatalog.Types.ErrorDetail+-- 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.MarketplaceCatalog.Types.ErrorDetail 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++-- | Details about the error.+--+-- /See:/ 'newErrorDetail' smart constructor.+data ErrorDetail = ErrorDetail'+  { -- | The error code that identifies the type of error.+    errorCode :: Prelude.Maybe Prelude.Text,+    -- | The message for the error.+    errorMessage :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ErrorDetail' 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:+--+-- 'errorCode', 'errorDetail_errorCode' - The error code that identifies the type of error.+--+-- 'errorMessage', 'errorDetail_errorMessage' - The message for the error.+newErrorDetail ::+  ErrorDetail+newErrorDetail =+  ErrorDetail'+    { errorCode = Prelude.Nothing,+      errorMessage = Prelude.Nothing+    }++-- | The error code that identifies the type of error.+errorDetail_errorCode :: Lens.Lens' ErrorDetail (Prelude.Maybe Prelude.Text)+errorDetail_errorCode = Lens.lens (\ErrorDetail' {errorCode} -> errorCode) (\s@ErrorDetail' {} a -> s {errorCode = a} :: ErrorDetail)++-- | The message for the error.+errorDetail_errorMessage :: Lens.Lens' ErrorDetail (Prelude.Maybe Prelude.Text)+errorDetail_errorMessage = Lens.lens (\ErrorDetail' {errorMessage} -> errorMessage) (\s@ErrorDetail' {} a -> s {errorMessage = a} :: ErrorDetail)++instance Data.FromJSON ErrorDetail where+  parseJSON =+    Data.withObject+      "ErrorDetail"+      ( \x ->+          ErrorDetail'+            Prelude.<$> (x Data..:? "ErrorCode")+            Prelude.<*> (x Data..:? "ErrorMessage")+      )++instance Prelude.Hashable ErrorDetail where+  hashWithSalt _salt ErrorDetail' {..} =+    _salt+      `Prelude.hashWithSalt` errorCode+      `Prelude.hashWithSalt` errorMessage++instance Prelude.NFData ErrorDetail where+  rnf ErrorDetail' {..} =+    Prelude.rnf errorCode+      `Prelude.seq` Prelude.rnf errorMessage
+ gen/Amazonka/MarketplaceCatalog/Types/FailureCode.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.MarketplaceCatalog.Types.FailureCode+-- 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.MarketplaceCatalog.Types.FailureCode+  ( FailureCode+      ( ..,+        FailureCode_CLIENT_ERROR,+        FailureCode_SERVER_FAULT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FailureCode = FailureCode'+  { fromFailureCode ::+      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 FailureCode_CLIENT_ERROR :: FailureCode+pattern FailureCode_CLIENT_ERROR = FailureCode' "CLIENT_ERROR"++pattern FailureCode_SERVER_FAULT :: FailureCode+pattern FailureCode_SERVER_FAULT = FailureCode' "SERVER_FAULT"++{-# COMPLETE+  FailureCode_CLIENT_ERROR,+  FailureCode_SERVER_FAULT,+  FailureCode'+  #-}
+ gen/Amazonka/MarketplaceCatalog/Types/Filter.hs view
@@ -0,0 +1,165 @@+{-# 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.MarketplaceCatalog.Types.Filter+-- 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.MarketplaceCatalog.Types.Filter 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++-- | A filter object, used to optionally filter results from calls to the+-- @ListEntities@ and @ListChangeSets@ actions.+--+-- /See:/ 'newFilter' smart constructor.+data Filter = Filter'+  { -- | For @ListEntities@, the supported value for this is an @EntityId@.+    --+    -- For @ListChangeSets@, the supported values are as follows:+    name :: Prelude.Maybe Prelude.Text,+    -- | @ListEntities@ - This is a list of unique @EntityId@s.+    --+    -- @ListChangeSets@ - The supported filter names and associated+    -- @ValueList@s is as follows:+    --+    -- -   @ChangeSetName@ - The supported @ValueList@ is a list of non-unique+    --     @ChangeSetName@s. These are defined when you call the+    --     @StartChangeSet@ action.+    --+    -- -   @Status@ - The supported @ValueList@ is a list of statuses for all+    --     change set requests.+    --+    -- -   @EntityId@ - The supported @ValueList@ is a list of unique+    --     @EntityId@s.+    --+    -- -   @BeforeStartTime@ - The supported @ValueList@ is a list of all+    --     change sets that started before the filter value.+    --+    -- -   @AfterStartTime@ - The supported @ValueList@ is a list of all change+    --     sets that started after the filter value.+    --+    -- -   @BeforeEndTime@ - The supported @ValueList@ is a list of all change+    --     sets that ended before the filter value.+    --+    -- -   @AfterEndTime@ - The supported @ValueList@ is a list of all change+    --     sets that ended after the filter value.+    valueList :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Filter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'filter_name' - For @ListEntities@, the supported value for this is an @EntityId@.+--+-- For @ListChangeSets@, the supported values are as follows:+--+-- 'valueList', 'filter_valueList' - @ListEntities@ - This is a list of unique @EntityId@s.+--+-- @ListChangeSets@ - The supported filter names and associated+-- @ValueList@s is as follows:+--+-- -   @ChangeSetName@ - The supported @ValueList@ is a list of non-unique+--     @ChangeSetName@s. These are defined when you call the+--     @StartChangeSet@ action.+--+-- -   @Status@ - The supported @ValueList@ is a list of statuses for all+--     change set requests.+--+-- -   @EntityId@ - The supported @ValueList@ is a list of unique+--     @EntityId@s.+--+-- -   @BeforeStartTime@ - The supported @ValueList@ is a list of all+--     change sets that started before the filter value.+--+-- -   @AfterStartTime@ - The supported @ValueList@ is a list of all change+--     sets that started after the filter value.+--+-- -   @BeforeEndTime@ - The supported @ValueList@ is a list of all change+--     sets that ended before the filter value.+--+-- -   @AfterEndTime@ - The supported @ValueList@ is a list of all change+--     sets that ended after the filter value.+newFilter ::+  Filter+newFilter =+  Filter'+    { name = Prelude.Nothing,+      valueList = Prelude.Nothing+    }++-- | For @ListEntities@, the supported value for this is an @EntityId@.+--+-- For @ListChangeSets@, the supported values are as follows:+filter_name :: Lens.Lens' Filter (Prelude.Maybe Prelude.Text)+filter_name = Lens.lens (\Filter' {name} -> name) (\s@Filter' {} a -> s {name = a} :: Filter)++-- | @ListEntities@ - This is a list of unique @EntityId@s.+--+-- @ListChangeSets@ - The supported filter names and associated+-- @ValueList@s is as follows:+--+-- -   @ChangeSetName@ - The supported @ValueList@ is a list of non-unique+--     @ChangeSetName@s. These are defined when you call the+--     @StartChangeSet@ action.+--+-- -   @Status@ - The supported @ValueList@ is a list of statuses for all+--     change set requests.+--+-- -   @EntityId@ - The supported @ValueList@ is a list of unique+--     @EntityId@s.+--+-- -   @BeforeStartTime@ - The supported @ValueList@ is a list of all+--     change sets that started before the filter value.+--+-- -   @AfterStartTime@ - The supported @ValueList@ is a list of all change+--     sets that started after the filter value.+--+-- -   @BeforeEndTime@ - The supported @ValueList@ is a list of all change+--     sets that ended before the filter value.+--+-- -   @AfterEndTime@ - The supported @ValueList@ is a list of all change+--     sets that ended after the filter value.+filter_valueList :: Lens.Lens' Filter (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+filter_valueList = Lens.lens (\Filter' {valueList} -> valueList) (\s@Filter' {} a -> s {valueList = a} :: Filter) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable Filter where+  hashWithSalt _salt Filter' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` valueList++instance Prelude.NFData Filter where+  rnf Filter' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf valueList++instance Data.ToJSON Filter where+  toJSON Filter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            ("ValueList" Data..=) Prelude.<$> valueList+          ]+      )
+ gen/Amazonka/MarketplaceCatalog/Types/Sort.hs view
@@ -0,0 +1,99 @@+{-# 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.MarketplaceCatalog.Types.Sort+-- 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.MarketplaceCatalog.Types.Sort where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MarketplaceCatalog.Types.SortOrder+import qualified Amazonka.Prelude as Prelude++-- | An object that contains two attributes, @SortBy@ and @SortOrder@.+--+-- /See:/ 'newSort' smart constructor.+data Sort = Sort'+  { -- | For @ListEntities@, supported attributes include @LastModifiedDate@+    -- (default), @Visibility@, @EntityId@, and @Name@.+    --+    -- For @ListChangeSets@, supported attributes include @StartTime@ and+    -- @EndTime@.+    sortBy :: Prelude.Maybe Prelude.Text,+    -- | The sorting order. Can be @ASCENDING@ or @DESCENDING@. The default value+    -- is @DESCENDING@.+    sortOrder :: Prelude.Maybe SortOrder+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Sort' 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:+--+-- 'sortBy', 'sort_sortBy' - For @ListEntities@, supported attributes include @LastModifiedDate@+-- (default), @Visibility@, @EntityId@, and @Name@.+--+-- For @ListChangeSets@, supported attributes include @StartTime@ and+-- @EndTime@.+--+-- 'sortOrder', 'sort_sortOrder' - The sorting order. Can be @ASCENDING@ or @DESCENDING@. The default value+-- is @DESCENDING@.+newSort ::+  Sort+newSort =+  Sort'+    { sortBy = Prelude.Nothing,+      sortOrder = Prelude.Nothing+    }++-- | For @ListEntities@, supported attributes include @LastModifiedDate@+-- (default), @Visibility@, @EntityId@, and @Name@.+--+-- For @ListChangeSets@, supported attributes include @StartTime@ and+-- @EndTime@.+sort_sortBy :: Lens.Lens' Sort (Prelude.Maybe Prelude.Text)+sort_sortBy = Lens.lens (\Sort' {sortBy} -> sortBy) (\s@Sort' {} a -> s {sortBy = a} :: Sort)++-- | The sorting order. Can be @ASCENDING@ or @DESCENDING@. The default value+-- is @DESCENDING@.+sort_sortOrder :: Lens.Lens' Sort (Prelude.Maybe SortOrder)+sort_sortOrder = Lens.lens (\Sort' {sortOrder} -> sortOrder) (\s@Sort' {} a -> s {sortOrder = a} :: Sort)++instance Prelude.Hashable Sort where+  hashWithSalt _salt Sort' {..} =+    _salt+      `Prelude.hashWithSalt` sortBy+      `Prelude.hashWithSalt` sortOrder++instance Prelude.NFData Sort where+  rnf Sort' {..} =+    Prelude.rnf sortBy+      `Prelude.seq` Prelude.rnf sortOrder++instance Data.ToJSON Sort where+  toJSON Sort' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SortBy" Data..=) Prelude.<$> sortBy,+            ("SortOrder" Data..=) Prelude.<$> sortOrder+          ]+      )
+ gen/Amazonka/MarketplaceCatalog/Types/SortOrder.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.MarketplaceCatalog.Types.SortOrder+-- 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.MarketplaceCatalog.Types.SortOrder+  ( SortOrder+      ( ..,+        SortOrder_ASCENDING,+        SortOrder_DESCENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SortOrder = SortOrder'+  { fromSortOrder ::+      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 SortOrder_ASCENDING :: SortOrder+pattern SortOrder_ASCENDING = SortOrder' "ASCENDING"++pattern SortOrder_DESCENDING :: SortOrder+pattern SortOrder_DESCENDING = SortOrder' "DESCENDING"++{-# COMPLETE+  SortOrder_ASCENDING,+  SortOrder_DESCENDING,+  SortOrder'+  #-}
+ gen/Amazonka/MarketplaceCatalog/Types/Tag.hs view
@@ -0,0 +1,93 @@+{-# 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.MarketplaceCatalog.Types.Tag+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MarketplaceCatalog.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A list of objects specifying each key name and value.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | The key associated with the tag.+    key :: Prelude.Text,+    -- | The value associated with the tag.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - The key associated with the tag.+--+-- 'value', 'tag_value' - The value associated with the tag.+newTag ::+  -- | 'key'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  Tag+newTag pKey_ pValue_ =+  Tag' {key = pKey_, value = pValue_}++-- | The key associated with the tag.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The value associated with the tag.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+  parseJSON =+    Data.withObject+      "Tag"+      ( \x ->+          Tag'+            Prelude.<$> (x Data..: "Key")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+  toJSON Tag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Key" Data..= key),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/MarketplaceCatalog/UntagResource.hs view
@@ -0,0 +1,178 @@+{-# 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.MarketplaceCatalog.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 a tag or list of tags from a resource (either an+-- <https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#catalog-api-entities entity>+-- or+-- <https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets change set>).+module Amazonka.MarketplaceCatalog.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 Amazonka.MarketplaceCatalog.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | Required. The Amazon Resource Name (ARN) associated with the resource+    -- you want to remove the tag from.+    resourceArn :: Prelude.Text,+    -- | Required. A list of key names of tags to be removed. Number of strings+    -- allowed: 0-256.+    tagKeys :: Prelude.NonEmpty 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' - Required. The Amazon Resource Name (ARN) associated with the resource+-- you want to remove the tag from.+--+-- 'tagKeys', 'untagResource_tagKeys' - Required. A list of key names of tags to be removed. Number of strings+-- allowed: 0-256.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | Required. The Amazon Resource Name (ARN) associated with the resource+-- you want to remove the tag from.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | Required. A list of key names of tags to be removed. Number of strings+-- allowed: 0-256.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UntagResource where+  toJSON UntagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceArn" Data..= resourceArn),+            Prelude.Just ("TagKeys" Data..= tagKeys)+          ]+      )++instance Data.ToPath UntagResource where+  toPath = Prelude.const "/UntagResource"++instance Data.ToQuery UntagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/MarketplaceCatalog/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.MarketplaceCatalog.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.MarketplaceCatalog.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MarketplaceCatalog.Lens+import Amazonka.MarketplaceCatalog.Types+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.MarketplaceCatalog+import Test.Amazonka.MarketplaceCatalog.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "MarketplaceCatalog"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/MarketplaceCatalog.hs view
@@ -0,0 +1,218 @@+{-# 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.MarketplaceCatalog+-- 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.MarketplaceCatalog where++import Amazonka.MarketplaceCatalog+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.MarketplaceCatalog.Internal+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestCancelChangeSet $+--             newCancelChangeSet+--+--         , requestDescribeChangeSet $+--             newDescribeChangeSet+--+--         , requestDescribeEntity $+--             newDescribeEntity+--+--         , requestListChangeSets $+--             newListChangeSets+--+--         , requestListEntities $+--             newListEntities+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestStartChangeSet $+--             newStartChangeSet+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--           ]++--     , testGroup "response"+--         [ responseCancelChangeSet $+--             newCancelChangeSetResponse+--+--         , responseDescribeChangeSet $+--             newDescribeChangeSetResponse+--+--         , responseDescribeEntity $+--             newDescribeEntityResponse+--+--         , responseListChangeSets $+--             newListChangeSetsResponse+--+--         , responseListEntities $+--             newListEntitiesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseStartChangeSet $+--             newStartChangeSetResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--           ]+--     ]++-- Requests++requestCancelChangeSet :: CancelChangeSet -> TestTree+requestCancelChangeSet =+  req+    "CancelChangeSet"+    "fixture/CancelChangeSet.yaml"++requestDescribeChangeSet :: DescribeChangeSet -> TestTree+requestDescribeChangeSet =+  req+    "DescribeChangeSet"+    "fixture/DescribeChangeSet.yaml"++requestDescribeEntity :: DescribeEntity -> TestTree+requestDescribeEntity =+  req+    "DescribeEntity"+    "fixture/DescribeEntity.yaml"++requestListChangeSets :: ListChangeSets -> TestTree+requestListChangeSets =+  req+    "ListChangeSets"+    "fixture/ListChangeSets.yaml"++requestListEntities :: ListEntities -> TestTree+requestListEntities =+  req+    "ListEntities"+    "fixture/ListEntities.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestStartChangeSet :: StartChangeSet -> TestTree+requestStartChangeSet =+  req+    "StartChangeSet"+    "fixture/StartChangeSet.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++-- Responses++responseCancelChangeSet :: CancelChangeSetResponse -> TestTree+responseCancelChangeSet =+  res+    "CancelChangeSetResponse"+    "fixture/CancelChangeSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CancelChangeSet)++responseDescribeChangeSet :: DescribeChangeSetResponse -> TestTree+responseDescribeChangeSet =+  res+    "DescribeChangeSetResponse"+    "fixture/DescribeChangeSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeChangeSet)++responseDescribeEntity :: DescribeEntityResponse -> TestTree+responseDescribeEntity =+  res+    "DescribeEntityResponse"+    "fixture/DescribeEntityResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeEntity)++responseListChangeSets :: ListChangeSetsResponse -> TestTree+responseListChangeSets =+  res+    "ListChangeSetsResponse"+    "fixture/ListChangeSetsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListChangeSets)++responseListEntities :: ListEntitiesResponse -> TestTree+responseListEntities =+  res+    "ListEntitiesResponse"+    "fixture/ListEntitiesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListEntities)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseStartChangeSet :: StartChangeSetResponse -> TestTree+responseStartChangeSet =+  res+    "StartChangeSetResponse"+    "fixture/StartChangeSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartChangeSet)++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)
+ test/Test/Amazonka/MarketplaceCatalog.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.MarketplaceCatalog+-- 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.MarketplaceCatalog+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/MarketplaceCatalog/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.MarketplaceCatalog.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.MarketplaceCatalog.Internal where